From 6654e599c901846ec4206c12634842209dc3fc02 Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 12 Jun 2016 01:32:51 +0200 Subject: [PATCH] OAuth OK! --- .../OAuthAuthorizationServerMiddleware.cs | 2 - .../OAuthAuthorizeEndpointContext.cs | 1 - Yavsc/Auth/AuthServer/TokenEndpointRequest.cs | 4 + Yavsc/Auth/GoogleOptions.cs | 2 + Yavsc/Constants.cs | 57 +- Yavsc/Controllers/AccountController.cs | 5 +- Yavsc/Controllers/ApplicationController.cs | 122 - Yavsc/Controllers/ClientController.cs | 137 + Yavsc/Controllers/FrontOfficeController.cs | 1 + Yavsc/Controllers/OAuthController.cs | 45 +- Yavsc/Extensions/SignalRBuilderExtension.cs | 3 +- Yavsc/GoogleApis/MapTracks.cs | 1 + Yavsc/Helpers/AuthHelpers.cs | 4 +- Yavsc/Helpers/ListItemHelpers.cs | 2 +- Yavsc/Helpers/OAuthHelpers.cs | 18 + Yavsc/Helpers/SimpleJsonPostMethod.cs | 2 +- .../20160610153353_client.Designer.cs | 694 ++ Yavsc/Migrations/20160610153353_client.cs | 395 + .../ApplicationDbContextModelSnapshot.cs | 85 +- Yavsc/Model/ApplicationDbContext.cs | 12 +- Yavsc/Model/Auth/ApplicationTypes.cs | 10 + .../Model/Auth/{Application.cs => Client.cs} | 12 +- Yavsc/Model/Auth/ExternalViewModel.cs | 33 + .../Model/{Identity => Auth}/OAuth2Tokens.cs | 6 +- Yavsc/Model/Auth/RefreshToken.cs | 23 + Yavsc/Model/Auth/Scope.cs | 5 + Yavsc/Model/Auth/UserCredentials.cs | 2 + Yavsc/Startup/Startup.OAuth.cs | 189 +- Yavsc/Startup/Startup.OAuthHelpers.cs | 54 +- Yavsc/Startup/Startup.cs | 4 - Yavsc/ViewModels/Auth/AuthorisationView.cs | 11 +- .../{Application => Client}/Create.cshtml | 29 +- .../{Application => Client}/Delete.cshtml | 22 +- .../{Application => Client}/Details.cshtml | 28 +- .../Views/{Application => Client}/Edit.cshtml | 28 +- .../{Application => Client}/Index.cshtml | 24 +- Yavsc/Views/OAuth/Authorize-new.cshtml | 32 + Yavsc/Views/OAuth/Authorize.cshtml | 58 +- Yavsc/Views/Shared/Authorize.cshtml | 22 - Yavsc/appsettings.json | 7 + Yavsc/project.json | 3 +- Yavsc/project.lock.json | 8112 +++------------ external/oauth-aspnet | 2 +- global.json | 2 +- .../Controllers/AuthenticationController.cs | 2 +- testOauthClient/Startup.cs | 25 +- testOauthClient/YavscOAuthHandler.cs | 157 - testOauthClient/YavscOAuthMiddleware.cs | 80 - testOauthClient/YavscOAuthOptions.cs | 24 - .../wwwroot/lib/bootstrap/.bower.json | 44 + .../wwwroot/lib/bootstrap/Gruntfile.js | 531 + testOauthClient/wwwroot/lib/bootstrap/LICENSE | 21 + .../wwwroot/lib/bootstrap/README.md | 137 + .../wwwroot/lib/bootstrap/bower.json | 34 + .../bootstrap/dist/css/bootstrap-theme.css | 587 ++ .../dist/css/bootstrap-theme.css.map | 1 + .../dist/css/bootstrap-theme.min.css | 5 + .../lib/bootstrap/dist/css/bootstrap.css | 6800 ++++++++++++ .../lib/bootstrap/dist/css/bootstrap.css.map | 1 + .../lib/bootstrap/dist/css/bootstrap.min.css | 5 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes .../lib/bootstrap/dist/js/bootstrap.js | 2363 +++++ .../lib/bootstrap/dist/js/bootstrap.min.js | 7 + .../wwwroot/lib/bootstrap/dist/js/npm.js | 13 + .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 20127 bytes .../fonts/glyphicons-halflings-regular.svg | 288 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 45404 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 23424 bytes .../fonts/glyphicons-halflings-regular.woff2 | Bin 0 -> 18028 bytes .../wwwroot/lib/bootstrap/grunt/.jshintrc | 7 + .../bootstrap/grunt/bs-commonjs-generator.js | 30 + .../grunt/bs-glyphicons-data-generator.js | 42 + .../lib/bootstrap/grunt/bs-lessdoc-parser.js | 237 + .../bootstrap/grunt/bs-raw-files-generator.js | 44 + .../lib/bootstrap/grunt/configBridge.json | 46 + .../lib/bootstrap/grunt/sauce_browsers.yml | 82 + .../wwwroot/lib/bootstrap/js/.jscsrc | 42 + .../wwwroot/lib/bootstrap/js/.jshintrc | 15 + .../wwwroot/lib/bootstrap/js/affix.js | 162 + .../wwwroot/lib/bootstrap/js/alert.js | 94 + .../wwwroot/lib/bootstrap/js/button.js | 120 + .../wwwroot/lib/bootstrap/js/carousel.js | 237 + .../wwwroot/lib/bootstrap/js/collapse.js | 211 + .../wwwroot/lib/bootstrap/js/dropdown.js | 165 + .../wwwroot/lib/bootstrap/js/modal.js | 337 + .../wwwroot/lib/bootstrap/js/popover.js | 108 + .../wwwroot/lib/bootstrap/js/scrollspy.js | 172 + .../wwwroot/lib/bootstrap/js/tab.js | 155 + .../wwwroot/lib/bootstrap/js/tooltip.js | 514 + .../wwwroot/lib/bootstrap/js/transition.js | 59 + .../wwwroot/lib/bootstrap/less/.csscomb.json | 304 + .../wwwroot/lib/bootstrap/less/.csslintrc | 19 + .../wwwroot/lib/bootstrap/less/alerts.less | 73 + .../wwwroot/lib/bootstrap/less/badges.less | 66 + .../wwwroot/lib/bootstrap/less/bootstrap.less | 56 + .../lib/bootstrap/less/breadcrumbs.less | 26 + .../lib/bootstrap/less/button-groups.less | 244 + .../wwwroot/lib/bootstrap/less/buttons.less | 166 + .../wwwroot/lib/bootstrap/less/carousel.less | 269 + .../wwwroot/lib/bootstrap/less/close.less | 34 + .../wwwroot/lib/bootstrap/less/code.less | 69 + .../bootstrap/less/component-animations.less | 33 + .../wwwroot/lib/bootstrap/less/dropdowns.less | 216 + .../wwwroot/lib/bootstrap/less/forms.less | 607 ++ .../lib/bootstrap/less/glyphicons.less | 305 + .../wwwroot/lib/bootstrap/less/grid.less | 84 + .../lib/bootstrap/less/input-groups.less | 167 + .../wwwroot/lib/bootstrap/less/jumbotron.less | 52 + .../wwwroot/lib/bootstrap/less/labels.less | 64 + .../lib/bootstrap/less/list-group.less | 130 + .../wwwroot/lib/bootstrap/less/media.less | 66 + .../wwwroot/lib/bootstrap/less/mixins.less | 40 + .../lib/bootstrap/less/mixins/alerts.less | 14 + .../less/mixins/background-variant.less | 9 + .../bootstrap/less/mixins/border-radius.less | 18 + .../lib/bootstrap/less/mixins/buttons.less | 68 + .../bootstrap/less/mixins/center-block.less | 7 + .../lib/bootstrap/less/mixins/clearfix.less | 22 + .../lib/bootstrap/less/mixins/forms.less | 85 + .../lib/bootstrap/less/mixins/gradients.less | 59 + .../bootstrap/less/mixins/grid-framework.less | 91 + .../lib/bootstrap/less/mixins/grid.less | 122 + .../lib/bootstrap/less/mixins/hide-text.less | 21 + .../lib/bootstrap/less/mixins/image.less | 33 + .../lib/bootstrap/less/mixins/labels.less | 12 + .../lib/bootstrap/less/mixins/list-group.less | 30 + .../bootstrap/less/mixins/nav-divider.less | 10 + .../less/mixins/nav-vertical-align.less | 9 + .../lib/bootstrap/less/mixins/opacity.less | 8 + .../lib/bootstrap/less/mixins/pagination.less | 24 + .../lib/bootstrap/less/mixins/panels.less | 24 + .../bootstrap/less/mixins/progress-bar.less | 10 + .../bootstrap/less/mixins/reset-filter.less | 8 + .../lib/bootstrap/less/mixins/reset-text.less | 18 + .../lib/bootstrap/less/mixins/resize.less | 6 + .../less/mixins/responsive-visibility.less | 15 + .../lib/bootstrap/less/mixins/size.less | 10 + .../lib/bootstrap/less/mixins/tab-focus.less | 9 + .../lib/bootstrap/less/mixins/table-row.less | 28 + .../bootstrap/less/mixins/text-emphasis.less | 9 + .../bootstrap/less/mixins/text-overflow.less | 8 + .../less/mixins/vendor-prefixes.less | 227 + .../wwwroot/lib/bootstrap/less/modals.less | 150 + .../wwwroot/lib/bootstrap/less/navbar.less | 660 ++ .../wwwroot/lib/bootstrap/less/navs.less | 242 + .../wwwroot/lib/bootstrap/less/normalize.less | 424 + .../wwwroot/lib/bootstrap/less/pager.less | 54 + .../lib/bootstrap/less/pagination.less | 89 + .../wwwroot/lib/bootstrap/less/panels.less | 271 + .../wwwroot/lib/bootstrap/less/popovers.less | 131 + .../wwwroot/lib/bootstrap/less/print.less | 101 + .../lib/bootstrap/less/progress-bars.less | 87 + .../lib/bootstrap/less/responsive-embed.less | 35 + .../bootstrap/less/responsive-utilities.less | 194 + .../lib/bootstrap/less/scaffolding.less | 161 + .../wwwroot/lib/bootstrap/less/tables.less | 234 + .../wwwroot/lib/bootstrap/less/theme.less | 291 + .../lib/bootstrap/less/thumbnails.less | 36 + .../wwwroot/lib/bootstrap/less/tooltip.less | 101 + .../wwwroot/lib/bootstrap/less/type.less | 302 + .../wwwroot/lib/bootstrap/less/utilities.less | 55 + .../wwwroot/lib/bootstrap/less/variables.less | 867 ++ .../wwwroot/lib/bootstrap/less/wells.less | 29 + .../wwwroot/lib/bootstrap/package.js | 25 + .../wwwroot/lib/bootstrap/package.json | 87 + .../jquery-validation-unobtrusive/.bower.json | 44 + .../jquery-validation-unobtrusive/bower.json | 35 + .../jquery.validate.unobtrusive.js | 416 + .../jquery.validate.unobtrusive.min.js | 5 + .../wwwroot/lib/jquery-validation/.bower.json | 40 + .../lib/jquery-validation/CONTRIBUTING.md | 53 + .../lib/jquery-validation/Gruntfile.js | 186 + .../wwwroot/lib/jquery-validation/LICENSE.md | 22 + .../wwwroot/lib/jquery-validation/README.md | 65 + .../wwwroot/lib/jquery-validation/bower.json | 31 + .../lib/jquery-validation/changelog.md | 534 + .../dist/additional-methods.js | 998 ++ .../dist/additional-methods.min.js | 4 + .../jquery-validation/dist/jquery.validate.js | 1398 +++ .../dist/jquery.validate.min.js | 4 + .../lib/jquery-validation/package.json | 57 + .../src/additional/accept.js | 33 + .../src/additional/additional.js | 24 + .../src/additional/alphanumeric.js | 3 + .../src/additional/bankaccountNL.js | 25 + .../src/additional/bankorgiroaccountNL.js | 5 + .../jquery-validation/src/additional/bic.js | 16 + .../jquery-validation/src/additional/cifES.js | 61 + .../jquery-validation/src/additional/cpfBR.js | 57 + .../src/additional/creditcardtypes.js | 69 + .../src/additional/currency.js | 41 + .../src/additional/dateFA.js | 3 + .../src/additional/dateITA.js | 39 + .../src/additional/dateNL.js | 3 + .../src/additional/extension.js | 5 + .../src/additional/giroaccountNL.js | 6 + .../jquery-validation/src/additional/iban.js | 122 + .../src/additional/integer.js | 3 + .../jquery-validation/src/additional/ipv4.js | 3 + .../jquery-validation/src/additional/ipv6.js | 3 + .../src/additional/lettersonly.js | 3 + .../src/additional/letterswithbasicpunc.js | 3 + .../src/additional/mobileNL.js | 3 + .../src/additional/mobileUK.js | 13 + .../jquery-validation/src/additional/nieES.js | 34 + .../jquery-validation/src/additional/nifES.js | 25 + .../src/additional/notEqualTo.js | 3 + .../src/additional/nowhitespace.js | 3 + .../src/additional/pattern.js | 22 + .../src/additional/phoneNL.js | 6 + .../src/additional/phoneUK.js | 13 + .../src/additional/phoneUS.js | 21 + .../src/additional/phonesUK.js | 14 + .../src/additional/postalCodeCA.js | 16 + .../src/additional/postalcodeBR.js | 11 + .../src/additional/postalcodeIT.js | 4 + .../src/additional/postalcodeNL.js | 3 + .../src/additional/postcodeUK.js | 4 + .../src/additional/require_from_group.js | 37 + .../src/additional/skip_or_fill_minimum.js | 43 + .../src/additional/statesUS.js | 58 + .../src/additional/strippedminlength.js | 4 + .../jquery-validation/src/additional/time.js | 3 + .../src/additional/time12h.js | 3 + .../jquery-validation/src/additional/url2.js | 4 + .../jquery-validation/src/additional/vinUS.js | 54 + .../src/additional/zipcodeUS.js | 3 + .../src/additional/ziprange.js | 3 + .../wwwroot/lib/jquery-validation/src/ajax.js | 33 + .../wwwroot/lib/jquery-validation/src/core.js | 1346 +++ .../src/localization/messages_ar.js | 23 + .../src/localization/messages_bg.js | 23 + .../src/localization/messages_bn_BD.js | 23 + .../src/localization/messages_ca.js | 23 + .../src/localization/messages_cs.js | 23 + .../src/localization/messages_da.js | 20 + .../src/localization/messages_de.js | 20 + .../src/localization/messages_el.js | 23 + .../src/localization/messages_es.js | 26 + .../src/localization/messages_es_AR.js | 27 + .../src/localization/messages_es_PE.js | 27 + .../src/localization/messages_et.js | 21 + .../src/localization/messages_eu.js | 23 + .../src/localization/messages_fa.js | 26 + .../src/localization/messages_fi.js | 21 + .../src/localization/messages_fr.js | 49 + .../src/localization/messages_ge.js | 23 + .../src/localization/messages_gl.js | 28 + .../src/localization/messages_he.js | 23 + .../src/localization/messages_hr.js | 23 + .../src/localization/messages_hu.js | 22 + .../src/localization/messages_hy_AM.js | 23 + .../src/localization/messages_id.js | 22 + .../src/localization/messages_is.js | 21 + .../src/localization/messages_it.js | 27 + .../src/localization/messages_ja.js | 23 + .../src/localization/messages_ka.js | 23 + .../src/localization/messages_kk.js | 23 + .../src/localization/messages_ko.js | 23 + .../src/localization/messages_lt.js | 23 + .../src/localization/messages_lv.js | 23 + .../src/localization/messages_my.js | 23 + .../src/localization/messages_nl.js | 33 + .../src/localization/messages_no.js | 23 + .../src/localization/messages_pl.js | 23 + .../src/localization/messages_pt_BR.js | 29 + .../src/localization/messages_pt_PT.js | 27 + .../src/localization/messages_ro.js | 23 + .../src/localization/messages_ru.js | 23 + .../src/localization/messages_si.js | 23 + .../src/localization/messages_sk.js | 20 + .../src/localization/messages_sl.js | 23 + .../src/localization/messages_sr.js | 23 + .../src/localization/messages_sr_lat.js | 23 + .../src/localization/messages_sv.js | 21 + .../src/localization/messages_th.js | 23 + .../src/localization/messages_tj.js | 23 + .../src/localization/messages_tr.js | 24 + .../src/localization/messages_uk.js | 23 + .../src/localization/messages_vi.js | 23 + .../src/localization/messages_zh.js | 23 + .../src/localization/messages_zh_TW.js | 24 + .../src/localization/methods_de.js | 12 + .../src/localization/methods_es_CL.js | 12 + .../src/localization/methods_fi.js | 12 + .../src/localization/methods_nl.js | 9 + .../src/localization/methods_pt.js | 9 + .../jquery-validation/validation.jquery.json | 29 + .../wwwroot/lib/jquery/.bower.json | 38 + .../wwwroot/lib/jquery/MIT-LICENSE.txt | 21 + testOauthClient/wwwroot/lib/jquery/bower.json | 28 + .../wwwroot/lib/jquery/dist/jquery.js | 9210 +++++++++++++++++ .../wwwroot/lib/jquery/dist/jquery.min.js | 5 + .../wwwroot/lib/jquery/dist/jquery.min.map | 1 + .../wwwroot/lib/jquery/src/ajax.js | 786 ++ .../wwwroot/lib/jquery/src/ajax/jsonp.js | 89 + .../wwwroot/lib/jquery/src/ajax/load.js | 75 + .../wwwroot/lib/jquery/src/ajax/parseJSON.js | 13 + .../wwwroot/lib/jquery/src/ajax/parseXML.js | 28 + .../wwwroot/lib/jquery/src/ajax/script.js | 64 + .../wwwroot/lib/jquery/src/ajax/var/nonce.js | 5 + .../wwwroot/lib/jquery/src/ajax/var/rquery.js | 3 + .../wwwroot/lib/jquery/src/ajax/xhr.js | 136 + .../wwwroot/lib/jquery/src/attributes.js | 11 + .../wwwroot/lib/jquery/src/attributes/attr.js | 141 + .../lib/jquery/src/attributes/classes.js | 158 + .../wwwroot/lib/jquery/src/attributes/prop.js | 94 + .../lib/jquery/src/attributes/support.js | 35 + .../wwwroot/lib/jquery/src/attributes/val.js | 161 + .../wwwroot/lib/jquery/src/callbacks.js | 205 + .../wwwroot/lib/jquery/src/core.js | 502 + .../wwwroot/lib/jquery/src/core/access.js | 60 + .../wwwroot/lib/jquery/src/core/init.js | 123 + .../wwwroot/lib/jquery/src/core/parseHTML.js | 39 + .../wwwroot/lib/jquery/src/core/ready.js | 97 + .../lib/jquery/src/core/var/rsingleTag.js | 4 + testOauthClient/wwwroot/lib/jquery/src/css.js | 450 + .../lib/jquery/src/css/addGetHookIf.js | 22 + .../wwwroot/lib/jquery/src/css/curCSS.js | 57 + .../lib/jquery/src/css/defaultDisplay.js | 70 + .../jquery/src/css/hiddenVisibleSelectors.js | 15 + .../wwwroot/lib/jquery/src/css/support.js | 96 + .../wwwroot/lib/jquery/src/css/swap.js | 28 + .../lib/jquery/src/css/var/cssExpand.js | 3 + .../lib/jquery/src/css/var/getStyles.js | 12 + .../lib/jquery/src/css/var/isHidden.js | 13 + .../wwwroot/lib/jquery/src/css/var/rmargin.js | 3 + .../lib/jquery/src/css/var/rnumnonpx.js | 5 + .../wwwroot/lib/jquery/src/data.js | 178 + .../wwwroot/lib/jquery/src/data/Data.js | 181 + .../wwwroot/lib/jquery/src/data/accepts.js | 20 + .../lib/jquery/src/data/var/data_priv.js | 5 + .../lib/jquery/src/data/var/data_user.js | 5 + .../wwwroot/lib/jquery/src/deferred.js | 149 + .../wwwroot/lib/jquery/src/deprecated.js | 13 + .../wwwroot/lib/jquery/src/dimensions.js | 50 + .../wwwroot/lib/jquery/src/effects.js | 648 ++ .../wwwroot/lib/jquery/src/effects/Tween.js | 114 + .../jquery/src/effects/animatedSelector.js | 13 + .../wwwroot/lib/jquery/src/event.js | 868 ++ .../wwwroot/lib/jquery/src/event/ajax.js | 13 + .../wwwroot/lib/jquery/src/event/alias.js | 39 + .../wwwroot/lib/jquery/src/event/support.js | 9 + .../wwwroot/lib/jquery/src/exports/amd.js | 24 + .../wwwroot/lib/jquery/src/exports/global.js | 32 + .../wwwroot/lib/jquery/src/intro.js | 44 + .../wwwroot/lib/jquery/src/jquery.js | 37 + .../wwwroot/lib/jquery/src/manipulation.js | 580 ++ .../lib/jquery/src/manipulation/_evalUrl.js | 18 + .../lib/jquery/src/manipulation/support.js | 32 + .../src/manipulation/var/rcheckableType.js | 3 + .../wwwroot/lib/jquery/src/offset.js | 207 + .../wwwroot/lib/jquery/src/outro.js | 1 + .../wwwroot/lib/jquery/src/queue.js | 142 + .../wwwroot/lib/jquery/src/queue/delay.js | 22 + .../wwwroot/lib/jquery/src/selector-native.js | 172 + .../wwwroot/lib/jquery/src/selector-sizzle.js | 14 + .../wwwroot/lib/jquery/src/selector.js | 1 + .../wwwroot/lib/jquery/src/serialize.js | 111 + .../lib/jquery/src/sizzle/dist/sizzle.js | 2067 ++++ .../lib/jquery/src/sizzle/dist/sizzle.min.js | 3 + .../lib/jquery/src/sizzle/dist/sizzle.min.map | 1 + .../wwwroot/lib/jquery/src/traversing.js | 199 + .../lib/jquery/src/traversing/findFilter.js | 100 + .../src/traversing/var/rneedsContext.js | 6 + .../wwwroot/lib/jquery/src/var/arr.js | 3 + .../wwwroot/lib/jquery/src/var/class2type.js | 4 + .../wwwroot/lib/jquery/src/var/concat.js | 5 + .../wwwroot/lib/jquery/src/var/hasOwn.js | 5 + .../wwwroot/lib/jquery/src/var/indexOf.js | 5 + .../wwwroot/lib/jquery/src/var/pnum.js | 3 + .../wwwroot/lib/jquery/src/var/push.js | 5 + .../wwwroot/lib/jquery/src/var/rnotwhite.js | 3 + .../wwwroot/lib/jquery/src/var/slice.js | 5 + .../lib/jquery/src/var/strundefined.js | 3 + .../wwwroot/lib/jquery/src/var/support.js | 4 + .../wwwroot/lib/jquery/src/var/toString.js | 5 + .../wwwroot/lib/jquery/src/wrap.js | 79 + 382 files changed, 52465 insertions(+), 7559 deletions(-) delete mode 100644 Yavsc/Controllers/ApplicationController.cs create mode 100644 Yavsc/Controllers/ClientController.cs create mode 100644 Yavsc/Helpers/OAuthHelpers.cs create mode 100644 Yavsc/Migrations/20160610153353_client.Designer.cs create mode 100644 Yavsc/Migrations/20160610153353_client.cs create mode 100644 Yavsc/Model/Auth/ApplicationTypes.cs rename Yavsc/Model/Auth/{Application.cs => Client.cs} (50%) create mode 100644 Yavsc/Model/Auth/ExternalViewModel.cs rename Yavsc/Model/{Identity => Auth}/OAuth2Tokens.cs (91%) create mode 100644 Yavsc/Model/Auth/RefreshToken.cs rename Yavsc/Views/{Application => Client}/Create.cshtml (59%) rename Yavsc/Views/{Application => Client}/Delete.cshtml (63%) rename Yavsc/Views/{Application => Client}/Details.cshtml (53%) rename Yavsc/Views/{Application => Client}/Edit.cshtml (61%) rename Yavsc/Views/{Application => Client}/Index.cshtml (56%) create mode 100644 Yavsc/Views/OAuth/Authorize-new.cshtml delete mode 100644 Yavsc/Views/Shared/Authorize.cshtml delete mode 100644 testOauthClient/YavscOAuthHandler.cs delete mode 100644 testOauthClient/YavscOAuthMiddleware.cs delete mode 100644 testOauthClient/YavscOAuthOptions.cs create mode 100644 testOauthClient/wwwroot/lib/bootstrap/.bower.json create mode 100644 testOauthClient/wwwroot/lib/bootstrap/Gruntfile.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/LICENSE create mode 100644 testOauthClient/wwwroot/lib/bootstrap/README.md create mode 100644 testOauthClient/wwwroot/lib/bootstrap/bower.json create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap.css create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap.min.css create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.eot create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.svg create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/js/bootstrap.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/js/bootstrap.min.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/dist/js/npm.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.eot create mode 100644 testOauthClient/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.svg create mode 100644 testOauthClient/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.ttf create mode 100644 testOauthClient/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff create mode 100644 testOauthClient/wwwroot/lib/bootstrap/fonts/glyphicons-halflings-regular.woff2 create mode 100644 testOauthClient/wwwroot/lib/bootstrap/grunt/.jshintrc create mode 100644 testOauthClient/wwwroot/lib/bootstrap/grunt/bs-commonjs-generator.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/grunt/bs-glyphicons-data-generator.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/grunt/bs-lessdoc-parser.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/grunt/bs-raw-files-generator.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/grunt/configBridge.json create mode 100644 testOauthClient/wwwroot/lib/bootstrap/grunt/sauce_browsers.yml create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/.jscsrc create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/.jshintrc create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/affix.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/alert.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/button.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/carousel.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/collapse.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/dropdown.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/modal.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/popover.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/scrollspy.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/tab.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/tooltip.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/js/transition.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/.csscomb.json create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/.csslintrc create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/alerts.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/badges.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/bootstrap.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/breadcrumbs.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/button-groups.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/buttons.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/carousel.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/close.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/code.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/component-animations.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/dropdowns.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/forms.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/glyphicons.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/grid.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/input-groups.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/jumbotron.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/labels.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/list-group.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/media.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/alerts.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/background-variant.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/border-radius.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/buttons.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/center-block.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/clearfix.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/forms.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/gradients.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/grid-framework.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/grid.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/hide-text.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/image.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/labels.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/list-group.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/nav-divider.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/nav-vertical-align.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/opacity.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/pagination.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/panels.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/progress-bar.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/reset-filter.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/reset-text.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/resize.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/responsive-visibility.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/size.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/tab-focus.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/table-row.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/text-emphasis.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/text-overflow.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/mixins/vendor-prefixes.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/modals.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/navbar.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/navs.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/normalize.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/pager.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/pagination.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/panels.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/popovers.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/print.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/progress-bars.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/responsive-embed.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/responsive-utilities.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/scaffolding.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/tables.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/theme.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/thumbnails.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/tooltip.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/type.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/utilities.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/variables.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/less/wells.less create mode 100644 testOauthClient/wwwroot/lib/bootstrap/package.js create mode 100644 testOauthClient/wwwroot/lib/bootstrap/package.json create mode 100644 testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/.bower.json create mode 100644 testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/bower.json create mode 100644 testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/.bower.json create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/CONTRIBUTING.md create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/Gruntfile.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/LICENSE.md create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/README.md create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/bower.json create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/changelog.md create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/dist/additional-methods.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/dist/additional-methods.min.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/dist/jquery.validate.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/dist/jquery.validate.min.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/package.json create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/accept.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/additional.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/alphanumeric.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/bankaccountNL.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/bankorgiroaccountNL.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/bic.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/cifES.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/cpfBR.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/creditcardtypes.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/currency.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/dateFA.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/dateITA.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/dateNL.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/extension.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/giroaccountNL.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/iban.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/integer.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/ipv4.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/ipv6.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/lettersonly.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/letterswithbasicpunc.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/mobileNL.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/mobileUK.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/nieES.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/nifES.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/notEqualTo.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/nowhitespace.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/pattern.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/phoneNL.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/phoneUK.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/phoneUS.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/phonesUK.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/postalCodeCA.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/postalcodeBR.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/postalcodeIT.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/postalcodeNL.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/postcodeUK.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/require_from_group.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/skip_or_fill_minimum.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/statesUS.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/strippedminlength.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/time.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/time12h.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/url2.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/vinUS.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/zipcodeUS.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/additional/ziprange.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/ajax.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/core.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_ar.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_bg.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_bn_BD.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_ca.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_cs.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_da.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_de.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_el.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_es.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_es_AR.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_es_PE.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_et.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_eu.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_fa.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_fi.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_fr.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_ge.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_gl.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_he.js create mode 100755 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_hr.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_hu.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_hy_AM.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_id.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_is.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_it.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_ja.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_ka.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_kk.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_ko.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_lt.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_lv.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_my.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_nl.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_no.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_pl.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_pt_BR.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_pt_PT.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_ro.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_ru.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_si.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_sk.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_sl.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_sr.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_sr_lat.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_sv.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_th.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_tj.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_tr.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_uk.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_vi.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_zh.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/messages_zh_TW.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/methods_de.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/methods_es_CL.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/methods_fi.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/methods_nl.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/src/localization/methods_pt.js create mode 100644 testOauthClient/wwwroot/lib/jquery-validation/validation.jquery.json create mode 100644 testOauthClient/wwwroot/lib/jquery/.bower.json create mode 100644 testOauthClient/wwwroot/lib/jquery/MIT-LICENSE.txt create mode 100644 testOauthClient/wwwroot/lib/jquery/bower.json create mode 100644 testOauthClient/wwwroot/lib/jquery/dist/jquery.js create mode 100644 testOauthClient/wwwroot/lib/jquery/dist/jquery.min.js create mode 100644 testOauthClient/wwwroot/lib/jquery/dist/jquery.min.map create mode 100644 testOauthClient/wwwroot/lib/jquery/src/ajax.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/ajax/jsonp.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/ajax/load.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/ajax/parseJSON.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/ajax/parseXML.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/ajax/script.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/ajax/var/nonce.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/ajax/var/rquery.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/ajax/xhr.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/attributes.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/attributes/attr.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/attributes/classes.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/attributes/prop.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/attributes/support.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/attributes/val.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/callbacks.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/core.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/core/access.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/core/init.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/core/parseHTML.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/core/ready.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/core/var/rsingleTag.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/addGetHookIf.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/curCSS.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/defaultDisplay.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/hiddenVisibleSelectors.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/support.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/swap.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/var/cssExpand.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/var/getStyles.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/var/isHidden.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/var/rmargin.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/css/var/rnumnonpx.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/data.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/data/Data.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/data/accepts.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/data/var/data_priv.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/data/var/data_user.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/deferred.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/deprecated.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/dimensions.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/effects.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/effects/Tween.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/effects/animatedSelector.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/event.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/event/ajax.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/event/alias.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/event/support.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/exports/amd.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/exports/global.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/intro.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/jquery.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/manipulation.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/manipulation/_evalUrl.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/manipulation/support.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/manipulation/var/rcheckableType.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/offset.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/outro.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/queue.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/queue/delay.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/selector-native.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/selector-sizzle.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/selector.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/serialize.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/sizzle/dist/sizzle.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/sizzle/dist/sizzle.min.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/sizzle/dist/sizzle.min.map create mode 100644 testOauthClient/wwwroot/lib/jquery/src/traversing.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/traversing/findFilter.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/traversing/var/rneedsContext.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/arr.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/class2type.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/concat.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/hasOwn.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/indexOf.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/pnum.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/push.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/rnotwhite.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/slice.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/strundefined.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/support.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/var/toString.js create mode 100644 testOauthClient/wwwroot/lib/jquery/src/wrap.js diff --git a/Yavsc/Auth/AuthServer/OAuthAuthorizationServerMiddleware.cs b/Yavsc/Auth/AuthServer/OAuthAuthorizationServerMiddleware.cs index 6824c3ed..571f4cd2 100644 --- a/Yavsc/Auth/AuthServer/OAuthAuthorizationServerMiddleware.cs +++ b/Yavsc/Auth/AuthServer/OAuthAuthorizationServerMiddleware.cs @@ -3,8 +3,6 @@ using Microsoft.AspNet.Builder; using Microsoft.AspNet.DataProtection; using Microsoft.Extensions.Logging; using Microsoft.Extensions.WebEncoders; -using System; -using System.IO; using Yavsc.Auth; namespace OAuth.AspNet.AuthServer diff --git a/Yavsc/Auth/AuthServer/OAuthAuthorizeEndpointContext.cs b/Yavsc/Auth/AuthServer/OAuthAuthorizeEndpointContext.cs index e530c747..92765bc2 100644 --- a/Yavsc/Auth/AuthServer/OAuthAuthorizeEndpointContext.cs +++ b/Yavsc/Auth/AuthServer/OAuthAuthorizeEndpointContext.cs @@ -1,4 +1,3 @@ -using Microsoft.AspNet.Authentication; using Microsoft.AspNet.Http; namespace OAuth.AspNet.AuthServer diff --git a/Yavsc/Auth/AuthServer/TokenEndpointRequest.cs b/Yavsc/Auth/AuthServer/TokenEndpointRequest.cs index e60969c0..81ab32bc 100644 --- a/Yavsc/Auth/AuthServer/TokenEndpointRequest.cs +++ b/Yavsc/Auth/AuthServer/TokenEndpointRequest.cs @@ -62,6 +62,10 @@ namespace OAuth.AspNet.AuthServer Parameters = parameters, }; } + else + { + throw new ArgumentException("No grant type found in the request"); + } } /// diff --git a/Yavsc/Auth/GoogleOptions.cs b/Yavsc/Auth/GoogleOptions.cs index 3f151d23..32779d0a 100644 --- a/Yavsc/Auth/GoogleOptions.cs +++ b/Yavsc/Auth/GoogleOptions.cs @@ -33,6 +33,7 @@ namespace Yavsc.Auth Scope.Add("openid"); Scope.Add("profile"); Scope.Add("email"); + } /// @@ -40,5 +41,6 @@ namespace Yavsc.Auth /// public string AccessType { get; set; } + } } diff --git a/Yavsc/Constants.cs b/Yavsc/Constants.cs index 9d01a195..0deacb48 100644 --- a/Yavsc/Constants.cs +++ b/Yavsc/Constants.cs @@ -4,17 +4,14 @@ namespace Yavsc public static class Constants { - public const string AccessDeniedPath = "~/signin"; - public const string AuthorizePath = "~/authorize"; - public const string TokenPath = "~/token"; + public const string AccessDeniedPath = "~/signin", AuthorizePath = "~/authorize", + TokenPath = "~/token", LocalLoginPath = "~/signin", LoginPath = "~/signin", + ExternalLoginPath = "~/extsign", LogoutPath = "~/signout", MePath = "~/api/Me"; - public const string LocalLoginPath = "~/login"; - public const string LoginPath = "~/signin"; - public const string ExternalLoginPath = "~/extsign"; - public const string LogoutPath = "~/signout"; - public const string MePath = "~/api/Me"; - - public const string ApplicationAuthenticationSheme = "ServerCookie"; + public const string + ApplicationAuthenticationSheme = "ServerCookie", + ExternalAuthenticationSheme= "ExternalCookie"; + public static readonly Scope[] SiteScopes = {  new Scope { Id = "profile", Description = "Your profile informations" },   new Scope { Id = "book" , Description ="Your booking interface"},   @@ -26,32 +23,26 @@ namespace Yavsc new Scope { Id = "frontoffice" , Description ="Your front office interface" } }; - public const string CompanyInfoUrl = " https://societeinfo.com/app/rest/api/v1/company/json?registration_number={0}&key={1}"; - public const string DefaultFactor = "Default"; - public const string MobileAppFactor = "Google.clood"; - public const string EMailFactor = "Email"; - public const string SMSFactor = "Phone"; - public const string AdminGroupName = "Administrator"; - public const string BlogModeratorGroupName = "Moderator"; - public const string FrontOfficeGroupName = "FrontOffice"; - public const string UserBillsFilesDir= "Bills"; - public const string UserFilesDir = "UserFiles"; - - public const string GCMNotificationUrl = "https://gcm-http.googleapis.com/gcm/send"; + public const string + CompanyInfoUrl = " https://societeinfo.com/app/rest/api/v1/company/json?registration_number={0}&key={1}", + DefaultFactor = "Default", + MobileAppFactor = "Google.clood", + EMailFactor = "Email", + SMSFactor = "Phone", + AdminGroupName = "Administrator", + BlogModeratorGroupName = "Moderator", + FrontOfficeGroupName = "FrontOffice", + UserBillsFilesDir= "Bills", + UserFilesDir = "UserFiles", + GCMNotificationUrl = "https://gcm-http.googleapis.com/gcm/send", + KeyProtectorPurpose = "OAuth.AspNet.AuthServer"; private static readonly string[] GoogleScopes = { "openid", "profile", "email" }; public static readonly string[] GoogleCalendarScopes = { "openid", "profile", "email", "https://www.googleapis.com/auth/calendar" }; - public const string ApplicationName = "Yavsc"; - - public const string Issuer = "https://dev.pschneider.fr"; - - public const string CompanyClaimType = "https://schemas.pschneider.fr/identity/claims/Company"; - - public const string UserNameRegExp = @"^[a-zA-Z][a-zA-Z0-9 ]*$"; - - - public const string KeyProtectorPurpose = "OAuth.AspNet.AuthServer"; - + public const string ApplicationName = "Yavsc", + Issuer = "https://dev.pschneider.fr", + CompanyClaimType = "https://schemas.pschneider.fr/identity/claims/Company", + UserNameRegExp = @"^[a-zA-Z][a-zA-Z0-9 ]*$"; } } diff --git a/Yavsc/Controllers/AccountController.cs b/Yavsc/Controllers/AccountController.cs index bcd0b34c..d6a07952 100644 --- a/Yavsc/Controllers/AccountController.cs +++ b/Yavsc/Controllers/AccountController.cs @@ -11,11 +11,10 @@ using Microsoft.AspNet.Mvc.Rendering; using Microsoft.Extensions.Logging; using Microsoft.Extensions.OptionsModel; using Microsoft.AspNet.Http; -using Yavsc.Extensions; using Yavsc.Models; using Yavsc.Services; using Yavsc.ViewModels.Account; -using Microsoft.AspNet.Http.Authentication; +using Yavsc.Helpers; namespace Yavsc.Controllers { @@ -50,6 +49,7 @@ namespace Yavsc.Controllers _smtpSettings = smtpSettings.Value; _twilioSettings = twilioSettings.Value; _logger = loggerFactory.CreateLogger(); + } [HttpGet(Constants.LoginPath)] @@ -127,6 +127,7 @@ namespace Yavsc.Controllers // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, set lockoutOnFailure: true var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, lockoutOnFailure: false); + if (result.Succeeded) { return Redirect(model.ReturnUrl); diff --git a/Yavsc/Controllers/ApplicationController.cs b/Yavsc/Controllers/ApplicationController.cs deleted file mode 100644 index abf62500..00000000 --- a/Yavsc/Controllers/ApplicationController.cs +++ /dev/null @@ -1,122 +0,0 @@ -using System; -using System.Linq; -using Microsoft.AspNet.Authorization; -using Microsoft.AspNet.Mvc; -using Yavsc.Models; - -namespace Yavsc.Controllers -{ - [Authorize("AdministratorOnly")] - public class ApplicationController : Controller - { - private ApplicationDbContext _context; - - public ApplicationController(ApplicationDbContext context) - { - _context = context; - } - - // GET: Application - public IActionResult Index() - { - return View(_context.Applications.ToList()); - } - - // GET: Application/Details/5 - public IActionResult Details(string id) - { - if (id == null) - { - return HttpNotFound(); - } - - Application application = _context.Applications.Single(m => m.ApplicationID == id); - if (application == null) - { - return HttpNotFound(); - } - - return View(application); - } - - // GET: Application/Create - public IActionResult Create() - { - return View(); - } - - // POST: Application/Create - [HttpPost] - [ValidateAntiForgeryToken] - public IActionResult Create(Application application) - { - if (ModelState.IsValid) - { - application.ApplicationID = Guid.NewGuid().ToString(); - _context.Applications.Add(application); - _context.SaveChanges(); - return RedirectToAction("Index"); - } - return View(application); - } - - // GET: Application/Edit/5 - public IActionResult Edit(string id) - { - if (id == null) - { - return HttpNotFound(); - } - - Application application = _context.Applications.Single(m => m.ApplicationID == id); - if (application == null) - { - return HttpNotFound(); - } - return View(application); - } - - // POST: Application/Edit/5 - [HttpPost] - [ValidateAntiForgeryToken] - public IActionResult Edit(Application application) - { - if (ModelState.IsValid) - { - _context.Update(application); - _context.SaveChanges(); - return RedirectToAction("Index"); - } - return View(application); - } - - // GET: Application/Delete/5 - [ActionName("Delete")] - public IActionResult Delete(string id) - { - if (id == null) - { - return HttpNotFound(); - } - - Application application = _context.Applications.Single(m => m.ApplicationID == id); - if (application == null) - { - return HttpNotFound(); - } - - return View(application); - } - - // POST: Application/Delete/5 - [HttpPost, ActionName("Delete")] - [ValidateAntiForgeryToken] - public IActionResult DeleteConfirmed(string id) - { - Application application = _context.Applications.Single(m => m.ApplicationID == id); - _context.Applications.Remove(application); - _context.SaveChanges(); - return RedirectToAction("Index"); - } - } -} diff --git a/Yavsc/Controllers/ClientController.cs b/Yavsc/Controllers/ClientController.cs new file mode 100644 index 00000000..eaf5edfb --- /dev/null +++ b/Yavsc/Controllers/ClientController.cs @@ -0,0 +1,137 @@ +using System; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNet.Mvc; +using Microsoft.AspNet.Mvc.Rendering; +using Microsoft.Data.Entity; +using Yavsc.Models; +using Yavsc.Models.Auth; + +namespace Yavsc.Controllers +{ + public class ClientController : Controller + { + private ApplicationDbContext _context; + + public ClientController(ApplicationDbContext context) + { + _context = context; + } + + // GET: Client + public async Task Index() + { + return View(await _context.Applications.ToListAsync()); + } + + // GET: Client/Details/5 + public async Task Details(string id) + { + if (id == null) + { + return HttpNotFound(); + } + + Client client = await _context.Applications.SingleAsync(m => m.Id == id); + if (client == null) + { + return HttpNotFound(); + } + return View(client); + } + + // GET: Client/Create + public IActionResult Create() + { + return View(); + } + + // POST: Client/Create + [HttpPost] + [ValidateAntiForgeryToken] + public async Task Create(Client client) + { + if (ModelState.IsValid) + { + client.Id = Guid.NewGuid().ToString(); + _context.Applications.Add(client); + await _context.SaveChangesAsync(); + return RedirectToAction("Index"); + } + SetAppTypesInputValues(); + return View(client); + } + private void SetAppTypesInputValues() + { + ViewData["Type"] = + new SelectListItem[] {  + new SelectListItem { + Text = ApplicationTypes.JavaScript.ToString(), + Value = ((int) ApplicationTypes.JavaScript).ToString() }, + new SelectListItem { + Text = ApplicationTypes.NativeConfidential.ToString(), + Value = ((int) ApplicationTypes.NativeConfidential).ToString() + } + }; + } + // GET: Client/Edit/5 + public async Task Edit(string id) + { + if (id == null) + { + return HttpNotFound(); + } + + Client client = await _context.Applications.SingleAsync(m => m.Id == id); + if (client == null) + { + return HttpNotFound(); + } + SetAppTypesInputValues(); + return View(client); + } + + // POST: Client/Edit/5 + [HttpPost] + [ValidateAntiForgeryToken] + public async Task Edit(Client client) + { + if (ModelState.IsValid) + { + _context.Update(client); + await _context.SaveChangesAsync(); + return RedirectToAction("Index"); + } + return View(client); + } + + // GET: Client/Delete/5 + [ActionName("Delete")] + public async Task Delete(string id) + { + if (id == null) + { + return HttpNotFound(); + } + + Client client = await _context.Applications.SingleAsync(m => m.Id == id); + if (client == null) + { + return HttpNotFound(); + } + + return View(client); + } + + // POST: Client/Delete/5 + [HttpPost, ActionName("Delete")] + [ValidateAntiForgeryToken] + public async Task DeleteConfirmed(string id) + { + Client client = await _context.Applications.SingleAsync(m => m.Id == id); + _context.Applications.Remove(client); + await _context.SaveChangesAsync(); + return RedirectToAction("Index"); + } + } +} diff --git a/Yavsc/Controllers/FrontOfficeController.cs b/Yavsc/Controllers/FrontOfficeController.cs index 01a957dc..3a4a7667 100644 --- a/Yavsc/Controllers/FrontOfficeController.cs +++ b/Yavsc/Controllers/FrontOfficeController.cs @@ -6,6 +6,7 @@ using Microsoft.AspNet.Identity; using Microsoft.Data.Entity; using Microsoft.Extensions.Logging; using Yavsc.Models.Booking; +using Yavsc.Helpers; namespace Yavsc.Controllers { diff --git a/Yavsc/Controllers/OAuthController.cs b/Yavsc/Controllers/OAuthController.cs index 0279c585..fcca1f0a 100644 --- a/Yavsc/Controllers/OAuthController.cs +++ b/Yavsc/Controllers/OAuthController.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System.Collections.Generic; +using System.Linq; using System.Security.Claims; using System.Threading.Tasks; using Microsoft.AspNet.Authorization; @@ -9,8 +10,10 @@ using Microsoft.AspNet.Mvc; using Microsoft.AspNet.WebUtilities; using Microsoft.Extensions.Logging; using Microsoft.Extensions.OptionsModel; +using Microsoft.Extensions.Primitives; using OAuth.AspNet.AuthServer; using Yavsc.Models; +using Yavsc.Models.Auth; namespace Yavsc.Controllers { @@ -109,7 +112,7 @@ namespace Yavsc.Controllers return Ok(claims); } - [HttpGet(Constants.AuthorizePath)] + [HttpGet(Constants.AuthorizePath),HttpPost(Constants.AuthorizePath)] public async Task Authorize() { if (Response.StatusCode != 200) @@ -118,12 +121,13 @@ namespace Yavsc.Controllers } AuthenticationManager authentication = Request.HttpContext.Authentication; + var appAuthSheme = Startup.IdentityAppOptions.Cookies.ApplicationCookieAuthenticationScheme; - ClaimsPrincipal principal = await authentication.AuthenticateAsync(Constants.ApplicationAuthenticationSheme); + ClaimsPrincipal principal = await authentication.AuthenticateAsync(appAuthSheme); if (principal == null) { - await authentication.ChallengeAsync(Constants.ApplicationAuthenticationSheme); + await authentication.ChallengeAsync(appAuthSheme); if (Response.StatusCode == 200) return new HttpUnauthorizedResult(); @@ -132,15 +136,36 @@ namespace Yavsc.Controllers } string[] scopes = { }; + string redirect_uri = null; + string client_id = null; + string state = null; + + IDictionary queryStringComponents = null; if (Request.QueryString.HasValue) { - var queryStringComponents = QueryHelpers.ParseQuery(Request.QueryString.Value); + queryStringComponents = QueryHelpers.ParseQuery(Request.QueryString.Value); if (queryStringComponents.ContainsKey("scope")) scopes = queryStringComponents["scope"]; + if (queryStringComponents.ContainsKey("redirect_uri")) + redirect_uri = queryStringComponents["redirect_uri"]; + if (queryStringComponents.ContainsKey("client_id")) + client_id = queryStringComponents["client_id"]; + if (queryStringComponents.ContainsKey("state")) + state = queryStringComponents["state"]; } + var model = new AuthorisationView { + Scopes = Constants.SiteScopes.Where(s=> scopes.Contains(s.Id)).ToArray(), + RedirectUrl = redirect_uri, + Message = "Welcome.", + QueryStringComponents = queryStringComponents, + ClientId = client_id, + State = state, + ResponseType="code" + } ; + if (Request.Method == "POST") { if (!string.IsNullOrEmpty(Request.Form["submit.Grant"])) @@ -153,21 +178,19 @@ namespace Yavsc.Controllers { primaryIdentity.AddClaim(new Claim("urn:oauth:scope", scope)); } - + _logger.LogWarning("Logging user {principal} against {OAuthDefaults.AuthenticationType}"); await authentication.SignInAsync(OAuthDefaults.AuthenticationType, principal); } if (!string.IsNullOrEmpty(Request.Form["submit.Login"])) { - await authentication.SignOutAsync(Constants.ApplicationAuthenticationSheme); - - await authentication.ChallengeAsync(Constants.ApplicationAuthenticationSheme); - + await authentication.SignOutAsync(appAuthSheme); + await authentication.ChallengeAsync(appAuthSheme); return new HttpUnauthorizedResult(); } } - return View(new AuthorisationView { Scopes = scopes } ); + return View(model); } } diff --git a/Yavsc/Extensions/SignalRBuilderExtension.cs b/Yavsc/Extensions/SignalRBuilderExtension.cs index 931fb95a..12880498 100644 --- a/Yavsc/Extensions/SignalRBuilderExtension.cs +++ b/Yavsc/Extensions/SignalRBuilderExtension.cs @@ -4,7 +4,7 @@ using Owin; using System; using System.Collections.Generic; using System.Threading.Tasks; -#if OWIN + namespace Yavsc { using Microsoft.AspNet.SignalR; @@ -43,4 +43,3 @@ namespace Yavsc } } } -#endif diff --git a/Yavsc/GoogleApis/MapTracks.cs b/Yavsc/GoogleApis/MapTracks.cs index d65fcae5..a3f7c8d8 100644 --- a/Yavsc/GoogleApis/MapTracks.cs +++ b/Yavsc/GoogleApis/MapTracks.cs @@ -18,6 +18,7 @@ // // You should have received a copy of the GNU Lesser General Public License // along with this program. If not, see . +using Yavsc.Helpers; using Yavsc.Model; using Yavsc.Models.Google; diff --git a/Yavsc/Helpers/AuthHelpers.cs b/Yavsc/Helpers/AuthHelpers.cs index 9d461151..790e4c6a 100644 --- a/Yavsc/Helpers/AuthHelpers.cs +++ b/Yavsc/Helpers/AuthHelpers.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using Microsoft.AspNet.Http; using Microsoft.AspNet.Http.Authentication; -namespace Yavsc.Extensions { +namespace Yavsc.Helpers { public static class HttpContextExtensions { public static IEnumerable GetExternalProviders(this HttpContext context) { if (context == null) { @@ -26,4 +26,6 @@ namespace Yavsc.Extensions { select description).Any(); } } + + } \ No newline at end of file diff --git a/Yavsc/Helpers/ListItemHelpers.cs b/Yavsc/Helpers/ListItemHelpers.cs index 3a4734d1..5a9c2b60 100644 --- a/Yavsc/Helpers/ListItemHelpers.cs +++ b/Yavsc/Helpers/ListItemHelpers.cs @@ -4,7 +4,7 @@ using System.Linq; using Microsoft.AspNet.Mvc.Rendering; using Yavsc.Models; -namespace Yavsc { +namespace Yavsc.Helpers { public static class ListItemHelpers { public static List ActivityItems( diff --git a/Yavsc/Helpers/OAuthHelpers.cs b/Yavsc/Helpers/OAuthHelpers.cs new file mode 100644 index 00000000..0363b73a --- /dev/null +++ b/Yavsc/Helpers/OAuthHelpers.cs @@ -0,0 +1,18 @@ +using System; +using System.Security.Cryptography; + +namespace Yavsc.Helpers { +public class Helper + { + public static string GetHash(string input) + { + HashAlgorithm hashAlgorithm = new SHA256CryptoServiceProvider(); + + byte[] byteValue = System.Text.Encoding.UTF8.GetBytes(input); + + byte[] byteHash = hashAlgorithm.ComputeHash(byteValue); + + return Convert.ToBase64String(byteHash); + } + } +} \ No newline at end of file diff --git a/Yavsc/Helpers/SimpleJsonPostMethod.cs b/Yavsc/Helpers/SimpleJsonPostMethod.cs index 29303247..71da12c0 100644 --- a/Yavsc/Helpers/SimpleJsonPostMethod.cs +++ b/Yavsc/Helpers/SimpleJsonPostMethod.cs @@ -23,7 +23,7 @@ using System.Net; using System.IO; using Newtonsoft.Json; -namespace Yavsc.Model +namespace Yavsc.Helpers { /// /// Simple json post method. diff --git a/Yavsc/Migrations/20160610153353_client.Designer.cs b/Yavsc/Migrations/20160610153353_client.Designer.cs new file mode 100644 index 00000000..bb3526b2 --- /dev/null +++ b/Yavsc/Migrations/20160610153353_client.Designer.cs @@ -0,0 +1,694 @@ +using System; +using Microsoft.Data.Entity; +using Microsoft.Data.Entity.Infrastructure; +using Microsoft.Data.Entity.Metadata; +using Microsoft.Data.Entity.Migrations; +using Yavsc.Models; + +namespace Yavsc.Migrations +{ + [DbContext(typeof(ApplicationDbContext))] + [Migration("20160610153353_client")] + partial class client + { + protected override void BuildTargetModel(ModelBuilder modelBuilder) + { + modelBuilder + .HasAnnotation("ProductVersion", "7.0.0-rc1-16348"); + + modelBuilder.Entity("GoogleCloudMobileDeclaration", b => + { + b.Property("RegistrationId"); + + b.Property("DeviceOwnerId"); + + b.Property("Name"); + + b.HasKey("RegistrationId"); + }); + + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRole", b => + { + b.Property("Id"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken(); + + b.Property("Name") + .HasAnnotation("MaxLength", 256); + + b.Property("NormalizedName") + .HasAnnotation("MaxLength", 256); + + b.HasKey("Id"); + + b.HasIndex("NormalizedName") + .HasAnnotation("Relational:Name", "RoleNameIndex"); + + b.HasAnnotation("Relational:TableName", "AspNetRoles"); + }); + + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRoleClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ClaimType"); + + b.Property("ClaimValue"); + + b.Property("RoleId") + .IsRequired(); + + b.HasKey("Id"); + + b.HasAnnotation("Relational:TableName", "AspNetRoleClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserClaim", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ClaimType"); + + b.Property("ClaimValue"); + + b.Property("UserId") + .IsRequired(); + + b.HasKey("Id"); + + b.HasAnnotation("Relational:TableName", "AspNetUserClaims"); + }); + + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin", b => + { + b.Property("LoginProvider"); + + b.Property("ProviderKey"); + + b.Property("ProviderDisplayName"); + + b.Property("UserId") + .IsRequired(); + + b.HasKey("LoginProvider", "ProviderKey"); + + b.HasAnnotation("Relational:TableName", "AspNetUserLogins"); + }); + + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole", b => + { + b.Property("UserId"); + + b.Property("RoleId"); + + b.HasKey("UserId", "RoleId"); + + b.HasAnnotation("Relational:TableName", "AspNetUserRoles"); + }); + + modelBuilder.Entity("Yavsc.Location", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Address") + .IsRequired(); + + b.Property("Latitude"); + + b.Property("Longitude"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.AccountBalance", b => + { + b.Property("UserId"); + + b.Property("ContactCredits"); + + b.Property("Credits"); + + b.HasKey("UserId"); + }); + + modelBuilder.Entity("Yavsc.Models.Activity", b => + { + b.Property("Code") + .HasAnnotation("MaxLength", 512); + + b.Property("ActorDenomination"); + + b.Property("Description"); + + b.Property("ModeratorGroupName"); + + b.Property("Name") + .IsRequired() + .HasAnnotation("MaxLength", 512); + + b.Property("Photo"); + + b.HasKey("Code"); + }); + + modelBuilder.Entity("Yavsc.Models.ApplicationUser", b => + { + b.Property("Id"); + + b.Property("AccessFailedCount"); + + b.Property("ConcurrencyStamp") + .IsConcurrencyToken(); + + b.Property("DedicatedGoogleCalendar"); + + b.Property("Email") + .HasAnnotation("MaxLength", 256); + + b.Property("EmailConfirmed"); + + b.Property("LockoutEnabled"); + + b.Property("LockoutEnd"); + + b.Property("NormalizedEmail") + .HasAnnotation("MaxLength", 256); + + b.Property("NormalizedUserName") + .HasAnnotation("MaxLength", 256); + + b.Property("PasswordHash"); + + b.Property("PhoneNumber"); + + b.Property("PhoneNumberConfirmed"); + + b.Property("PostalAddressId"); + + b.Property("SecurityStamp"); + + b.Property("TwoFactorEnabled"); + + b.Property("UserName") + .HasAnnotation("MaxLength", 256); + + b.HasKey("Id"); + + b.HasIndex("NormalizedEmail") + .HasAnnotation("Relational:Name", "EmailIndex"); + + b.HasIndex("NormalizedUserName") + .HasAnnotation("Relational:Name", "UserNameIndex"); + + b.HasAnnotation("Relational:TableName", "AspNetUsers"); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.Client", b => + { + b.Property("Id"); + + b.Property("Active"); + + b.Property("AllowedOrigin") + .HasAnnotation("MaxLength", 100); + + b.Property("DisplayName"); + + b.Property("LogoutRedirectUri"); + + b.Property("RedirectUri"); + + b.Property("RefreshTokenLifeTime"); + + b.Property("Secret"); + + b.Property("Type"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.RefreshToken", b => + { + b.Property("Id"); + + b.Property("ClientId") + .IsRequired() + .HasAnnotation("MaxLength", 50); + + b.Property("ExpiresUtc"); + + b.Property("IssuedUtc"); + + b.Property("ProtectedTicket") + .IsRequired(); + + b.Property("Subject") + .IsRequired() + .HasAnnotation("MaxLength", 50); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.BalanceImpact", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("BalanceId") + .IsRequired(); + + b.Property("ExecDate"); + + b.Property("Impact"); + + b.Property("Reason") + .IsRequired(); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.BaseProduct", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Description"); + + b.Property("Name"); + + b.Property("Public"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AuthorId") + .IsRequired(); + + b.Property("bcontent"); + + b.Property("modified"); + + b.Property("photo"); + + b.Property("posted"); + + b.Property("rate"); + + b.Property("title"); + + b.Property("visible"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.Booking.BookQuery", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ClientId") + .IsRequired(); + + b.Property("CreationDate") + .ValueGeneratedOnAdd() + .HasAnnotation("Relational:GeneratedValueSql", "LOCALTIMESTAMP"); + + b.Property("EventDate"); + + b.Property("Lag"); + + b.Property("LocationId"); + + b.Property("PerformerId") + .IsRequired(); + + b.Property("Previsional"); + + b.Property("ValidationDate"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.Circle", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Name"); + + b.Property("OwnerId"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.CircleMember", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("CircleId") + .IsRequired(); + + b.Property("MemberId") + .IsRequired(); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.Command", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ClientId") + .IsRequired(); + + b.Property("CreationDate"); + + b.Property("Lag"); + + b.Property("PerformerId") + .IsRequired(); + + b.Property("Previsional"); + + b.Property("ValidationDate"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.CommandLine", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("ArticleId"); + + b.Property("BookQueryId"); + + b.Property("CommandId"); + + b.Property("Comment"); + + b.Property("Count"); + + b.Property("EstimateId"); + + b.Property("UnitaryCost"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.Contact", b => + { + b.Property("OwnerId"); + + b.Property("UserId"); + + b.HasKey("OwnerId", "UserId"); + }); + + modelBuilder.Entity("Yavsc.Models.Estimate", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("AttachedFilesString"); + + b.Property("AttachedGraphicsString"); + + b.Property("CommandId"); + + b.Property("Description"); + + b.Property("Status"); + + b.Property("Title"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.OAuth.OAuth2Tokens", b => + { + b.Property("UserId"); + + b.Property("AccessToken"); + + b.Property("Expiration"); + + b.Property("ExpiresIn"); + + b.Property("RefreshToken"); + + b.Property("TokenType"); + + b.HasKey("UserId"); + }); + + modelBuilder.Entity("Yavsc.Models.PerformerProfile", b => + { + b.Property("PerfomerId"); + + b.Property("AcceptGeoLocalisation"); + + b.Property("AcceptNotifications"); + + b.Property("AcceptPublicContact"); + + b.Property("Active"); + + b.Property("ActivityCode") + .IsRequired(); + + b.Property("MaxDailyCost"); + + b.Property("MinDailyCost"); + + b.Property("OfferId"); + + b.Property("OrganisationAddressId"); + + b.Property("Rate"); + + b.Property("SIREN") + .IsRequired() + .HasAnnotation("MaxLength", 14); + + b.Property("WebSite"); + + b.HasKey("PerfomerId"); + }); + + modelBuilder.Entity("Yavsc.Models.Service", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Billing"); + + b.Property("ContextId"); + + b.Property("Description"); + + b.Property("Name"); + + b.Property("Pricing"); + + b.Property("Public"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.Skill", b => + { + b.Property("Id") + .ValueGeneratedOnAdd(); + + b.Property("Name"); + + b.Property("Rate"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("GoogleCloudMobileDeclaration", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("DeviceOwnerId"); + }); + + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRoleClaim", b => + { + b.HasOne("Microsoft.AspNet.Identity.EntityFramework.IdentityRole") + .WithMany() + .HasForeignKey("RoleId"); + }); + + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserClaim", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("UserId"); + }); + + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserLogin", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("UserId"); + }); + + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityUserRole", b => + { + b.HasOne("Microsoft.AspNet.Identity.EntityFramework.IdentityRole") + .WithMany() + .HasForeignKey("RoleId"); + + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("UserId"); + }); + + modelBuilder.Entity("Yavsc.Models.AccountBalance", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithOne() + .HasForeignKey("Yavsc.Models.AccountBalance", "UserId"); + }); + + modelBuilder.Entity("Yavsc.Models.ApplicationUser", b => + { + b.HasOne("Yavsc.Location") + .WithMany() + .HasForeignKey("PostalAddressId"); + }); + + modelBuilder.Entity("Yavsc.Models.BalanceImpact", b => + { + b.HasOne("Yavsc.Models.AccountBalance") + .WithMany() + .HasForeignKey("BalanceId"); + }); + + modelBuilder.Entity("Yavsc.Models.Blog", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("AuthorId"); + }); + + modelBuilder.Entity("Yavsc.Models.Booking.BookQuery", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("ClientId"); + + b.HasOne("Yavsc.Location") + .WithMany() + .HasForeignKey("LocationId"); + + b.HasOne("Yavsc.Models.PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId"); + }); + + modelBuilder.Entity("Yavsc.Models.Circle", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("OwnerId"); + }); + + modelBuilder.Entity("Yavsc.Models.CircleMember", b => + { + b.HasOne("Yavsc.Models.Circle") + .WithMany() + .HasForeignKey("CircleId"); + + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("MemberId"); + }); + + modelBuilder.Entity("Yavsc.Models.Command", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("ClientId"); + + b.HasOne("Yavsc.Models.PerformerProfile") + .WithMany() + .HasForeignKey("PerformerId"); + }); + + modelBuilder.Entity("Yavsc.Models.CommandLine", b => + { + b.HasOne("Yavsc.Models.BaseProduct") + .WithMany() + .HasForeignKey("ArticleId"); + + b.HasOne("Yavsc.Models.Booking.BookQuery") + .WithMany() + .HasForeignKey("BookQueryId"); + + b.HasOne("Yavsc.Models.Command") + .WithMany() + .HasForeignKey("CommandId"); + + b.HasOne("Yavsc.Models.Estimate") + .WithMany() + .HasForeignKey("EstimateId"); + }); + + modelBuilder.Entity("Yavsc.Models.Contact", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("OwnerId"); + }); + + modelBuilder.Entity("Yavsc.Models.Estimate", b => + { + b.HasOne("Yavsc.Models.Command") + .WithMany() + .HasForeignKey("CommandId"); + }); + + modelBuilder.Entity("Yavsc.Models.PerformerProfile", b => + { + b.HasOne("Yavsc.Models.Activity") + .WithMany() + .HasForeignKey("ActivityCode"); + + b.HasOne("Yavsc.Models.Service") + .WithMany() + .HasForeignKey("OfferId"); + + b.HasOne("Yavsc.Location") + .WithMany() + .HasForeignKey("OrganisationAddressId"); + + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("PerfomerId"); + }); + + modelBuilder.Entity("Yavsc.Models.Service", b => + { + b.HasOne("Yavsc.Models.Activity") + .WithMany() + .HasForeignKey("ContextId"); + }); + } + } +} diff --git a/Yavsc/Migrations/20160610153353_client.cs b/Yavsc/Migrations/20160610153353_client.cs new file mode 100644 index 00000000..a3f674d2 --- /dev/null +++ b/Yavsc/Migrations/20160610153353_client.cs @@ -0,0 +1,395 @@ +using System; +using System.Collections.Generic; +using Microsoft.Data.Entity.Migrations; + +namespace Yavsc.Migrations +{ + public partial class client : Migration + { + protected override void Up(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey(name: "FK_IdentityRoleClaim_IdentityRole_RoleId", table: "AspNetRoleClaims"); + migrationBuilder.DropForeignKey(name: "FK_IdentityUserClaim_ApplicationUser_UserId", table: "AspNetUserClaims"); + migrationBuilder.DropForeignKey(name: "FK_IdentityUserLogin_ApplicationUser_UserId", table: "AspNetUserLogins"); + migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole_IdentityRole_RoleId", table: "AspNetUserRoles"); + migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole_ApplicationUser_UserId", table: "AspNetUserRoles"); + migrationBuilder.DropForeignKey(name: "FK_AccountBalance_ApplicationUser_UserId", table: "AccountBalance"); + migrationBuilder.DropForeignKey(name: "FK_BalanceImpact_AccountBalance_BalanceId", table: "BalanceImpact"); + migrationBuilder.DropForeignKey(name: "FK_Blog_ApplicationUser_AuthorId", table: "Blog"); + migrationBuilder.DropForeignKey(name: "FK_BookQuery_ApplicationUser_ClientId", table: "BookQuery"); + migrationBuilder.DropForeignKey(name: "FK_BookQuery_Location_LocationId", table: "BookQuery"); + migrationBuilder.DropForeignKey(name: "FK_BookQuery_PerformerProfile_PerformerId", table: "BookQuery"); + migrationBuilder.DropForeignKey(name: "FK_CircleMember_Circle_CircleId", table: "CircleMember"); + migrationBuilder.DropForeignKey(name: "FK_CircleMember_ApplicationUser_MemberId", table: "CircleMember"); + migrationBuilder.DropForeignKey(name: "FK_Command_ApplicationUser_ClientId", table: "Command"); + migrationBuilder.DropForeignKey(name: "FK_Command_PerformerProfile_PerformerId", table: "Command"); + migrationBuilder.DropForeignKey(name: "FK_Contact_ApplicationUser_OwnerId", table: "Contact"); + migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Activity_ActivityCode", table: "PerformerProfile"); + migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Location_OrganisationAddressId", table: "PerformerProfile"); + migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_ApplicationUser_PerfomerId", table: "PerformerProfile"); + migrationBuilder.DropColumn(name: "GoogleRegId", table: "AspNetUsers"); + migrationBuilder.DropTable("Application"); + migrationBuilder.CreateTable( + name: "GoogleCloudMobileDeclaration", + columns: table => new + { + RegistrationId = table.Column(nullable: false), + DeviceOwnerId = table.Column(nullable: true), + Name = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_GoogleCloudMobileDeclaration", x => x.RegistrationId); + table.ForeignKey( + name: "FK_GoogleCloudMobileDeclaration_ApplicationUser_DeviceOwnerId", + column: x => x.DeviceOwnerId, + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + }); + migrationBuilder.CreateTable( + name: "Client", + columns: table => new + { + Id = table.Column(nullable: false), + Active = table.Column(nullable: false), + AllowedOrigin = table.Column(nullable: true), + DisplayName = table.Column(nullable: true), + LogoutRedirectUri = table.Column(nullable: true), + RedirectUri = table.Column(nullable: true), + RefreshTokenLifeTime = table.Column(nullable: false), + Secret = table.Column(nullable: true), + Type = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_Client", x => x.Id); + }); + migrationBuilder.CreateTable( + name: "RefreshToken", + columns: table => new + { + Id = table.Column(nullable: false), + ClientId = table.Column(nullable: false), + ExpiresUtc = table.Column(nullable: false), + IssuedUtc = table.Column(nullable: false), + ProtectedTicket = table.Column(nullable: false), + Subject = table.Column(nullable: false) + }, + constraints: table => + { + table.PrimaryKey("PK_RefreshToken", x => x.Id); + }); + migrationBuilder.AddForeignKey( + name: "FK_IdentityRoleClaim_IdentityRole_RoleId", + table: "AspNetRoleClaims", + column: "RoleId", + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_IdentityUserClaim_ApplicationUser_UserId", + table: "AspNetUserClaims", + column: "UserId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_IdentityUserLogin_ApplicationUser_UserId", + table: "AspNetUserLogins", + column: "UserId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_IdentityUserRole_IdentityRole_RoleId", + table: "AspNetUserRoles", + column: "RoleId", + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_IdentityUserRole_ApplicationUser_UserId", + table: "AspNetUserRoles", + column: "UserId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_AccountBalance_ApplicationUser_UserId", + table: "AccountBalance", + column: "UserId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_BalanceImpact_AccountBalance_BalanceId", + table: "BalanceImpact", + column: "BalanceId", + principalTable: "AccountBalance", + principalColumn: "UserId", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_Blog_ApplicationUser_AuthorId", + table: "Blog", + column: "AuthorId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_BookQuery_ApplicationUser_ClientId", + table: "BookQuery", + column: "ClientId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_BookQuery_Location_LocationId", + table: "BookQuery", + column: "LocationId", + principalTable: "Location", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_BookQuery_PerformerProfile_PerformerId", + table: "BookQuery", + column: "PerformerId", + principalTable: "PerformerProfile", + principalColumn: "PerfomerId", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_CircleMember_Circle_CircleId", + table: "CircleMember", + column: "CircleId", + principalTable: "Circle", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_CircleMember_ApplicationUser_MemberId", + table: "CircleMember", + column: "MemberId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_Command_ApplicationUser_ClientId", + table: "Command", + column: "ClientId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_Command_PerformerProfile_PerformerId", + table: "Command", + column: "PerformerId", + principalTable: "PerformerProfile", + principalColumn: "PerfomerId", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_Contact_ApplicationUser_OwnerId", + table: "Contact", + column: "OwnerId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_PerformerProfile_Activity_ActivityCode", + table: "PerformerProfile", + column: "ActivityCode", + principalTable: "Activity", + principalColumn: "Code", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_PerformerProfile_Location_OrganisationAddressId", + table: "PerformerProfile", + column: "OrganisationAddressId", + principalTable: "Location", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + migrationBuilder.AddForeignKey( + name: "FK_PerformerProfile_ApplicationUser_PerfomerId", + table: "PerformerProfile", + column: "PerfomerId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Cascade); + } + + protected override void Down(MigrationBuilder migrationBuilder) + { + migrationBuilder.DropForeignKey(name: "FK_IdentityRoleClaim_IdentityRole_RoleId", table: "AspNetRoleClaims"); + migrationBuilder.DropForeignKey(name: "FK_IdentityUserClaim_ApplicationUser_UserId", table: "AspNetUserClaims"); + migrationBuilder.DropForeignKey(name: "FK_IdentityUserLogin_ApplicationUser_UserId", table: "AspNetUserLogins"); + migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole_IdentityRole_RoleId", table: "AspNetUserRoles"); + migrationBuilder.DropForeignKey(name: "FK_IdentityUserRole_ApplicationUser_UserId", table: "AspNetUserRoles"); + migrationBuilder.DropForeignKey(name: "FK_AccountBalance_ApplicationUser_UserId", table: "AccountBalance"); + migrationBuilder.DropForeignKey(name: "FK_BalanceImpact_AccountBalance_BalanceId", table: "BalanceImpact"); + migrationBuilder.DropForeignKey(name: "FK_Blog_ApplicationUser_AuthorId", table: "Blog"); + migrationBuilder.DropForeignKey(name: "FK_BookQuery_ApplicationUser_ClientId", table: "BookQuery"); + migrationBuilder.DropForeignKey(name: "FK_BookQuery_Location_LocationId", table: "BookQuery"); + migrationBuilder.DropForeignKey(name: "FK_BookQuery_PerformerProfile_PerformerId", table: "BookQuery"); + migrationBuilder.DropForeignKey(name: "FK_CircleMember_Circle_CircleId", table: "CircleMember"); + migrationBuilder.DropForeignKey(name: "FK_CircleMember_ApplicationUser_MemberId", table: "CircleMember"); + migrationBuilder.DropForeignKey(name: "FK_Command_ApplicationUser_ClientId", table: "Command"); + migrationBuilder.DropForeignKey(name: "FK_Command_PerformerProfile_PerformerId", table: "Command"); + migrationBuilder.DropForeignKey(name: "FK_Contact_ApplicationUser_OwnerId", table: "Contact"); + migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Activity_ActivityCode", table: "PerformerProfile"); + migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_Location_OrganisationAddressId", table: "PerformerProfile"); + migrationBuilder.DropForeignKey(name: "FK_PerformerProfile_ApplicationUser_PerfomerId", table: "PerformerProfile"); + migrationBuilder.DropTable("GoogleCloudMobileDeclaration"); + migrationBuilder.DropTable("Client"); + migrationBuilder.DropTable("RefreshToken"); + migrationBuilder.CreateTable( + name: "Application", + columns: table => new + { + ApplicationID = table.Column(nullable: false), + DisplayName = table.Column(nullable: true), + LogoutRedirectUri = table.Column(nullable: true), + RedirectUri = table.Column(nullable: true), + Secret = table.Column(nullable: true) + }, + constraints: table => + { + table.PrimaryKey("PK_Application", x => x.ApplicationID); + }); + migrationBuilder.AddColumn( + name: "GoogleRegId", + table: "AspNetUsers", + nullable: true); + migrationBuilder.AddForeignKey( + name: "FK_IdentityRoleClaim_IdentityRole_RoleId", + table: "AspNetRoleClaims", + column: "RoleId", + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_IdentityUserClaim_ApplicationUser_UserId", + table: "AspNetUserClaims", + column: "UserId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_IdentityUserLogin_ApplicationUser_UserId", + table: "AspNetUserLogins", + column: "UserId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_IdentityUserRole_IdentityRole_RoleId", + table: "AspNetUserRoles", + column: "RoleId", + principalTable: "AspNetRoles", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_IdentityUserRole_ApplicationUser_UserId", + table: "AspNetUserRoles", + column: "UserId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_AccountBalance_ApplicationUser_UserId", + table: "AccountBalance", + column: "UserId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_BalanceImpact_AccountBalance_BalanceId", + table: "BalanceImpact", + column: "BalanceId", + principalTable: "AccountBalance", + principalColumn: "UserId", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_Blog_ApplicationUser_AuthorId", + table: "Blog", + column: "AuthorId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_BookQuery_ApplicationUser_ClientId", + table: "BookQuery", + column: "ClientId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_BookQuery_Location_LocationId", + table: "BookQuery", + column: "LocationId", + principalTable: "Location", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_BookQuery_PerformerProfile_PerformerId", + table: "BookQuery", + column: "PerformerId", + principalTable: "PerformerProfile", + principalColumn: "PerfomerId", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_CircleMember_Circle_CircleId", + table: "CircleMember", + column: "CircleId", + principalTable: "Circle", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_CircleMember_ApplicationUser_MemberId", + table: "CircleMember", + column: "MemberId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_Command_ApplicationUser_ClientId", + table: "Command", + column: "ClientId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_Command_PerformerProfile_PerformerId", + table: "Command", + column: "PerformerId", + principalTable: "PerformerProfile", + principalColumn: "PerfomerId", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_Contact_ApplicationUser_OwnerId", + table: "Contact", + column: "OwnerId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_PerformerProfile_Activity_ActivityCode", + table: "PerformerProfile", + column: "ActivityCode", + principalTable: "Activity", + principalColumn: "Code", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_PerformerProfile_Location_OrganisationAddressId", + table: "PerformerProfile", + column: "OrganisationAddressId", + principalTable: "Location", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + migrationBuilder.AddForeignKey( + name: "FK_PerformerProfile_ApplicationUser_PerfomerId", + table: "PerformerProfile", + column: "PerfomerId", + principalTable: "AspNetUsers", + principalColumn: "Id", + onDelete: ReferentialAction.Restrict); + } + } +} diff --git a/Yavsc/Migrations/ApplicationDbContextModelSnapshot.cs b/Yavsc/Migrations/ApplicationDbContextModelSnapshot.cs index 666c4d69..38510039 100644 --- a/Yavsc/Migrations/ApplicationDbContextModelSnapshot.cs +++ b/Yavsc/Migrations/ApplicationDbContextModelSnapshot.cs @@ -1,6 +1,8 @@ using System; using Microsoft.Data.Entity; using Microsoft.Data.Entity.Infrastructure; +using Microsoft.Data.Entity.Metadata; +using Microsoft.Data.Entity.Migrations; using Yavsc.Models; namespace Yavsc.Migrations @@ -13,6 +15,17 @@ namespace Yavsc.Migrations modelBuilder .HasAnnotation("ProductVersion", "7.0.0-rc1-16348"); + modelBuilder.Entity("GoogleCloudMobileDeclaration", b => + { + b.Property("RegistrationId"); + + b.Property("DeviceOwnerId"); + + b.Property("Name"); + + b.HasKey("RegistrationId"); + }); + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRole", b => { b.Property("Id"); @@ -95,21 +108,6 @@ namespace Yavsc.Migrations b.HasAnnotation("Relational:TableName", "AspNetUserRoles"); }); - modelBuilder.Entity("Yavsc.Application", b => - { - b.Property("ApplicationID"); - - b.Property("DisplayName"); - - b.Property("LogoutRedirectUri"); - - b.Property("RedirectUri"); - - b.Property("Secret"); - - b.HasKey("ApplicationID"); - }); - modelBuilder.Entity("Yavsc.Location", b => { b.Property("Id") @@ -172,8 +170,6 @@ namespace Yavsc.Migrations b.Property("EmailConfirmed"); - b.Property("GoogleRegId"); - b.Property("LockoutEnabled"); b.Property("LockoutEnd"); @@ -210,6 +206,52 @@ namespace Yavsc.Migrations b.HasAnnotation("Relational:TableName", "AspNetUsers"); }); + modelBuilder.Entity("Yavsc.Models.Auth.Client", b => + { + b.Property("Id"); + + b.Property("Active"); + + b.Property("AllowedOrigin") + .HasAnnotation("MaxLength", 100); + + b.Property("DisplayName"); + + b.Property("LogoutRedirectUri"); + + b.Property("RedirectUri"); + + b.Property("RefreshTokenLifeTime"); + + b.Property("Secret"); + + b.Property("Type"); + + b.HasKey("Id"); + }); + + modelBuilder.Entity("Yavsc.Models.Auth.RefreshToken", b => + { + b.Property("Id"); + + b.Property("ClientId") + .IsRequired() + .HasAnnotation("MaxLength", 50); + + b.Property("ExpiresUtc"); + + b.Property("IssuedUtc"); + + b.Property("ProtectedTicket") + .IsRequired(); + + b.Property("Subject") + .IsRequired() + .HasAnnotation("MaxLength", 50); + + b.HasKey("Id"); + }); + modelBuilder.Entity("Yavsc.Models.BalanceImpact", b => { b.Property("Id") @@ -394,7 +436,7 @@ namespace Yavsc.Migrations b.HasKey("Id"); }); - modelBuilder.Entity("Yavsc.Models.OAuth2Tokens", b => + modelBuilder.Entity("Yavsc.Models.OAuth.OAuth2Tokens", b => { b.Property("UserId"); @@ -477,6 +519,13 @@ namespace Yavsc.Migrations b.HasKey("Id"); }); + modelBuilder.Entity("GoogleCloudMobileDeclaration", b => + { + b.HasOne("Yavsc.Models.ApplicationUser") + .WithMany() + .HasForeignKey("DeviceOwnerId"); + }); + modelBuilder.Entity("Microsoft.AspNet.Identity.EntityFramework.IdentityRoleClaim", b => { b.HasOne("Microsoft.AspNet.Identity.EntityFramework.IdentityRole") diff --git a/Yavsc/Model/ApplicationDbContext.cs b/Yavsc/Model/ApplicationDbContext.cs index f262c1df..07474859 100644 --- a/Yavsc/Model/ApplicationDbContext.cs +++ b/Yavsc/Model/ApplicationDbContext.cs @@ -5,7 +5,9 @@ using System.Threading.Tasks; using Microsoft.AspNet.Authentication.OAuth; using Microsoft.AspNet.Identity.EntityFramework; using Microsoft.Data.Entity; +using Yavsc.Models.Auth; using Yavsc.Models.Booking; +using Yavsc.Models.OAuth; namespace Yavsc.Models { @@ -26,7 +28,9 @@ namespace Yavsc.Models optionsBuilder.UseNpgsql(Startup.ConnectionString); } - public DbSet Applications { get; set; } + public DbSet Applications { get; set; } + + public DbSet RefreshTokens { get; set; } /// /// Activities referenced on this site /// @@ -151,10 +155,12 @@ namespace Yavsc.Models return Task.FromResult(0); } - Application FindApplication(string clientId) + Client FindApplication(string clientId) { return Applications.FirstOrDefault( - app=>app.ApplicationID == clientId); + app=>app.Id == clientId); } + + } } diff --git a/Yavsc/Model/Auth/ApplicationTypes.cs b/Yavsc/Model/Auth/ApplicationTypes.cs new file mode 100644 index 00000000..745fb027 --- /dev/null +++ b/Yavsc/Model/Auth/ApplicationTypes.cs @@ -0,0 +1,10 @@ + + +namespace Yavsc.Models.Auth +{ + public enum ApplicationTypes: int + { + JavaScript = 0, + NativeConfidential = 1 + }; +} \ No newline at end of file diff --git a/Yavsc/Model/Auth/Application.cs b/Yavsc/Model/Auth/Client.cs similarity index 50% rename from Yavsc/Model/Auth/Application.cs rename to Yavsc/Model/Auth/Client.cs index 51614a21..4de3a3bd 100644 --- a/Yavsc/Model/Auth/Application.cs +++ b/Yavsc/Model/Auth/Client.cs @@ -1,14 +1,20 @@ using System.ComponentModel.DataAnnotations; -namespace Yavsc +namespace Yavsc.Models.Auth { - public class Application + public class Client { [Key] - public string ApplicationID { get; set; } + public string Id { get; set; } public string DisplayName { get; set; } public string RedirectUri { get; set; } + [MaxLength(100)] public string LogoutRedirectUri { get; set; } public string Secret { get; set; } + public ApplicationTypes Type { get; set; } + + public bool Active { get; set; } + public int RefreshTokenLifeTime { get; set; } + } } diff --git a/Yavsc/Model/Auth/ExternalViewModel.cs b/Yavsc/Model/Auth/ExternalViewModel.cs new file mode 100644 index 00000000..6c47489b --- /dev/null +++ b/Yavsc/Model/Auth/ExternalViewModel.cs @@ -0,0 +1,33 @@ + +using System.ComponentModel.DataAnnotations; + +namespace Yavsc.Models.Auth { + +public class ExternalLoginViewModel + { + public string Name { get; set; } + + public string Url { get; set; } + + public string State { get; set; } + } + + public class RegisterExternalBindingModel + { + [Required] + public string UserName { get; set; } + + [Required] + public string Provider { get; set; } + + [Required] + public string ExternalAccessToken { get; set; } + + } + + public class ParsedExternalAccessToken + { + public string user_id { get; set; } + public string app_id { get; set; } + } +} diff --git a/Yavsc/Model/Identity/OAuth2Tokens.cs b/Yavsc/Model/Auth/OAuth2Tokens.cs similarity index 91% rename from Yavsc/Model/Identity/OAuth2Tokens.cs rename to Yavsc/Model/Auth/OAuth2Tokens.cs index 39284227..74551263 100644 --- a/Yavsc/Model/Identity/OAuth2Tokens.cs +++ b/Yavsc/Model/Auth/OAuth2Tokens.cs @@ -1,11 +1,11 @@ using System; using System.ComponentModel.DataAnnotations; -namespace Yavsc.Models +namespace Yavsc.Models.OAuth { /// /// OffLine OAuth2 Token - /// To use against the Google Calendar Api + /// To use against a third party Api /// public partial class OAuth2Tokens { @@ -17,7 +17,7 @@ namespace Yavsc.Models public string UserId { get; set; } /// - /// Expiration date & time + /// Expiration date & time /// /// public DateTime Expiration { get; set; } diff --git a/Yavsc/Model/Auth/RefreshToken.cs b/Yavsc/Model/Auth/RefreshToken.cs new file mode 100644 index 00000000..89642295 --- /dev/null +++ b/Yavsc/Model/Auth/RefreshToken.cs @@ -0,0 +1,23 @@ +using System; +using System.ComponentModel.DataAnnotations; + +namespace Yavsc.Models.Auth + { + + + public class RefreshToken + { + [Key] + public string Id { get; set; } + [Required] + [MaxLength(50)] + public string Subject { get; set; } + [Required] + [MaxLength(50)] + public string ClientId { get; set; } + public DateTime IssuedUtc { get; set; } + public DateTime ExpiresUtc { get; set; } + [Required] + public string ProtectedTicket { get; set; } + } + } \ No newline at end of file diff --git a/Yavsc/Model/Auth/Scope.cs b/Yavsc/Model/Auth/Scope.cs index 2fa1ddff..89129087 100644 --- a/Yavsc/Model/Auth/Scope.cs +++ b/Yavsc/Model/Auth/Scope.cs @@ -1,6 +1,11 @@ +using System.ComponentModel.DataAnnotations; + namespace Yavsc.Models.Auth { public class Scope { + + + [Key] public string Id { get; set; } diff --git a/Yavsc/Model/Auth/UserCredentials.cs b/Yavsc/Model/Auth/UserCredentials.cs index 1f344969..96e02ad3 100644 --- a/Yavsc/Model/Auth/UserCredentials.cs +++ b/Yavsc/Model/Auth/UserCredentials.cs @@ -1,4 +1,6 @@ +using Yavsc.Models.OAuth; + namespace Yavsc.Models.Auth { public class UserCredential { diff --git a/Yavsc/Startup/Startup.OAuth.cs b/Yavsc/Startup/Startup.OAuth.cs index f2116214..04aa8da3 100644 --- a/Yavsc/Startup/Startup.OAuth.cs +++ b/Yavsc/Startup/Startup.OAuth.cs @@ -1,6 +1,8 @@ using System; using System.Security.Claims; using Microsoft.AspNet.Authentication; +using Microsoft.AspNet.Authentication.Cookies; +using Microsoft.AspNet.Authentication.Facebook; using Microsoft.AspNet.Authentication.OAuth; using Microsoft.AspNet.Builder; using Microsoft.AspNet.Http; @@ -18,10 +20,21 @@ namespace Yavsc public partial class Startup { + public static CookieAuthenticationOptions ExternalCookieAppOptions { get; private set; } + + public static IdentityOptions IdentityAppOptions { get; set; } + public static FacebookOptions FacebookAppOptions { get; private set; } + public static OAuthAuthorizationServerOptions OAuthServerAppOptions { get; private set; } + + public static YavscGoogleOptions YavscGoogleAppOptions { get; private set; } + public static MonoDataProtectionProvider ProtectionProvider { get; private set; } + + // public static CookieAuthenticationOptions BearerCookieOptions { get; private set; } + private void ConfigureOAuthServices(IServiceCollection services) { services.Configure(options => options.SignInScheme = Constants.ApplicationAuthenticationSheme); - + services.Add(ServiceDescriptor.Singleton(typeof(IOptions), typeof(OptionsManager))); // used by the YavscGoogleOAuth middelware (TODO drop it) services.AddTransient(); @@ -42,143 +55,69 @@ namespace Yavsc new SigningCredentials(key, SecurityAlgorithms.RsaSha256Signature); } ); */ - services.AddAuthentication(options => + services.AddAuthentication(options => { - options.SignInScheme = Constants.ApplicationAuthenticationSheme; + options.SignInScheme = Constants.ExternalAuthenticationSheme; }); - var protector = new MonoDataProtectionProvider(Configuration["Site:Title"]);; - services.AddInstance( - protector - ); + ProtectionProvider = new MonoDataProtectionProvider(Configuration["Site:Title"]); ; + services.AddInstance + (ProtectionProvider); services.AddIdentity( option => { + IdentityAppOptions = option; option.User.AllowedUserNameCharacters += " "; option.User.RequireUniqueEmail = true; - option.Cookies.ApplicationCookie.DataProtectionProvider = protector; - - option.Cookies.ApplicationCookie.LoginPath = new PathString(Constants.LoginPath.Substring(1)); - option.Cookies.ApplicationCookie.AccessDeniedPath = new PathString(Constants.AccessDeniedPath.Substring(1)); - option.Cookies.ApplicationCookie.AutomaticAuthenticate = true; - // option.AuthenticationScheme = Constants.ApplicationAuthenticationSheme; - // option.Cookies.ApplicationCookieAuthenticationScheme = Constants.ApplicationAuthenticationSheme; - // option.Cookies.TwoFactorRememberMeCookie.ExpireTimeSpan = TimeSpan.FromDays(30); - // option.Cookies.TwoFactorRememberMeCookie.DataProtectionProvider = protector; - //option.Cookies.ExternalCookieAuthenticationScheme = Constants.ExternalAuthenticationSheme; - // option.Cookies.ExternalCookie.AutomaticAuthenticate = true; - //option.Cookies.ExternalCookie.AuthenticationScheme = Constants.ExternalAuthenticationSheme; - // option.Cookies.ExternalCookie.DataProtectionProvider = protector; + // option.Cookies.ApplicationCookieAuthenticationScheme = Constants.ApplicationAuthenticationSheme; + option.Cookies.ApplicationCookie.LoginPath = "/signin"; + // option.Cookies.ApplicationCookie.AuthenticationScheme = Constants.ApplicationAuthenticationSheme; + /* + option.Cookies.ApplicationCookie.DataProtectionProvider = protector; + option.Cookies.ApplicationCookie.LoginPath = new PathString(Constants.LoginPath.Substring(1)); + option.Cookies.ApplicationCookie.AccessDeniedPath = new PathString(Constants.AccessDeniedPath.Substring(1)); + option.Cookies.ApplicationCookie.AutomaticAuthenticate = true; + option.Cookies.ApplicationCookie.AuthenticationScheme = Constants.ApplicationAuthenticationSheme; + option.Cookies.ApplicationCookieAuthenticationScheme = Constants.ApplicationAuthenticationSheme; + option.Cookies.TwoFactorRememberMeCookie.ExpireTimeSpan = TimeSpan.FromDays(30); + option.Cookies.TwoFactorRememberMeCookie.DataProtectionProvider = protector; + option.Cookies.ExternalCookieAuthenticationScheme = Constants.ExternalAuthenticationSheme; + option.Cookies.ExternalCookie.AutomaticAuthenticate = true; + option.Cookies.ExternalCookie.AuthenticationScheme = Constants.ExternalAuthenticationSheme; + option.Cookies.ExternalCookie.DataProtectionProvider = protector; + */ } ).AddEntityFrameworkStores() .AddTokenProvider>(Constants.EMailFactor) .AddTokenProvider(Constants.DefaultFactor) ; - + } private void ConfigureOAuthApp(IApplicationBuilder app) { - app.UseIdentity(); // External authentication shared cookie: app.UseCookieAuthentication(options => { - //options.AuthenticationScheme = Constants.ExternalAuthenticationSheme; + ExternalCookieAppOptions = options; + options.AuthenticationScheme = Constants.ExternalAuthenticationSheme; options.AutomaticAuthenticate = true; options.ExpireTimeSpan = TimeSpan.FromMinutes(5); options.LoginPath = new PathString(Constants.LoginPath.Substring(1)); options.AccessDeniedPath = new PathString(Constants.AccessDeniedPath.Substring(1)); - options.AuthenticationScheme = Constants.ApplicationAuthenticationSheme; }); - var gvents = new OAuthEvents(); - var googleOptions = new YavscGoogleOptions - { - ClientId = Configuration["Authentication:Google:ClientId"], - ClientSecret = Configuration["Authentication:Google:ClientSecret"], - AccessType = "offline", - SaveTokensAsClaims = true, - UserInformationEndpoint = "https://www.googleapis.com/plus/v1/people/me", - Events = new OAuthEvents - { - OnCreatingTicket = async context => - { - using (var serviceScope = app.ApplicationServices.GetRequiredService() - .CreateScope()) - { - var gcontext = context as GoogleOAuthCreatingTicketContext; - context.Identity.AddClaim(new Claim(YavscClaimTypes.GoogleUserId, gcontext.GoogleUserId)); - var service = - serviceScope.ServiceProvider.GetService(); - await service.StoreTokenAsync(gcontext.GoogleUserId, context.TokenResponse); - } - } - } - }; - googleOptions.Scope.Add("https://www.googleapis.com/auth/calendar"); - app.UseMiddleware(googleOptions); - - // Facebook - app.UseFacebookAuthentication(options => - { - options.AppId = Configuration["Authentication:Facebook:AppId"]; - options.AppSecret = Configuration["Authentication:Facebook:AppSecret"]; - options.Scope.Add("email"); - options.UserInformationEndpoint = "https://graph.facebook.com/v2.5/me?fields=id,name,email,first_name,last_name"; - }); - /* Generic OAuth (here GitHub): options.Notifications = new OAuthAuthenticationNotifications - { - OnGetUserInformationAsync = async context => - { - // Get the GitHub user - HttpRequestMessage userRequest = new HttpRequestMessage(HttpMethod.Get, context.Options.UserInformationEndpoint); - userRequest.Headers.Authorization = new AuthenticationHeaderValue("Bearer", context.AccessToken); - userRequest.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); - HttpResponseMessage userResponse = await context.Backchannel.SendAsync(userRequest, context.HttpContext.RequestAborted); - userResponse.EnsureSuccessStatusCode(); - var text = await userResponse.Content.ReadAsStringAsync(); - JObject user = JObject.Parse(text); - - var identity = new ClaimsIdentity( - context.Options.AuthenticationType, - ClaimsIdentity.DefaultNameClaimType, - ClaimsIdentity.DefaultRoleClaimType); - - JToken value; - var id = user.TryGetValue("id", out value) ? value.ToString() : null; - if (!string.IsNullOrEmpty(id)) - { - identity.AddClaim(new Claim(ClaimTypes.NameIdentifier, id, ClaimValueTypes.String, context.Options.AuthenticationType)); - } - var userName = user.TryGetValue("login", out value) ? value.ToString() : null; - if (!string.IsNullOrEmpty(userName)) - { - identity.AddClaim(new Claim(ClaimsIdentity.DefaultNameClaimType, userName, ClaimValueTypes.String, context.Options.AuthenticationType)); - } - var name = user.TryGetValue("name", out value) ? value.ToString() : null; - if (!string.IsNullOrEmpty(name)) - { - identity.AddClaim(new Claim("urn:github:name", name, ClaimValueTypes.String, context.Options.AuthenticationType)); - } - var link = user.TryGetValue("url", out value) ? value.ToString() : null; - if (!string.IsNullOrEmpty(link)) - { - identity.AddClaim(new Claim("urn:github:url", link, ClaimValueTypes.String, context.Options.AuthenticationType)); - } - - context.Identity = identity; - } - }; */ - app.UseOAuthAuthorizationServer( options => { + OAuthServerAppOptions = options; options.AuthorizeEndpointPath = new PathString(Constants.AuthorizePath.Substring(1)); options.TokenEndpointPath = new PathString(Constants.TokenPath.Substring(1)); options.ApplicationCanDisplayErrors = true; options.AllowInsecureHttp = true; - + options.AuthenticationScheme = OAuthDefaults.AuthenticationType; + options.Provider = new OAuthAuthorizationServerProvider { OnValidateClientRedirectUri = ValidateClientRedirectUri, @@ -201,8 +140,48 @@ namespace Yavsc options.AutomaticAuthenticate = true; options.AutomaticChallenge = true; - } + } ); + + app.UseIdentity(); + + var gvents = new OAuthEvents(); + YavscGoogleAppOptions = new YavscGoogleOptions + { + ClientId = Configuration["Authentication:Google:ClientId"], + ClientSecret = Configuration["Authentication:Google:ClientSecret"], + AccessType = "offline", + SaveTokensAsClaims = true, + UserInformationEndpoint = "https://www.googleapis.com/plus/v1/people/me", + Events = new OAuthEvents + { + OnCreatingTicket = async context => + { + using (var serviceScope = app.ApplicationServices.GetRequiredService() + .CreateScope()) + { + var gcontext = context as GoogleOAuthCreatingTicketContext; + context.Identity.AddClaim(new Claim(YavscClaimTypes.GoogleUserId, gcontext.GoogleUserId)); + var service = + serviceScope.ServiceProvider.GetService(); + await service.StoreTokenAsync(gcontext.GoogleUserId, context.TokenResponse); + } + } + } + }; + YavscGoogleAppOptions.Scope.Add("https://www.googleapis.com/auth/calendar"); + app.UseMiddleware(YavscGoogleAppOptions); + + // Facebook + app.UseFacebookAuthentication(options => + { + FacebookAppOptions = options; + options.AppId = Configuration["Authentication:Facebook:AppId"]; + options.AppSecret = Configuration["Authentication:Facebook:AppSecret"]; + options.Scope.Add("email"); + options.UserInformationEndpoint = "https://graph.facebook.com/v2.5/me?fields=id,name,email,first_name,last_name"; + }); + } } } diff --git a/Yavsc/Startup/Startup.OAuthHelpers.cs b/Yavsc/Startup/Startup.OAuthHelpers.cs index 305995b0..9c0f44b0 100644 --- a/Yavsc/Startup/Startup.OAuthHelpers.cs +++ b/Yavsc/Startup/Startup.OAuthHelpers.cs @@ -6,23 +6,25 @@ using System.Security.Principal; using System.Threading.Tasks; using Microsoft.Extensions.Logging; using OAuth.AspNet.AuthServer; +using Yavsc.Helpers; using Yavsc.Models; +using Yavsc.Models.Auth; namespace Yavsc { public partial class Startup { - private Application GetApplication(string clientId) + private Client GetApplication(string clientId) { var dbContext = new ApplicationDbContext(); - var app = dbContext.Applications.FirstOrDefault(x=>x.ApplicationID == clientId); + var app = dbContext.Applications.FirstOrDefault(x => x.Id == clientId); return app; } private readonly ConcurrentDictionary _authenticationCodes = new ConcurrentDictionary(StringComparer.Ordinal); private Task ValidateClientRedirectUri(OAuthValidateClientRedirectUriContext context) { - if (context==null) throw new InvalidOperationException("context == null"); + if (context == null) throw new InvalidOperationException("context == null"); var app = GetApplication(context.ClientId); if (app == null) return Task.FromResult(0); Startup.logger.LogInformation($"ValidateClientRedirectUri: Validated ({app.RedirectUri})"); @@ -32,16 +34,40 @@ namespace Yavsc private Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context) { - string clientId,clientSecret; + string clientId, clientSecret; if (context.TryGetBasicCredentials(out clientId, out clientSecret) || context.TryGetFormCredentials(out clientId, out clientSecret)) { - var app = GetApplication(clientId); - if (app != null && app.Secret == clientSecret) + var client = GetApplication(clientId); + if (client.Type == ApplicationTypes.NativeConfidential) { - Startup.logger.LogInformation($"ValidateClientAuthentication: Validated ({clientId})"); + if (string.IsNullOrWhiteSpace(clientSecret)) + { + context.SetError("invalid_clientId", "Client secret should be sent."); + return Task.FromResult(null); + } + else + { + if (client.Secret != Helper.GetHash(clientSecret)) + { + context.SetError("invalid_clientId", "Client secret is invalid."); + return Task.FromResult(null); + } + } + } + + if (!client.Active) + { + context.SetError("invalid_clientId", "Client is inactive."); + return Task.FromResult(null); + } + + if (client != null && client.Secret == clientSecret) + { + logger.LogInformation($"\\o/ ValidateClientAuthentication: Validated ({clientId})"); context.Validated(); - } else Startup.logger.LogInformation($"ValidateClientAuthentication: KO ({clientId})"); + } + else Startup.logger.LogInformation($"ValidateClientAuthentication: KO ({clientId})"); } else Startup.logger.LogInformation($"ValidateClientAuthentication: nor Basic neither Form credential found"); return Task.FromResult(0); @@ -49,7 +75,12 @@ namespace Yavsc private Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { + logger.LogWarning($"GrantResourceOwnerCredentials task ... {context.UserName}"); + + // var user = ValidateUser(context.UserName, context.Password) + ClaimsPrincipal principal = new ClaimsPrincipal(new ClaimsIdentity(new GenericIdentity(context.UserName, OAuthDefaults.AuthenticationType), context.Scope.Select(x => new Claim("urn:oauth:scope", x)))); + // TODO set a NameIdentifier, roles and scopes claims context.Validated(principal); @@ -67,7 +98,7 @@ namespace Yavsc private void CreateAuthenticationCode(AuthenticationTokenCreateContext context) { - Startup.logger.LogInformation("CreateAuthenticationCode"); + logger.LogInformation("CreateAuthenticationCode"); context.SetToken(Guid.NewGuid().ToString("n") + Guid.NewGuid().ToString("n")); _authenticationCodes[context.Token] = context.SerializeTicket(); } @@ -78,20 +109,21 @@ namespace Yavsc if (_authenticationCodes.TryRemove(context.Token, out value)) { context.DeserializeTicket(value); + logger.LogInformation("ReceiveAuthenticationCode: Success"); } } private void CreateRefreshToken(AuthenticationTokenCreateContext context) { var uid = context.Ticket.Principal.GetUserId(); - Startup.logger.LogInformation($"CreateRefreshToken for {uid}"); + logger.LogInformation($"CreateRefreshToken for {uid}"); context.SetToken(context.SerializeTicket()); } private void ReceiveRefreshToken(AuthenticationTokenReceiveContext context) { var uid = context.Ticket.Principal.GetUserId(); - Startup.logger.LogInformation($"ReceiveRefreshToken for {uid}"); + logger.LogInformation($"ReceiveRefreshToken for {uid}"); context.DeserializeTicket(context.Token); } } diff --git a/Yavsc/Startup/Startup.cs b/Yavsc/Startup/Startup.cs index 48e11a24..63703b64 100755 --- a/Yavsc/Startup/Startup.cs +++ b/Yavsc/Startup/Startup.cs @@ -8,9 +8,6 @@ using Microsoft.AspNet.Authorization; using Microsoft.AspNet.Builder; using Microsoft.AspNet.Diagnostics; using Microsoft.AspNet.Hosting; -using Microsoft.AspNet.Http; -using Microsoft.AspNet.Identity; -using Microsoft.AspNet.Identity.EntityFramework; using Microsoft.AspNet.Localization; using Microsoft.AspNet.Mvc; using Microsoft.AspNet.Mvc.Filters; @@ -22,7 +19,6 @@ using Microsoft.Extensions.Logging; using Microsoft.Extensions.OptionsModel; using Microsoft.Extensions.PlatformAbstractions; using Microsoft.Net.Http.Headers; -using Yavsc.Auth; using Yavsc.Formatters; using Yavsc.Models; using Yavsc.Services; diff --git a/Yavsc/ViewModels/Auth/AuthorisationView.cs b/Yavsc/ViewModels/Auth/AuthorisationView.cs index 4428ebe7..5cf0dc8e 100644 --- a/Yavsc/ViewModels/Auth/AuthorisationView.cs +++ b/Yavsc/ViewModels/Auth/AuthorisationView.cs @@ -1,12 +1,17 @@ using System.Collections.Generic; +using Microsoft.Extensions.Primitives; -namespace Yavsc +namespace Yavsc.Models.Auth { public class AuthorisationView {  - public Application Application { get; set; } - public IEnumerable Scopes { get; set; } + public Scope[] Scopes { get; set; } public string RedirectUrl { get; set; } public string Message { get; set; } + public string ClientId {get; set; } + public string State {get; set; } + public string ResponseType { get; set; } + + public IDictionary QueryStringComponents { get; set; } } } \ No newline at end of file diff --git a/Yavsc/Views/Application/Create.cshtml b/Yavsc/Views/Client/Create.cshtml similarity index 59% rename from Yavsc/Views/Application/Create.cshtml rename to Yavsc/Views/Client/Create.cshtml index 7ac14317..b9f59d06 100644 --- a/Yavsc/Views/Application/Create.cshtml +++ b/Yavsc/Views/Client/Create.cshtml @@ -1,4 +1,4 @@ -@model Yavsc.Application +@model Yavsc.Models.Auth.Client @{ ViewData["Title"] = "Create"; @@ -8,9 +8,17 @@
-

Application

+

Client


+
+
+
+ + +
+
+
@@ -32,6 +40,13 @@
+
+ +
+ + +
+
@@ -39,6 +54,16 @@
+
+ +
+ + +
+
diff --git a/Yavsc/Views/Application/Delete.cshtml b/Yavsc/Views/Client/Delete.cshtml similarity index 63% rename from Yavsc/Views/Application/Delete.cshtml rename to Yavsc/Views/Client/Delete.cshtml index 9f13eb84..0f0dc8aa 100644 --- a/Yavsc/Views/Application/Delete.cshtml +++ b/Yavsc/Views/Client/Delete.cshtml @@ -1,4 +1,4 @@ -@model Yavsc.Application +@model Yavsc.Models.Auth.Client @{ ViewData["Title"] = "Delete"; @@ -8,9 +8,15 @@

Are you sure you want to delete this?

-

Application

+

Client


+
+ @Html.DisplayNameFor(model => model.Active) +
+
+ @Html.DisplayFor(model => model.Active) +
@Html.DisplayNameFor(model => model.DisplayName)
@@ -29,12 +35,24 @@
@Html.DisplayFor(model => model.RedirectUri)
+
+ @Html.DisplayNameFor(model => model.RefreshTokenLifeTime) +
+
+ @Html.DisplayFor(model => model.RefreshTokenLifeTime) +
@Html.DisplayNameFor(model => model.Secret)
@Html.DisplayFor(model => model.Secret)
+
+ @Html.DisplayNameFor(model => model.Type) +
+
+ @Html.DisplayFor(model => model.Type) +
diff --git a/Yavsc/Views/Application/Details.cshtml b/Yavsc/Views/Client/Details.cshtml similarity index 53% rename from Yavsc/Views/Application/Details.cshtml rename to Yavsc/Views/Client/Details.cshtml index 905a2416..d4905039 100644 --- a/Yavsc/Views/Application/Details.cshtml +++ b/Yavsc/Views/Client/Details.cshtml @@ -1,4 +1,4 @@ -@model Yavsc.Application +@model Yavsc.Models.Auth.Client @{ ViewData["Title"] = "Details"; @@ -7,9 +7,21 @@

Details

-

Application

+

Client


+
+ @Html.DisplayNameFor(model => model.Id) +
+
+ @Html.DisplayFor(model => model.Id) +
+
+ @Html.DisplayNameFor(model => model.Active) +
+
+ @Html.DisplayFor(model => model.Active) +
@Html.DisplayNameFor(model => model.DisplayName)
@@ -29,10 +41,10 @@ @Html.DisplayFor(model => model.RedirectUri)
- @Html.DisplayNameFor(model => model.ApplicationID) + @Html.DisplayNameFor(model => model.RefreshTokenLifeTime)
- @Html.DisplayFor(model => model.ApplicationID) + @Html.DisplayFor(model => model.RefreshTokenLifeTime)
@Html.DisplayNameFor(model => model.Secret) @@ -40,9 +52,15 @@
@Html.DisplayFor(model => model.Secret)
+
+ @Html.DisplayNameFor(model => model.Type) +
+
+ @Html.DisplayFor(model => model.Type) +

- Edit | + Edit | Back to List

diff --git a/Yavsc/Views/Application/Edit.cshtml b/Yavsc/Views/Client/Edit.cshtml similarity index 61% rename from Yavsc/Views/Application/Edit.cshtml rename to Yavsc/Views/Client/Edit.cshtml index a54fab01..19857451 100644 --- a/Yavsc/Views/Application/Edit.cshtml +++ b/Yavsc/Views/Client/Edit.cshtml @@ -1,4 +1,4 @@ -@model Yavsc.Application +@model Yavsc.Models.Auth.Client @{ ViewData["Title"] = "Edit"; @@ -8,10 +8,18 @@
-

Application

+

Client


- + +
+
+
+ + +
+
+
@@ -33,6 +41,13 @@
+
+ +
+ + +
+
@@ -40,6 +55,13 @@
+
+ +
+ + +
+
diff --git a/Yavsc/Views/Application/Index.cshtml b/Yavsc/Views/Client/Index.cshtml similarity index 56% rename from Yavsc/Views/Application/Index.cshtml rename to Yavsc/Views/Client/Index.cshtml index 33bc002c..e2f4e32f 100644 --- a/Yavsc/Views/Application/Index.cshtml +++ b/Yavsc/Views/Client/Index.cshtml @@ -1,4 +1,4 @@ -@model IEnumerable +@model IEnumerable @{ ViewData["Title"] = "Index"; @@ -12,7 +12,7 @@ + + @foreach (var item in Model) { + + } diff --git a/Yavsc/Views/OAuth/Authorize-new.cshtml b/Yavsc/Views/OAuth/Authorize-new.cshtml new file mode 100644 index 00000000..55ad9ac6 --- /dev/null +++ b/Yavsc/Views/OAuth/Authorize-new.cshtml @@ -0,0 +1,32 @@ +@using Microsoft.AspNet.Http.Authentication +@using Microsoft.AspNet.WebUtilities +@using System.Security.Claims +@using Microsoft.Extensions.Primitives +@model Yavsc.Models.Auth.AuthorisationView +@{ + ViewBag.Title = @SR["Authorize"]; +} +

Authorization Server

+

OAuth2 Authorize

+ +

Hello, @User.Identity.Name

+

@Model.Message

+

A third party application want to do the following on your behalf:

+
    + @foreach (var scope in Model.Scopes) + { +
  • @scope.Id: @scope.Description
  • + } +
+

+ + + +

+ @if (Model.QueryStringComponents!=null) { + @foreach (var key in Model.QueryStringComponents.Keys) { + @Html.Hidden(key,Model.QueryStringComponents[key]) + } + + } + diff --git a/Yavsc/Views/OAuth/Authorize.cshtml b/Yavsc/Views/OAuth/Authorize.cshtml index 57cc131f..7ca8b37f 100644 --- a/Yavsc/Views/OAuth/Authorize.cshtml +++ b/Yavsc/Views/OAuth/Authorize.cshtml @@ -1,32 +1,34 @@ -@using Microsoft.AspNet.Http.Authentication +@using Microsoft.AspNet.Http.Authentication @using Microsoft.AspNet.WebUtilities -@using System.Security.Claims +@using System.Security.Claims +@model Yavsc.Models.Auth.AuthorisationView @{ - AuthenticationManager authentication = Context.Authentication; - ClaimsPrincipal principal = authentication.AuthenticateAsync(Constants.ApplicationAuthenticationSheme).Result; - string[] scopes = QueryHelpers.ParseQuery(Context.Request.QueryString.Value)["scope"]; + ViewBag.Title = @SR["Authorize"]; } - - - - Authorize - - -

Authorization Server

-

OAuth2 Authorize

- -

Hello, @principal.Identity.Name

-

A third party application want to do the following on your behalf:

-
    - @foreach (var scope in scopes) +

    Authorization Server

    +

    OAuth2 Authorize

    + + +

    Hello, @User.Identity.Name

    +

    @Model.Message

    +

    A third party application want to do the following on your behalf:

    +
      + @if (Model.Scopes!=null) { + @foreach (var scope in Model.Scopes) { -
    • @scope
    • - } -
    -

    - - -

    - - - \ No newline at end of file +
  • @scope.Id: @scope.Description
  • + } + } +
+

+ + + +

+ + \ No newline at end of file diff --git a/Yavsc/Views/Shared/Authorize.cshtml b/Yavsc/Views/Shared/Authorize.cshtml deleted file mode 100644 index b63dc7c6..00000000 --- a/Yavsc/Views/Shared/Authorize.cshtml +++ /dev/null @@ -1,22 +0,0 @@ - -@model AuthorisationView - -
-

Authorization @Application?.DisplayName

- -

@Model.Message

- -

Do you wanna grant @Model.Application.DisplayName an access to your resources? (scopes requested: @Model.Message.Scope)

- -
- @Html.AntiForgeryToken() - - @foreach (var scope in Model.Scopes) { -
  • @scope
  • - } - @Html.Hidden("ReturnUrl") - - - - -
    diff --git a/Yavsc/appsettings.json b/Yavsc/appsettings.json index 873cff4f..04c8b10c 100755 --- a/Yavsc/appsettings.json +++ b/Yavsc/appsettings.json @@ -45,5 +45,12 @@ }, "RSAParamFile": "RSA-Params.json", "ExpiresInHours": 168 + }, + "Authentication": { + "Google": { + "ApiKey": "[Your ApiKey]", + "ClientId" : "[Your ClientId]", + "ClientSecret": "[Your ClientSecret" + } } } diff --git a/Yavsc/project.json b/Yavsc/project.json index 00230b12..f90706c9 100755 --- a/Yavsc/project.json +++ b/Yavsc/project.json @@ -104,7 +104,8 @@ "Microsoft.AspNet.DataProtection.SystemWeb": "1.0.0-rc1-final", "Microsoft.AspNet.Authentication.JwtBearer": "1.0.0-rc1-final", "PayPalCoreSDK": "1.7.1", - "PayPalButtonManagerSDK": "2.10.109" + "PayPalButtonManagerSDK": "2.10.109", + "Microsoft.AspNet.Owin": "1.0.0-rc1-final" }, "commands": { "web": "Microsoft.AspNet.Server.Kestrel --server.urls http://*:5000", diff --git a/Yavsc/project.lock.json b/Yavsc/project.lock.json index 16bf37ee..13bf3e07 100644 --- a/Yavsc/project.lock.json +++ b/Yavsc/project.lock.json @@ -21,9 +21,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/EntityFramework.Commands.dll": {} @@ -48,7 +48,6 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Collections", "System.ComponentModel.DataAnnotations", @@ -65,7 +64,8 @@ "System.Resources.ResourceManager", "System.Runtime", "System.Runtime.Extensions", - "System.Threading" + "System.Threading", + "mscorlib" ], "compile": { "lib/dnx451/EntityFramework.Core.dll": {} @@ -81,9 +81,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/EntityFramework.MicrosoftSqlServer.dll": {} @@ -100,11 +100,11 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", "System.Data", - "System.Transactions" + "System.Transactions", + "mscorlib" ], "compile": { "lib/net451/EntityFramework.Relational.dll": {} @@ -120,13 +120,13 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.ComponentModel.DataAnnotations", "System.Core", "System.IO", "System.Text.Encoding", - "System.Threading.Tasks" + "System.Threading.Tasks", + "mscorlib" ], "compile": { "lib/dnx451/EntityFramework.Relational.Design.dll": {} @@ -143,9 +143,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/EntityFramework.Sqlite.dll": {} @@ -165,14 +165,14 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Collections", "System.Core", "System.Diagnostics.Contracts", "System.Linq.Expressions", "System.Reflection", - "System.Runtime" + "System.Runtime", + "mscorlib" ], "compile": { "lib/dnx451/EntityFramework7.Npgsql.dll": {} @@ -194,14 +194,14 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Collections", "System.Core", "System.Diagnostics.Contracts", "System.Linq.Expressions", "System.Reflection", - "System.Runtime" + "System.Runtime", + "mscorlib" ], "compile": { "lib/dnx451/EntityFramework7.Npgsql.Design.dll": {} @@ -214,16 +214,16 @@ "type": "package", "dependencies": { "Google.Apis.Core": "1.11.1", - "log4net": "2.0.3", - "Zlib.Portable.Signed": "1.11.0" + "Zlib.Portable.Signed": "1.11.0", + "log4net": "2.0.3" }, "compile": { - "lib/net45/Google.Apis.dll": {}, - "lib/net45/Google.Apis.PlatformServices.dll": {} + "lib/net45/Google.Apis.PlatformServices.dll": {}, + "lib/net45/Google.Apis.dll": {} }, "runtime": { - "lib/net45/Google.Apis.dll": {}, - "lib/net45/Google.Apis.PlatformServices.dll": {} + "lib/net45/Google.Apis.PlatformServices.dll": {}, + "lib/net45/Google.Apis.dll": {} } }, "Google.Apis.Core/1.11.1": { @@ -301,9 +301,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Antiforgery.dll": {} @@ -324,10 +324,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Net.Http" + "System.Net.Http", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Authentication.dll": {} @@ -345,9 +345,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Authentication.Cookies.dll": {} @@ -364,9 +364,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Authentication.Facebook.dll": {} @@ -383,10 +383,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Net.Http" + "System.Net.Http", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll": {} @@ -403,10 +403,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Net.Http" + "System.Net.Http", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Authentication.OAuth.dll": {} @@ -423,10 +423,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Net.Http" + "System.Net.Http", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll": {} @@ -442,10 +442,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Net.Http" + "System.Net.Http", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Authentication.Twitter.dll": {} @@ -463,9 +463,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Authorization.dll": {} @@ -484,9 +484,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Cors.dll": {} @@ -499,9 +499,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Cryptography.Internal.dll": {} @@ -517,9 +517,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll": {} @@ -539,13 +539,13 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", "System.IO", "System.Security", "System.Xml", - "System.Xml.Linq" + "System.Xml.Linq", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.DataProtection.dll": {} @@ -561,9 +561,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll": {} @@ -580,12 +580,12 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Configuration", "System.Core", "System.Security", - "System.Web" + "System.Web", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll": {} @@ -609,10 +609,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Runtime" + "System.Runtime", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Diagnostics.dll": {} @@ -625,9 +625,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll": {} @@ -644,11 +644,11 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Configuration", "System.Core", - "System.Threading.Tasks" + "System.Threading.Tasks", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll": {} @@ -664,9 +664,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll": {} @@ -682,9 +682,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.FileProviders.Physical.dll": {} @@ -713,10 +713,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Runtime" + "System.Runtime", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.AspNet.Hosting.dll": {} @@ -733,9 +733,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll": {} @@ -752,9 +752,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll": {} @@ -770,9 +770,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Html.Abstractions.dll": {} @@ -790,9 +790,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Http.dll": {} @@ -809,9 +809,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Http.Abstractions.dll": {} @@ -829,9 +829,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Http.Extensions.dll": {} @@ -847,9 +847,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Http.Features.dll": {} @@ -867,9 +867,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Identity.dll": {} @@ -886,11 +886,11 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", "System.Runtime", - "System.Threading.Tasks" + "System.Threading.Tasks", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll": {} @@ -907,9 +907,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.IISPlatformHandler.dll": {} @@ -925,9 +925,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.JsonPatch.dll": {} @@ -945,9 +945,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Localization.dll": {} @@ -971,9 +971,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.dll": {} @@ -989,9 +989,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll": {} @@ -1007,9 +1007,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll": {} @@ -1032,10 +1032,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Runtime" + "System.Runtime", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.Core.dll": {} @@ -1052,9 +1052,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.Cors.dll": {} @@ -1071,10 +1071,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.ComponentModel.DataAnnotations", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll": {} @@ -1092,9 +1092,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll": {} @@ -1113,9 +1113,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.Localization.dll": {} @@ -1136,14 +1136,14 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Collections", "System.Core", "System.IO", "System.Runtime", "System.Text.Encoding", - "System.Threading.Tasks" + "System.Threading.Tasks", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.Razor.dll": {} @@ -1162,9 +1162,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll": {} @@ -1182,9 +1182,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll": {} @@ -1205,9 +1205,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll": {} @@ -1216,13 +1216,31 @@ "lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll": {} } }, + "Microsoft.AspNet.Owin/1.0.0-rc1-final": { + "type": "package", + "dependencies": { + "Microsoft.AspNet.Http": "1.0.0-rc1-final" + }, + "frameworkAssemblies": [ + "Microsoft.CSharp", + "System", + "System.Core", + "mscorlib" + ], + "compile": { + "lib/net451/Microsoft.AspNet.Owin.dll": {} + }, + "runtime": { + "lib/net451/Microsoft.AspNet.Owin.dll": {} + } + }, "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final": { "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll": {} @@ -1235,9 +1253,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Razor.dll": {} @@ -1254,11 +1272,11 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", "System.Xml", - "System.Xml.Linq" + "System.Xml.Linq", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Razor.Runtime.dll": {} @@ -1275,10 +1293,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Runtime" + "System.Runtime", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll": {} @@ -1296,9 +1314,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Routing.dll": {} @@ -1316,15 +1334,33 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll": {} }, "runtime": { "lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll": {} + }, + "runtimeTargets": { + "runtimes/osx/native/libuv.dylib": { + "assetType": "native", + "rid": "osx" + }, + "runtimes/win10-arm/native/libuv.dll": { + "assetType": "native", + "rid": "win10-arm" + }, + "runtimes/win7-x64/native/libuv.dll": { + "assetType": "native", + "rid": "win7-x64" + }, + "runtimes/win7-x86/native/libuv.dll": { + "assetType": "native", + "rid": "win7-x86" + } } }, "Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final": { @@ -1336,9 +1372,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.AspNet.Server.WebListener.dll": {} @@ -1357,9 +1393,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Session.dll": {} @@ -1400,9 +1436,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.StaticFiles.dll": {} @@ -1419,9 +1455,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.Tooling.Razor.dll": {} @@ -1447,9 +1483,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll": {} @@ -1466,9 +1502,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.WebSockets.Server.dll": {} @@ -1485,9 +1521,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.AspNet.WebUtilities.dll": {} @@ -1538,16 +1574,26 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Data" + "System.Data", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Data.Sqlite.dll": {} }, "runtime": { "lib/net451/Microsoft.Data.Sqlite.dll": {} + }, + "runtimeTargets": { + "runtimes/win7-x64/native/sqlite3.dll": { + "assetType": "native", + "rid": "win7-x64" + }, + "runtimes/win7-x86/native/sqlite3.dll": { + "assetType": "native", + "rid": "win7-x86" + } } }, "Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final": { @@ -1557,9 +1603,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll": {} @@ -1576,9 +1622,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll": {} @@ -1595,11 +1641,11 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", "System.IO", - "System.Runtime" + "System.Runtime", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll": {} @@ -1615,9 +1661,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Caching.Abstractions.dll": {} @@ -1635,9 +1681,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Caching.Memory.dll": {} @@ -1656,9 +1702,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Extensions.CodeGeneration.dll": {} @@ -1678,9 +1724,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll": {} @@ -1699,10 +1745,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Text.Encoding" + "System.Text.Encoding", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll": {} @@ -1719,13 +1765,13 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", "System.IO", "System.Runtime", "System.Text.Encoding", - "System.Threading.Tasks" + "System.Threading.Tasks", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll": {} @@ -1744,9 +1790,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.dll": {} @@ -1762,9 +1808,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Configuration.dll": {} @@ -1780,9 +1826,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Configuration.Abstractions.dll": {} @@ -1798,9 +1844,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Configuration.Binder.dll": {} @@ -1816,9 +1862,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Configuration.CommandLine.dll": {} @@ -1834,9 +1880,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {} @@ -1852,9 +1898,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Configuration.FileExtensions.dll": {} @@ -1872,9 +1918,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Configuration.FileProviderExtensions.dll": {} @@ -1892,9 +1938,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Configuration.Json.dll": {} @@ -1910,9 +1956,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Configuration.UserSecrets.dll": {} @@ -1928,9 +1974,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.DependencyInjection.dll": {} @@ -1943,9 +1989,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} @@ -1958,9 +2004,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.FileSystemGlobbing.dll": {} @@ -1973,9 +2019,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {} @@ -1994,9 +2040,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Localization.dll": {} @@ -2009,9 +2055,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Localization.Abstractions.dll": {} @@ -2028,10 +2074,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Collections.Concurrent", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Logging.dll": {} @@ -2044,9 +2090,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Logging.Abstractions.dll": {} @@ -2064,9 +2110,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Logging.Console.dll": {} @@ -2082,9 +2128,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Logging.Debug.dll": {} @@ -2097,9 +2143,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.MemoryPool.dll": {} @@ -2120,9 +2166,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.OptionsModel.dll": {} @@ -2135,9 +2181,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.PlatformAbstractions.dll": {} @@ -2150,9 +2196,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.Primitives.dll": {} @@ -2170,9 +2216,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.WebEncoders.dll": {} @@ -2185,9 +2231,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Extensions.WebEncoders.Core.dll": {} @@ -2203,9 +2249,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Framework.Configuration.dll": {} @@ -2218,9 +2264,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Framework.Configuration.Abstractions.dll": {} @@ -2236,9 +2282,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Framework.Configuration.Binder.dll": {} @@ -2254,9 +2300,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Framework.Configuration.FileExtensions.dll": {} @@ -2274,9 +2320,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Framework.Configuration.Json.dll": {} @@ -2293,9 +2339,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Framework.ConfigurationModel.dll": {} @@ -2308,9 +2354,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Framework.ConfigurationModel.Interfaces.dll": {} @@ -2327,9 +2373,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Framework.ConfigurationModel.Json.dll": {} @@ -2342,9 +2388,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/dnx451/Microsoft.Framework.Runtime.Interfaces.dll": {} @@ -2357,9 +2403,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.IdentityModel.Logging.dll": {} @@ -2375,10 +2421,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Net.Http" + "System.Net.Http", + "mscorlib" ], "compile": { "lib/net451/Microsoft.IdentityModel.Protocols.dll": {} @@ -2394,9 +2440,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {} @@ -2409,9 +2455,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Net.Http.Headers.dll": {} @@ -2429,9 +2475,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Net.Http.Server.dll": {} @@ -2444,9 +2490,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net451/Microsoft.Net.WebSockets.dll": {} @@ -2528,9 +2574,9 @@ "type": "package", "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", - "System.Core" + "System.Core", + "mscorlib" ], "compile": { "lib/net45/Npgsql.dll": {} @@ -2658,10 +2704,10 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Xml" + "System.Xml", + "mscorlib" ], "compile": { "lib/net451/System.IdentityModel.Tokens.dll": {} @@ -2677,5711 +2723,9 @@ }, "frameworkAssemblies": [ "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/System.IdentityModel.Tokens.Jwt.dll": {} - }, - "runtime": { - "lib/net451/System.IdentityModel.Tokens.Jwt.dll": {} - } - }, - "System.IO/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Linq/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Numerics.Vectors/4.1.1-beta-23516": { - "type": "package", - "compile": { - "lib/portable-net45+win8/System.Numerics.Vectors.dll": {} - }, - "runtime": { - "lib/portable-net45+win8/System.Numerics.Vectors.dll": {} - } - }, - "System.Reflection/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Reflection.Extensions/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Reflection.Metadata/1.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.0", - "System.Collections.Immutable": "1.1.37", - "System.Diagnostics.Debug": "4.0.0", - "System.IO": "4.0.0", - "System.Reflection": "4.0.0", - "System.Reflection.Extensions": "4.0.0", - "System.Reflection.Primitives": "4.0.0", - "System.Resources.ResourceManager": "4.0.0", - "System.Runtime": "4.0.0", - "System.Runtime.Extensions": "4.0.0", - "System.Runtime.InteropServices": "4.0.0", - "System.Text.Encoding": "4.0.0", - "System.Text.Encoding.Extensions": "4.0.0", - "System.Threading": "4.0.0" - }, - "compile": { - "lib/dotnet5.2/System.Reflection.Metadata.dll": {} - }, - "runtime": { - "lib/dotnet5.2/System.Reflection.Metadata.dll": {} - } - }, - "System.Reflection.Primitives/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Resources.ResourceManager/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Runtime/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Runtime.Extensions/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Runtime.InteropServices/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Text.Encoding/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Text.Encoding.Extensions/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Threading/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "WebGrease/1.5.2": { - "type": "package", - "dependencies": { - "Antlr": "3.4.1.9004", - "Newtonsoft.Json": "5.0.4" - }, - "compile": { - "lib/WebGrease.dll": {} - }, - "runtime": { - "lib/WebGrease.dll": {} - } - }, - "Zlib.Portable.Signed/1.11.0": { - "type": "package", - "compile": { - "lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.dll": {} - }, - "runtime": { - "lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.dll": {} - } - } - }, - "DNX,Version=v4.5.1/debian.8-x86": { - "Antlr/3.4.1.9004": { - "type": "package", - "compile": { - "lib/Antlr3.Runtime.dll": {} - }, - "runtime": { - "lib/Antlr3.Runtime.dll": {} - } - }, - "EntityFramework.Commands/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational.Design": "7.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/EntityFramework.Commands.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework.Commands.dll": {} - } - }, - "EntityFramework.Core/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Ix-Async": "1.2.5", - "Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Remotion.Linq": "2.0.1", - "System.Collections.Immutable": "1.1.36" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections", - "System.ComponentModel.DataAnnotations", - "System.Core", - "System.Diagnostics.Debug", - "System.Diagnostics.Tools", - "System.Globalization", - "System.Linq", - "System.Linq.Expressions", - "System.Linq.Queryable", - "System.ObjectModel", - "System.Reflection", - "System.Reflection.Extensions", - "System.Resources.ResourceManager", - "System.Runtime", - "System.Runtime.Extensions", - "System.Threading" - ], - "compile": { - "lib/dnx451/EntityFramework.Core.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework.Core.dll": {} - } - }, - "EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/EntityFramework.MicrosoftSqlServer.dll": {} - }, - "runtime": { - "lib/net451/EntityFramework.MicrosoftSqlServer.dll": {} - } - }, - "EntityFramework.Relational/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Core": "7.0.0-rc1-final", - "System.Diagnostics.DiagnosticSource": "4.0.0-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", "System", "System.Core", - "System.Data", - "System.Transactions" - ], - "compile": { - "lib/net451/EntityFramework.Relational.dll": {} - }, - "runtime": { - "lib/net451/EntityFramework.Relational.dll": {} - } - }, - "EntityFramework.Relational.Design/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.ComponentModel.DataAnnotations", - "System.Core", - "System.IO", - "System.Text.Encoding", - "System.Threading.Tasks" - ], - "compile": { - "lib/dnx451/EntityFramework.Relational.Design.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework.Relational.Design.dll": {} - } - }, - "EntityFramework.Sqlite/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final", - "Microsoft.Data.Sqlite": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/EntityFramework.Sqlite.dll": {} - }, - "runtime": { - "lib/net451/EntityFramework.Sqlite.dll": {} - } - }, - "EntityFramework7.Npgsql/3.1.0-rc1-3": { - "type": "package", - "dependencies": { - "EntityFramework.Core": "7.0.0-rc1-final", - "EntityFramework.Relational": "7.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Npgsql": "3.1.0-alpha6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections", - "System.Core", - "System.Diagnostics.Contracts", - "System.Linq.Expressions", - "System.Reflection", - "System.Runtime" - ], - "compile": { - "lib/dnx451/EntityFramework7.Npgsql.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework7.Npgsql.dll": {} - } - }, - "EntityFramework7.Npgsql.Design/3.1.0-rc1-5": { - "type": "package", - "dependencies": { - "EntityFramework.Core": "7.0.0-rc1-final", - "EntityFramework.Relational": "7.0.0-rc1-final", - "EntityFramework.Relational.Design": "7.0.0-rc1-final", - "EntityFramework7.Npgsql": "3.1.0-rc1-3", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Npgsql": "3.1.0-alpha6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections", - "System.Core", - "System.Diagnostics.Contracts", - "System.Linq.Expressions", - "System.Reflection", - "System.Runtime" - ], - "compile": { - "lib/dnx451/EntityFramework7.Npgsql.Design.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework7.Npgsql.Design.dll": {} - } - }, - "Google.Apis/1.11.1": { - "type": "package", - "dependencies": { - "Google.Apis.Core": "1.11.1", - "log4net": "2.0.3", - "Zlib.Portable.Signed": "1.11.0" - }, - "compile": { - "lib/net45/Google.Apis.dll": {}, - "lib/net45/Google.Apis.PlatformServices.dll": {} - }, - "runtime": { - "lib/net45/Google.Apis.dll": {}, - "lib/net45/Google.Apis.PlatformServices.dll": {} - } - }, - "Google.Apis.Core/1.11.1": { - "type": "package", - "dependencies": { - "Newtonsoft.Json": "7.0.1" - }, - "compile": { - "lib/net45/Google.Apis.Core.dll": {} - }, - "runtime": { - "lib/net45/Google.Apis.Core.dll": {} - } - }, - "Ix-Async/1.2.5": { - "type": "package", - "frameworkAssemblies": [ - "System", - "System.Core" - ], - "compile": { - "lib/net45/System.Interactive.Async.dll": {} - }, - "runtime": { - "lib/net45/System.Interactive.Async.dll": {} - } - }, - "jQuery/1.6.4": { - "type": "package" - }, - "log4net/2.0.3": { - "type": "package", - "compile": { - "lib/net40-full/log4net.dll": {} - }, - "runtime": { - "lib/net40-full/log4net.dll": {} - } - }, - "MailKit/1.3.0-beta7": { - "type": "package", - "dependencies": { - "MimeKit": "1.3.0-beta7" - }, - "frameworkAssemblies": [ - "System", - "System.Core", - "System.Data" - ], - "compile": { - "lib/net451/MailKit.dll": {} - }, - "runtime": { - "lib/net451/MailKit.dll": {} - } - }, - "MarkdownDeep-av.NET/1.5.2": { - "type": "package", - "compile": { - "lib/net451/MarkdownDeep.dll": {} - }, - "runtime": { - "lib/net451/MarkdownDeep.dll": {} - } - }, - "Microsoft.AspNet.Antiforgery/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.DataProtection": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.WebUtilities": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Antiforgery.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Antiforgery.dll": {} - } - }, - "Microsoft.AspNet.Authentication/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.DataProtection": "1.0.0-rc1-final", - "Microsoft.AspNet.Http": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.dll": {} - } - }, - "Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.Cookies.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.Cookies.dll": {} - } - }, - "Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication.OAuth": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.Facebook.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.Facebook.dll": {} - } - }, - "Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "2.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll": {} - } - }, - "Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.OAuth.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.OAuth.dll": {} - } - }, - "Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "2.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll": {} - } - }, - "Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.Twitter.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.Twitter.dll": {} - } - }, - "Microsoft.AspNet.Authorization/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Features": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authorization.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authorization.dll": {} - } - }, - "Microsoft.AspNet.Cors/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Cors.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Cors.dll": {} - } - }, - "Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Cryptography.Internal.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Cryptography.Internal.dll": {} - } - }, - "Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Cryptography.Internal": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll": {} - } - }, - "Microsoft.AspNet.DataProtection/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Cryptography.Internal": "1.0.0-rc1-final", - "Microsoft.AspNet.DataProtection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.IO", - "System.Security", - "System.Xml", - "System.Xml.Linq" - ], - "compile": { - "lib/net451/Microsoft.AspNet.DataProtection.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.DataProtection.dll": {} - } - }, - "Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.DataProtection": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Configuration", - "System.Core", - "System.Security", - "System.Web" - ], - "compile": { - "lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll": {} - } - }, - "Microsoft.AspNet.Diagnostics/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Diagnostics.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.FileProviders.Physical": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.AspNet.WebUtilities": "1.0.0-rc1-final", - "Microsoft.Dnx.Compilation.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final", - "System.Diagnostics.DiagnosticSource": "4.0.0-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Diagnostics.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Diagnostics.dll": {} - } - }, - "Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final", - "Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Configuration", - "System.Core", - "System.Threading.Tasks" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll": {} - } - }, - "Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.FileProviders.Physical.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.FileProviders.Physical.dll": {} - } - }, - "Microsoft.AspNet.Hosting/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Physical": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Server.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Http": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Dnx.Compilation.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.CommandLine": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final", - "System.Diagnostics.DiagnosticSource": "4.0.0-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Hosting.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Hosting.dll": {} - } - }, - "Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Features": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Html.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Html.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Http/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.WebUtilities": "1.0.0-rc1-final", - "Microsoft.Net.Http.Headers": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Http.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Http.dll": {} - } - }, - "Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Features": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Http.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Http.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final", - "Microsoft.Net.Http.Headers": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Http.Extensions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Http.Extensions.dll": {} - } - }, - "Microsoft.AspNet.Http.Features/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Http.Features.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Http.Features.dll": {} - } - }, - "Microsoft.AspNet.Identity/3.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final", - "Microsoft.AspNet.Cryptography.KeyDerivation": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Identity.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Identity.dll": {} - } - }, - "Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final", - "Microsoft.AspNet.Identity": "3.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime", - "System.Threading.Tasks" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll": {} - } - }, - "Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.IISPlatformHandler.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.IISPlatformHandler.dll": {} - } - }, - "Microsoft.AspNet.JsonPatch/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.JsonPatch.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.JsonPatch.dll": {} - } - }, - "Microsoft.AspNet.Localization/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.0-rc1-final", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Localization.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Localization.dll": {} - } - }, - "Microsoft.AspNet.Mvc/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.ApiExplorer": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Cors": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.DataAnnotations": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Formatters.Json": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Localization": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Razor": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.ViewFeatures": "6.0.0-rc1-final", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Routing": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authorization": "1.0.0-rc1-final", - "Microsoft.AspNet.FileProviders.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Abstractions": "6.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.MemoryPool": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final", - "System.Diagnostics.DiagnosticSource": "4.0.0-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Core.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Core.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Cors": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Cors.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Cors.dll": {} - } - }, - "Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final", - "Microsoft.Extensions.Localization": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.ComponentModel.DataAnnotations", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.JsonPatch": "1.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Localization": "1.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Razor": "6.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.Localization": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Localization.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Localization.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.Razor.Host": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.ViewFeatures": "6.0.0-rc1-final", - "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces": "1.0.0-rc1-final", - "Microsoft.AspNet.Razor.Runtime.Precompilation": "4.0.0-rc1-final", - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final", - "Microsoft.Dnx.Compilation.CSharp.Common": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections", - "System.Core", - "System.IO", - "System.Runtime", - "System.Text.Encoding", - "System.Threading.Tasks" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Razor.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Razor.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Physical": "1.0.0-rc1-final", - "Microsoft.AspNet.Razor.Runtime": "4.0.0-rc1-final", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll": {} - } - }, - "Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.Razor": "6.0.0-rc1-final", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll": {} - } - }, - "Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Antiforgery": "1.0.0-rc1-final", - "Microsoft.AspNet.Diagnostics.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Html.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.DataAnnotations": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Formatters.Json": "6.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll": {} - } - }, - "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll": {} - } - }, - "Microsoft.AspNet.Razor/4.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Razor.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Razor.dll": {} - } - }, - "Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Html.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Razor": "4.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Xml", - "System.Xml.Linq" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Razor.Runtime.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Razor.Runtime.dll": {} - } - }, - "Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Razor.Runtime": "4.0.0-rc1-final", - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll": {} - } - }, - "Microsoft.AspNet.Routing/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Routing.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Routing.dll": {} - } - }, - "Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Hosting": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "System.Numerics.Vectors": "4.1.1-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll": {} - } - }, - "Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Hosting": "1.0.0-rc1-final", - "Microsoft.Net.Http.Headers": "1.0.0-rc1-final", - "Microsoft.Net.Http.Server": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Server.WebListener.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Server.WebListener.dll": {} - } - }, - "Microsoft.AspNet.Session/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Session.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Session.dll": {} - } - }, - "Microsoft.AspNet.SignalR.Core/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.Owin": "2.1.0", - "Microsoft.Owin.Security": "2.1.0", - "Newtonsoft.Json": "6.0.4", - "Owin": "1.0.0" - }, - "compile": { - "lib/net45/Microsoft.AspNet.SignalR.Core.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.AspNet.SignalR.Core.dll": {} - } - }, - "Microsoft.AspNet.SignalR.JS/2.2.0": { - "type": "package", - "dependencies": { - "jQuery": "1.6.4" - } - }, - "Microsoft.AspNet.StaticFiles/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.StaticFiles.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.StaticFiles.dll": {} - } - }, - "Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Razor.Runtime": "4.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Tooling.Razor.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Tooling.Razor.dll": {} - } - }, - "Microsoft.AspNet.Web.Optimization/1.1.3": { - "type": "package", - "dependencies": { - "Microsoft.Web.Infrastructure": "1.0.0", - "WebGrease": "1.5.2" - }, - "compile": { - "lib/net40/System.Web.Optimization.dll": {} - }, - "runtime": { - "lib/net40/System.Web.Optimization.dll": {} - } - }, - "Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll": {} - } - }, - "Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.AspNet.WebSockets.Protocol": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.WebSockets.Server.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.WebSockets.Server.dll": {} - } - }, - "Microsoft.AspNet.WebUtilities/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.WebUtilities.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.WebUtilities.dll": {} - } - }, - "Microsoft.AspNetCore.Authentication.OAuth/0.0.1-alpha": { - "type": "package" - }, - "Microsoft.CodeAnalysis.Analyzers/1.0.0": { - "type": "package", - "frameworkAssemblies": [ - "System" - ] - }, - "Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Analyzers": "[1.0.0, 1.2.0)", - "System.Collections.Immutable": "1.1.37", - "System.Reflection.Metadata": "1.1.0" - }, - "compile": { - "lib/net45/Microsoft.CodeAnalysis.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.CodeAnalysis.dll": {} - } - }, - "Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Common": "[1.1.0-rc1-20151109-01]" - }, - "compile": { - "lib/net45/Microsoft.CodeAnalysis.CSharp.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.CodeAnalysis.CSharp.dll": {} - } - }, - "Microsoft.Data.Sqlite/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Data" - ], - "compile": { - "lib/net451/Microsoft.Data.Sqlite.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Data.Sqlite.dll": {} - } - }, - "Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll": {} - } - }, - "Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.CSharp": "1.1.0-rc1-20151109-01", - "Microsoft.Dnx.Compilation.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll": {} - } - }, - "Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.CSharp": "1.1.0-rc1-20151109-01", - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.IO", - "System.Runtime" - ], - "compile": { - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll": {} - } - }, - "Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Caching.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Caching.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Caching.Memory.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Caching.Memory.dll": {} - } - }, - "Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.CodeGeneration.Core": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.EntityFramework": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Templating": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.dll": {} - } - }, - "Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Templating": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll": {} - } - }, - "Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Core": "7.0.0-rc1-final", - "Microsoft.AspNet.Hosting": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Core": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Templating": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Text.Encoding" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll": {} - } - }, - "Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Razor": "4.0.0-rc1-final", - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.IO", - "System.Runtime", - "System.Text.Encoding", - "System.Threading.Tasks" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll": {} - } - }, - "Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.CodeGeneration": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.EntityFramework": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Templating": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.dll": {} - } - }, - "Microsoft.Extensions.Configuration/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.dll": {} - } - }, - "Microsoft.Extensions.Configuration.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Configuration.Binder/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.Binder.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.Binder.dll": {} - } - }, - "Microsoft.Extensions.Configuration.CommandLine/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.CommandLine.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.CommandLine.dll": {} - } - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {} - } - }, - "Microsoft.Extensions.Configuration.FileExtensions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.FileExtensions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.FileExtensions.dll": {} - } - }, - "Microsoft.Extensions.Configuration.FileProviderExtensions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Physical": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.FileProviderExtensions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.FileProviderExtensions.dll": {} - } - }, - "Microsoft.Extensions.Configuration.Json/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.Json.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.Json.dll": {} - } - }, - "Microsoft.Extensions.Configuration.UserSecrets/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.UserSecrets.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.UserSecrets.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.DependencyInjection.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.DependencyInjection.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.FileSystemGlobbing/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.FileSystemGlobbing.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.FileSystemGlobbing.dll": {} - } - }, - "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {} - } - }, - "Microsoft.Extensions.Localization/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Localization.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Localization.dll": {} - } - }, - "Microsoft.Extensions.Localization.Abstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Localization.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Localization.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Logging/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections.Concurrent", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Logging.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Logging.dll": {} - } - }, - "Microsoft.Extensions.Logging.Abstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Logging.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Logging.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Logging.Console/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Logging.Console.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Logging.Console.dll": {} - } - }, - "Microsoft.Extensions.Logging.Debug/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Logging.Debug.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Logging.Debug.dll": {} - } - }, - "Microsoft.Extensions.MemoryPool/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.MemoryPool.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.MemoryPool.dll": {} - } - }, - "Microsoft.Extensions.Options/0.0.1-alpha": { - "type": "package" - }, - "Microsoft.Extensions.OptionsModel/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Binder": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.OptionsModel.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.OptionsModel.dll": {} - } - }, - "Microsoft.Extensions.PlatformAbstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.PlatformAbstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.PlatformAbstractions.dll": {} - } - }, - "Microsoft.Extensions.Primitives/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Primitives.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Primitives.dll": {} - } - }, - "Microsoft.Extensions.WebEncoders/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.WebEncoders.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.WebEncoders.dll": {} - } - }, - "Microsoft.Extensions.WebEncoders.Core/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.WebEncoders.Core.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.WebEncoders.Core.dll": {} - } - }, - "Microsoft.Framework.Configuration/1.0.0-beta8": { - "type": "package", - "dependencies": { - "Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta8" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.dll": {} - } - }, - "Microsoft.Framework.Configuration.Abstractions/1.0.0-beta8": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.Abstractions.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.Abstractions.dll": {} - } - }, - "Microsoft.Framework.Configuration.Binder/1.0.0-beta8": { - "type": "package", - "dependencies": { - "Microsoft.Framework.Configuration": "1.0.0-beta8" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.Binder.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.Binder.dll": {} - } - }, - "Microsoft.Framework.Configuration.FileExtensions/1.0.0-beta8": { - "type": "package", - "dependencies": { - "Microsoft.Framework.Configuration": "1.0.0-beta8" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.FileExtensions.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.FileExtensions.dll": {} - } - }, - "Microsoft.Framework.Configuration.Json/1.0.0-beta8": { - "type": "package", - "dependencies": { - "Microsoft.Framework.Configuration": "1.0.0-beta8", - "Microsoft.Framework.Configuration.FileExtensions": "1.0.0-beta8", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.Json.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.Json.dll": {} - } - }, - "Microsoft.Framework.ConfigurationModel/1.0.0-beta4": { - "type": "package", - "dependencies": { - "Microsoft.Framework.ConfigurationModel.Interfaces": "1.0.0-beta4", - "Microsoft.Framework.Runtime.Interfaces": "1.0.0-beta4" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.dll": {} - } - }, - "Microsoft.Framework.ConfigurationModel.Interfaces/1.0.0-beta4": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.Interfaces.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.Interfaces.dll": {} - } - }, - "Microsoft.Framework.ConfigurationModel.Json/1.0.0-beta4": { - "type": "package", - "dependencies": { - "Microsoft.Framework.ConfigurationModel": "1.0.0-beta4", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.Json.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.Json.dll": {} - } - }, - "Microsoft.Framework.Runtime.Interfaces/1.0.0-beta4": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Runtime.Interfaces.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Runtime.Interfaces.dll": {} - } - }, - "Microsoft.IdentityModel.Logging/1.0.0-rc1-211161024": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.IdentityModel.Logging.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.IdentityModel.Logging.dll": {} - } - }, - "Microsoft.IdentityModel.Protocols/2.0.0-rc1-211161024": { - "type": "package", - "dependencies": { - "System.IdentityModel.Tokens.Jwt": "5.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/net451/Microsoft.IdentityModel.Protocols.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.IdentityModel.Protocols.dll": {} - } - }, - "Microsoft.IdentityModel.Protocols.OpenIdConnect/2.0.0-rc1-211161024": { - "type": "package", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "2.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {} - } - }, - "Microsoft.Net.Http.Headers/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Net.Http.Headers.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Net.Http.Headers.dll": {} - } - }, - "Microsoft.Net.Http.Server/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final", - "Microsoft.Net.WebSockets": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Net.Http.Server.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Net.Http.Server.dll": {} - } - }, - "Microsoft.Net.WebSockets/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Net.WebSockets.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Net.WebSockets.dll": {} - } - }, - "Microsoft.NETCore.Platforms/1.0.1-beta-23516": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Targets": "1.0.1-beta-23516" - } - }, - "Microsoft.NETCore.Targets/1.0.1-beta-23516": { - "type": "package" - }, - "Microsoft.Owin/2.1.0": { - "type": "package", - "dependencies": { - "Owin": "1.0.0" - }, - "compile": { - "lib/net45/Microsoft.Owin.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.Owin.dll": {} - } - }, - "Microsoft.Owin.Security/2.1.0": { - "type": "package", - "dependencies": { - "Microsoft.Owin": "2.1.0", - "Owin": "1.0.0" - }, - "compile": { - "lib/net45/Microsoft.Owin.Security.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.Owin.Security.dll": {} - } - }, - "Microsoft.Web.Infrastructure/1.0.0": { - "type": "package", - "compile": { - "lib/net40/Microsoft.Web.Infrastructure.dll": {} - }, - "runtime": { - "lib/net40/Microsoft.Web.Infrastructure.dll": {} - } - }, - "MimeKit/1.3.0-beta7": { - "type": "package", - "frameworkAssemblies": [ - "System", - "System.Core", - "System.Data", - "System.Security" - ], - "compile": { - "lib/net451/BouncyCastle.dll": {}, - "lib/net451/MimeKit.dll": {} - }, - "runtime": { - "lib/net451/BouncyCastle.dll": {}, - "lib/net451/MimeKit.dll": {} - } - }, - "Newtonsoft.Json/7.0.1": { - "type": "package", - "compile": { - "lib/net45/Newtonsoft.Json.dll": {} - }, - "runtime": { - "lib/net45/Newtonsoft.Json.dll": {} - } - }, - "Npgsql/3.1.0-alpha6": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net45/Npgsql.dll": {} - }, - "runtime": { - "lib/net45/Npgsql.dll": {} - } - }, - "Owin/1.0.0": { - "type": "package", - "compile": { - "lib/net40/Owin.dll": {} - }, - "runtime": { - "lib/net40/Owin.dll": {} - } - }, - "PayPalButtonManagerSDK/2.10.109": { - "type": "package", - "dependencies": { - "PayPalCoreSDK": "1.7.0" - }, - "compile": { - "lib/net20/PayPalButtonManagerSDK.dll": {} - }, - "runtime": { - "lib/net20/PayPalButtonManagerSDK.dll": {} - } - }, - "PayPalCoreSDK/1.7.1": { - "type": "package", - "dependencies": { - "Newtonsoft.Json": "7.0.1" - }, - "compile": { - "lib/net451/PayPalCoreSDK.dll": {} - }, - "runtime": { - "lib/net451/PayPalCoreSDK.dll": {} - } - }, - "Remotion.Linq/2.0.1": { - "type": "package", - "compile": { - "lib/net45/Remotion.Linq.dll": {} - }, - "runtime": { - "lib/net45/Remotion.Linq.dll": {} - } - }, - "System.Collections/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Collections.Immutable/1.1.37": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.0", - "System.Diagnostics.Debug": "4.0.0", - "System.Globalization": "4.0.0", - "System.Linq": "4.0.0", - "System.Resources.ResourceManager": "4.0.0", - "System.Runtime": "4.0.0", - "System.Runtime.Extensions": "4.0.0", - "System.Threading": "4.0.0" - }, - "compile": { - "lib/dotnet/System.Collections.Immutable.dll": {} - }, - "runtime": { - "lib/dotnet/System.Collections.Immutable.dll": {} - } - }, - "System.Diagnostics.Debug/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Diagnostics.DiagnosticSource/4.0.0-beta-23516": { - "type": "package", - "dependencies": { - "System.Diagnostics.Tracing": "4.0.0", - "System.Runtime": "4.0.0", - "System.Threading": "4.0.0" - }, - "compile": { - "lib/dotnet5.2/System.Diagnostics.DiagnosticSource.dll": {} - }, - "runtime": { - "lib/dotnet5.2/System.Diagnostics.DiagnosticSource.dll": {} - } - }, - "System.Diagnostics.Tracing/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Globalization/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.IdentityModel.Tokens/5.0.0-rc1-211161024": { - "type": "package", - "dependencies": { - "Microsoft.IdentityModel.Logging": "1.0.0-rc1-211161024", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Xml" - ], - "compile": { - "lib/net451/System.IdentityModel.Tokens.dll": {} - }, - "runtime": { - "lib/net451/System.IdentityModel.Tokens.dll": {} - } - }, - "System.IdentityModel.Tokens.Jwt/5.0.0-rc1-211161024": { - "type": "package", - "dependencies": { - "System.IdentityModel.Tokens": "5.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/System.IdentityModel.Tokens.Jwt.dll": {} - }, - "runtime": { - "lib/net451/System.IdentityModel.Tokens.Jwt.dll": {} - } - }, - "System.IO/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Linq/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Numerics.Vectors/4.1.1-beta-23516": { - "type": "package", - "compile": { - "lib/portable-net45+win8/System.Numerics.Vectors.dll": {} - }, - "runtime": { - "lib/portable-net45+win8/System.Numerics.Vectors.dll": {} - } - }, - "System.Reflection/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Reflection.Extensions/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Reflection.Metadata/1.1.0": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.0", - "System.Collections.Immutable": "1.1.37", - "System.Diagnostics.Debug": "4.0.0", - "System.IO": "4.0.0", - "System.Reflection": "4.0.0", - "System.Reflection.Extensions": "4.0.0", - "System.Reflection.Primitives": "4.0.0", - "System.Resources.ResourceManager": "4.0.0", - "System.Runtime": "4.0.0", - "System.Runtime.Extensions": "4.0.0", - "System.Runtime.InteropServices": "4.0.0", - "System.Text.Encoding": "4.0.0", - "System.Text.Encoding.Extensions": "4.0.0", - "System.Threading": "4.0.0" - }, - "compile": { - "lib/dotnet5.2/System.Reflection.Metadata.dll": {} - }, - "runtime": { - "lib/dotnet5.2/System.Reflection.Metadata.dll": {} - } - }, - "System.Reflection.Primitives/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Resources.ResourceManager/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Runtime/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Runtime.Extensions/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Runtime.InteropServices/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Text.Encoding/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Text.Encoding.Extensions/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Threading/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "WebGrease/1.5.2": { - "type": "package", - "dependencies": { - "Antlr": "3.4.1.9004", - "Newtonsoft.Json": "5.0.4" - }, - "compile": { - "lib/WebGrease.dll": {} - }, - "runtime": { - "lib/WebGrease.dll": {} - } - }, - "Zlib.Portable.Signed/1.11.0": { - "type": "package", - "compile": { - "lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.dll": {} - }, - "runtime": { - "lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.dll": {} - } - } - }, - "DNX,Version=v4.5.1/debian.8-x64": { - "Antlr/3.4.1.9004": { - "type": "package", - "compile": { - "lib/Antlr3.Runtime.dll": {} - }, - "runtime": { - "lib/Antlr3.Runtime.dll": {} - } - }, - "EntityFramework.Commands/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational.Design": "7.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/EntityFramework.Commands.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework.Commands.dll": {} - } - }, - "EntityFramework.Core/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Ix-Async": "1.2.5", - "Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Remotion.Linq": "2.0.1", - "System.Collections.Immutable": "1.1.36" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections", - "System.ComponentModel.DataAnnotations", - "System.Core", - "System.Diagnostics.Debug", - "System.Diagnostics.Tools", - "System.Globalization", - "System.Linq", - "System.Linq.Expressions", - "System.Linq.Queryable", - "System.ObjectModel", - "System.Reflection", - "System.Reflection.Extensions", - "System.Resources.ResourceManager", - "System.Runtime", - "System.Runtime.Extensions", - "System.Threading" - ], - "compile": { - "lib/dnx451/EntityFramework.Core.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework.Core.dll": {} - } - }, - "EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/EntityFramework.MicrosoftSqlServer.dll": {} - }, - "runtime": { - "lib/net451/EntityFramework.MicrosoftSqlServer.dll": {} - } - }, - "EntityFramework.Relational/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Core": "7.0.0-rc1-final", - "System.Diagnostics.DiagnosticSource": "4.0.0-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Data", - "System.Transactions" - ], - "compile": { - "lib/net451/EntityFramework.Relational.dll": {} - }, - "runtime": { - "lib/net451/EntityFramework.Relational.dll": {} - } - }, - "EntityFramework.Relational.Design/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.ComponentModel.DataAnnotations", - "System.Core", - "System.IO", - "System.Text.Encoding", - "System.Threading.Tasks" - ], - "compile": { - "lib/dnx451/EntityFramework.Relational.Design.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework.Relational.Design.dll": {} - } - }, - "EntityFramework.Sqlite/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final", - "Microsoft.Data.Sqlite": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/EntityFramework.Sqlite.dll": {} - }, - "runtime": { - "lib/net451/EntityFramework.Sqlite.dll": {} - } - }, - "EntityFramework7.Npgsql/3.1.0-rc1-3": { - "type": "package", - "dependencies": { - "EntityFramework.Core": "7.0.0-rc1-final", - "EntityFramework.Relational": "7.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Npgsql": "3.1.0-alpha6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections", - "System.Core", - "System.Diagnostics.Contracts", - "System.Linq.Expressions", - "System.Reflection", - "System.Runtime" - ], - "compile": { - "lib/dnx451/EntityFramework7.Npgsql.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework7.Npgsql.dll": {} - } - }, - "EntityFramework7.Npgsql.Design/3.1.0-rc1-5": { - "type": "package", - "dependencies": { - "EntityFramework.Core": "7.0.0-rc1-final", - "EntityFramework.Relational": "7.0.0-rc1-final", - "EntityFramework.Relational.Design": "7.0.0-rc1-final", - "EntityFramework7.Npgsql": "3.1.0-rc1-3", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Npgsql": "3.1.0-alpha6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections", - "System.Core", - "System.Diagnostics.Contracts", - "System.Linq.Expressions", - "System.Reflection", - "System.Runtime" - ], - "compile": { - "lib/dnx451/EntityFramework7.Npgsql.Design.dll": {} - }, - "runtime": { - "lib/dnx451/EntityFramework7.Npgsql.Design.dll": {} - } - }, - "Google.Apis/1.11.1": { - "type": "package", - "dependencies": { - "Google.Apis.Core": "1.11.1", - "log4net": "2.0.3", - "Zlib.Portable.Signed": "1.11.0" - }, - "compile": { - "lib/net45/Google.Apis.dll": {}, - "lib/net45/Google.Apis.PlatformServices.dll": {} - }, - "runtime": { - "lib/net45/Google.Apis.dll": {}, - "lib/net45/Google.Apis.PlatformServices.dll": {} - } - }, - "Google.Apis.Core/1.11.1": { - "type": "package", - "dependencies": { - "Newtonsoft.Json": "7.0.1" - }, - "compile": { - "lib/net45/Google.Apis.Core.dll": {} - }, - "runtime": { - "lib/net45/Google.Apis.Core.dll": {} - } - }, - "Ix-Async/1.2.5": { - "type": "package", - "frameworkAssemblies": [ - "System", - "System.Core" - ], - "compile": { - "lib/net45/System.Interactive.Async.dll": {} - }, - "runtime": { - "lib/net45/System.Interactive.Async.dll": {} - } - }, - "jQuery/1.6.4": { - "type": "package" - }, - "log4net/2.0.3": { - "type": "package", - "compile": { - "lib/net40-full/log4net.dll": {} - }, - "runtime": { - "lib/net40-full/log4net.dll": {} - } - }, - "MailKit/1.3.0-beta7": { - "type": "package", - "dependencies": { - "MimeKit": "1.3.0-beta7" - }, - "frameworkAssemblies": [ - "System", - "System.Core", - "System.Data" - ], - "compile": { - "lib/net451/MailKit.dll": {} - }, - "runtime": { - "lib/net451/MailKit.dll": {} - } - }, - "MarkdownDeep-av.NET/1.5.2": { - "type": "package", - "compile": { - "lib/net451/MarkdownDeep.dll": {} - }, - "runtime": { - "lib/net451/MarkdownDeep.dll": {} - } - }, - "Microsoft.AspNet.Antiforgery/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.DataProtection": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.WebUtilities": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Antiforgery.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Antiforgery.dll": {} - } - }, - "Microsoft.AspNet.Authentication/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.DataProtection": "1.0.0-rc1-final", - "Microsoft.AspNet.Http": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.dll": {} - } - }, - "Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.Cookies.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.Cookies.dll": {} - } - }, - "Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication.OAuth": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.Facebook.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.Facebook.dll": {} - } - }, - "Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "2.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll": {} - } - }, - "Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.OAuth.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.OAuth.dll": {} - } - }, - "Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final", - "Microsoft.IdentityModel.Protocols.OpenIdConnect": "2.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll": {} - } - }, - "Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authentication.Twitter.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authentication.Twitter.dll": {} - } - }, - "Microsoft.AspNet.Authorization/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Features": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Authorization.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Authorization.dll": {} - } - }, - "Microsoft.AspNet.Cors/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Cors.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Cors.dll": {} - } - }, - "Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Cryptography.Internal.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Cryptography.Internal.dll": {} - } - }, - "Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Cryptography.Internal": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll": {} - } - }, - "Microsoft.AspNet.DataProtection/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Cryptography.Internal": "1.0.0-rc1-final", - "Microsoft.AspNet.DataProtection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.IO", - "System.Security", - "System.Xml", - "System.Xml.Linq" - ], - "compile": { - "lib/net451/Microsoft.AspNet.DataProtection.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.DataProtection.dll": {} - } - }, - "Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.DataProtection": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Configuration", - "System.Core", - "System.Security", - "System.Web" - ], - "compile": { - "lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll": {} - } - }, - "Microsoft.AspNet.Diagnostics/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Diagnostics.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.FileProviders.Physical": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.AspNet.WebUtilities": "1.0.0-rc1-final", - "Microsoft.Dnx.Compilation.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final", - "System.Diagnostics.DiagnosticSource": "4.0.0-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Diagnostics.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Diagnostics.dll": {} - } - }, - "Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final", - "Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Configuration", - "System.Core", - "System.Threading.Tasks" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll": {} - } - }, - "Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.FileProviders.Physical.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.FileProviders.Physical.dll": {} - } - }, - "Microsoft.AspNet.Hosting/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Physical": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Server.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Http": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Dnx.Compilation.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.CommandLine": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final", - "System.Diagnostics.DiagnosticSource": "4.0.0-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Hosting.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Hosting.dll": {} - } - }, - "Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Features": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Html.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Html.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Http/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.WebUtilities": "1.0.0-rc1-final", - "Microsoft.Net.Http.Headers": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Http.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Http.dll": {} - } - }, - "Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Features": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Http.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Http.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final", - "Microsoft.Net.Http.Headers": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Http.Extensions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Http.Extensions.dll": {} - } - }, - "Microsoft.AspNet.Http.Features/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Http.Features.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Http.Features.dll": {} - } - }, - "Microsoft.AspNet.Identity/3.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authentication.Cookies": "1.0.0-rc1-final", - "Microsoft.AspNet.Cryptography.KeyDerivation": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Identity.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Identity.dll": {} - } - }, - "Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Relational": "7.0.0-rc1-final", - "Microsoft.AspNet.Identity": "3.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime", - "System.Threading.Tasks" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll": {} - } - }, - "Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.IISPlatformHandler.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.IISPlatformHandler.dll": {} - } - }, - "Microsoft.AspNet.JsonPatch/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.JsonPatch.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.JsonPatch.dll": {} - } - }, - "Microsoft.AspNet.Localization/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Globalization.CultureInfoCache": "1.0.0-rc1-final", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Localization.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Localization.dll": {} - } - }, - "Microsoft.AspNet.Mvc/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.ApiExplorer": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Cors": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.DataAnnotations": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Formatters.Json": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Localization": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Razor": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.ViewFeatures": "6.0.0-rc1-final", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Routing": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll": {} - } - }, - "Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Authorization": "1.0.0-rc1-final", - "Microsoft.AspNet.FileProviders.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Abstractions": "6.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.MemoryPool": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final", - "System.Diagnostics.DiagnosticSource": "4.0.0-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Core.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Core.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Cors": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Cors.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Cors.dll": {} - } - }, - "Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final", - "Microsoft.Extensions.Localization": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.ComponentModel.DataAnnotations", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.JsonPatch": "1.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Localization": "1.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Razor": "6.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.Localization": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Localization.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Localization.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.Razor.Host": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.ViewFeatures": "6.0.0-rc1-final", - "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces": "1.0.0-rc1-final", - "Microsoft.AspNet.Razor.Runtime.Precompilation": "4.0.0-rc1-final", - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final", - "Microsoft.Dnx.Compilation.CSharp.Common": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections", - "System.Core", - "System.IO", - "System.Runtime", - "System.Text.Encoding", - "System.Threading.Tasks" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Razor.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Razor.dll": {} - } - }, - "Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Physical": "1.0.0-rc1-final", - "Microsoft.AspNet.Razor.Runtime": "4.0.0-rc1-final", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll": {} - } - }, - "Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Mvc.Razor": "6.0.0-rc1-final", - "Microsoft.Extensions.Caching.Memory": "1.0.0-rc1-final", - "Microsoft.Extensions.FileSystemGlobbing": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll": {} - } - }, - "Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Antiforgery": "1.0.0-rc1-final", - "Microsoft.AspNet.Diagnostics.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Html.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Core": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.DataAnnotations": "6.0.0-rc1-final", - "Microsoft.AspNet.Mvc.Formatters.Json": "6.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll": {} - } - }, - "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll": {} - } - }, - "Microsoft.AspNet.Razor/4.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Razor.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Razor.dll": {} - } - }, - "Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Html.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Razor": "4.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Xml", - "System.Xml.Linq" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Razor.Runtime.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Razor.Runtime.dll": {} - } - }, - "Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Razor.Runtime": "4.0.0-rc1-final", - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Runtime" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll": {} - } - }, - "Microsoft.AspNet.Routing/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Routing.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Routing.dll": {} - } - }, - "Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Hosting": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "System.Numerics.Vectors": "4.1.1-beta-23516" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll": {} - } - }, - "Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Hosting": "1.0.0-rc1-final", - "Microsoft.Net.Http.Headers": "1.0.0-rc1-final", - "Microsoft.Net.Http.Server": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.AspNet.Server.WebListener.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.AspNet.Server.WebListener.dll": {} - } - }, - "Microsoft.AspNet.Session/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Session.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Session.dll": {} - } - }, - "Microsoft.AspNet.SignalR.Core/2.2.0": { - "type": "package", - "dependencies": { - "Microsoft.Owin": "2.1.0", - "Microsoft.Owin.Security": "2.1.0", - "Newtonsoft.Json": "6.0.4", - "Owin": "1.0.0" - }, - "compile": { - "lib/net45/Microsoft.AspNet.SignalR.Core.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.AspNet.SignalR.Core.dll": {} - } - }, - "Microsoft.AspNet.SignalR.JS/2.2.0": { - "type": "package", - "dependencies": { - "jQuery": "1.6.4" - } - }, - "Microsoft.AspNet.StaticFiles/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Hosting.Abstractions": "1.0.0-rc1-final", - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.StaticFiles.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.StaticFiles.dll": {} - } - }, - "Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Razor.Runtime": "4.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.Tooling.Razor.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.Tooling.Razor.dll": {} - } - }, - "Microsoft.AspNet.Web.Optimization/1.1.3": { - "type": "package", - "dependencies": { - "Microsoft.Web.Infrastructure": "1.0.0", - "WebGrease": "1.5.2" - }, - "compile": { - "lib/net40/System.Web.Optimization.dll": {} - }, - "runtime": { - "lib/net40/System.Web.Optimization.dll": {} - } - }, - "Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll": {} - } - }, - "Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Http.Extensions": "1.0.0-rc1-final", - "Microsoft.AspNet.WebSockets.Protocol": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.WebSockets.Server.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.WebSockets.Server.dll": {} - } - }, - "Microsoft.AspNet.WebUtilities/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.AspNet.WebUtilities.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.AspNet.WebUtilities.dll": {} - } - }, - "Microsoft.AspNetCore.Authentication.OAuth/0.0.1-alpha": { - "type": "package" - }, - "Microsoft.CodeAnalysis.Analyzers/1.0.0": { - "type": "package", - "frameworkAssemblies": [ - "System" - ] - }, - "Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Analyzers": "[1.0.0, 1.2.0)", - "System.Collections.Immutable": "1.1.37", - "System.Reflection.Metadata": "1.1.0" - }, - "compile": { - "lib/net45/Microsoft.CodeAnalysis.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.CodeAnalysis.dll": {} - } - }, - "Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.Common": "[1.1.0-rc1-20151109-01]" - }, - "compile": { - "lib/net45/Microsoft.CodeAnalysis.CSharp.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.CodeAnalysis.CSharp.dll": {} - } - }, - "Microsoft.Data.Sqlite/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Data" - ], - "compile": { - "lib/net451/Microsoft.Data.Sqlite.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Data.Sqlite.dll": {} - } - }, - "Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll": {} - } - }, - "Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.CSharp": "1.1.0-rc1-20151109-01", - "Microsoft.Dnx.Compilation.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll": {} - } - }, - "Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.CodeAnalysis.CSharp": "1.1.0-rc1-20151109-01", - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.IO", - "System.Runtime" - ], - "compile": { - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll": {} - } - }, - "Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Caching.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Caching.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Caching.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Caching.Memory.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Caching.Memory.dll": {} - } - }, - "Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.CodeGeneration.Core": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.EntityFramework": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Templating": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.dll": {} - } - }, - "Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Templating": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll": {} - } - }, - "Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "EntityFramework.Core": "7.0.0-rc1-final", - "Microsoft.AspNet.Hosting": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Core": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Templating": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Text.Encoding" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll": {} - } - }, - "Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.Razor": "4.0.0-rc1-final", - "Microsoft.Dnx.Compilation.CSharp.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.IO", - "System.Runtime", - "System.Text.Encoding", - "System.Threading.Tasks" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll": {} - } - }, - "Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.CodeGeneration": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.EntityFramework": "1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration.Templating": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.dll": {} - } - }, - "Microsoft.Extensions.Configuration/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.dll": {} - } - }, - "Microsoft.Extensions.Configuration.Abstractions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Configuration.Binder/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.Binder.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.Binder.dll": {} - } - }, - "Microsoft.Extensions.Configuration.CommandLine/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.CommandLine.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.CommandLine.dll": {} - } - }, - "Microsoft.Extensions.Configuration.EnvironmentVariables/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.EnvironmentVariables.dll": {} - } - }, - "Microsoft.Extensions.Configuration.FileExtensions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.FileExtensions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.FileExtensions.dll": {} - } - }, - "Microsoft.Extensions.Configuration.FileProviderExtensions/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.AspNet.FileProviders.Physical": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.FileProviderExtensions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.FileProviderExtensions.dll": {} - } - }, - "Microsoft.Extensions.Configuration.Json/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0-rc1-final", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.Json.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.Json.dll": {} - } - }, - "Microsoft.Extensions.Configuration.UserSecrets/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Configuration.UserSecrets.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Configuration.UserSecrets.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.DependencyInjection.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.DependencyInjection.dll": {} - } - }, - "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.FileSystemGlobbing/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.FileSystemGlobbing.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.FileSystemGlobbing.dll": {} - } - }, - "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Globalization.CultureInfoCache.dll": {} - } - }, - "Microsoft.Extensions.Localization/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Localization.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Localization.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Localization.dll": {} - } - }, - "Microsoft.Extensions.Localization.Abstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Localization.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Localization.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Logging/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Collections.Concurrent", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Logging.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Logging.dll": {} - } - }, - "Microsoft.Extensions.Logging.Abstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Logging.Abstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Logging.Abstractions.dll": {} - } - }, - "Microsoft.Extensions.Logging.Console/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.PlatformAbstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Logging.Console.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Logging.Console.dll": {} - } - }, - "Microsoft.Extensions.Logging.Debug/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Logging.Debug.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Logging.Debug.dll": {} - } - }, - "Microsoft.Extensions.MemoryPool/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.MemoryPool.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.MemoryPool.dll": {} - } - }, - "Microsoft.Extensions.Options/0.0.1-alpha": { - "type": "package" - }, - "Microsoft.Extensions.OptionsModel/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Configuration.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Configuration.Binder": "1.0.0-rc1-final", - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.OptionsModel.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.OptionsModel.dll": {} - } - }, - "Microsoft.Extensions.PlatformAbstractions/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.PlatformAbstractions.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.PlatformAbstractions.dll": {} - } - }, - "Microsoft.Extensions.Primitives/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.Primitives.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.Primitives.dll": {} - } - }, - "Microsoft.Extensions.WebEncoders/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.DependencyInjection.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.OptionsModel": "1.0.0-rc1-final", - "Microsoft.Extensions.WebEncoders.Core": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.WebEncoders.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.WebEncoders.dll": {} - } - }, - "Microsoft.Extensions.WebEncoders.Core/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Extensions.WebEncoders.Core.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Extensions.WebEncoders.Core.dll": {} - } - }, - "Microsoft.Framework.Configuration/1.0.0-beta8": { - "type": "package", - "dependencies": { - "Microsoft.Framework.Configuration.Abstractions": "1.0.0-beta8" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.dll": {} - } - }, - "Microsoft.Framework.Configuration.Abstractions/1.0.0-beta8": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.Abstractions.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.Abstractions.dll": {} - } - }, - "Microsoft.Framework.Configuration.Binder/1.0.0-beta8": { - "type": "package", - "dependencies": { - "Microsoft.Framework.Configuration": "1.0.0-beta8" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.Binder.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.Binder.dll": {} - } - }, - "Microsoft.Framework.Configuration.FileExtensions/1.0.0-beta8": { - "type": "package", - "dependencies": { - "Microsoft.Framework.Configuration": "1.0.0-beta8" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.FileExtensions.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.FileExtensions.dll": {} - } - }, - "Microsoft.Framework.Configuration.Json/1.0.0-beta8": { - "type": "package", - "dependencies": { - "Microsoft.Framework.Configuration": "1.0.0-beta8", - "Microsoft.Framework.Configuration.FileExtensions": "1.0.0-beta8", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Configuration.Json.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Configuration.Json.dll": {} - } - }, - "Microsoft.Framework.ConfigurationModel/1.0.0-beta4": { - "type": "package", - "dependencies": { - "Microsoft.Framework.ConfigurationModel.Interfaces": "1.0.0-beta4", - "Microsoft.Framework.Runtime.Interfaces": "1.0.0-beta4" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.dll": {} - } - }, - "Microsoft.Framework.ConfigurationModel.Interfaces/1.0.0-beta4": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.Interfaces.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.Interfaces.dll": {} - } - }, - "Microsoft.Framework.ConfigurationModel.Json/1.0.0-beta4": { - "type": "package", - "dependencies": { - "Microsoft.Framework.ConfigurationModel": "1.0.0-beta4", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.Json.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.ConfigurationModel.Json.dll": {} - } - }, - "Microsoft.Framework.Runtime.Interfaces/1.0.0-beta4": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/dnx451/Microsoft.Framework.Runtime.Interfaces.dll": {} - }, - "runtime": { - "lib/dnx451/Microsoft.Framework.Runtime.Interfaces.dll": {} - } - }, - "Microsoft.IdentityModel.Logging/1.0.0-rc1-211161024": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.IdentityModel.Logging.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.IdentityModel.Logging.dll": {} - } - }, - "Microsoft.IdentityModel.Protocols/2.0.0-rc1-211161024": { - "type": "package", - "dependencies": { - "System.IdentityModel.Tokens.Jwt": "5.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Net.Http" - ], - "compile": { - "lib/net451/Microsoft.IdentityModel.Protocols.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.IdentityModel.Protocols.dll": {} - } - }, - "Microsoft.IdentityModel.Protocols.OpenIdConnect/2.0.0-rc1-211161024": { - "type": "package", - "dependencies": { - "Microsoft.IdentityModel.Protocols": "2.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll": {} - } - }, - "Microsoft.Net.Http.Headers/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Net.Http.Headers.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Net.Http.Headers.dll": {} - } - }, - "Microsoft.Net.Http.Server/1.0.0-rc1-final": { - "type": "package", - "dependencies": { - "Microsoft.Extensions.Logging.Abstractions": "1.0.0-rc1-final", - "Microsoft.Extensions.Primitives": "1.0.0-rc1-final", - "Microsoft.Net.WebSockets": "1.0.0-rc1-final" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Net.Http.Server.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Net.Http.Server.dll": {} - } - }, - "Microsoft.Net.WebSockets/1.0.0-rc1-final": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net451/Microsoft.Net.WebSockets.dll": {} - }, - "runtime": { - "lib/net451/Microsoft.Net.WebSockets.dll": {} - } - }, - "Microsoft.NETCore.Platforms/1.0.1-beta-23516": { - "type": "package", - "dependencies": { - "Microsoft.NETCore.Targets": "1.0.1-beta-23516" - } - }, - "Microsoft.NETCore.Targets/1.0.1-beta-23516": { - "type": "package" - }, - "Microsoft.Owin/2.1.0": { - "type": "package", - "dependencies": { - "Owin": "1.0.0" - }, - "compile": { - "lib/net45/Microsoft.Owin.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.Owin.dll": {} - } - }, - "Microsoft.Owin.Security/2.1.0": { - "type": "package", - "dependencies": { - "Microsoft.Owin": "2.1.0", - "Owin": "1.0.0" - }, - "compile": { - "lib/net45/Microsoft.Owin.Security.dll": {} - }, - "runtime": { - "lib/net45/Microsoft.Owin.Security.dll": {} - } - }, - "Microsoft.Web.Infrastructure/1.0.0": { - "type": "package", - "compile": { - "lib/net40/Microsoft.Web.Infrastructure.dll": {} - }, - "runtime": { - "lib/net40/Microsoft.Web.Infrastructure.dll": {} - } - }, - "MimeKit/1.3.0-beta7": { - "type": "package", - "frameworkAssemblies": [ - "System", - "System.Core", - "System.Data", - "System.Security" - ], - "compile": { - "lib/net451/BouncyCastle.dll": {}, - "lib/net451/MimeKit.dll": {} - }, - "runtime": { - "lib/net451/BouncyCastle.dll": {}, - "lib/net451/MimeKit.dll": {} - } - }, - "Newtonsoft.Json/7.0.1": { - "type": "package", - "compile": { - "lib/net45/Newtonsoft.Json.dll": {} - }, - "runtime": { - "lib/net45/Newtonsoft.Json.dll": {} - } - }, - "Npgsql/3.1.0-alpha6": { - "type": "package", - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" - ], - "compile": { - "lib/net45/Npgsql.dll": {} - }, - "runtime": { - "lib/net45/Npgsql.dll": {} - } - }, - "Owin/1.0.0": { - "type": "package", - "compile": { - "lib/net40/Owin.dll": {} - }, - "runtime": { - "lib/net40/Owin.dll": {} - } - }, - "PayPalButtonManagerSDK/2.10.109": { - "type": "package", - "dependencies": { - "PayPalCoreSDK": "1.7.0" - }, - "compile": { - "lib/net20/PayPalButtonManagerSDK.dll": {} - }, - "runtime": { - "lib/net20/PayPalButtonManagerSDK.dll": {} - } - }, - "PayPalCoreSDK/1.7.1": { - "type": "package", - "dependencies": { - "Newtonsoft.Json": "7.0.1" - }, - "compile": { - "lib/net451/PayPalCoreSDK.dll": {} - }, - "runtime": { - "lib/net451/PayPalCoreSDK.dll": {} - } - }, - "Remotion.Linq/2.0.1": { - "type": "package", - "compile": { - "lib/net45/Remotion.Linq.dll": {} - }, - "runtime": { - "lib/net45/Remotion.Linq.dll": {} - } - }, - "System.Collections/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Collections.Immutable/1.1.37": { - "type": "package", - "dependencies": { - "System.Collections": "4.0.0", - "System.Diagnostics.Debug": "4.0.0", - "System.Globalization": "4.0.0", - "System.Linq": "4.0.0", - "System.Resources.ResourceManager": "4.0.0", - "System.Runtime": "4.0.0", - "System.Runtime.Extensions": "4.0.0", - "System.Threading": "4.0.0" - }, - "compile": { - "lib/dotnet/System.Collections.Immutable.dll": {} - }, - "runtime": { - "lib/dotnet/System.Collections.Immutable.dll": {} - } - }, - "System.Diagnostics.Debug/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Diagnostics.DiagnosticSource/4.0.0-beta-23516": { - "type": "package", - "dependencies": { - "System.Diagnostics.Tracing": "4.0.0", - "System.Runtime": "4.0.0", - "System.Threading": "4.0.0" - }, - "compile": { - "lib/dotnet5.2/System.Diagnostics.DiagnosticSource.dll": {} - }, - "runtime": { - "lib/dotnet5.2/System.Diagnostics.DiagnosticSource.dll": {} - } - }, - "System.Diagnostics.Tracing/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.Globalization/4.0.0": { - "type": "package", - "compile": { - "ref/net45/_._": {} - }, - "runtime": { - "lib/net45/_._": {} - } - }, - "System.IdentityModel.Tokens/5.0.0-rc1-211161024": { - "type": "package", - "dependencies": { - "Microsoft.IdentityModel.Logging": "1.0.0-rc1-211161024", - "Newtonsoft.Json": "6.0.6" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core", - "System.Xml" - ], - "compile": { - "lib/net451/System.IdentityModel.Tokens.dll": {} - }, - "runtime": { - "lib/net451/System.IdentityModel.Tokens.dll": {} - } - }, - "System.IdentityModel.Tokens.Jwt/5.0.0-rc1-211161024": { - "type": "package", - "dependencies": { - "System.IdentityModel.Tokens": "5.0.0-rc1-211161024" - }, - "frameworkAssemblies": [ - "Microsoft.CSharp", - "mscorlib", - "System", - "System.Core" + "mscorlib" ], "compile": { "lib/net451/System.IdentityModel.Tokens.Jwt.dll": {} @@ -8558,8 +2902,8 @@ }, "libraries": { "Antlr/3.4.1.9004": { - "type": "package", "sha512": "c1S+HBE+KYA5EBxtn25LEK02hHPH/tDQ6RviUTTCJpZIPoputtn8ArsQJy9lVJWZOnw37ufByO2Fmf1M8wpr8Q==", + "type": "package", "files": [ "Antlr.3.4.1.9004.nupkg", "Antlr.3.4.1.9004.nupkg.sha512", @@ -8569,16 +2913,16 @@ ] }, "EntityFramework.Commands/7.0.0-rc1-final": { - "type": "package", "sha512": "+wa2VWX3/vDkOpeCeIotMevqpIISimGqeYNTGYRLRhv+8HzsCLeymLzmmYpjav6zYQVvuJiJodapQvijAIfRrA==", + "type": "package", "files": [ + "EntityFramework.Commands.7.0.0-rc1-final.nupkg", + "EntityFramework.Commands.7.0.0-rc1-final.nupkg.sha512", + "EntityFramework.Commands.nuspec", "app/ef", "app/ef.cmd", "app/project.json", "build/netcore50/EntityFramework.Commands.props", - "EntityFramework.Commands.7.0.0-rc1-final.nupkg", - "EntityFramework.Commands.7.0.0-rc1-final.nupkg.sha512", - "EntityFramework.Commands.nuspec", "lib/dnx451/EntityFramework.Commands.dll", "lib/dnx451/EntityFramework.Commands.xml", "lib/dnxcore50/EntityFramework.Commands.dll", @@ -8586,17 +2930,17 @@ "lib/net451/EntityFramework.Commands.dll", "lib/net451/EntityFramework.Commands.xml", "lib/netcore50/_._", - "tools/about_EntityFramework.help.txt", "tools/EntityFramework.psd1", "tools/EntityFramework.psm1", + "tools/OperationHandlers.cs", + "tools/about_EntityFramework.help.txt", "tools/init.ps1", - "tools/install.ps1", - "tools/OperationHandlers.cs" + "tools/install.ps1" ] }, "EntityFramework.Core/7.0.0-rc1-final": { - "type": "package", "sha512": "afwsjOF4xM5KiwAxKMz9R0H8TigWE/jX0FwGBO/QtuA1ElEVLqlQVH4+7PyZaA35HguYRm0wOCmUq9RVTmiAfA==", + "type": "package", "files": [ "EntityFramework.Core.7.0.0-rc1-final.nupkg", "EntityFramework.Core.7.0.0-rc1-final.nupkg.sha512", @@ -8612,8 +2956,8 @@ ] }, "EntityFramework.MicrosoftSqlServer/7.0.0-rc1-final": { - "type": "package", "sha512": "FMB2MgT5aXMF7qGMwf5AGcmpNFoT4s1w0QJ5h+L8W4gyMxWpYamGp9hms7rOSAWY44ZDl5ZMpxiTfu3nY3Nqeg==", + "type": "package", "files": [ "EntityFramework.MicrosoftSqlServer.7.0.0-rc1-final.nupkg", "EntityFramework.MicrosoftSqlServer.7.0.0-rc1-final.nupkg.sha512", @@ -8627,8 +2971,8 @@ ] }, "EntityFramework.Relational/7.0.0-rc1-final": { - "type": "package", "sha512": "0Feoct9mtKOIjovUgfESfVDL/odvxNXsIgK3bdlkx7Fsiqp5/tx8oiMx+qO7oNRYWsXN6XDlGKHLOzWEdUssKA==", + "type": "package", "files": [ "EntityFramework.Relational.7.0.0-rc1-final.nupkg", "EntityFramework.Relational.7.0.0-rc1-final.nupkg.sha512", @@ -8642,13 +2986,13 @@ ] }, "EntityFramework.Relational.Design/7.0.0-rc1-final": { - "type": "package", "sha512": "sXAqOxpHmbqOELC21vAzKlsjqgNCrk3jEjyJxjGnn1+j4hazxiqgSBTl8ZofqYzLO6ias9WfeXJy8HcXOl7waw==", + "type": "package", "files": [ - "build/netcore50/EntityFramework.Relational.Design.props", "EntityFramework.Relational.Design.7.0.0-rc1-final.nupkg", "EntityFramework.Relational.Design.7.0.0-rc1-final.nupkg.sha512", "EntityFramework.Relational.Design.nuspec", + "build/netcore50/EntityFramework.Relational.Design.props", "lib/dnx451/EntityFramework.Relational.Design.dll", "lib/dnx451/EntityFramework.Relational.Design.xml", "lib/dnxcore50/EntityFramework.Relational.Design.dll", @@ -8659,8 +3003,8 @@ ] }, "EntityFramework.Sqlite/7.0.0-rc1-final": { - "type": "package", "sha512": "B+h4HHUnCSN/d4DIxW89B6q4efcZzQjajQb1yrlALEeZuCBDIzO0nrEdRZsRSNqJaNzmxRu/OsYqrZVOORUrGw==", + "type": "package", "files": [ "EntityFramework.Sqlite.7.0.0-rc1-final.nupkg", "EntityFramework.Sqlite.7.0.0-rc1-final.nupkg.sha512", @@ -8674,8 +3018,8 @@ ] }, "EntityFramework7.Npgsql/3.1.0-rc1-3": { - "type": "package", "sha512": "VW/pz4Luixgc9UuAXPP9vzPIrrw9sHD4ozd2HUzeI3Sd4RdCgSFQT+B3HhPw/+JGKcdAnIQ4D5/Llk43fH07hw==", + "type": "package", "files": [ "EntityFramework7.Npgsql.3.1.0-rc1-3.nupkg", "EntityFramework7.Npgsql.3.1.0-rc1-3.nupkg.sha512", @@ -8689,8 +3033,8 @@ ] }, "EntityFramework7.Npgsql.Design/3.1.0-rc1-5": { - "type": "package", "sha512": "h7bsey+w3HBqhZQGbk6XeEMxXNCt+1hVg1Ju4QzZHUGSzWT6/ZduaPs3UjNQhpvcTRE7GYa99gYraKdNH3jEOg==", + "type": "package", "files": [ "EntityFramework7.Npgsql.Design.3.1.0-rc1-5.nupkg", "EntityFramework7.Npgsql.Design.3.1.0-rc1-5.nupkg.sha512", @@ -8704,91 +3048,91 @@ ] }, "Google.Apis/1.11.1": { - "type": "package", "sha512": "GyWdeflVhu01TYh/KOoMceFYy4rc3+uGKFFw17PpABfdRM1wqCiO73asytkcMGUS91GjPwcONZF5UIjDKpeUSQ==", + "type": "package", "files": [ "Google.Apis.1.11.1.nupkg", "Google.Apis.1.11.1.nupkg.sha512", "Google.Apis.nuspec", - "lib/net45/Google.Apis.dll", - "lib/net45/Google.Apis.pdb", + "License.txt", "lib/net45/Google.Apis.PlatformServices.dll", "lib/net45/Google.Apis.PlatformServices.pdb", "lib/net45/Google.Apis.PlatformServices.xml", + "lib/net45/Google.Apis.dll", + "lib/net45/Google.Apis.pdb", "lib/net45/Google.Apis.xml", "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.dll", "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.pdb", "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.xml", - "lib/win81/Google.Apis.dll", - "lib/win81/Google.Apis.pdb", "lib/win81/Google.Apis.PlatformServices.dll", "lib/win81/Google.Apis.PlatformServices.pdb", "lib/win81/Google.Apis.PlatformServices.xml", + "lib/win81/Google.Apis.dll", + "lib/win81/Google.Apis.pdb", "lib/win81/Google.Apis.xml", - "lib/wp8/Google.Apis.dll", - "lib/wp8/Google.Apis.pdb", "lib/wp8/Google.Apis.PlatformServices.dll", "lib/wp8/Google.Apis.PlatformServices.pdb", "lib/wp8/Google.Apis.PlatformServices.xml", + "lib/wp8/Google.Apis.dll", + "lib/wp8/Google.Apis.pdb", "lib/wp8/Google.Apis.xml", - "lib/wpa81/Google.Apis.dll", - "lib/wpa81/Google.Apis.pdb", "lib/wpa81/Google.Apis.PlatformServices.dll", "lib/wpa81/Google.Apis.PlatformServices.pdb", "lib/wpa81/Google.Apis.PlatformServices.xml", - "lib/wpa81/Google.Apis.xml", - "License.txt" + "lib/wpa81/Google.Apis.dll", + "lib/wpa81/Google.Apis.pdb", + "lib/wpa81/Google.Apis.xml" ] }, "Google.Apis.Core/1.11.1": { - "type": "package", "sha512": "0Vg/D4BhfPFrlp5iPmp2WxTm3TpgQuwsd9jiYoVXhnbecTnVhRNqY0sJTK8yoMm+otuJ4Dt1C7KSeQ0yWA1d/g==", + "type": "package", "files": [ "Google.Apis.Core.1.11.1.nupkg", "Google.Apis.Core.1.11.1.nupkg.sha512", "Google.Apis.Core.nuspec", + "License.txt", "lib/net45/Google.Apis.Core.dll", "lib/net45/Google.Apis.Core.pdb", "lib/net45/Google.Apis.Core.xml", "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.dll", "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.pdb", - "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.xml", - "License.txt" + "lib/portable-net45+sl50+netcore45+wpa81+wp8/Google.Apis.Core.xml" ] }, "Ix-Async/1.2.5": { - "type": "package", "sha512": "8EXO8q7cpDUH9G2q+UOPOO/6uZ9aN7mx/4xjFIfkp+qLWVJiYuglkRhjY8Ggs2CucXzHR8GHnovJKB5yQoYaJg==", + "type": "package", "files": [ "Ix-Async.1.2.5.nupkg", "Ix-Async.1.2.5.nupkg.sha512", "Ix-Async.nuspec", - "lib/net40/System.Interactive.Async.dll", "lib/net40/System.Interactive.Async.XML", - "lib/net45/System.Interactive.Async.dll", + "lib/net40/System.Interactive.Async.dll", "lib/net45/System.Interactive.Async.XML", - "lib/portable-windows8+net45+wp8/System.Interactive.Async.dll", - "lib/portable-windows8+net45+wp8/System.Interactive.Async.XML" + "lib/net45/System.Interactive.Async.dll", + "lib/portable-windows8+net45+wp8/System.Interactive.Async.XML", + "lib/portable-windows8+net45+wp8/System.Interactive.Async.dll" ] }, "jQuery/1.6.4": { - "type": "package", "sha512": "8RzoZQFeFYL/cINRXksLWyl8D5TKctZ/2G8hrlOLLM5OgFNI9h3t3l5tB+BBbsBUxaPUageVe0p9ruU5jrFeow==", + "type": "package", "files": [ + "Content/Scripts/jquery-1.6.4-vsdoc.js", "Content/Scripts/jquery-1.6.4.js", "Content/Scripts/jquery-1.6.4.min.js", - "Content/Scripts/jquery-1.6.4-vsdoc.js", - "jQuery.1.6.4.nupkg", - "jQuery.1.6.4.nupkg.sha512", - "jQuery.nuspec", "Tools/install.ps1", "Tools/jquery-1.6.4-vsdoc-para.js", - "Tools/uninstall.ps1" + "Tools/uninstall.ps1", + "jQuery.1.6.4.nupkg", + "jQuery.1.6.4.nupkg.sha512", + "jQuery.nuspec" ] }, "log4net/2.0.3": { - "type": "package", "sha512": "rxMHzK5efGPo5XtRnuUGO4tfW5l74Aji6kVmtMAt2SgcB5PHBNtNY7yj2LCI2VtKrLPO7kCKR6kH6lIZggq3Gg==", + "type": "package", "files": [ "lib/net10-full/log4net.dll", "lib/net10-full/log4net.xml", @@ -8810,13 +3154,18 @@ ] }, "MailKit/1.3.0-beta7": { - "type": "package", "sha512": "LalD+6uE97WdfZ9Ohmz2ZeYbPXzql4VNazGO/e9PLMENKNPwENc4eSr8v/r+mHY3EsRsAH34DCkub8rA4Zwyrw==", + "type": "package", "files": [ - "lib/dotnet5.5/MailKit.dll", - "lib/dotnet5.5/MailKit.xml", + "MailKit.1.3.0-beta7.nupkg", + "MailKit.1.3.0-beta7.nupkg.sha512", + "MailKit.nuspec", "lib/MonoAndroid10/MailKit.dll", "lib/MonoAndroid10/MailKit.xml", + "lib/Xamarin.iOS10/MailKit.dll", + "lib/Xamarin.iOS10/MailKit.xml", + "lib/dotnet5.5/MailKit.dll", + "lib/dotnet5.5/MailKit.xml", "lib/net40/MailKit.dll", "lib/net40/MailKit.xml", "lib/net45/MailKit.dll", @@ -8826,288 +3175,286 @@ "lib/win81/MailKit.dll", "lib/win81/MailKit.xml", "lib/wpa81/MailKit.dll", - "lib/wpa81/MailKit.xml", - "lib/Xamarin.iOS10/MailKit.dll", - "lib/Xamarin.iOS10/MailKit.xml", - "MailKit.1.3.0-beta7.nupkg", - "MailKit.1.3.0-beta7.nupkg.sha512", - "MailKit.nuspec" + "lib/wpa81/MailKit.xml" ] }, "MarkdownDeep-av.NET/1.5.2": { - "type": "package", "sha512": "yhAFPv6eKhE62BgqvrpGRVbEhH9/cWypN2wwgtdCSOBnxtL/Hz7T2mlrx7UtvR+O2RXZZu6t4AmnjnN28fcZiw==", + "type": "package", "files": [ - "lib/dnxcore50/MarkdownDeep.dll", - "lib/net451/MarkdownDeep.dll", "MarkdownDeep-av.NET.1.5.2.nupkg", "MarkdownDeep-av.NET.1.5.2.nupkg.sha512", - "MarkdownDeep-av.NET.nuspec" + "MarkdownDeep-av.NET.nuspec", + "lib/dnxcore50/MarkdownDeep.dll", + "lib/net451/MarkdownDeep.dll" ] }, "Microsoft.AspNet.Antiforgery/1.0.0-rc1-final": { - "type": "package", "sha512": "HpEYyzfyrnj7+13Mnn/6CgdfDVxTcg6J7PsO8rCysdrGdehbupsuZoQWerqoDRBtb0UMp0U3g0WnmAwgE2tqzA==", + "type": "package", "files": [ + "Microsoft.AspNet.Antiforgery.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Antiforgery.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Antiforgery.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Antiforgery.dll", "lib/dotnet5.4/Microsoft.AspNet.Antiforgery.xml", "lib/net451/Microsoft.AspNet.Antiforgery.dll", - "lib/net451/Microsoft.AspNet.Antiforgery.xml", - "Microsoft.AspNet.Antiforgery.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Antiforgery.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Antiforgery.nuspec" + "lib/net451/Microsoft.AspNet.Antiforgery.xml" ] }, "Microsoft.AspNet.Authentication/1.0.0-rc1-final": { - "type": "package", "sha512": "sdFCeQlwkJXZ1KHsRvf7ewNEWkEeKYNpcEKKC0D+WNUvLliziLc7cMH+6sjNmTU3FgGjGrSk4WjGQMhsOHCrDQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Authentication.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Authentication.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Authentication.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Authentication.dll", "lib/dotnet5.4/Microsoft.AspNet.Authentication.xml", "lib/net451/Microsoft.AspNet.Authentication.dll", - "lib/net451/Microsoft.AspNet.Authentication.xml", - "Microsoft.AspNet.Authentication.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Authentication.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Authentication.nuspec" + "lib/net451/Microsoft.AspNet.Authentication.xml" ] }, "Microsoft.AspNet.Authentication.Cookies/1.0.0-rc1-final": { - "type": "package", "sha512": "vjeSG8Z5i5Kqo1nC7wW1BO+YMk+gs/AVVJlmyF7EGgiUBtAAPkrgjxSabQqvFhPgpEFledUQ6gkhKXgr4WrMtw==", + "type": "package", "files": [ + "Microsoft.AspNet.Authentication.Cookies.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Authentication.Cookies.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Authentication.Cookies.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Authentication.Cookies.dll", "lib/dotnet5.4/Microsoft.AspNet.Authentication.Cookies.xml", "lib/net451/Microsoft.AspNet.Authentication.Cookies.dll", - "lib/net451/Microsoft.AspNet.Authentication.Cookies.xml", - "Microsoft.AspNet.Authentication.Cookies.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Authentication.Cookies.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Authentication.Cookies.nuspec" + "lib/net451/Microsoft.AspNet.Authentication.Cookies.xml" ] }, "Microsoft.AspNet.Authentication.Facebook/1.0.0-rc1-final": { - "type": "package", "sha512": "jnxn+FmMl5hteVj/9E38XLQq3ksJwTretsLJKY7qiIIpDQJqhsEPzCbop+vSalnYMMoHaFOdixWmizIQrmlOfQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Authentication.Facebook.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Authentication.Facebook.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Authentication.Facebook.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Authentication.Facebook.dll", "lib/dotnet5.4/Microsoft.AspNet.Authentication.Facebook.xml", "lib/net451/Microsoft.AspNet.Authentication.Facebook.dll", - "lib/net451/Microsoft.AspNet.Authentication.Facebook.xml", - "Microsoft.AspNet.Authentication.Facebook.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Authentication.Facebook.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Authentication.Facebook.nuspec" + "lib/net451/Microsoft.AspNet.Authentication.Facebook.xml" ] }, "Microsoft.AspNet.Authentication.JwtBearer/1.0.0-rc1-final": { - "type": "package", "sha512": "pkgJ9xKl2RY5j6alvpnLWNGpnM7qpFpcdQSSxjOFI0yWDYxkqagwghdisC/lVgRiSDzh3tm1asjpMbt+6+sNOg==", + "type": "package", "files": [ + "Microsoft.AspNet.Authentication.JwtBearer.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Authentication.JwtBearer.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Authentication.JwtBearer.nuspec", "lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.dll", "lib/dnx451/Microsoft.AspNet.Authentication.JwtBearer.xml", "lib/dnxcore50/Microsoft.AspNet.Authentication.JwtBearer.dll", - "lib/dnxcore50/Microsoft.AspNet.Authentication.JwtBearer.xml", - "Microsoft.AspNet.Authentication.JwtBearer.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Authentication.JwtBearer.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Authentication.JwtBearer.nuspec" + "lib/dnxcore50/Microsoft.AspNet.Authentication.JwtBearer.xml" ] }, "Microsoft.AspNet.Authentication.OAuth/1.0.0-rc1-final": { - "type": "package", "sha512": "3h2Mz/ObM1pQRDDkkK4roI1Y6n6XlTQGsLxbeMQ6aGJZCYYnZhCrp6UN4CWktd3xBrLUdaRYMH1r94+0wjCqAg==", + "type": "package", "files": [ + "Microsoft.AspNet.Authentication.OAuth.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Authentication.OAuth.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Authentication.OAuth.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Authentication.OAuth.dll", "lib/dotnet5.4/Microsoft.AspNet.Authentication.OAuth.xml", "lib/net451/Microsoft.AspNet.Authentication.OAuth.dll", - "lib/net451/Microsoft.AspNet.Authentication.OAuth.xml", - "Microsoft.AspNet.Authentication.OAuth.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Authentication.OAuth.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Authentication.OAuth.nuspec" + "lib/net451/Microsoft.AspNet.Authentication.OAuth.xml" ] }, "Microsoft.AspNet.Authentication.OpenIdConnect/1.0.0-rc1-final": { - "type": "package", "sha512": "t23VFfjomKBH7bbm0aT8Ht0QqvU5ECclpdID4lBGJ2YGEVz4t1lqxIeOO59VaSnae8LHZtoRywqOwFssF/1OQA==", + "type": "package", "files": [ + "Microsoft.AspNet.Authentication.OpenIdConnect.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Authentication.OpenIdConnect.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Authentication.OpenIdConnect.nuspec", "lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.dll", "lib/dnx451/Microsoft.AspNet.Authentication.OpenIdConnect.xml", "lib/dnxcore50/Microsoft.AspNet.Authentication.OpenIdConnect.dll", - "lib/dnxcore50/Microsoft.AspNet.Authentication.OpenIdConnect.xml", - "Microsoft.AspNet.Authentication.OpenIdConnect.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Authentication.OpenIdConnect.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Authentication.OpenIdConnect.nuspec" + "lib/dnxcore50/Microsoft.AspNet.Authentication.OpenIdConnect.xml" ] }, "Microsoft.AspNet.Authentication.Twitter/1.0.0-rc1-final": { - "type": "package", "sha512": "kp0mcXaj0Vx+XY5Fwr/rDZBqs9yjzcwS6+KY3Dtk7UnmAuzVJ1Ld7/gLKkXXFzDyIh++lWfckRFQtVvV4kuydA==", + "type": "package", "files": [ + "Microsoft.AspNet.Authentication.Twitter.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Authentication.Twitter.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Authentication.Twitter.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Authentication.Twitter.dll", "lib/dotnet5.4/Microsoft.AspNet.Authentication.Twitter.xml", "lib/net451/Microsoft.AspNet.Authentication.Twitter.dll", - "lib/net451/Microsoft.AspNet.Authentication.Twitter.xml", - "Microsoft.AspNet.Authentication.Twitter.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Authentication.Twitter.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Authentication.Twitter.nuspec" + "lib/net451/Microsoft.AspNet.Authentication.Twitter.xml" ] }, "Microsoft.AspNet.Authorization/1.0.0-rc1-final": { - "type": "package", "sha512": "zXQ4VHNDQkWzNpI05jt3laIHSlNIqROFuSbZPV7wprVi43sgeZSn9gBW5rQNcedODgsEvmsIMzl73mXzKf3TTA==", + "type": "package", "files": [ + "Microsoft.AspNet.Authorization.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Authorization.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Authorization.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Authorization.dll", "lib/dotnet5.4/Microsoft.AspNet.Authorization.xml", "lib/net451/Microsoft.AspNet.Authorization.dll", - "lib/net451/Microsoft.AspNet.Authorization.xml", - "Microsoft.AspNet.Authorization.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Authorization.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Authorization.nuspec" + "lib/net451/Microsoft.AspNet.Authorization.xml" ] }, "Microsoft.AspNet.Cors/6.0.0-rc1-final": { - "type": "package", "sha512": "3wfAJBFtBgtYI03Oo2MHXn1bH4PgRjGjHtZ6onjuT7QevAfAgvxuqEw59r8mhW9rBz3abrgcbBwndEFef0DbCg==", + "type": "package", "files": [ + "Microsoft.AspNet.Cors.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Cors.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Cors.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Cors.dll", "lib/dotnet5.4/Microsoft.AspNet.Cors.xml", "lib/net451/Microsoft.AspNet.Cors.dll", - "lib/net451/Microsoft.AspNet.Cors.xml", - "Microsoft.AspNet.Cors.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Cors.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Cors.nuspec" + "lib/net451/Microsoft.AspNet.Cors.xml" ] }, "Microsoft.AspNet.Cryptography.Internal/1.0.0-rc1-final": { - "type": "package", "sha512": "gQBLMaEd0ZRntSBjuWFJ6Qu3BKO6SORWA3Iv/Rhd4oEB1O8Mzdk3nHAyWyo/i8GhE740sajdwT8yXZTm3fzglg==", + "type": "package", "files": [ + "Microsoft.AspNet.Cryptography.Internal.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Cryptography.Internal.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Cryptography.Internal.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Cryptography.Internal.dll", "lib/dotnet5.4/Microsoft.AspNet.Cryptography.Internal.xml", "lib/net451/Microsoft.AspNet.Cryptography.Internal.dll", - "lib/net451/Microsoft.AspNet.Cryptography.Internal.xml", - "Microsoft.AspNet.Cryptography.Internal.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Cryptography.Internal.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Cryptography.Internal.nuspec" + "lib/net451/Microsoft.AspNet.Cryptography.Internal.xml" ] }, "Microsoft.AspNet.Cryptography.KeyDerivation/1.0.0-rc1-final": { - "type": "package", "sha512": "a0HOA+i0gEY5SIzJZX4QXuj+hY6C7NT3t60EwreWYPAy/rruoxlkarU8H9oHwtatT2/FjC8kdMNQS72y1I/5KQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Cryptography.KeyDerivation.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Cryptography.KeyDerivation.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Cryptography.KeyDerivation.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Cryptography.KeyDerivation.dll", "lib/dotnet5.4/Microsoft.AspNet.Cryptography.KeyDerivation.xml", "lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.dll", - "lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.xml", - "Microsoft.AspNet.Cryptography.KeyDerivation.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Cryptography.KeyDerivation.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Cryptography.KeyDerivation.nuspec" + "lib/net451/Microsoft.AspNet.Cryptography.KeyDerivation.xml" ] }, "Microsoft.AspNet.DataProtection/1.0.0-rc1-final": { - "type": "package", "sha512": "HKcaIDRCz5KWkhmRiRs9mjZupJbdP3+Z3RQKdqwa6ZsXsO0ZUnmfpdYp6IFG69rTznmoSKjKJpcnvRA7w6psyA==", + "type": "package", "files": [ + "Microsoft.AspNet.DataProtection.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.DataProtection.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.DataProtection.nuspec", "lib/dotnet5.4/Microsoft.AspNet.DataProtection.dll", "lib/dotnet5.4/Microsoft.AspNet.DataProtection.xml", "lib/net451/Microsoft.AspNet.DataProtection.dll", - "lib/net451/Microsoft.AspNet.DataProtection.xml", - "Microsoft.AspNet.DataProtection.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.DataProtection.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.DataProtection.nuspec" + "lib/net451/Microsoft.AspNet.DataProtection.xml" ] }, "Microsoft.AspNet.DataProtection.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "rNCftGtK32L1R8Y3JDl31fPtYI/wppN3xngBtcQ5R8DZBfSKzabDWre95feBIKWjcPqE+P/Y7n6ax8oGFcVSZw==", + "type": "package", "files": [ + "Microsoft.AspNet.DataProtection.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.DataProtection.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.DataProtection.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.AspNet.DataProtection.Abstractions.dll", "lib/dotnet5.4/Microsoft.AspNet.DataProtection.Abstractions.xml", "lib/net451/Microsoft.AspNet.DataProtection.Abstractions.dll", - "lib/net451/Microsoft.AspNet.DataProtection.Abstractions.xml", - "Microsoft.AspNet.DataProtection.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.DataProtection.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.DataProtection.Abstractions.nuspec" + "lib/net451/Microsoft.AspNet.DataProtection.Abstractions.xml" ] }, "Microsoft.AspNet.DataProtection.SystemWeb/1.0.0-rc1-final": { - "type": "package", "sha512": "SMCq4lwr8Vf9rMJ0HSdXux5dWILKGzmN0XuL6Uu2+aqofSeFlDhlTRg/QyiThYeFzREllLZ+iw/0P3GAhhgB0w==", + "type": "package", "files": [ - "content/net451/web.config.transform", - "lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll", - "lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.xml", "Microsoft.AspNet.DataProtection.SystemWeb.1.0.0-rc1-final.nupkg", "Microsoft.AspNet.DataProtection.SystemWeb.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.DataProtection.SystemWeb.nuspec" + "Microsoft.AspNet.DataProtection.SystemWeb.nuspec", + "content/net451/web.config.transform", + "lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.dll", + "lib/net451/Microsoft.AspNet.DataProtection.SystemWeb.xml" ] }, "Microsoft.AspNet.Diagnostics/1.0.0-rc1-final": { - "type": "package", "sha512": "PlLhXpe74DUMEanyFNvo+A96zD465usPOxu2iAqREnfcpagNJY4dn6uQxDE04BY6XcqPaYAYcrZYyKRfn/pTIg==", + "type": "package", "files": [ + "Microsoft.AspNet.Diagnostics.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Diagnostics.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Diagnostics.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Diagnostics.dll", "lib/dotnet5.4/Microsoft.AspNet.Diagnostics.xml", "lib/net451/Microsoft.AspNet.Diagnostics.dll", - "lib/net451/Microsoft.AspNet.Diagnostics.xml", - "Microsoft.AspNet.Diagnostics.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Diagnostics.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Diagnostics.nuspec" + "lib/net451/Microsoft.AspNet.Diagnostics.xml" ] }, "Microsoft.AspNet.Diagnostics.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "nr/aKzLzXFOj9KAXTh63uzxPGN4It04vh3dqnIHzKk6Bf/0kPYv9Qw3fwLQy5mc0Cka/soz5ZMdPp8IQk2BRQQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Diagnostics.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Diagnostics.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Diagnostics.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Abstractions.dll", "lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Abstractions.xml", "lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.dll", - "lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.xml", - "Microsoft.AspNet.Diagnostics.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Diagnostics.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Diagnostics.Abstractions.nuspec" + "lib/net451/Microsoft.AspNet.Diagnostics.Abstractions.xml" ] }, "Microsoft.AspNet.Diagnostics.Entity/7.0.0-rc1-final": { - "type": "package", "sha512": "hlOWYlYXpVSEM4wcTzNwZKvJWGUgkZQjOG12FkJFIEMyd8qT8jS20kp92kT2XeU8SBxb1kUAnTBdtOr5VRI+hQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Diagnostics.Entity.7.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Diagnostics.Entity.7.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Diagnostics.Entity.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Entity.dll", "lib/dotnet5.4/Microsoft.AspNet.Diagnostics.Entity.xml", "lib/net451/Microsoft.AspNet.Diagnostics.Entity.dll", - "lib/net451/Microsoft.AspNet.Diagnostics.Entity.xml", - "Microsoft.AspNet.Diagnostics.Entity.7.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Diagnostics.Entity.7.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Diagnostics.Entity.nuspec" + "lib/net451/Microsoft.AspNet.Diagnostics.Entity.xml" ] }, "Microsoft.AspNet.FileProviders.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "Tv6YJk78cH+gFipRNjeMpzzUg3t4BQiS0xYVlv/8gVNl4sI6ytAMYYfIbx8pCacIRH5Nx/Tw9GVn28eyw+JZfA==", + "type": "package", "files": [ + "Microsoft.AspNet.FileProviders.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.FileProviders.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.FileProviders.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.AspNet.FileProviders.Abstractions.dll", "lib/dotnet5.4/Microsoft.AspNet.FileProviders.Abstractions.xml", "lib/net451/Microsoft.AspNet.FileProviders.Abstractions.dll", - "lib/net451/Microsoft.AspNet.FileProviders.Abstractions.xml", - "Microsoft.AspNet.FileProviders.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.FileProviders.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.FileProviders.Abstractions.nuspec" + "lib/net451/Microsoft.AspNet.FileProviders.Abstractions.xml" ] }, "Microsoft.AspNet.FileProviders.Physical/1.0.0-rc1-final": { - "type": "package", "sha512": "Ni5o7X21cN97krdkg3F77F5app0KpLwdpHbxdpwqaMjhMKYcmNDcyZB8Ke/qgbSMqHRwT3aQVhgEp/iJTbgl6g==", + "type": "package", "files": [ + "Microsoft.AspNet.FileProviders.Physical.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.FileProviders.Physical.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.FileProviders.Physical.nuspec", "lib/dotnet5.4/Microsoft.AspNet.FileProviders.Physical.dll", "lib/dotnet5.4/Microsoft.AspNet.FileProviders.Physical.xml", "lib/net451/Microsoft.AspNet.FileProviders.Physical.dll", - "lib/net451/Microsoft.AspNet.FileProviders.Physical.xml", - "Microsoft.AspNet.FileProviders.Physical.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.FileProviders.Physical.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.FileProviders.Physical.nuspec" + "lib/net451/Microsoft.AspNet.FileProviders.Physical.xml" ] }, "Microsoft.AspNet.Hosting/1.0.0-rc1-final": { - "type": "package", "sha512": "6ZVZK5Ql+z6UeVOBcXCRLahcAd/NKdMAK17JBZWGZqqmxKO0LtQMdb6drb9H4nBM3/a8vbhd+23wxzyIfoCLQQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Hosting.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Hosting.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Hosting.nuspec", "lib/dnx451/Microsoft.AspNet.Hosting.dll", "lib/dnx451/Microsoft.AspNet.Hosting.xml", "lib/dnxcore50/Microsoft.AspNet.Hosting.dll", @@ -9115,393 +3462,406 @@ "lib/dotnet5.4/Microsoft.AspNet.Hosting.dll", "lib/dotnet5.4/Microsoft.AspNet.Hosting.xml", "lib/net451/Microsoft.AspNet.Hosting.dll", - "lib/net451/Microsoft.AspNet.Hosting.xml", - "Microsoft.AspNet.Hosting.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Hosting.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Hosting.nuspec" + "lib/net451/Microsoft.AspNet.Hosting.xml" ] }, "Microsoft.AspNet.Hosting.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "07N5rzYcsjkLgwoI923FcAvvf7167qhLgCExXwYYkdZUIJQzneRG0DqZJTm6qpnaD5igf4FM9F+eh2m7y5NFbg==", + "type": "package", "files": [ + "Microsoft.AspNet.Hosting.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Hosting.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Hosting.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Hosting.Abstractions.dll", "lib/dotnet5.4/Microsoft.AspNet.Hosting.Abstractions.xml", "lib/net451/Microsoft.AspNet.Hosting.Abstractions.dll", - "lib/net451/Microsoft.AspNet.Hosting.Abstractions.xml", - "Microsoft.AspNet.Hosting.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Hosting.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Hosting.Abstractions.nuspec" + "lib/net451/Microsoft.AspNet.Hosting.Abstractions.xml" ] }, "Microsoft.AspNet.Hosting.Server.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "55ovPKPLsLvXsZ2xxtCOkQXmLwrE5iMUXe1y3A3Y/DCcI2u9VBJezu1y2EPYmZCM+uP/Y/BaQm68AWg2r8RV5w==", + "type": "package", "files": [ + "Microsoft.AspNet.Hosting.Server.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Hosting.Server.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Hosting.Server.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Hosting.Server.Abstractions.dll", "lib/dotnet5.4/Microsoft.AspNet.Hosting.Server.Abstractions.xml", "lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.dll", - "lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.xml", - "Microsoft.AspNet.Hosting.Server.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Hosting.Server.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Hosting.Server.Abstractions.nuspec" + "lib/net451/Microsoft.AspNet.Hosting.Server.Abstractions.xml" ] }, "Microsoft.AspNet.Html.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "49aE5EnPr4/IBhrI5fH43o20GgqPCOZqcTDf+Ya8iVSIeorhj2Pn9e12DXqFPTKPHD7+H44K2MaU2lw1/uMiKQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Html.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Html.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Html.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Html.Abstractions.dll", "lib/dotnet5.4/Microsoft.AspNet.Html.Abstractions.xml", "lib/net451/Microsoft.AspNet.Html.Abstractions.dll", - "lib/net451/Microsoft.AspNet.Html.Abstractions.xml", - "Microsoft.AspNet.Html.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Html.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Html.Abstractions.nuspec" + "lib/net451/Microsoft.AspNet.Html.Abstractions.xml" ] }, "Microsoft.AspNet.Http/1.0.0-rc1-final": { - "type": "package", "sha512": "2vVd6xlfDKxl7pln5VOSczVo5bdJK6VLF6LR62Tb+le6e0COju7diAPHujFcXQlX/eLq2GrctN5vbIMeQ6vRTg==", + "type": "package", "files": [ + "Microsoft.AspNet.Http.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Http.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Http.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Http.dll", "lib/dotnet5.4/Microsoft.AspNet.Http.xml", "lib/net451/Microsoft.AspNet.Http.dll", - "lib/net451/Microsoft.AspNet.Http.xml", - "Microsoft.AspNet.Http.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Http.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Http.nuspec" + "lib/net451/Microsoft.AspNet.Http.xml" ] }, "Microsoft.AspNet.Http.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "sfzc1WJMl8wGCF+rChVfJ7otT6tTv24RNXUej2r8tlQ2RDNnAozYyGb0SCW2mxpHrC31On99Wt0rksgF0c2WUw==", + "type": "package", "files": [ + "Microsoft.AspNet.Http.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Http.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Http.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Http.Abstractions.dll", "lib/dotnet5.4/Microsoft.AspNet.Http.Abstractions.xml", "lib/net451/Microsoft.AspNet.Http.Abstractions.dll", - "lib/net451/Microsoft.AspNet.Http.Abstractions.xml", - "Microsoft.AspNet.Http.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Http.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Http.Abstractions.nuspec" + "lib/net451/Microsoft.AspNet.Http.Abstractions.xml" ] }, "Microsoft.AspNet.Http.Extensions/1.0.0-rc1-final": { - "type": "package", "sha512": "rsjbxD9W6NfqP0WNHMRyetIh6ZoKRbK1ea0V5xWdVAx53WdvgBy0HmkSwXt506+xU65jjZP19F4Ua4YjZdPHfQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Http.Extensions.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Http.Extensions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Http.Extensions.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Http.Extensions.dll", "lib/dotnet5.4/Microsoft.AspNet.Http.Extensions.xml", "lib/net451/Microsoft.AspNet.Http.Extensions.dll", - "lib/net451/Microsoft.AspNet.Http.Extensions.xml", - "Microsoft.AspNet.Http.Extensions.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Http.Extensions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Http.Extensions.nuspec" + "lib/net451/Microsoft.AspNet.Http.Extensions.xml" ] }, "Microsoft.AspNet.Http.Features/1.0.0-rc1-final": { - "type": "package", "sha512": "WlscfdAvN8XaaK1iv1Iewp5emei7+0SlXNkUh7kMJpeaS6K0GhwNmwqZR6VrT1oN+Maw98nEONHS34/suqQwOA==", + "type": "package", "files": [ + "Microsoft.AspNet.Http.Features.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Http.Features.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Http.Features.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Http.Features.dll", "lib/dotnet5.4/Microsoft.AspNet.Http.Features.xml", "lib/net451/Microsoft.AspNet.Http.Features.dll", - "lib/net451/Microsoft.AspNet.Http.Features.xml", - "Microsoft.AspNet.Http.Features.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Http.Features.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Http.Features.nuspec" + "lib/net451/Microsoft.AspNet.Http.Features.xml" ] }, "Microsoft.AspNet.Identity/3.0.0-rc1-final": { - "type": "package", "sha512": "ACPci5zUktgGFqdZ48dWexty24lROTEW/MK3LxIDe88zssLiqMhHrIndp4G/1vafmUfL+9lTw7oda6GRD53cEg==", + "type": "package", "files": [ + "Microsoft.AspNet.Identity.3.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Identity.3.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Identity.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Identity.dll", "lib/dotnet5.4/Microsoft.AspNet.Identity.xml", "lib/net451/Microsoft.AspNet.Identity.dll", - "lib/net451/Microsoft.AspNet.Identity.xml", - "Microsoft.AspNet.Identity.3.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Identity.3.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Identity.nuspec" + "lib/net451/Microsoft.AspNet.Identity.xml" ] }, "Microsoft.AspNet.Identity.EntityFramework/3.0.0-rc1-final": { - "type": "package", "sha512": "XayUdpI6mRgL4e9kowTxlYURvDGNj7FBhqbOn6uxvQwwD7gltYzKL3T07nCeSzxR5m2sJ+IvrJCMPihKrtuR5w==", + "type": "package", "files": [ + "Microsoft.AspNet.Identity.EntityFramework.3.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Identity.EntityFramework.3.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Identity.EntityFramework.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Identity.EntityFramework.dll", "lib/dotnet5.4/Microsoft.AspNet.Identity.EntityFramework.xml", "lib/net451/Microsoft.AspNet.Identity.EntityFramework.dll", - "lib/net451/Microsoft.AspNet.Identity.EntityFramework.xml", - "Microsoft.AspNet.Identity.EntityFramework.3.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Identity.EntityFramework.3.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Identity.EntityFramework.nuspec" + "lib/net451/Microsoft.AspNet.Identity.EntityFramework.xml" ] }, "Microsoft.AspNet.IISPlatformHandler/1.0.0-rc1-final": { - "type": "package", "sha512": "scDY0KQZnOvQTYDd6InIFhn4QnF5UxLtV7VoQXOlpsaEUQ0c6jDVoHvL4ylUy5zcKJkjRDUy/B7Q8TDk05kl2w==", + "type": "package", "files": [ + "Microsoft.AspNet.IISPlatformHandler.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.IISPlatformHandler.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.IISPlatformHandler.nuspec", "lib/dotnet5.4/Microsoft.AspNet.IISPlatformHandler.dll", "lib/dotnet5.4/Microsoft.AspNet.IISPlatformHandler.xml", "lib/net451/Microsoft.AspNet.IISPlatformHandler.dll", - "lib/net451/Microsoft.AspNet.IISPlatformHandler.xml", - "Microsoft.AspNet.IISPlatformHandler.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.IISPlatformHandler.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.IISPlatformHandler.nuspec" + "lib/net451/Microsoft.AspNet.IISPlatformHandler.xml" ] }, "Microsoft.AspNet.JsonPatch/1.0.0-rc1-final": { - "type": "package", "sha512": "ymoIERwLlkXXffpKpFHZ6sjKz8HPwPqAbOnia1H3RAhyTYNJkahW6qWNXF96Fd66I1+m88pApWku+Ld0WD94Sg==", + "type": "package", "files": [ + "Microsoft.AspNet.JsonPatch.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.JsonPatch.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.JsonPatch.nuspec", "lib/dotnet5.4/Microsoft.AspNet.JsonPatch.dll", "lib/dotnet5.4/Microsoft.AspNet.JsonPatch.xml", "lib/net451/Microsoft.AspNet.JsonPatch.dll", - "lib/net451/Microsoft.AspNet.JsonPatch.xml", - "Microsoft.AspNet.JsonPatch.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.JsonPatch.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.JsonPatch.nuspec" + "lib/net451/Microsoft.AspNet.JsonPatch.xml" ] }, "Microsoft.AspNet.Localization/1.0.0-rc1-final": { - "type": "package", "sha512": "ImoAQSIWbZifALakJI5kR0l5XOBixrnnR7+7RoNfFQFvPmM6lqJv2mNEYgkpFGea/hVdfHPfsWErb1oVVnYMaw==", + "type": "package", "files": [ + "Microsoft.AspNet.Localization.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Localization.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Localization.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Localization.dll", "lib/dotnet5.4/Microsoft.AspNet.Localization.xml", "lib/net451/Microsoft.AspNet.Localization.dll", - "lib/net451/Microsoft.AspNet.Localization.xml", - "Microsoft.AspNet.Localization.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Localization.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Localization.nuspec" + "lib/net451/Microsoft.AspNet.Localization.xml" ] }, "Microsoft.AspNet.Mvc/6.0.0-rc1-final": { - "type": "package", "sha512": "gKQUI2L58PibL4v/BCsML5RvpcAWQ7gNCn2xQVhLvt2fGDfRAYIr2SnalRJ0M8m+hdHDNtWydfaVrOC799zKtQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.xml", "lib/net451/Microsoft.AspNet.Mvc.dll", - "lib/net451/Microsoft.AspNet.Mvc.xml", - "Microsoft.AspNet.Mvc.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.xml" ] }, "Microsoft.AspNet.Mvc.Abstractions/6.0.0-rc1-final": { - "type": "package", "sha512": "xJH5D+h/C6KFA3XjUshgpMEznL7h018f/G4exZY76HhCfABMHmoqb5xrGKvwjKlaCwnSWPDTHeOowsGPmYZ6yQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.Abstractions.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.Abstractions.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Abstractions.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Abstractions.xml", "lib/net451/Microsoft.AspNet.Mvc.Abstractions.dll", - "lib/net451/Microsoft.AspNet.Mvc.Abstractions.xml", - "Microsoft.AspNet.Mvc.Abstractions.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.Abstractions.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.Abstractions.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.Abstractions.xml" ] }, "Microsoft.AspNet.Mvc.ApiExplorer/6.0.0-rc1-final": { - "type": "package", "sha512": "cFXQLFGtg8Dv8ngf42zxkqZq9jt0eV73bSFcRlyJENP+M7exk1ebCHjPt5J1wXZQkSsAmzj7JieHBEad5G3TxQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.ApiExplorer.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.ApiExplorer.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.ApiExplorer.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.ApiExplorer.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.ApiExplorer.xml", "lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.dll", - "lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.xml", - "Microsoft.AspNet.Mvc.ApiExplorer.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.ApiExplorer.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.ApiExplorer.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.ApiExplorer.xml" ] }, "Microsoft.AspNet.Mvc.Core/6.0.0-rc1-final": { - "type": "package", "sha512": "s4RFVnKx+c49vxu0rK33kwaff9TydQI/LI9ApgAyfZPlrjDvmzzPyKVGpfKBh682scnllaUFeOV+hL9Q6a1zJw==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.Core.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.Core.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.Core.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Core.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Core.xml", "lib/net451/Microsoft.AspNet.Mvc.Core.dll", - "lib/net451/Microsoft.AspNet.Mvc.Core.xml", - "Microsoft.AspNet.Mvc.Core.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.Core.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.Core.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.Core.xml" ] }, "Microsoft.AspNet.Mvc.Cors/6.0.0-rc1-final": { - "type": "package", "sha512": "HGAda11lbt59OxaFjYtzy3DOEL6VoOH4vrMJ7dGnSUbrv8hk+lbk5EUebhFxv7KcKPuoka4pdZB3CPH/TTnahg==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.Cors.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.Cors.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.Cors.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Cors.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Cors.xml", "lib/net451/Microsoft.AspNet.Mvc.Cors.dll", - "lib/net451/Microsoft.AspNet.Mvc.Cors.xml", - "Microsoft.AspNet.Mvc.Cors.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.Cors.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.Cors.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.Cors.xml" ] }, "Microsoft.AspNet.Mvc.DataAnnotations/6.0.0-rc1-final": { - "type": "package", "sha512": "1PXLllWma1/uXZJyYUWkhvMw87udjB4AfLMhVIGz2mF3KOPQgzRcdS8Eqze4ypty5+Up2QvIHBUjY2H79e2ezQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.DataAnnotations.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.DataAnnotations.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.DataAnnotations.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.DataAnnotations.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.DataAnnotations.xml", "lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.dll", - "lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.xml", - "Microsoft.AspNet.Mvc.DataAnnotations.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.DataAnnotations.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.DataAnnotations.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.DataAnnotations.xml" ] }, "Microsoft.AspNet.Mvc.Formatters.Json/6.0.0-rc1-final": { - "type": "package", "sha512": "orkj2uvOhyR+OuTTuewPw5F3Zi6VlU3UV3aA18wy00CwxtPJCJ4IE+J0EmLTMc/r6JGIjTF0pgABsgD0EzhrPg==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.Formatters.Json.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.Formatters.Json.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.Formatters.Json.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Formatters.Json.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Formatters.Json.xml", "lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.dll", - "lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.xml", - "Microsoft.AspNet.Mvc.Formatters.Json.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.Formatters.Json.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.Formatters.Json.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.Formatters.Json.xml" ] }, "Microsoft.AspNet.Mvc.Localization/6.0.0-rc1-final": { - "type": "package", "sha512": "G5omyQF/PJZmUrhnuaXxvIpfkp8OgU1fwwBZfsnlaaJd7h8gOhkQspdbXQB+UP5lGO1J/ypFUOYuYmVRKmEjyg==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.Localization.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.Localization.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.Localization.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Localization.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Localization.xml", "lib/net451/Microsoft.AspNet.Mvc.Localization.dll", - "lib/net451/Microsoft.AspNet.Mvc.Localization.xml", - "Microsoft.AspNet.Mvc.Localization.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.Localization.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.Localization.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.Localization.xml" ] }, "Microsoft.AspNet.Mvc.Razor/6.0.0-rc1-final": { - "type": "package", "sha512": "zkC6r/If5OoGsDJLkDY+O16K+WirFi2ZBgPbG8cHr3ybnlR4/u8S0p9bqnOd191kibxAAYKYfafVg+NApv8Vig==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.Razor.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.Razor.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.Razor.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.xml", "lib/net451/Microsoft.AspNet.Mvc.Razor.dll", - "lib/net451/Microsoft.AspNet.Mvc.Razor.xml", - "Microsoft.AspNet.Mvc.Razor.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.Razor.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.Razor.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.Razor.xml" ] }, "Microsoft.AspNet.Mvc.Razor.Host/6.0.0-rc1-final": { - "type": "package", "sha512": "kYvYr+IAe91NgHPARMkGSLQzep3Zs7gHJCtAhslcmU8cDJaodoUxVxJikiBX9HmZIzKf9uENT8Et5JCWpQFqRA==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.Razor.Host.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.Razor.Host.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.Razor.Host.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.Host.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.Razor.Host.xml", "lib/net451/Microsoft.AspNet.Mvc.Razor.Host.dll", - "lib/net451/Microsoft.AspNet.Mvc.Razor.Host.xml", - "Microsoft.AspNet.Mvc.Razor.Host.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.Razor.Host.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.Razor.Host.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.Razor.Host.xml" ] }, "Microsoft.AspNet.Mvc.TagHelpers/6.0.0-rc1-final": { - "type": "package", "sha512": "zcoDzmKSMdOVUQHQZJQStArNqc5ERTxosB3GiK/MbC0HFhJ4vmh/vwI0rxnXO6X25+gYnr/2PAiY9fHvGkN58A==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.TagHelpers.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.TagHelpers.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.TagHelpers.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.TagHelpers.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.TagHelpers.xml", "lib/net451/Microsoft.AspNet.Mvc.TagHelpers.dll", - "lib/net451/Microsoft.AspNet.Mvc.TagHelpers.xml", - "Microsoft.AspNet.Mvc.TagHelpers.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.TagHelpers.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.TagHelpers.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.TagHelpers.xml" ] }, "Microsoft.AspNet.Mvc.ViewFeatures/6.0.0-rc1-final": { - "type": "package", "sha512": "IoWtyV9HXJ1x2HKXpcqX25iPOHAmW9vlQJD3bliMV5Oix3sjieVK7i2S3VpUsJjqddpSA9Vg2PkQIzwDDS+smA==", + "type": "package", "files": [ + "Microsoft.AspNet.Mvc.ViewFeatures.6.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Mvc.ViewFeatures.6.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Mvc.ViewFeatures.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Mvc.ViewFeatures.dll", "lib/dotnet5.4/Microsoft.AspNet.Mvc.ViewFeatures.xml", "lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.dll", - "lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.xml", - "Microsoft.AspNet.Mvc.ViewFeatures.6.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Mvc.ViewFeatures.6.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Mvc.ViewFeatures.nuspec" + "lib/net451/Microsoft.AspNet.Mvc.ViewFeatures.xml" + ] + }, + "Microsoft.AspNet.Owin/1.0.0-rc1-final": { + "sha512": "6lkzV/uEYORT1GQDddWVjsm/zRtEZHnIcWmBR4H6tqjsv1q2rWFmDy8rEckPvxUVn1iNTWKpn6s4UJglbdTgtg==", + "type": "package", + "files": [ + "Microsoft.AspNet.Owin.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Owin.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Owin.nuspec", + "lib/dotnet5.4/Microsoft.AspNet.Owin.dll", + "lib/dotnet5.4/Microsoft.AspNet.Owin.xml", + "lib/net451/Microsoft.AspNet.Owin.dll", + "lib/net451/Microsoft.AspNet.Owin.xml" ] }, "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces/1.0.0-rc1-final": { - "type": "package", "sha512": "+goR2yw/UKbZGXvnR9z+mLWoAt2+AcDwE65XoV0HyYDyvvF+hotNiI5Ft0P/kVr8gpLeHS3JHHdRtsCjIqxhDQ==", + "type": "package", "files": [ + "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.nuspec", "lib/dotnet5.4/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll", "lib/dotnet5.4/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.xml", "lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.dll", - "lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.xml", - "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.nuspec" + "lib/net451/Microsoft.AspNet.PageExecutionInstrumentation.Interfaces.xml" ] }, "Microsoft.AspNet.Razor/4.0.0-rc1-final": { - "type": "package", "sha512": "j4R032B5HY3WjgGir8/Zer2FWZzsux8SS1fD6AugKmI7Msx/4d8/0FCMRbLCFNytt2rosOmNJhoAp7qOlzOHVw==", + "type": "package", "files": [ + "Microsoft.AspNet.Razor.4.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Razor.4.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Razor.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Razor.dll", "lib/dotnet5.4/Microsoft.AspNet.Razor.xml", "lib/net451/Microsoft.AspNet.Razor.dll", - "lib/net451/Microsoft.AspNet.Razor.xml", - "Microsoft.AspNet.Razor.4.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Razor.4.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Razor.nuspec" + "lib/net451/Microsoft.AspNet.Razor.xml" ] }, "Microsoft.AspNet.Razor.Runtime/4.0.0-rc1-final": { - "type": "package", "sha512": "UQSVaYFnLiSI3gtb6Q2jSv3yZia+vmve/TQrprlXUT5jAeUJa5G2DWYTcGPZE6BfmAim5SZ1BOW6ozMLRBHQ/Q==", + "type": "package", "files": [ + "Microsoft.AspNet.Razor.Runtime.4.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Razor.Runtime.4.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Razor.Runtime.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.dll", "lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.xml", "lib/net451/Microsoft.AspNet.Razor.Runtime.dll", - "lib/net451/Microsoft.AspNet.Razor.Runtime.xml", - "Microsoft.AspNet.Razor.Runtime.4.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Razor.Runtime.4.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Razor.Runtime.nuspec" + "lib/net451/Microsoft.AspNet.Razor.Runtime.xml" ] }, "Microsoft.AspNet.Razor.Runtime.Precompilation/4.0.0-rc1-final": { - "type": "package", "sha512": "3YD0OJRtuYgBQX6OBLNxZf8VdOQ7nv5TlA1frq0WOuS+7KMXJj+3oS69YwJ65x4zCRpUkl2bHCFTC4X7nG4KSw==", + "type": "package", "files": [ + "Microsoft.AspNet.Razor.Runtime.Precompilation.4.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Razor.Runtime.Precompilation.4.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Razor.Runtime.Precompilation.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.Precompilation.dll", "lib/dotnet5.4/Microsoft.AspNet.Razor.Runtime.Precompilation.xml", "lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.dll", - "lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.xml", - "Microsoft.AspNet.Razor.Runtime.Precompilation.4.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Razor.Runtime.Precompilation.4.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Razor.Runtime.Precompilation.nuspec" + "lib/net451/Microsoft.AspNet.Razor.Runtime.Precompilation.xml" ] }, "Microsoft.AspNet.Routing/1.0.0-rc1-final": { - "type": "package", "sha512": "kIDLp1Icd+l2Z5jFGZf5rAKALS2btMKdP+a+zOepiE4oZJCAJ5tWms+MyMkMJ8hD9/5O6fF4CzckBBcA6pxNUQ==", + "type": "package", "files": [ + "Microsoft.AspNet.Routing.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Routing.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Routing.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Routing.dll", "lib/dotnet5.4/Microsoft.AspNet.Routing.xml", "lib/net451/Microsoft.AspNet.Routing.dll", - "lib/net451/Microsoft.AspNet.Routing.xml", - "Microsoft.AspNet.Routing.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Routing.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Routing.nuspec" + "lib/net451/Microsoft.AspNet.Routing.xml" ] }, "Microsoft.AspNet.Server.Kestrel/1.0.0-rc1-final": { - "type": "package", "sha512": "4fuGqW9K2PaxLwQsyRZaoO2Eu+GT5nv8WeYWpD8EqHLzY9GVEW25jy1iW2+1Tf5BwQJLN2e9QxY2K7OPlM9iRg==", + "type": "package", "files": [ + "Microsoft.AspNet.Server.Kestrel.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Server.Kestrel.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Server.Kestrel.nuspec", "lib/dnx451/Microsoft.AspNet.Server.Kestrel.dll", "lib/dnx451/Microsoft.AspNet.Server.Kestrel.xml", "lib/dnxcore50/Microsoft.AspNet.Server.Kestrel.dll", @@ -9510,9 +3870,6 @@ "lib/dotnet5.4/Microsoft.AspNet.Server.Kestrel.xml", "lib/net451/Microsoft.AspNet.Server.Kestrel.dll", "lib/net451/Microsoft.AspNet.Server.Kestrel.xml", - "Microsoft.AspNet.Server.Kestrel.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Server.Kestrel.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Server.Kestrel.nuspec", "runtimes/osx/native/libuv.dylib", "runtimes/win10-arm/native/libuv.dll", "runtimes/win7-x64/native/libuv.dll", @@ -9521,9 +3878,12 @@ ] }, "Microsoft.AspNet.Server.WebListener/1.0.0-rc1-final": { - "type": "package", "sha512": "U1S48H06oKFHVth/1xUtylpa0E4tBDYtxpzfELeZ1aNW3fdOqcd20dlh6bapOP78R+axSY1DI/FR8dGGgn+84Q==", + "type": "package", "files": [ + "Microsoft.AspNet.Server.WebListener.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Server.WebListener.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Server.WebListener.nuspec", "lib/dnx451/Microsoft.AspNet.Server.WebListener.dll", "lib/dnx451/Microsoft.AspNet.Server.WebListener.xml", "lib/dnxcore50/Microsoft.AspNet.Server.WebListener.dll", @@ -9531,184 +3891,184 @@ "lib/dotnet5.4/Microsoft.AspNet.Server.WebListener.dll", "lib/dotnet5.4/Microsoft.AspNet.Server.WebListener.xml", "lib/net451/Microsoft.AspNet.Server.WebListener.dll", - "lib/net451/Microsoft.AspNet.Server.WebListener.xml", - "Microsoft.AspNet.Server.WebListener.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Server.WebListener.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Server.WebListener.nuspec" + "lib/net451/Microsoft.AspNet.Server.WebListener.xml" ] }, "Microsoft.AspNet.Session/1.0.0-rc1-final": { - "type": "package", "sha512": "nMImkPMx/z4YL/bCBaTywQZD28sg6IvWMRckzY4hMZuhhRWr4z3HHYgORCaKbJQH3nJkfL6rb+TpmWobN9gKpw==", + "type": "package", "files": [ + "Microsoft.AspNet.Session.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Session.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Session.nuspec", "lib/dotnet5.4/Microsoft.AspNet.Session.dll", "lib/dotnet5.4/Microsoft.AspNet.Session.xml", "lib/net451/Microsoft.AspNet.Session.dll", - "lib/net451/Microsoft.AspNet.Session.xml", - "Microsoft.AspNet.Session.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Session.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Session.nuspec" + "lib/net451/Microsoft.AspNet.Session.xml" ] }, "Microsoft.AspNet.SignalR.Core/2.2.0": { - "type": "package", "sha512": "y+gx2iv3Da2YIkh/m8BSitF63PAs7sDJY9td9blvgrXzCvKAb664sc/2D7kNSwEiFDLDGCoax6pqe3pRRDSDHQ==", + "type": "package", "files": [ - "lib/net45/Microsoft.AspNet.SignalR.Core.dll", - "lib/net45/Microsoft.AspNet.SignalR.Core.xml", "Microsoft.AspNet.SignalR.Core.2.2.0.nupkg", "Microsoft.AspNet.SignalR.Core.2.2.0.nupkg.sha512", - "Microsoft.AspNet.SignalR.Core.nuspec" + "Microsoft.AspNet.SignalR.Core.nuspec", + "lib/net45/Microsoft.AspNet.SignalR.Core.dll", + "lib/net45/Microsoft.AspNet.SignalR.Core.xml" ] }, "Microsoft.AspNet.SignalR.JS/2.2.0": { - "type": "package", "sha512": "VjALldAdg3AiBPSmP9HUmqFTOQVRhl/jZI9Sq5AZAEbiPPfDK1FRjqtVia35OXyC+wGW2n20M5QNRKFuflSUsA==", + "type": "package", "files": [ - "content/Scripts/jquery.signalR-2.2.0.js", - "content/Scripts/jquery.signalR-2.2.0.min.js", "Microsoft.AspNet.SignalR.JS.2.2.0.nupkg", "Microsoft.AspNet.SignalR.JS.2.2.0.nupkg.sha512", - "Microsoft.AspNet.SignalR.JS.nuspec" + "Microsoft.AspNet.SignalR.JS.nuspec", + "content/Scripts/jquery.signalR-2.2.0.js", + "content/Scripts/jquery.signalR-2.2.0.min.js" ] }, "Microsoft.AspNet.StaticFiles/1.0.0-rc1-final": { - "type": "package", "sha512": "JKFrKL6iwGzG+DO9vwP8fEbz3gHA9K6SoCE/Th/oIwxDEENNF2TAYjjAag5c0iJcaK3+X8+s2RkA/zZ+vWHOTg==", + "type": "package", "files": [ + "Microsoft.AspNet.StaticFiles.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.StaticFiles.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.StaticFiles.nuspec", "lib/dotnet5.4/Microsoft.AspNet.StaticFiles.dll", "lib/dotnet5.4/Microsoft.AspNet.StaticFiles.xml", "lib/net451/Microsoft.AspNet.StaticFiles.dll", - "lib/net451/Microsoft.AspNet.StaticFiles.xml", - "Microsoft.AspNet.StaticFiles.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.StaticFiles.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.StaticFiles.nuspec" + "lib/net451/Microsoft.AspNet.StaticFiles.xml" ] }, "Microsoft.AspNet.Tooling.Razor/1.0.0-rc1-final": { - "type": "package", "sha512": "ZWDxJ4sqrZyrtmlRKeBYrxguRNBnTGV2LNgyZrSyVQ8DcQjPkSqFwu18BeER+j6Od2mgV5aOCdCLDN0QnjYI7Q==", + "type": "package", "files": [ + "Microsoft.AspNet.Tooling.Razor.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.Tooling.Razor.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.Tooling.Razor.nuspec", "app/project.json", "app/razor-tooling", "app/razor-tooling.cmd", "lib/dotnet5.4/Microsoft.AspNet.Tooling.Razor.dll", "lib/dotnet5.4/Microsoft.AspNet.Tooling.Razor.xml", "lib/net451/Microsoft.AspNet.Tooling.Razor.dll", - "lib/net451/Microsoft.AspNet.Tooling.Razor.xml", - "Microsoft.AspNet.Tooling.Razor.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.Tooling.Razor.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.Tooling.Razor.nuspec" + "lib/net451/Microsoft.AspNet.Tooling.Razor.xml" ] }, "Microsoft.AspNet.Web.Optimization/1.1.3": { - "type": "package", "sha512": "TWKKpTWEdB8jXp2Vl2TXNKW30GBQg6nnh0y8iZWmGY5c1XY4f649vfDslNHsCsvk9JZxc1Rkm/UGDdfq4gjWRQ==", + "type": "package", "files": [ - "lib/net40/System.Web.Optimization.dll", - "lib/net40/system.web.optimization.xml", "Microsoft.AspNet.Web.Optimization.1.1.3.nupkg", "Microsoft.AspNet.Web.Optimization.1.1.3.nupkg.sha512", - "Microsoft.AspNet.Web.Optimization.nuspec" + "Microsoft.AspNet.Web.Optimization.nuspec", + "lib/net40/System.Web.Optimization.dll", + "lib/net40/system.web.optimization.xml" ] }, "Microsoft.AspNet.WebSockets.Protocol/1.0.0-rc1-final": { - "type": "package", "sha512": "dc/e2uVh/J9dQ9DuXh0hlTSS5lID2Kr+O+EFgf9NgrvP1sFS8EWDGHoUv9RS/owVfFtd956bnRjMX2jD/5NBPA==", + "type": "package", "files": [ + "Microsoft.AspNet.WebSockets.Protocol.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.WebSockets.Protocol.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.WebSockets.Protocol.nuspec", "lib/dotnet5.4/Microsoft.AspNet.WebSockets.Protocol.dll", "lib/dotnet5.4/Microsoft.AspNet.WebSockets.Protocol.xml", "lib/net451/Microsoft.AspNet.WebSockets.Protocol.dll", - "lib/net451/Microsoft.AspNet.WebSockets.Protocol.xml", - "Microsoft.AspNet.WebSockets.Protocol.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.WebSockets.Protocol.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.WebSockets.Protocol.nuspec" + "lib/net451/Microsoft.AspNet.WebSockets.Protocol.xml" ] }, "Microsoft.AspNet.WebSockets.Server/1.0.0-rc1-final": { - "type": "package", "sha512": "hVPS2eewqM8S5cpFK62+d10WCaPBQb9pnP3ahEYP/wMlycv0nAmsQ5sMeaI06zI12cZTAXWnwf3aUgN7/2yuFA==", + "type": "package", "files": [ + "Microsoft.AspNet.WebSockets.Server.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.WebSockets.Server.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.WebSockets.Server.nuspec", "lib/dotnet5.4/Microsoft.AspNet.WebSockets.Server.dll", "lib/dotnet5.4/Microsoft.AspNet.WebSockets.Server.xml", "lib/net451/Microsoft.AspNet.WebSockets.Server.dll", - "lib/net451/Microsoft.AspNet.WebSockets.Server.xml", - "Microsoft.AspNet.WebSockets.Server.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.WebSockets.Server.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.WebSockets.Server.nuspec" + "lib/net451/Microsoft.AspNet.WebSockets.Server.xml" ] }, "Microsoft.AspNet.WebUtilities/1.0.0-rc1-final": { - "type": "package", "sha512": "0D80xroAEiWlB9X5eR/JUya1H2saIYnt4d7bPru5RRf5L/66X+9WWhf3hFkLUF3W13K6g6K9Is9dCTaEfFFKTA==", + "type": "package", "files": [ + "Microsoft.AspNet.WebUtilities.1.0.0-rc1-final.nupkg", + "Microsoft.AspNet.WebUtilities.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.AspNet.WebUtilities.nuspec", "lib/dotnet5.4/Microsoft.AspNet.WebUtilities.dll", "lib/dotnet5.4/Microsoft.AspNet.WebUtilities.xml", "lib/net451/Microsoft.AspNet.WebUtilities.dll", - "lib/net451/Microsoft.AspNet.WebUtilities.xml", - "Microsoft.AspNet.WebUtilities.1.0.0-rc1-final.nupkg", - "Microsoft.AspNet.WebUtilities.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.AspNet.WebUtilities.nuspec" + "lib/net451/Microsoft.AspNet.WebUtilities.xml" ] }, "Microsoft.AspNetCore.Authentication.OAuth/0.0.1-alpha": { - "type": "package", "sha512": "CRa90T3SrbRqYRA1libMqoLZjpQy6QirJ6/IdYJ7LSyDHuwqRSK3583Q6dJovigGGv95MdGUTVMz0iD68FcW5w==", + "type": "package", "files": [ - "content/Readme.txt", "Microsoft.AspNetCore.Authentication.OAuth.0.0.1-alpha.nupkg", "Microsoft.AspNetCore.Authentication.OAuth.0.0.1-alpha.nupkg.sha512", - "Microsoft.AspNetCore.Authentication.OAuth.nuspec" + "Microsoft.AspNetCore.Authentication.OAuth.nuspec", + "content/Readme.txt" ] }, "Microsoft.CodeAnalysis.Analyzers/1.0.0": { - "type": "package", "sha512": "E7VdmGw6xO3VHWapC+pNLZmo6yncS53UY3bmb5WZm9wliJBB1A6brgzKA4fcqiLrmJFx71r0M2zEbRDphRLUNg==", + "type": "package", "files": [ - "analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll", - "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll", - "analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll", - "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll", "Microsoft.CodeAnalysis.Analyzers.1.0.0.nupkg", "Microsoft.CodeAnalysis.Analyzers.1.0.0.nupkg.sha512", "Microsoft.CodeAnalysis.Analyzers.nuspec", "ThirdPartyNotices.rtf", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.Analyzers.dll", + "analyzers/dotnet/cs/Microsoft.CodeAnalysis.CSharp.Analyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.Analyzers.dll", + "analyzers/dotnet/vb/Microsoft.CodeAnalysis.VisualBasic.Analyzers.dll", "tools/install.ps1", "tools/uninstall.ps1" ] }, "Microsoft.CodeAnalysis.Common/1.1.0-rc1-20151109-01": { - "type": "package", "sha512": "gC9zpQARTjIOht1dZM5Bp0fbOKA40yh0wHBMG2psLGquche0URbfdB9i1pnCusLospEsRIrNvYl75647BcBVug==", + "type": "package", "files": [ - "lib/net45/Microsoft.CodeAnalysis.dll", - "lib/net45/Microsoft.CodeAnalysis.xml", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.dll", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.xml", "Microsoft.CodeAnalysis.Common.1.1.0-rc1-20151109-01.nupkg", "Microsoft.CodeAnalysis.Common.1.1.0-rc1-20151109-01.nupkg.sha512", "Microsoft.CodeAnalysis.Common.nuspec", - "ThirdPartyNotices.rtf" + "ThirdPartyNotices.rtf", + "lib/net45/Microsoft.CodeAnalysis.dll", + "lib/net45/Microsoft.CodeAnalysis.xml", + "lib/portable-net45+win8/Microsoft.CodeAnalysis.dll", + "lib/portable-net45+win8/Microsoft.CodeAnalysis.xml" ] }, "Microsoft.CodeAnalysis.CSharp/1.1.0-rc1-20151109-01": { - "type": "package", "sha512": "BFhSWMMlp0xLN/ogn71ULN7N0yy/yqJf/wu63x3KjV497n+8OlyiX7ZnbaQiUeafjW5P2vLzvZH99+5s+dH3Dg==", + "type": "package", "files": [ - "lib/net45/Microsoft.CodeAnalysis.CSharp.dll", - "lib/net45/Microsoft.CodeAnalysis.CSharp.xml", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll", - "lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.xml", "Microsoft.CodeAnalysis.CSharp.1.1.0-rc1-20151109-01.nupkg", "Microsoft.CodeAnalysis.CSharp.1.1.0-rc1-20151109-01.nupkg.sha512", "Microsoft.CodeAnalysis.CSharp.nuspec", - "ThirdPartyNotices.rtf" + "ThirdPartyNotices.rtf", + "lib/net45/Microsoft.CodeAnalysis.CSharp.dll", + "lib/net45/Microsoft.CodeAnalysis.CSharp.xml", + "lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.dll", + "lib/portable-net45+win8/Microsoft.CodeAnalysis.CSharp.xml" ] }, "Microsoft.Data.Sqlite/1.0.0-rc1-final": { - "type": "package", "sha512": "54F32OBWIWMIpeKggCMEX+Bp/TiAiKzBaQ4z+IRr61eNSnJhxMnLE/QWDs5YbCtbDlWIB4+VBC1rnT8PFGCtdw==", + "type": "package", "files": [ + "Microsoft.Data.Sqlite.1.0.0-rc1-final.nupkg", + "Microsoft.Data.Sqlite.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Data.Sqlite.nuspec", "build/net451/Microsoft.Data.Sqlite.props", "build/netcore50/Microsoft.Data.Sqlite.targets", "build/netcore50/win10-arm/native/sqlite3.dll", @@ -9720,550 +4080,550 @@ "lib/net451/Microsoft.Data.Sqlite.xml", "lib/netcore50/Microsoft.Data.Sqlite.dll", "lib/netcore50/Microsoft.Data.Sqlite.xml", - "Microsoft.Data.Sqlite.1.0.0-rc1-final.nupkg", - "Microsoft.Data.Sqlite.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Data.Sqlite.nuspec", "runtimes/win7-x64/native/sqlite3.dll", "runtimes/win7-x86/native/sqlite3.dll" ] }, "Microsoft.Dnx.Compilation.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "kg3kR7H12Bs46TiuF7YT8A3SNXehhBcwsArIMQIH2ecXGkg5MPWDl2OR6bnQu6k0OMu9QUiv1oiwC9yU7rHWfw==", + "type": "package", "files": [ + "Microsoft.Dnx.Compilation.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.Dnx.Compilation.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Dnx.Compilation.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.Dnx.Compilation.Abstractions.dll", "lib/dotnet5.4/Microsoft.Dnx.Compilation.Abstractions.xml", "lib/net451/Microsoft.Dnx.Compilation.Abstractions.dll", - "lib/net451/Microsoft.Dnx.Compilation.Abstractions.xml", - "Microsoft.Dnx.Compilation.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.Dnx.Compilation.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Dnx.Compilation.Abstractions.nuspec" + "lib/net451/Microsoft.Dnx.Compilation.Abstractions.xml" ] }, "Microsoft.Dnx.Compilation.CSharp.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "MYJJHSIqOvmQxm2KOCwfber5JUwYKtfMREVYxnj/kv+HQrfrztL9dN4IFvh/SsBzm5cGR0Lt52bWJKzkrIRF/g==", + "type": "package", "files": [ + "Microsoft.Dnx.Compilation.CSharp.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.Dnx.Compilation.CSharp.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Dnx.Compilation.CSharp.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll", "lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Abstractions.xml", "lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.dll", - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.xml", - "Microsoft.Dnx.Compilation.CSharp.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.Dnx.Compilation.CSharp.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Dnx.Compilation.CSharp.Abstractions.nuspec" + "lib/net451/Microsoft.Dnx.Compilation.CSharp.Abstractions.xml" ] }, "Microsoft.Dnx.Compilation.CSharp.Common/1.0.0-rc1-final": { - "type": "package", "sha512": "/OnNSw+oX/sc3Rl1Q9vFMhg+OPC+AbaDYmC4JufkHop8Ydhsv94JDT4w5xrpXi7QIKICQGTyzQgAkUjPnuFzdA==", + "type": "package", "files": [ + "Microsoft.Dnx.Compilation.CSharp.Common.1.0.0-rc1-final.nupkg", + "Microsoft.Dnx.Compilation.CSharp.Common.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Dnx.Compilation.CSharp.Common.nuspec", "lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Common.dll", "lib/dotnet5.4/Microsoft.Dnx.Compilation.CSharp.Common.xml", "lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.dll", - "lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.xml", - "Microsoft.Dnx.Compilation.CSharp.Common.1.0.0-rc1-final.nupkg", - "Microsoft.Dnx.Compilation.CSharp.Common.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Dnx.Compilation.CSharp.Common.nuspec" + "lib/net451/Microsoft.Dnx.Compilation.CSharp.Common.xml" ] }, "Microsoft.Extensions.Caching.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "WlNfPuf/8Q7DzMiOHjiT9Ha2IYdguLGfHT/2C/p9KzviCKXaqfrIdI6X9w5MmCuiYRucqK+iM5cIWKHQ1mmZrg==", + "type": "package", "files": [ + "Microsoft.Extensions.Caching.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Caching.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Caching.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Caching.Abstractions.dll", "lib/dotnet5.4/Microsoft.Extensions.Caching.Abstractions.xml", "lib/net451/Microsoft.Extensions.Caching.Abstractions.dll", "lib/net451/Microsoft.Extensions.Caching.Abstractions.xml", "lib/netcore50/Microsoft.Extensions.Caching.Abstractions.dll", - "lib/netcore50/Microsoft.Extensions.Caching.Abstractions.xml", - "Microsoft.Extensions.Caching.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Caching.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Caching.Abstractions.nuspec" + "lib/netcore50/Microsoft.Extensions.Caching.Abstractions.xml" ] }, "Microsoft.Extensions.Caching.Memory/1.0.0-rc1-final": { - "type": "package", "sha512": "KQFkXdBieLObHr1+ld0FVOLQLgVFcrhn6qIixsmP09TyEw2VaGPrzIiBVJSzyKfaE2MVJlshDvfdvcfSE/zl3g==", + "type": "package", "files": [ + "Microsoft.Extensions.Caching.Memory.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Caching.Memory.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Caching.Memory.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Caching.Memory.dll", "lib/dotnet5.4/Microsoft.Extensions.Caching.Memory.xml", "lib/net451/Microsoft.Extensions.Caching.Memory.dll", "lib/net451/Microsoft.Extensions.Caching.Memory.xml", "lib/netcore50/Microsoft.Extensions.Caching.Memory.dll", - "lib/netcore50/Microsoft.Extensions.Caching.Memory.xml", - "Microsoft.Extensions.Caching.Memory.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Caching.Memory.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Caching.Memory.nuspec" + "lib/netcore50/Microsoft.Extensions.Caching.Memory.xml" ] }, "Microsoft.Extensions.CodeGeneration/1.0.0-rc1-final": { - "type": "package", "sha512": "Mkld1xqSkU1CuMtMlbKMPwzoXMXBzC/SdOiRLutd632mGrQCDwhBgrxiBDfFDD63OxWt24TjMZkqlxmRRTm7zQ==", + "type": "package", "files": [ + "Microsoft.Extensions.CodeGeneration.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.CodeGeneration.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.CodeGeneration.nuspec", "lib/dnx451/Microsoft.Extensions.CodeGeneration.dll", "lib/dnx451/Microsoft.Extensions.CodeGeneration.xml", "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.dll", - "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.xml", - "Microsoft.Extensions.CodeGeneration.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.CodeGeneration.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.CodeGeneration.nuspec" + "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.xml" ] }, "Microsoft.Extensions.CodeGeneration.Core/1.0.0-rc1-final": { - "type": "package", "sha512": "uQe19xMM4ymoC9uU/rLZTkbSH8n/CVKEjw4jbLfoFq179+LH4IxDRqPqidEMQUF6ON4jYVwhexuAMPJdQ5ewjQ==", + "type": "package", "files": [ + "Microsoft.Extensions.CodeGeneration.Core.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.CodeGeneration.Core.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.CodeGeneration.Core.nuspec", "lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.dll", "lib/dnx451/Microsoft.Extensions.CodeGeneration.Core.xml", "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Core.dll", - "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Core.xml", - "Microsoft.Extensions.CodeGeneration.Core.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.CodeGeneration.Core.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.CodeGeneration.Core.nuspec" + "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Core.xml" ] }, "Microsoft.Extensions.CodeGeneration.EntityFramework/1.0.0-rc1-final": { - "type": "package", "sha512": "Bs5bPxbPlTYAB5d1+bPjnAZqQyQMueg0orED8boIlwb66he5pFO7LuQ3Q+BNTUB4x3M1q1U7L1L469tllVtGZg==", + "type": "package", "files": [ - "lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll", - "lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.xml", - "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.EntityFramework.dll", - "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.EntityFramework.xml", "Microsoft.Extensions.CodeGeneration.EntityFramework.1.0.0-rc1-final.nupkg", "Microsoft.Extensions.CodeGeneration.EntityFramework.1.0.0-rc1-final.nupkg.sha512", "Microsoft.Extensions.CodeGeneration.EntityFramework.nuspec", - "Templates/DbContext/NewLocalDbContext.cshtml" + "Templates/DbContext/NewLocalDbContext.cshtml", + "lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.dll", + "lib/dnx451/Microsoft.Extensions.CodeGeneration.EntityFramework.xml", + "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.EntityFramework.dll", + "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.EntityFramework.xml" ] }, "Microsoft.Extensions.CodeGeneration.Templating/1.0.0-rc1-final": { - "type": "package", "sha512": "d20Suo15M+sNS5QBYMfJpBgSUFclVSeIU06Y/snnmKdNjAiQfbKkW0bG8ryBw8zn29KXHcK39DwUpkrFvphQIg==", + "type": "package", "files": [ + "Microsoft.Extensions.CodeGeneration.Templating.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.CodeGeneration.Templating.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.CodeGeneration.Templating.nuspec", "lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.dll", "lib/dnx451/Microsoft.Extensions.CodeGeneration.Templating.xml", "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Templating.dll", - "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Templating.xml", - "Microsoft.Extensions.CodeGeneration.Templating.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.CodeGeneration.Templating.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.CodeGeneration.Templating.nuspec" + "lib/dnxcore50/Microsoft.Extensions.CodeGeneration.Templating.xml" ] }, "Microsoft.Extensions.CodeGenerators.Mvc/1.0.0-rc1-final": { - "type": "package", "sha512": "rkec5T1UW17vRb6rPWEDOq4WHj7+mu8IKWuea9I05YKDACo/EBgDhqp4aoZrOsNzoEH6k+NlL0FRa3o5s9vglA==", + "type": "package", "files": [ - "lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.dll", - "lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.xml", - "lib/dnxcore50/Microsoft.Extensions.CodeGenerators.Mvc.dll", - "lib/dnxcore50/Microsoft.Extensions.CodeGenerators.Mvc.xml", "Microsoft.Extensions.CodeGenerators.Mvc.1.0.0-rc1-final.nupkg", "Microsoft.Extensions.CodeGenerators.Mvc.1.0.0-rc1-final.nupkg.sha512", "Microsoft.Extensions.CodeGenerators.Mvc.nuspec", + "THIRDPARTYNOTICE ASP.NET_Preview.rtf", "Templates/ControllerGenerator/ApiControllerWithContext.cshtml", "Templates/ControllerGenerator/EmptyController.cshtml", "Templates/ControllerGenerator/MvcControllerWithContext.cshtml", - "Templates/MvcLayout/_Layout.cshtml", "Templates/MvcLayout/Error.cshtml", + "Templates/MvcLayout/_Layout.cshtml", "Templates/Startup/ReadMe.cshtml", "Templates/Startup/Startup.cshtml", - "Templates/StaticFiles/Content/bootstrap.css", - "Templates/StaticFiles/Content/bootstrap.min.css", "Templates/StaticFiles/Content/Scripts/_references.js", "Templates/StaticFiles/Content/Scripts/bootstrap.js", "Templates/StaticFiles/Content/Scripts/bootstrap.min.js", - "Templates/StaticFiles/Content/Scripts/jquery.validate.js", - "Templates/StaticFiles/Content/Scripts/jquery.validate.min.js", - "Templates/StaticFiles/Content/Scripts/jquery.validate.unobtrusive.js", - "Templates/StaticFiles/Content/Scripts/jquery.validate.unobtrusive.min.js", - "Templates/StaticFiles/Content/Scripts/jquery.validate-vsdoc.js", "Templates/StaticFiles/Content/Scripts/jquery-1.10.2.intellisense.js", "Templates/StaticFiles/Content/Scripts/jquery-1.10.2.js", "Templates/StaticFiles/Content/Scripts/jquery-1.10.2.min.js", "Templates/StaticFiles/Content/Scripts/jquery-1.10.2.min.map", + "Templates/StaticFiles/Content/Scripts/jquery.validate-vsdoc.js", + "Templates/StaticFiles/Content/Scripts/jquery.validate.js", + "Templates/StaticFiles/Content/Scripts/jquery.validate.min.js", + "Templates/StaticFiles/Content/Scripts/jquery.validate.unobtrusive.js", + "Templates/StaticFiles/Content/Scripts/jquery.validate.unobtrusive.min.js", "Templates/StaticFiles/Content/Scripts/modernizr-2.6.2.js", "Templates/StaticFiles/Content/Scripts/respond.js", "Templates/StaticFiles/Content/Scripts/respond.min.js", "Templates/StaticFiles/Content/Site.css", + "Templates/StaticFiles/Content/bootstrap.css", + "Templates/StaticFiles/Content/bootstrap.min.css", "Templates/ViewGenerator/Create.cshtml", "Templates/ViewGenerator/Delete.cshtml", "Templates/ViewGenerator/Details.cshtml", "Templates/ViewGenerator/Edit.cshtml", "Templates/ViewGenerator/List.cshtml", - "THIRDPARTYNOTICE ASP.NET_Preview.rtf" + "lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.dll", + "lib/dnx451/Microsoft.Extensions.CodeGenerators.Mvc.xml", + "lib/dnxcore50/Microsoft.Extensions.CodeGenerators.Mvc.dll", + "lib/dnxcore50/Microsoft.Extensions.CodeGenerators.Mvc.xml" ] }, "Microsoft.Extensions.Configuration/1.0.0-rc1-final": { - "type": "package", "sha512": "2ayWzqMVGWjr8o8bOSnIsyQbi9sLz9Ya8+YM+9tM/ivSnLHuN7TNHNfJv4jTyRZvoOafdh5Ivlc/OdmsZPXlQQ==", + "type": "package", "files": [ + "Microsoft.Extensions.Configuration.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Configuration.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Configuration.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Configuration.dll", "lib/dotnet5.4/Microsoft.Extensions.Configuration.xml", "lib/net451/Microsoft.Extensions.Configuration.dll", "lib/net451/Microsoft.Extensions.Configuration.xml", "lib/netcore50/Microsoft.Extensions.Configuration.dll", - "lib/netcore50/Microsoft.Extensions.Configuration.xml", - "Microsoft.Extensions.Configuration.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Configuration.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Configuration.nuspec" + "lib/netcore50/Microsoft.Extensions.Configuration.xml" ] }, "Microsoft.Extensions.Configuration.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "xA7ObOlIswcx2qakv69kz0pnBizFJrmwxRxJyjPOHWfevF4W+OdolZsbKOc12kY7y5upqhAvNGWTblffMvADHA==", + "type": "package", "files": [ + "Microsoft.Extensions.Configuration.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Configuration.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Configuration.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Configuration.Abstractions.dll", "lib/dotnet5.4/Microsoft.Extensions.Configuration.Abstractions.xml", "lib/net451/Microsoft.Extensions.Configuration.Abstractions.dll", "lib/net451/Microsoft.Extensions.Configuration.Abstractions.xml", "lib/netcore50/Microsoft.Extensions.Configuration.Abstractions.dll", - "lib/netcore50/Microsoft.Extensions.Configuration.Abstractions.xml", - "Microsoft.Extensions.Configuration.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Configuration.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Configuration.Abstractions.nuspec" + "lib/netcore50/Microsoft.Extensions.Configuration.Abstractions.xml" ] }, "Microsoft.Extensions.Configuration.Binder/1.0.0-rc1-final": { - "type": "package", "sha512": "tuIi7cRq6lbpCybL+z9vamz/KbM+nN9nyJ2Id5bKCdxKDNMnKb9PdMxJ+0DHc8p6fP00PyQucYuN5EpxsYrX6Q==", + "type": "package", "files": [ + "Microsoft.Extensions.Configuration.Binder.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Configuration.Binder.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Configuration.Binder.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Configuration.Binder.dll", "lib/dotnet5.4/Microsoft.Extensions.Configuration.Binder.xml", "lib/net451/Microsoft.Extensions.Configuration.Binder.dll", "lib/net451/Microsoft.Extensions.Configuration.Binder.xml", "lib/netcore50/Microsoft.Extensions.Configuration.Binder.dll", - "lib/netcore50/Microsoft.Extensions.Configuration.Binder.xml", - "Microsoft.Extensions.Configuration.Binder.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Configuration.Binder.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Configuration.Binder.nuspec" + "lib/netcore50/Microsoft.Extensions.Configuration.Binder.xml" ] }, "Microsoft.Extensions.Configuration.CommandLine/1.0.0-rc1-final": { - "type": "package", "sha512": "k+kXsefuLV5WkkG6X8GFn9zf9ZrMyC3dddgm6I6scpbanDyoKUYrRUP2VhW0ViO6TIva0soh6jJy3pFPCrNx9Q==", + "type": "package", "files": [ + "Microsoft.Extensions.Configuration.CommandLine.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Configuration.CommandLine.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Configuration.CommandLine.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Configuration.CommandLine.dll", "lib/dotnet5.4/Microsoft.Extensions.Configuration.CommandLine.xml", "lib/net451/Microsoft.Extensions.Configuration.CommandLine.dll", "lib/net451/Microsoft.Extensions.Configuration.CommandLine.xml", "lib/netcore50/Microsoft.Extensions.Configuration.CommandLine.dll", - "lib/netcore50/Microsoft.Extensions.Configuration.CommandLine.xml", - "Microsoft.Extensions.Configuration.CommandLine.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Configuration.CommandLine.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Configuration.CommandLine.nuspec" + "lib/netcore50/Microsoft.Extensions.Configuration.CommandLine.xml" ] }, "Microsoft.Extensions.Configuration.EnvironmentVariables/1.0.0-rc1-final": { - "type": "package", "sha512": "CaNirkiOycy0L6ptGxmpDkHZ2lzqcHKDbQJBfEhobnEt43pqKGKgAPC5dW3DfnsMpuK+inypm5iht9t6tq4vjg==", + "type": "package", "files": [ + "Microsoft.Extensions.Configuration.EnvironmentVariables.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Configuration.EnvironmentVariables.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Configuration.EnvironmentVariables.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", "lib/dotnet5.4/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", "lib/net451/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", "lib/net451/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", "lib/netcore50/Microsoft.Extensions.Configuration.EnvironmentVariables.dll", - "lib/netcore50/Microsoft.Extensions.Configuration.EnvironmentVariables.xml", - "Microsoft.Extensions.Configuration.EnvironmentVariables.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Configuration.EnvironmentVariables.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Configuration.EnvironmentVariables.nuspec" + "lib/netcore50/Microsoft.Extensions.Configuration.EnvironmentVariables.xml" ] }, "Microsoft.Extensions.Configuration.FileExtensions/1.0.0-rc1-final": { - "type": "package", "sha512": "w2x8nqrp2YUgNBJuZ3SUmexBtjaoZFzCQtObRTjrE4GWceFEmaLZtXFvs4n9IgRQkOqqCza7Fv7NXnD9m2emjQ==", + "type": "package", "files": [ + "Microsoft.Extensions.Configuration.FileExtensions.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Configuration.FileExtensions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Configuration.FileExtensions.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Configuration.FileExtensions.dll", "lib/dotnet5.4/Microsoft.Extensions.Configuration.FileExtensions.xml", "lib/net451/Microsoft.Extensions.Configuration.FileExtensions.dll", "lib/net451/Microsoft.Extensions.Configuration.FileExtensions.xml", "lib/netcore50/Microsoft.Extensions.Configuration.FileExtensions.dll", - "lib/netcore50/Microsoft.Extensions.Configuration.FileExtensions.xml", - "Microsoft.Extensions.Configuration.FileExtensions.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Configuration.FileExtensions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Configuration.FileExtensions.nuspec" + "lib/netcore50/Microsoft.Extensions.Configuration.FileExtensions.xml" ] }, "Microsoft.Extensions.Configuration.FileProviderExtensions/1.0.0-rc1-final": { - "type": "package", "sha512": "OhIrGyCmuWalr0WEAtoRarpTTxP/hb4CHHvv15KYjzgB91T5In2PMaBX65Y0pBxvhKqPdocvo8iNOh2Sk+abNw==", + "type": "package", "files": [ + "Microsoft.Extensions.Configuration.FileProviderExtensions.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Configuration.FileProviderExtensions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Configuration.FileProviderExtensions.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Configuration.FileProviderExtensions.dll", "lib/dotnet5.4/Microsoft.Extensions.Configuration.FileProviderExtensions.xml", "lib/net451/Microsoft.Extensions.Configuration.FileProviderExtensions.dll", "lib/net451/Microsoft.Extensions.Configuration.FileProviderExtensions.xml", "lib/netcore50/Microsoft.Extensions.Configuration.FileProviderExtensions.dll", - "lib/netcore50/Microsoft.Extensions.Configuration.FileProviderExtensions.xml", - "Microsoft.Extensions.Configuration.FileProviderExtensions.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Configuration.FileProviderExtensions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Configuration.FileProviderExtensions.nuspec" + "lib/netcore50/Microsoft.Extensions.Configuration.FileProviderExtensions.xml" ] }, "Microsoft.Extensions.Configuration.Json/1.0.0-rc1-final": { - "type": "package", "sha512": "9v+RpswnXEpAP5mx8J1w1yZZT2pPtMBTnOAauNh2c9ju5Dhq3ljxvbm0S9j6o5F/EFSLlbfN/brxTJN3qa/upw==", + "type": "package", "files": [ + "Microsoft.Extensions.Configuration.Json.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Configuration.Json.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Configuration.Json.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Configuration.Json.dll", "lib/dotnet5.4/Microsoft.Extensions.Configuration.Json.xml", "lib/net451/Microsoft.Extensions.Configuration.Json.dll", "lib/net451/Microsoft.Extensions.Configuration.Json.xml", "lib/netcore50/Microsoft.Extensions.Configuration.Json.dll", - "lib/netcore50/Microsoft.Extensions.Configuration.Json.xml", - "Microsoft.Extensions.Configuration.Json.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Configuration.Json.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Configuration.Json.nuspec" + "lib/netcore50/Microsoft.Extensions.Configuration.Json.xml" ] }, "Microsoft.Extensions.Configuration.UserSecrets/1.0.0-rc1-final": { - "type": "package", "sha512": "m2WaXGNWRrbpWquen8PS1oB8GdG5tCSWhXAmFbhacj1mhz3ojFy0TDUZPbx87TX2ZQNNp6MYfzO5Z73hlM47Bw==", + "type": "package", "files": [ + "Microsoft.Extensions.Configuration.UserSecrets.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Configuration.UserSecrets.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Configuration.UserSecrets.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Configuration.UserSecrets.dll", "lib/dotnet5.4/Microsoft.Extensions.Configuration.UserSecrets.xml", "lib/net451/Microsoft.Extensions.Configuration.UserSecrets.dll", - "lib/net451/Microsoft.Extensions.Configuration.UserSecrets.xml", - "Microsoft.Extensions.Configuration.UserSecrets.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Configuration.UserSecrets.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Configuration.UserSecrets.nuspec" + "lib/net451/Microsoft.Extensions.Configuration.UserSecrets.xml" ] }, "Microsoft.Extensions.DependencyInjection/1.0.0-rc1-final": { - "type": "package", "sha512": "S/+s3fq85j21H5nYOvh1fIt1arl8F5lZ7Ryiw/qend83yHQwIQbBs+dip9FhqiPmAn6Dz3UhW0likQQurfEsLQ==", + "type": "package", "files": [ + "Microsoft.Extensions.DependencyInjection.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.DependencyInjection.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.DependencyInjection.nuspec", "lib/dotnet5.4/Microsoft.Extensions.DependencyInjection.dll", "lib/dotnet5.4/Microsoft.Extensions.DependencyInjection.xml", "lib/net451/Microsoft.Extensions.DependencyInjection.dll", "lib/net451/Microsoft.Extensions.DependencyInjection.xml", "lib/netcore50/Microsoft.Extensions.DependencyInjection.dll", - "lib/netcore50/Microsoft.Extensions.DependencyInjection.xml", - "Microsoft.Extensions.DependencyInjection.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.DependencyInjection.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.DependencyInjection.nuspec" + "lib/netcore50/Microsoft.Extensions.DependencyInjection.xml" ] }, "Microsoft.Extensions.DependencyInjection.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "MUKexXAsRZ55C7YZ26ShePZgBeW+6FbasxeIVmZ/BZIgiG4uw6yPOdfl9WvTaUL9SFK2sEPcYLatWmLfTpsOAA==", + "type": "package", "files": [ + "Microsoft.Extensions.DependencyInjection.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.DependencyInjection.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.DependencyInjection.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/dotnet5.4/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/net451/Microsoft.Extensions.DependencyInjection.Abstractions.dll", "lib/net451/Microsoft.Extensions.DependencyInjection.Abstractions.xml", "lib/netcore50/Microsoft.Extensions.DependencyInjection.Abstractions.dll", - "lib/netcore50/Microsoft.Extensions.DependencyInjection.Abstractions.xml", - "Microsoft.Extensions.DependencyInjection.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.DependencyInjection.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.DependencyInjection.Abstractions.nuspec" + "lib/netcore50/Microsoft.Extensions.DependencyInjection.Abstractions.xml" ] }, "Microsoft.Extensions.FileSystemGlobbing/1.0.0-rc1-final": { - "type": "package", "sha512": "7N9IPDU0T1uQBj6hobeGNqiEd+Cuu6RHJ0RcwkUvzTsLq8Vf2Sc72+HEAICTw1CTRXHgW49Zr47PvO0QPxI/5g==", + "type": "package", "files": [ + "Microsoft.Extensions.FileSystemGlobbing.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.FileSystemGlobbing.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.FileSystemGlobbing.nuspec", "lib/dotnet5.4/Microsoft.Extensions.FileSystemGlobbing.dll", "lib/dotnet5.4/Microsoft.Extensions.FileSystemGlobbing.xml", "lib/net451/Microsoft.Extensions.FileSystemGlobbing.dll", - "lib/net451/Microsoft.Extensions.FileSystemGlobbing.xml", - "Microsoft.Extensions.FileSystemGlobbing.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.FileSystemGlobbing.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.FileSystemGlobbing.nuspec" + "lib/net451/Microsoft.Extensions.FileSystemGlobbing.xml" ] }, "Microsoft.Extensions.Globalization.CultureInfoCache/1.0.0-rc1-final": { - "type": "package", "sha512": "HZggxvkQz5r5Dp36eCdnV8A/fmuhlK2xxmSnUKPES4w3l0C8mzbRLoJlPVdxyd9xy00odSlS5tz8w2IegZcqBQ==", + "type": "package", "files": [ + "Microsoft.Extensions.Globalization.CultureInfoCache.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Globalization.CultureInfoCache.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Globalization.CultureInfoCache.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Globalization.CultureInfoCache.dll", "lib/dotnet5.4/Microsoft.Extensions.Globalization.CultureInfoCache.xml", "lib/net451/Microsoft.Extensions.Globalization.CultureInfoCache.dll", - "lib/net451/Microsoft.Extensions.Globalization.CultureInfoCache.xml", - "Microsoft.Extensions.Globalization.CultureInfoCache.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Globalization.CultureInfoCache.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Globalization.CultureInfoCache.nuspec" + "lib/net451/Microsoft.Extensions.Globalization.CultureInfoCache.xml" ] }, "Microsoft.Extensions.Localization/1.0.0-rc1-final": { - "type": "package", "sha512": "nt1CcD9lUXyYl0Y+ecAr2DtPI3rRCs5f1zUKRl5rN8SFOXHXK21V6kycFVP+VckUD39jsTTLuxKSKGCuBZ/9+Q==", + "type": "package", "files": [ + "Microsoft.Extensions.Localization.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Localization.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Localization.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Localization.dll", "lib/dotnet5.4/Microsoft.Extensions.Localization.xml", "lib/net451/Microsoft.Extensions.Localization.dll", - "lib/net451/Microsoft.Extensions.Localization.xml", - "Microsoft.Extensions.Localization.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Localization.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Localization.nuspec" + "lib/net451/Microsoft.Extensions.Localization.xml" ] }, "Microsoft.Extensions.Localization.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "0Z6Knet4Re5ZLIpixjLX9w8TrTPjsB3F/b9EIN1RdX5inXkdOrnpgiT6j/PzcgUcCNlCXe1dTqutVSDE6+26ig==", + "type": "package", "files": [ + "Microsoft.Extensions.Localization.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Localization.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Localization.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Localization.Abstractions.dll", "lib/dotnet5.4/Microsoft.Extensions.Localization.Abstractions.xml", "lib/net451/Microsoft.Extensions.Localization.Abstractions.dll", - "lib/net451/Microsoft.Extensions.Localization.Abstractions.xml", - "Microsoft.Extensions.Localization.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Localization.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Localization.Abstractions.nuspec" + "lib/net451/Microsoft.Extensions.Localization.Abstractions.xml" ] }, "Microsoft.Extensions.Logging/1.0.0-rc1-final": { - "type": "package", "sha512": "anegHH4XHjaCmC557A0uvnJzprT44MOKr669yfiQLtITA+lQrM3aMijxjjdCREnxE8ftXuSz+6wViCvkgcAOhA==", + "type": "package", "files": [ + "Microsoft.Extensions.Logging.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Logging.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Logging.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Logging.dll", "lib/dotnet5.4/Microsoft.Extensions.Logging.xml", "lib/net451/Microsoft.Extensions.Logging.dll", "lib/net451/Microsoft.Extensions.Logging.xml", "lib/netcore50/Microsoft.Extensions.Logging.dll", - "lib/netcore50/Microsoft.Extensions.Logging.xml", - "Microsoft.Extensions.Logging.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Logging.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Logging.nuspec" + "lib/netcore50/Microsoft.Extensions.Logging.xml" ] }, "Microsoft.Extensions.Logging.Abstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "ejGO1JhPXMsCCSyH12xwkOYsb9oBv2gHc3LLaT2jevrD//xuQizWaxpVk0/rHGdORkWdp+kT2Qmuz/sLyNWW/g==", + "type": "package", "files": [ + "Microsoft.Extensions.Logging.Abstractions.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Logging.Abstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Logging.Abstractions.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Logging.Abstractions.dll", "lib/dotnet5.4/Microsoft.Extensions.Logging.Abstractions.xml", "lib/net451/Microsoft.Extensions.Logging.Abstractions.dll", "lib/net451/Microsoft.Extensions.Logging.Abstractions.xml", "lib/netcore50/Microsoft.Extensions.Logging.Abstractions.dll", - "lib/netcore50/Microsoft.Extensions.Logging.Abstractions.xml", - "Microsoft.Extensions.Logging.Abstractions.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Logging.Abstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Logging.Abstractions.nuspec" + "lib/netcore50/Microsoft.Extensions.Logging.Abstractions.xml" ] }, "Microsoft.Extensions.Logging.Console/1.0.0-rc1-final": { - "type": "package", "sha512": "zUklTASL2my5gp291VZuK6YMLit9ECmU7gDNN/gDwqO3EB1CDyKQtGQBtABNNgJw/0In8mFFNbsiGYhZ8xFUJA==", + "type": "package", "files": [ + "Microsoft.Extensions.Logging.Console.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Logging.Console.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Logging.Console.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Logging.Console.dll", "lib/dotnet5.4/Microsoft.Extensions.Logging.Console.xml", "lib/net451/Microsoft.Extensions.Logging.Console.dll", "lib/net451/Microsoft.Extensions.Logging.Console.xml", "lib/netcore50/Microsoft.Extensions.Logging.Console.dll", - "lib/netcore50/Microsoft.Extensions.Logging.Console.xml", - "Microsoft.Extensions.Logging.Console.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Logging.Console.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Logging.Console.nuspec" + "lib/netcore50/Microsoft.Extensions.Logging.Console.xml" ] }, "Microsoft.Extensions.Logging.Debug/1.0.0-rc1-final": { - "type": "package", "sha512": "MBBASQ1nP6TeQndLQIr2iBYicVwZB64T14cnsvTuiWsV/aj5nFtR23hLYOJL2JJkrkU25/1/knxDpfH+0vG96g==", + "type": "package", "files": [ + "Microsoft.Extensions.Logging.Debug.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Logging.Debug.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Logging.Debug.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Logging.Debug.dll", "lib/dotnet5.4/Microsoft.Extensions.Logging.Debug.xml", "lib/net451/Microsoft.Extensions.Logging.Debug.dll", "lib/net451/Microsoft.Extensions.Logging.Debug.xml", "lib/netcore50/Microsoft.Extensions.Logging.Debug.dll", - "lib/netcore50/Microsoft.Extensions.Logging.Debug.xml", - "Microsoft.Extensions.Logging.Debug.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Logging.Debug.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Logging.Debug.nuspec" + "lib/netcore50/Microsoft.Extensions.Logging.Debug.xml" ] }, "Microsoft.Extensions.MemoryPool/1.0.0-rc1-final": { - "type": "package", "sha512": "QaWADlihqf1DDDLqav1v5u7ObNF7qqPpt4CyN7xBwSx0/jhFjtDnFnKswNYgC/kNFJWZ+crF22AR19M3LlQRaQ==", + "type": "package", "files": [ + "Microsoft.Extensions.MemoryPool.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.MemoryPool.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.MemoryPool.nuspec", "lib/dotnet5.4/Microsoft.Extensions.MemoryPool.dll", "lib/dotnet5.4/Microsoft.Extensions.MemoryPool.xml", "lib/net451/Microsoft.Extensions.MemoryPool.dll", - "lib/net451/Microsoft.Extensions.MemoryPool.xml", - "Microsoft.Extensions.MemoryPool.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.MemoryPool.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.MemoryPool.nuspec" + "lib/net451/Microsoft.Extensions.MemoryPool.xml" ] }, "Microsoft.Extensions.Options/0.0.1-alpha": { - "type": "package", "sha512": "5zH0KTUqMzt66T9dcJy2x7imjsAHgqctudJGWDKHtNtyKsedyv0xAc7PLStFfrkZQjlqtn/X8QpHnsGEl+fMwQ==", + "type": "package", "files": [ - "content/Readme.txt", "Microsoft.Extensions.Options.0.0.1-alpha.nupkg", "Microsoft.Extensions.Options.0.0.1-alpha.nupkg.sha512", - "Microsoft.Extensions.Options.nuspec" + "Microsoft.Extensions.Options.nuspec", + "content/Readme.txt" ] }, "Microsoft.Extensions.OptionsModel/1.0.0-rc1-final": { - "type": "package", "sha512": "IhK5pNqRgakrwiv5OrB6hv7e6+TZzYqfJr40Qri0Xgi+oXJklNgbA5eHvzZrghdHfqfSqcvLWtWD0ri6e8Eo1w==", + "type": "package", "files": [ + "Microsoft.Extensions.OptionsModel.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.OptionsModel.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.OptionsModel.nuspec", "lib/dotnet5.4/Microsoft.Extensions.OptionsModel.dll", "lib/dotnet5.4/Microsoft.Extensions.OptionsModel.xml", "lib/net451/Microsoft.Extensions.OptionsModel.dll", "lib/net451/Microsoft.Extensions.OptionsModel.xml", "lib/netcore50/Microsoft.Extensions.OptionsModel.dll", - "lib/netcore50/Microsoft.Extensions.OptionsModel.xml", - "Microsoft.Extensions.OptionsModel.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.OptionsModel.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.OptionsModel.nuspec" + "lib/netcore50/Microsoft.Extensions.OptionsModel.xml" ] }, "Microsoft.Extensions.PlatformAbstractions/1.0.0-rc1-final": { - "type": "package", "sha512": "26HS4c6MBisN+D7XUr8HObOI/JJvSJQYQR//Bfw/hi9UqhqK3lFpNKjOuYHI+gTxYdXT46HqZiz4D+k7d+ob3A==", + "type": "package", "files": [ + "Microsoft.Extensions.PlatformAbstractions.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.PlatformAbstractions.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.PlatformAbstractions.nuspec", "lib/dotnet5.4/Microsoft.Extensions.PlatformAbstractions.dll", "lib/dotnet5.4/Microsoft.Extensions.PlatformAbstractions.xml", "lib/net451/Microsoft.Extensions.PlatformAbstractions.dll", - "lib/net451/Microsoft.Extensions.PlatformAbstractions.xml", - "Microsoft.Extensions.PlatformAbstractions.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.PlatformAbstractions.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.PlatformAbstractions.nuspec" + "lib/net451/Microsoft.Extensions.PlatformAbstractions.xml" ] }, "Microsoft.Extensions.Primitives/1.0.0-rc1-final": { - "type": "package", "sha512": "oHWqBARJveyM7LctuqQqvsTC58hxoq0gGnHr6Qsxie71LIkZpfE21IklhSLOsqmv4QIpes/G6k1vZbAQ+cC/nw==", + "type": "package", "files": [ + "Microsoft.Extensions.Primitives.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.Primitives.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.Primitives.nuspec", "lib/dotnet5.4/Microsoft.Extensions.Primitives.dll", "lib/dotnet5.4/Microsoft.Extensions.Primitives.xml", "lib/net451/Microsoft.Extensions.Primitives.dll", "lib/net451/Microsoft.Extensions.Primitives.xml", "lib/netcore50/Microsoft.Extensions.Primitives.dll", - "lib/netcore50/Microsoft.Extensions.Primitives.xml", - "Microsoft.Extensions.Primitives.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.Primitives.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.Primitives.nuspec" + "lib/netcore50/Microsoft.Extensions.Primitives.xml" ] }, "Microsoft.Extensions.WebEncoders/1.0.0-rc1-final": { - "type": "package", "sha512": "wzBnlP/2tFePKvM+DNyRuf6mWt9BxCRjdQBFi+9xUz0DhFdhMzLKN97ZE9/fd36rUVjd2JwlGqHUOSYQURNhfw==", + "type": "package", "files": [ + "Microsoft.Extensions.WebEncoders.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.WebEncoders.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.WebEncoders.nuspec", "lib/dotnet5.4/Microsoft.Extensions.WebEncoders.dll", "lib/dotnet5.4/Microsoft.Extensions.WebEncoders.xml", "lib/net451/Microsoft.Extensions.WebEncoders.dll", - "lib/net451/Microsoft.Extensions.WebEncoders.xml", - "Microsoft.Extensions.WebEncoders.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.WebEncoders.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.WebEncoders.nuspec" + "lib/net451/Microsoft.Extensions.WebEncoders.xml" ] }, "Microsoft.Extensions.WebEncoders.Core/1.0.0-rc1-final": { - "type": "package", "sha512": "wt47w3Zu7JvuD7CfRSCaz0IZL5EzpuzicRm6Qcidteb2TVeB98Psg7YGiwIBeYB1b52YFTBgqC+ySKk/GRhy2A==", + "type": "package", "files": [ + "Microsoft.Extensions.WebEncoders.Core.1.0.0-rc1-final.nupkg", + "Microsoft.Extensions.WebEncoders.Core.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Extensions.WebEncoders.Core.nuspec", "lib/dotnet5.4/Microsoft.Extensions.WebEncoders.Core.dll", "lib/dotnet5.4/Microsoft.Extensions.WebEncoders.Core.xml", "lib/net451/Microsoft.Extensions.WebEncoders.Core.dll", - "lib/net451/Microsoft.Extensions.WebEncoders.Core.xml", - "Microsoft.Extensions.WebEncoders.Core.1.0.0-rc1-final.nupkg", - "Microsoft.Extensions.WebEncoders.Core.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Extensions.WebEncoders.Core.nuspec" + "lib/net451/Microsoft.Extensions.WebEncoders.Core.xml" ] }, "Microsoft.Framework.Configuration/1.0.0-beta8": { - "type": "package", "sha512": "M2Fg4gBigELMjFow/w44eGZe7VICY6naOe8R6jKbtsXpDTKFsfCuXxpZcUfIgI791hs7Ney88IjxZ3XudsgJeg==", + "type": "package", "files": [ + "Microsoft.Framework.Configuration.1.0.0-beta8.nupkg", + "Microsoft.Framework.Configuration.1.0.0-beta8.nupkg.sha512", + "Microsoft.Framework.Configuration.nuspec", "lib/dnx451/Microsoft.Framework.Configuration.dll", "lib/dnx451/Microsoft.Framework.Configuration.xml", "lib/dnxcore50/Microsoft.Framework.Configuration.dll", @@ -10271,16 +4631,16 @@ "lib/dotnet/Microsoft.Framework.Configuration.dll", "lib/dotnet/Microsoft.Framework.Configuration.xml", "lib/net45/Microsoft.Framework.Configuration.dll", - "lib/net45/Microsoft.Framework.Configuration.xml", - "Microsoft.Framework.Configuration.1.0.0-beta8.nupkg", - "Microsoft.Framework.Configuration.1.0.0-beta8.nupkg.sha512", - "Microsoft.Framework.Configuration.nuspec" + "lib/net45/Microsoft.Framework.Configuration.xml" ] }, "Microsoft.Framework.Configuration.Abstractions/1.0.0-beta8": { - "type": "package", "sha512": "WH5zC6AkShx6VZzZT37tl0QPROkR6zdffACEIPiDyPyqyf+DtWN5Z6v1q9OD5q6CfAij18EwqWaF1eWtYBigNw==", + "type": "package", "files": [ + "Microsoft.Framework.Configuration.Abstractions.1.0.0-beta8.nupkg", + "Microsoft.Framework.Configuration.Abstractions.1.0.0-beta8.nupkg.sha512", + "Microsoft.Framework.Configuration.Abstractions.nuspec", "lib/dnx451/Microsoft.Framework.Configuration.Abstractions.dll", "lib/dnx451/Microsoft.Framework.Configuration.Abstractions.xml", "lib/dnxcore50/Microsoft.Framework.Configuration.Abstractions.dll", @@ -10288,16 +4648,16 @@ "lib/dotnet/Microsoft.Framework.Configuration.Abstractions.dll", "lib/dotnet/Microsoft.Framework.Configuration.Abstractions.xml", "lib/net45/Microsoft.Framework.Configuration.Abstractions.dll", - "lib/net45/Microsoft.Framework.Configuration.Abstractions.xml", - "Microsoft.Framework.Configuration.Abstractions.1.0.0-beta8.nupkg", - "Microsoft.Framework.Configuration.Abstractions.1.0.0-beta8.nupkg.sha512", - "Microsoft.Framework.Configuration.Abstractions.nuspec" + "lib/net45/Microsoft.Framework.Configuration.Abstractions.xml" ] }, "Microsoft.Framework.Configuration.Binder/1.0.0-beta8": { - "type": "package", "sha512": "6BWMPvDuy6nTe32z2JWsoiLljVhWagWkDhcN9EbvN4/ihGbnCWzKPIUCJ3a/1s9k/ZsWp4VZtxeuSaZ+60qQbQ==", + "type": "package", "files": [ + "Microsoft.Framework.Configuration.Binder.1.0.0-beta8.nupkg", + "Microsoft.Framework.Configuration.Binder.1.0.0-beta8.nupkg.sha512", + "Microsoft.Framework.Configuration.Binder.nuspec", "lib/dnx451/Microsoft.Framework.Configuration.Binder.dll", "lib/dnx451/Microsoft.Framework.Configuration.Binder.xml", "lib/dnxcore50/Microsoft.Framework.Configuration.Binder.dll", @@ -10305,31 +4665,31 @@ "lib/dotnet/Microsoft.Framework.Configuration.Binder.dll", "lib/dotnet/Microsoft.Framework.Configuration.Binder.xml", "lib/net45/Microsoft.Framework.Configuration.Binder.dll", - "lib/net45/Microsoft.Framework.Configuration.Binder.xml", - "Microsoft.Framework.Configuration.Binder.1.0.0-beta8.nupkg", - "Microsoft.Framework.Configuration.Binder.1.0.0-beta8.nupkg.sha512", - "Microsoft.Framework.Configuration.Binder.nuspec" + "lib/net45/Microsoft.Framework.Configuration.Binder.xml" ] }, "Microsoft.Framework.Configuration.FileExtensions/1.0.0-beta8": { - "type": "package", "sha512": "+hsytl/Puj6Gc6U934Y7n3hfdkJG7lfvasIwY0RnAmsTSxJ6pF54A/mR3d/EwSHyUyMlgSnSHeoTXZ4u8RfJsA==", + "type": "package", "files": [ + "Microsoft.Framework.Configuration.FileExtensions.1.0.0-beta8.nupkg", + "Microsoft.Framework.Configuration.FileExtensions.1.0.0-beta8.nupkg.sha512", + "Microsoft.Framework.Configuration.FileExtensions.nuspec", "lib/dnx451/Microsoft.Framework.Configuration.FileExtensions.dll", "lib/dnx451/Microsoft.Framework.Configuration.FileExtensions.xml", "lib/dotnet/Microsoft.Framework.Configuration.FileExtensions.dll", "lib/dotnet/Microsoft.Framework.Configuration.FileExtensions.xml", "lib/net45/Microsoft.Framework.Configuration.FileExtensions.dll", - "lib/net45/Microsoft.Framework.Configuration.FileExtensions.xml", - "Microsoft.Framework.Configuration.FileExtensions.1.0.0-beta8.nupkg", - "Microsoft.Framework.Configuration.FileExtensions.1.0.0-beta8.nupkg.sha512", - "Microsoft.Framework.Configuration.FileExtensions.nuspec" + "lib/net45/Microsoft.Framework.Configuration.FileExtensions.xml" ] }, "Microsoft.Framework.Configuration.Json/1.0.0-beta8": { - "type": "package", "sha512": "dfA9iuKWri9gVaAY7XEQMXP5C+PMalC+0vDhv9AUuawwuTeQm11JhOwXzdPu/FM4Bbwm33kHlVkLrHRW403XIA==", + "type": "package", "files": [ + "Microsoft.Framework.Configuration.Json.1.0.0-beta8.nupkg", + "Microsoft.Framework.Configuration.Json.1.0.0-beta8.nupkg.sha512", + "Microsoft.Framework.Configuration.Json.nuspec", "lib/dnx451/Microsoft.Framework.Configuration.Json.dll", "lib/dnx451/Microsoft.Framework.Configuration.Json.xml", "lib/dnxcore50/Microsoft.Framework.Configuration.Json.dll", @@ -10337,16 +4697,16 @@ "lib/dotnet/Microsoft.Framework.Configuration.Json.dll", "lib/dotnet/Microsoft.Framework.Configuration.Json.xml", "lib/net45/Microsoft.Framework.Configuration.Json.dll", - "lib/net45/Microsoft.Framework.Configuration.Json.xml", - "Microsoft.Framework.Configuration.Json.1.0.0-beta8.nupkg", - "Microsoft.Framework.Configuration.Json.1.0.0-beta8.nupkg.sha512", - "Microsoft.Framework.Configuration.Json.nuspec" + "lib/net45/Microsoft.Framework.Configuration.Json.xml" ] }, "Microsoft.Framework.ConfigurationModel/1.0.0-beta4": { - "type": "package", "sha512": "VD5MhmQRhYVfxyDs1fyruPTj3pYwLMV5dXJkPUVg1KKbJ9qr/tEn3frJA1NN1jdeVBt1RrW5FXr+wWG9YoO9Yg==", + "type": "package", "files": [ + "Microsoft.Framework.ConfigurationModel.1.0.0-beta4.nupkg", + "Microsoft.Framework.ConfigurationModel.1.0.0-beta4.nupkg.sha512", + "Microsoft.Framework.ConfigurationModel.nuspec", "lib/dnx451/Microsoft.Framework.ConfigurationModel.dll", "lib/dnx451/Microsoft.Framework.ConfigurationModel.xml", "lib/dnxcore50/Microsoft.Framework.ConfigurationModel.dll", @@ -10354,16 +4714,16 @@ "lib/net45/Microsoft.Framework.ConfigurationModel.dll", "lib/net45/Microsoft.Framework.ConfigurationModel.xml", "lib/portable-net451+win81+wpa81/Microsoft.Framework.ConfigurationModel.dll", - "lib/portable-net451+win81+wpa81/Microsoft.Framework.ConfigurationModel.xml", - "Microsoft.Framework.ConfigurationModel.1.0.0-beta4.nupkg", - "Microsoft.Framework.ConfigurationModel.1.0.0-beta4.nupkg.sha512", - "Microsoft.Framework.ConfigurationModel.nuspec" + "lib/portable-net451+win81+wpa81/Microsoft.Framework.ConfigurationModel.xml" ] }, "Microsoft.Framework.ConfigurationModel.Interfaces/1.0.0-beta4": { - "type": "package", "sha512": "lU9+gyEz+jSeR+QsZxZtDf0U2DS/pl3I8/m7YeKjHMnjqoxUKFbSOpzegll7bhq0Alw7/8gF2Byrcy+PlzRc/g==", + "type": "package", "files": [ + "Microsoft.Framework.ConfigurationModel.Interfaces.1.0.0-beta4.nupkg", + "Microsoft.Framework.ConfigurationModel.Interfaces.1.0.0-beta4.nupkg.sha512", + "Microsoft.Framework.ConfigurationModel.Interfaces.nuspec", "lib/dnx451/Microsoft.Framework.ConfigurationModel.Interfaces.dll", "lib/dnx451/Microsoft.Framework.ConfigurationModel.Interfaces.xml", "lib/dnxcore50/Microsoft.Framework.ConfigurationModel.Interfaces.dll", @@ -10371,121 +4731,118 @@ "lib/net45/Microsoft.Framework.ConfigurationModel.Interfaces.dll", "lib/net45/Microsoft.Framework.ConfigurationModel.Interfaces.xml", "lib/portable-net451+win81+wpa81/Microsoft.Framework.ConfigurationModel.Interfaces.dll", - "lib/portable-net451+win81+wpa81/Microsoft.Framework.ConfigurationModel.Interfaces.xml", - "Microsoft.Framework.ConfigurationModel.Interfaces.1.0.0-beta4.nupkg", - "Microsoft.Framework.ConfigurationModel.Interfaces.1.0.0-beta4.nupkg.sha512", - "Microsoft.Framework.ConfigurationModel.Interfaces.nuspec" + "lib/portable-net451+win81+wpa81/Microsoft.Framework.ConfigurationModel.Interfaces.xml" ] }, "Microsoft.Framework.ConfigurationModel.Json/1.0.0-beta4": { - "type": "package", "sha512": "ygdShf5lzRsqe7/pMNSaiq6AcAy0eIhp8WFUtYfqQnsxhMJFcw/VlIFvie8+DkYhacdmGkXTF4OGopjjwfg02A==", + "type": "package", "files": [ + "Microsoft.Framework.ConfigurationModel.Json.1.0.0-beta4.nupkg", + "Microsoft.Framework.ConfigurationModel.Json.1.0.0-beta4.nupkg.sha512", + "Microsoft.Framework.ConfigurationModel.Json.nuspec", "lib/dnx451/Microsoft.Framework.ConfigurationModel.Json.dll", "lib/dnx451/Microsoft.Framework.ConfigurationModel.Json.xml", "lib/dnxcore50/Microsoft.Framework.ConfigurationModel.Json.dll", "lib/dnxcore50/Microsoft.Framework.ConfigurationModel.Json.xml", "lib/net45/Microsoft.Framework.ConfigurationModel.Json.dll", - "lib/net45/Microsoft.Framework.ConfigurationModel.Json.xml", - "Microsoft.Framework.ConfigurationModel.Json.1.0.0-beta4.nupkg", - "Microsoft.Framework.ConfigurationModel.Json.1.0.0-beta4.nupkg.sha512", - "Microsoft.Framework.ConfigurationModel.Json.nuspec" + "lib/net45/Microsoft.Framework.ConfigurationModel.Json.xml" ] }, "Microsoft.Framework.Runtime.Interfaces/1.0.0-beta4": { - "type": "package", "sha512": "RrZdqvUm8QbgxnZQuafYGo6NezoKx7VqAfAtHVzoKBm3GSV8xlPh90u1fsGhNCv37xJNk5PuRCa4Mq27ko7pLw==", + "type": "package", "files": [ + "Microsoft.Framework.Runtime.Interfaces.1.0.0-beta4.nupkg", + "Microsoft.Framework.Runtime.Interfaces.1.0.0-beta4.nupkg.sha512", + "Microsoft.Framework.Runtime.Interfaces.nuspec", "lib/dnx451/Microsoft.Framework.Runtime.Interfaces.dll", "lib/dnx451/Microsoft.Framework.Runtime.Interfaces.xml", "lib/dnxcore50/Microsoft.Framework.Runtime.Interfaces.dll", - "lib/dnxcore50/Microsoft.Framework.Runtime.Interfaces.xml", - "Microsoft.Framework.Runtime.Interfaces.1.0.0-beta4.nupkg", - "Microsoft.Framework.Runtime.Interfaces.1.0.0-beta4.nupkg.sha512", - "Microsoft.Framework.Runtime.Interfaces.nuspec" + "lib/dnxcore50/Microsoft.Framework.Runtime.Interfaces.xml" ] }, "Microsoft.IdentityModel.Logging/1.0.0-rc1-211161024": { - "type": "package", "sha512": "creXwpCysjVpRx+IsZSf8mxCT9lZ/VY1T6wR6zFFulPXV1UZysVURmLd/IgJg/p9pAtcrU5yIbRC9Az3j73+nA==", + "type": "package", "files": [ + "Microsoft.IdentityModel.Logging.1.0.0-rc1-211161024.nupkg", + "Microsoft.IdentityModel.Logging.1.0.0-rc1-211161024.nupkg.sha512", + "Microsoft.IdentityModel.Logging.nuspec", "lib/dotnet5.4/Microsoft.IdentityModel.Logging.dll", "lib/dotnet5.4/Microsoft.IdentityModel.Logging.xml", "lib/net451/Microsoft.IdentityModel.Logging.dll", - "lib/net451/Microsoft.IdentityModel.Logging.xml", - "Microsoft.IdentityModel.Logging.1.0.0-rc1-211161024.nupkg", - "Microsoft.IdentityModel.Logging.1.0.0-rc1-211161024.nupkg.sha512", - "Microsoft.IdentityModel.Logging.nuspec" + "lib/net451/Microsoft.IdentityModel.Logging.xml" ] }, "Microsoft.IdentityModel.Protocols/2.0.0-rc1-211161024": { - "type": "package", "sha512": "1/I4nkZCKjNg9jIASv2sNIi8RvdsYLi/efbylZEw+zvtBgNfNEvdCeAsIVyX3A4pR0yQwtIdz+kTYRTs2diSEQ==", + "type": "package", "files": [ + "Microsoft.IdentityModel.Protocols.2.0.0-rc1-211161024.nupkg", + "Microsoft.IdentityModel.Protocols.2.0.0-rc1-211161024.nupkg.sha512", + "Microsoft.IdentityModel.Protocols.nuspec", "lib/dotnet5.4/Microsoft.IdentityModel.Protocols.dll", "lib/dotnet5.4/Microsoft.IdentityModel.Protocols.xml", "lib/net451/Microsoft.IdentityModel.Protocols.dll", - "lib/net451/Microsoft.IdentityModel.Protocols.xml", - "Microsoft.IdentityModel.Protocols.2.0.0-rc1-211161024.nupkg", - "Microsoft.IdentityModel.Protocols.2.0.0-rc1-211161024.nupkg.sha512", - "Microsoft.IdentityModel.Protocols.nuspec" + "lib/net451/Microsoft.IdentityModel.Protocols.xml" ] }, "Microsoft.IdentityModel.Protocols.OpenIdConnect/2.0.0-rc1-211161024": { - "type": "package", "sha512": "4xW6TBJ4ys3p+KtHwzddq8pkdxFoUtRlHYcHECK9YtZxkp4omLA9NUGrHRZ57RGN31vPdSzX3u1ujiA2Bqpo+A==", + "type": "package", "files": [ + "Microsoft.IdentityModel.Protocols.OpenIdConnect.2.0.0-rc1-211161024.nupkg", + "Microsoft.IdentityModel.Protocols.OpenIdConnect.2.0.0-rc1-211161024.nupkg.sha512", + "Microsoft.IdentityModel.Protocols.OpenIdConnect.nuspec", "lib/dotnet5.4/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll", "lib/dotnet5.4/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml", "lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll", - "lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml", - "Microsoft.IdentityModel.Protocols.OpenIdConnect.2.0.0-rc1-211161024.nupkg", - "Microsoft.IdentityModel.Protocols.OpenIdConnect.2.0.0-rc1-211161024.nupkg.sha512", - "Microsoft.IdentityModel.Protocols.OpenIdConnect.nuspec" + "lib/net451/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml" ] }, "Microsoft.Net.Http.Headers/1.0.0-rc1-final": { - "type": "package", "sha512": "Y10hkmHQZLieW3J6J+vTiq86vifmJ7Vc2zrwNR349oAaUGjTHL0ws6rqHn0JDIcawBna4AE3OBNsL9vuZuE8bw==", + "type": "package", "files": [ + "Microsoft.Net.Http.Headers.1.0.0-rc1-final.nupkg", + "Microsoft.Net.Http.Headers.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Net.Http.Headers.nuspec", "lib/dotnet5.4/Microsoft.Net.Http.Headers.dll", "lib/dotnet5.4/Microsoft.Net.Http.Headers.xml", "lib/net451/Microsoft.Net.Http.Headers.dll", - "lib/net451/Microsoft.Net.Http.Headers.xml", - "Microsoft.Net.Http.Headers.1.0.0-rc1-final.nupkg", - "Microsoft.Net.Http.Headers.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Net.Http.Headers.nuspec" + "lib/net451/Microsoft.Net.Http.Headers.xml" ] }, "Microsoft.Net.Http.Server/1.0.0-rc1-final": { - "type": "package", "sha512": "XQMZUf0SbVzjTX0vyiVr0LP3Cygy1wCPDZmDla9Yeqc07HvSZ02Sg4qTSKiNV2h85yY3Dka+MNmL3XoYmnsEAA==", + "type": "package", "files": [ + "Microsoft.Net.Http.Server.1.0.0-rc1-final.nupkg", + "Microsoft.Net.Http.Server.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Net.Http.Server.nuspec", "lib/dotnet5.4/Microsoft.Net.Http.Server.dll", "lib/dotnet5.4/Microsoft.Net.Http.Server.xml", "lib/net451/Microsoft.Net.Http.Server.dll", - "lib/net451/Microsoft.Net.Http.Server.xml", - "Microsoft.Net.Http.Server.1.0.0-rc1-final.nupkg", - "Microsoft.Net.Http.Server.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Net.Http.Server.nuspec" + "lib/net451/Microsoft.Net.Http.Server.xml" ] }, "Microsoft.Net.WebSockets/1.0.0-rc1-final": { - "type": "package", "sha512": "DIzmA7s2sNBEq+Wz5cCPFAYKx1WGiLE7iCVrA7Lvhxf/+EzPWeaKlCYvjSHTPNViZsX/eUI5vsiDmqK/5tZjQA==", + "type": "package", "files": [ + "Microsoft.Net.WebSockets.1.0.0-rc1-final.nupkg", + "Microsoft.Net.WebSockets.1.0.0-rc1-final.nupkg.sha512", + "Microsoft.Net.WebSockets.nuspec", "lib/dotnet5.4/Microsoft.Net.WebSockets.dll", "lib/dotnet5.4/Microsoft.Net.WebSockets.xml", "lib/net451/Microsoft.Net.WebSockets.dll", - "lib/net451/Microsoft.Net.WebSockets.xml", - "Microsoft.Net.WebSockets.1.0.0-rc1-final.nupkg", - "Microsoft.Net.WebSockets.1.0.0-rc1-final.nupkg.sha512", - "Microsoft.Net.WebSockets.nuspec" + "lib/net451/Microsoft.Net.WebSockets.xml" ] }, "Microsoft.NETCore.Platforms/1.0.1-beta-23516": { - "type": "package", "sha512": "YPVzF1z1qhI3am4/I3EWEjn5hxm1wnIbHTRp6nrfKOoj0NBGtubVTTQmC3l5VZIbwmygiMVbWdbFhzJwWJXNEw==", + "type": "package", "files": [ "Microsoft.NETCore.Platforms.1.0.1-beta-23516.nupkg", "Microsoft.NETCore.Platforms.1.0.1-beta-23516.nupkg.sha512", @@ -10494,8 +4851,8 @@ ] }, "Microsoft.NETCore.Targets/1.0.1-beta-23516": { - "type": "package", "sha512": "11J+6atPf0UYQnpr8aKy6Xx+O9rAf/46OyODFY8gFbKkW/PVIh7iSHziukpvWZ+hI/ieFklGMopDU1MiUELutQ==", + "type": "package", "files": [ "Microsoft.NETCore.Targets.1.0.1-beta-23516.nupkg", "Microsoft.NETCore.Targets.1.0.1-beta-23516.nupkg.sha512", @@ -10504,48 +4861,54 @@ ] }, "Microsoft.Owin/2.1.0": { - "type": "package", "sha512": "lk0kK64mlmcmtWX8YOYkZsnZKDoGEzMZhe8e1bcP+FFcgD4f2QfKwvu5Z8Bh8WS0VO7Rgk+DJ0hwW0k+S/UGMg==", + "type": "package", "files": [ - "lib/net40/Microsoft.Owin.dll", - "lib/net40/Microsoft.Owin.XML", - "lib/net45/Microsoft.Owin.dll", - "lib/net45/Microsoft.Owin.XML", "Microsoft.Owin.2.1.0.nupkg", "Microsoft.Owin.2.1.0.nupkg.sha512", - "Microsoft.Owin.nuspec" + "Microsoft.Owin.nuspec", + "lib/net40/Microsoft.Owin.XML", + "lib/net40/Microsoft.Owin.dll", + "lib/net45/Microsoft.Owin.XML", + "lib/net45/Microsoft.Owin.dll" ] }, "Microsoft.Owin.Security/2.1.0": { - "type": "package", "sha512": "4n1V0p+O6W1L0xHUM8Cjp2Y+MmmUkiCZv6PvRNIDCJD9zlerBJa2HECo9lUiWC+KuasQJ3QxB1FmipNBxdXXIQ==", + "type": "package", "files": [ - "lib/net45/Microsoft.Owin.Security.dll", - "lib/net45/Microsoft.Owin.Security.XML", "Microsoft.Owin.Security.2.1.0.nupkg", "Microsoft.Owin.Security.2.1.0.nupkg.sha512", - "Microsoft.Owin.Security.nuspec" + "Microsoft.Owin.Security.nuspec", + "lib/net45/Microsoft.Owin.Security.XML", + "lib/net45/Microsoft.Owin.Security.dll" ] }, "Microsoft.Web.Infrastructure/1.0.0": { - "type": "package", "sha512": "FNmvLn5m2LTU/Rs2KWVo0SIIh9Ek+U0ojex7xeDaSHw/zgEP77A8vY5cVWgUtBGS8MJfDGNn8rpXJWEIQaPwTg==", + "type": "package", "files": [ - "lib/net40/Microsoft.Web.Infrastructure.dll", "Microsoft.Web.Infrastructure.1.0.0.nupkg", "Microsoft.Web.Infrastructure.1.0.0.nupkg.sha512", - "Microsoft.Web.Infrastructure.nuspec" + "Microsoft.Web.Infrastructure.nuspec", + "lib/net40/Microsoft.Web.Infrastructure.dll" ] }, "MimeKit/1.3.0-beta7": { - "type": "package", "sha512": "M7F4OnPXfcI4AljQUdvok29vz3DEruiqIBDIn6zGVdFQpNpaVbmrp80YLX9SH2hJO+8fSOX6/k3ScUXqZheFSQ==", + "type": "package", "files": [ - "lib/dotnet5.4/MimeKit.dll", - "lib/dotnet5.4/MimeKit.xml", + "MimeKit.1.3.0-beta7.nupkg", + "MimeKit.1.3.0-beta7.nupkg.sha512", + "MimeKit.nuspec", "lib/MonoAndroid10/BouncyCastle.dll", "lib/MonoAndroid10/MimeKit.dll", "lib/MonoAndroid10/MimeKit.xml", + "lib/Xamarin.iOS10/BouncyCastle.dll", + "lib/Xamarin.iOS10/MimeKit.dll", + "lib/Xamarin.iOS10/MimeKit.xml", + "lib/dotnet5.4/MimeKit.dll", + "lib/dotnet5.4/MimeKit.xml", "lib/net35/BouncyCastle.dll", "lib/net35/BouncyCastle.xml", "lib/net35/MimeKit.dll", @@ -10567,19 +4930,15 @@ "lib/portable-net45+win+wp80+MonoAndroid10+Xamarin.iOS10+MonoTouch10/Portable.Text.Encoding.dll", "lib/wpa81/MimeKit.dll", "lib/wpa81/MimeKit.xml", - "lib/wpa81/Portable.Text.Encoding.dll", - "lib/Xamarin.iOS10/BouncyCastle.dll", - "lib/Xamarin.iOS10/MimeKit.dll", - "lib/Xamarin.iOS10/MimeKit.xml", - "MimeKit.1.3.0-beta7.nupkg", - "MimeKit.1.3.0-beta7.nupkg.sha512", - "MimeKit.nuspec" + "lib/wpa81/Portable.Text.Encoding.dll" ] }, "Newtonsoft.Json/7.0.1": { - "type": "package", "sha512": "q3V4KLetMLnt1gpAVWgtXnHjKs0UG/RalBc29u2ZKxd5t5Ze4JBL5WiiYIklJyK/5CRiIiNwigVQUo0FgbsuWA==", + "type": "package", "files": [ + "Newtonsoft.Json.7.0.1.nupkg.sha512", + "Newtonsoft.Json.nuspec", "lib/net20/Newtonsoft.Json.dll", "lib/net20/Newtonsoft.Json.xml", "lib/net35/Newtonsoft.Json.dll", @@ -10592,15 +4951,16 @@ "lib/portable-net40+sl5+wp80+win8+wpa81/Newtonsoft.Json.xml", "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.dll", "lib/portable-net45+wp80+win8+wpa81+dnxcore50/Newtonsoft.Json.xml", - "Newtonsoft.Json.7.0.1.nupkg.sha512", - "Newtonsoft.Json.nuspec", "tools/install.ps1" ] }, "Npgsql/3.1.0-alpha6": { - "type": "package", "sha512": "gYOozZ+PPgrw7zogHlBONFjZxNnagSWkDfVXZTamJy9zWRU/+O6pCHgEsEwsdENGaYC0RFvQUbDo5lIYA8kjpA==", + "type": "package", "files": [ + "Npgsql.3.1.0-alpha6.nupkg", + "Npgsql.3.1.0-alpha6.nupkg.sha512", + "Npgsql.nuspec", "app/project.json", "app/rewrite-async", "app/rewrite-async.cmd", @@ -10611,67 +4971,66 @@ "lib/net45/Npgsql.dll", "lib/net45/Npgsql.xml", "lib/net452/Npgsql.dll", - "lib/net452/Npgsql.xml", - "Npgsql.3.1.0-alpha6.nupkg", - "Npgsql.3.1.0-alpha6.nupkg.sha512", - "Npgsql.nuspec" + "lib/net452/Npgsql.xml" ] }, "Owin/1.0.0": { - "type": "package", "sha512": "OseTFniKmyp76mEzOBwIKGBRS5eMoYNkMKaMXOpxx9jv88+b6mh1rSaw43vjBOItNhaLFG3d0a20PfHyibH5sw==", + "type": "package", "files": [ - "lib/net40/Owin.dll", - "Owin.1.0.0.nupkg", "Owin.1.0.0.nupkg.sha512", - "Owin.nuspec" + "Owin.nuspec", + "lib/net40/Owin.dll" ] }, "PayPalButtonManagerSDK/2.10.109": { - "type": "package", "sha512": "6l95DlflMld+OmzOGaw3T6Mb9rZrywO1pR8jbafyvu34FId4osC1oo5RfgQVY0rwHkeTG359U+X3BPL6vVRT8Q==", + "type": "package", "files": [ - "lib/net20/PayPalButtonManagerSDK.dll", "PayPalButtonManagerSDK.2.10.109.nupkg", "PayPalButtonManagerSDK.2.10.109.nupkg.sha512", - "PayPalButtonManagerSDK.nuspec" + "PayPalButtonManagerSDK.nuspec", + "lib/net20/PayPalButtonManagerSDK.dll" ] }, "PayPalCoreSDK/1.7.1": { - "type": "package", "sha512": "hGOLo3X2vgOpOWJI91+vlBgr/Dchk3xZAF0bdIpKiAwjlRKMjzSC4zuT1eGwmQ8uVL1IaGBZwNGklyRHDniYlQ==", + "type": "package", "files": [ + "PayPalCoreSDK.1.7.1.nupkg", + "PayPalCoreSDK.1.7.1.nupkg.sha512", + "PayPalCoreSDK.nuspec", "lib/net20/PayPalCoreSDK.dll", "lib/net35/PayPalCoreSDK.dll", "lib/net40/PayPalCoreSDK.dll", "lib/net45/PayPalCoreSDK.dll", - "lib/net451/PayPalCoreSDK.dll", - "PayPalCoreSDK.1.7.1.nupkg", - "PayPalCoreSDK.1.7.1.nupkg.sha512", - "PayPalCoreSDK.nuspec" + "lib/net451/PayPalCoreSDK.dll" ] }, "Remotion.Linq/2.0.1": { - "type": "package", "sha512": "SIO6HDH6CU9GC2IZGBrc6q5X5vRhfatXrg9cVavCEG9W6v5e88b+vXjmLGQEorch4sYEIImRr+ODyUMyrmrqAg==", + "type": "package", "files": [ - "lib/net35/Remotion.Linq.dll", + "Remotion.Linq.2.0.1.nupkg", + "Remotion.Linq.2.0.1.nupkg.sha512", + "Remotion.Linq.nuspec", "lib/net35/Remotion.Linq.XML", - "lib/net40/Remotion.Linq.dll", + "lib/net35/Remotion.Linq.dll", "lib/net40/Remotion.Linq.XML", + "lib/net40/Remotion.Linq.dll", "lib/net45/Remotion.Linq.dll", "lib/net45/Remotion.Linq.xml", "lib/portable-net45+win+wpa81+wp80/Remotion.Linq.dll", - "lib/portable-net45+win+wpa81+wp80/Remotion.Linq.xml", - "Remotion.Linq.2.0.1.nupkg", - "Remotion.Linq.2.0.1.nupkg.sha512", - "Remotion.Linq.nuspec" + "lib/portable-net45+win+wpa81+wp80/Remotion.Linq.xml" ] }, "System.Collections/4.0.0": { + "sha512": "9hnfBZJ2POQlFL8rKAckFUm1bLN4JyRPBk9sb+OldHKqJ0V3Hbj2+nbLGy5jd9BFk0RqGk5iJtM1weNTMveLMQ==", "type": "package", - "sha512": "i2vsGDIEbWdHcUSNDPKZP/ZWod6o740el7mGTCy0dqbCxQh74W4QoC+klUwPEtGEFuvzJ7bJgvwJqscosVNyZQ==", "files": [ + "License.rtf", + "System.Collections.4.0.0.nupkg.sha512", + "System.Collections.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -10680,7 +5039,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Collections.dll", + "ref/dotnet/System.Collections.xml", "ref/dotnet/de/System.Collections.xml", "ref/dotnet/es/System.Collections.xml", "ref/dotnet/fr/System.Collections.xml", @@ -10688,13 +5050,11 @@ "ref/dotnet/ja/System.Collections.xml", "ref/dotnet/ko/System.Collections.xml", "ref/dotnet/ru/System.Collections.xml", - "ref/dotnet/System.Collections.dll", - "ref/dotnet/System.Collections.xml", "ref/dotnet/zh-hans/System.Collections.xml", "ref/dotnet/zh-hant/System.Collections.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Collections.dll", + "ref/netcore50/System.Collections.xml", "ref/netcore50/de/System.Collections.xml", "ref/netcore50/es/System.Collections.xml", "ref/netcore50/fr/System.Collections.xml", @@ -10702,37 +5062,35 @@ "ref/netcore50/ja/System.Collections.xml", "ref/netcore50/ko/System.Collections.xml", "ref/netcore50/ru/System.Collections.xml", - "ref/netcore50/System.Collections.dll", - "ref/netcore50/System.Collections.xml", "ref/netcore50/zh-hans/System.Collections.xml", "ref/netcore50/zh-hant/System.Collections.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Collections.4.0.0.nupkg", - "System.Collections.4.0.0.nupkg.sha512", - "System.Collections.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Collections.Immutable/1.1.37": { - "type": "package", "sha512": "fTpqwZYBzoklTT+XjTRK8KxvmrGkYHzBiylCcKyQcxiOM8k+QvhNBxRvFHDWzy4OEP5f8/9n+xQ9mEgEXY+muA==", + "type": "package", "files": [ + "System.Collections.Immutable.1.1.37.nupkg", + "System.Collections.Immutable.1.1.37.nupkg.sha512", + "System.Collections.Immutable.nuspec", "lib/dotnet/System.Collections.Immutable.dll", "lib/dotnet/System.Collections.Immutable.xml", "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.dll", - "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml", - "System.Collections.Immutable.1.1.37.nupkg", - "System.Collections.Immutable.1.1.37.nupkg.sha512", - "System.Collections.Immutable.nuspec" + "lib/portable-net45+win8+wp8+wpa81/System.Collections.Immutable.xml" ] }, "System.Diagnostics.Debug/4.0.0": { + "sha512": "rXoXj+8CZLisWUUpwNb1D7x88LByF9LwvGTth5Ow0aLwLImkDRBzG03Nev19jo6FBtNwuclvVhEM9nJVBhaoYw==", "type": "package", - "sha512": "AYJsLLGDVTC/nyURjgAo7Lpye0+HuSkcQujUf+NgQVdC/C/ky5NyamQHCforHJzgqspitMMtBe8B4UBdGXy1zQ==", "files": [ + "License.rtf", + "System.Diagnostics.Debug.4.0.0.nupkg.sha512", + "System.Diagnostics.Debug.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -10741,7 +5099,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Diagnostics.Debug.dll", + "ref/dotnet/System.Diagnostics.Debug.xml", "ref/dotnet/de/System.Diagnostics.Debug.xml", "ref/dotnet/es/System.Diagnostics.Debug.xml", "ref/dotnet/fr/System.Diagnostics.Debug.xml", @@ -10749,13 +5110,11 @@ "ref/dotnet/ja/System.Diagnostics.Debug.xml", "ref/dotnet/ko/System.Diagnostics.Debug.xml", "ref/dotnet/ru/System.Diagnostics.Debug.xml", - "ref/dotnet/System.Diagnostics.Debug.dll", - "ref/dotnet/System.Diagnostics.Debug.xml", "ref/dotnet/zh-hans/System.Diagnostics.Debug.xml", "ref/dotnet/zh-hant/System.Diagnostics.Debug.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Diagnostics.Debug.dll", + "ref/netcore50/System.Diagnostics.Debug.xml", "ref/netcore50/de/System.Diagnostics.Debug.xml", "ref/netcore50/es/System.Diagnostics.Debug.xml", "ref/netcore50/fr/System.Diagnostics.Debug.xml", @@ -10763,38 +5122,35 @@ "ref/netcore50/ja/System.Diagnostics.Debug.xml", "ref/netcore50/ko/System.Diagnostics.Debug.xml", "ref/netcore50/ru/System.Diagnostics.Debug.xml", - "ref/netcore50/System.Diagnostics.Debug.dll", - "ref/netcore50/System.Diagnostics.Debug.xml", "ref/netcore50/zh-hans/System.Diagnostics.Debug.xml", "ref/netcore50/zh-hant/System.Diagnostics.Debug.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Diagnostics.Debug.4.0.0.nupkg", - "System.Diagnostics.Debug.4.0.0.nupkg.sha512", - "System.Diagnostics.Debug.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Diagnostics.DiagnosticSource/4.0.0-beta-23516": { + "sha512": "WHVhr5/p8UDjqNV7l9PCxZgOufE2tO4XOWva9pau9c7PzJJTdB1By6scO5dgHLpmlB/u4y27Y9AzT8AqtG8sxw==", "type": "package", - "serviceable": true, - "sha512": "0uDR/UOmFCNPDCyHEPHhCrk6c1iRnDp00YqwSZ8Qf5aaaJjm4WXnf4Q9xZw4OoApsSiODSypDMdpQU24IxR16A==", "files": [ + "System.Diagnostics.DiagnosticSource.4.0.0-beta-23516.nupkg.sha512", + "System.Diagnostics.DiagnosticSource.nuspec", "lib/dotnet5.2/System.Diagnostics.DiagnosticSource.dll", "lib/dotnet5.2/System.Diagnostics.DiagnosticSource.xml", "lib/portable-net45+win8+wp8+wpa81/System.Diagnostics.DiagnosticSource.dll", - "lib/portable-net45+win8+wp8+wpa81/System.Diagnostics.DiagnosticSource.xml", - "System.Diagnostics.DiagnosticSource.4.0.0-beta-23516.nupkg", - "System.Diagnostics.DiagnosticSource.4.0.0-beta-23516.nupkg.sha512", - "System.Diagnostics.DiagnosticSource.nuspec" + "lib/portable-net45+win8+wp8+wpa81/System.Diagnostics.DiagnosticSource.xml" ] }, "System.Diagnostics.Tracing/4.0.0": { - "type": "package", "sha512": "tzqQJPgD4bKs0eE5Gx9HEsxiHSBGcL42PImkjhwXTQK6iQbLTTB9mi+G7mUyEjlH8LUcm7F5QHEs+O+LpruOrQ==", + "type": "package", "files": [ + "License.rtf", + "System.Diagnostics.Tracing.4.0.0.nupkg", + "System.Diagnostics.Tracing.4.0.0.nupkg.sha512", + "System.Diagnostics.Tracing.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -10802,7 +5158,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Diagnostics.Tracing.dll", + "ref/dotnet/System.Diagnostics.Tracing.xml", "ref/dotnet/de/System.Diagnostics.Tracing.xml", "ref/dotnet/es/System.Diagnostics.Tracing.xml", "ref/dotnet/fr/System.Diagnostics.Tracing.xml", @@ -10810,13 +5169,11 @@ "ref/dotnet/ja/System.Diagnostics.Tracing.xml", "ref/dotnet/ko/System.Diagnostics.Tracing.xml", "ref/dotnet/ru/System.Diagnostics.Tracing.xml", - "ref/dotnet/System.Diagnostics.Tracing.dll", - "ref/dotnet/System.Diagnostics.Tracing.xml", "ref/dotnet/zh-hans/System.Diagnostics.Tracing.xml", "ref/dotnet/zh-hant/System.Diagnostics.Tracing.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Diagnostics.Tracing.dll", + "ref/netcore50/System.Diagnostics.Tracing.xml", "ref/netcore50/de/System.Diagnostics.Tracing.xml", "ref/netcore50/es/System.Diagnostics.Tracing.xml", "ref/netcore50/fr/System.Diagnostics.Tracing.xml", @@ -10824,23 +5181,21 @@ "ref/netcore50/ja/System.Diagnostics.Tracing.xml", "ref/netcore50/ko/System.Diagnostics.Tracing.xml", "ref/netcore50/ru/System.Diagnostics.Tracing.xml", - "ref/netcore50/System.Diagnostics.Tracing.dll", - "ref/netcore50/System.Diagnostics.Tracing.xml", "ref/netcore50/zh-hans/System.Diagnostics.Tracing.xml", "ref/netcore50/zh-hant/System.Diagnostics.Tracing.xml", "ref/win8/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Diagnostics.Tracing.4.0.0.nupkg", - "System.Diagnostics.Tracing.4.0.0.nupkg.sha512", - "System.Diagnostics.Tracing.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Globalization/4.0.0": { + "sha512": "Ea68l3ISMh5pdrcRlxQic5G1h3egbvgysKSdvPe266XlPcmkzKUdl91TQ155mlsvw1tBPgjCnw6iItzAo0x9/A==", "type": "package", - "sha512": "IBJyTo1y7ZtzzoJUA60T1XPvNTyw/wfFmjFoBFtlYfkekIOtD/AzDDIg0YdUa7eNtFEfliED2R7HdppTdU4t5A==", "files": [ + "License.rtf", + "System.Globalization.4.0.0.nupkg.sha512", + "System.Globalization.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -10849,7 +5204,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", "ref/dotnet/de/System.Globalization.xml", "ref/dotnet/es/System.Globalization.xml", "ref/dotnet/fr/System.Globalization.xml", @@ -10857,13 +5215,11 @@ "ref/dotnet/ja/System.Globalization.xml", "ref/dotnet/ko/System.Globalization.xml", "ref/dotnet/ru/System.Globalization.xml", - "ref/dotnet/System.Globalization.dll", - "ref/dotnet/System.Globalization.xml", "ref/dotnet/zh-hans/System.Globalization.xml", "ref/dotnet/zh-hant/System.Globalization.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", "ref/netcore50/de/System.Globalization.xml", "ref/netcore50/es/System.Globalization.xml", "ref/netcore50/fr/System.Globalization.xml", @@ -10871,50 +5227,48 @@ "ref/netcore50/ja/System.Globalization.xml", "ref/netcore50/ko/System.Globalization.xml", "ref/netcore50/ru/System.Globalization.xml", - "ref/netcore50/System.Globalization.dll", - "ref/netcore50/System.Globalization.xml", "ref/netcore50/zh-hans/System.Globalization.xml", "ref/netcore50/zh-hant/System.Globalization.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Globalization.4.0.0.nupkg", - "System.Globalization.4.0.0.nupkg.sha512", - "System.Globalization.nuspec" + "ref/xamarinmac20/_._" ] }, "System.IdentityModel.Tokens/5.0.0-rc1-211161024": { - "type": "package", "sha512": "UbFu6NIPI8pDL/lZlajUQ06OQNJvkpUWYBDIZr+HaqiXseE0Jja1kXTFg2gxKpjuruRinR7e7+/qnAAE3/BPcw==", + "type": "package", "files": [ + "System.IdentityModel.Tokens.5.0.0-rc1-211161024.nupkg", + "System.IdentityModel.Tokens.5.0.0-rc1-211161024.nupkg.sha512", + "System.IdentityModel.Tokens.nuspec", "lib/dotnet5.4/System.IdentityModel.Tokens.dll", "lib/dotnet5.4/System.IdentityModel.Tokens.xml", "lib/net451/System.IdentityModel.Tokens.dll", - "lib/net451/System.IdentityModel.Tokens.xml", - "System.IdentityModel.Tokens.5.0.0-rc1-211161024.nupkg", - "System.IdentityModel.Tokens.5.0.0-rc1-211161024.nupkg.sha512", - "System.IdentityModel.Tokens.nuspec" + "lib/net451/System.IdentityModel.Tokens.xml" ] }, "System.IdentityModel.Tokens.Jwt/5.0.0-rc1-211161024": { - "type": "package", "sha512": "A/mqsC0pFbFnsZ6OR17PPkNz4OEu0Xt8wK83FNDLvsoWMhvKS2DDFnn9dqzUxKDLEIZUXwWWCJQJritmvXsf1g==", + "type": "package", "files": [ + "System.IdentityModel.Tokens.Jwt.5.0.0-rc1-211161024.nupkg", + "System.IdentityModel.Tokens.Jwt.5.0.0-rc1-211161024.nupkg.sha512", + "System.IdentityModel.Tokens.Jwt.nuspec", "lib/dotnet5.4/System.IdentityModel.Tokens.Jwt.dll", "lib/dotnet5.4/System.IdentityModel.Tokens.Jwt.xml", "lib/net451/System.IdentityModel.Tokens.Jwt.dll", - "lib/net451/System.IdentityModel.Tokens.Jwt.xml", - "System.IdentityModel.Tokens.Jwt.5.0.0-rc1-211161024.nupkg", - "System.IdentityModel.Tokens.Jwt.5.0.0-rc1-211161024.nupkg.sha512", - "System.IdentityModel.Tokens.Jwt.nuspec" + "lib/net451/System.IdentityModel.Tokens.Jwt.xml" ] }, "System.IO/4.0.0": { + "sha512": "PNGS1n6wxAsn/hxIRlpsSBTkLOnlYKiU8dJ1+PC0w9Nfnu7JbRt2b/pc0MYjgCh3V2ZxDa5rpwrDPbpzuyyu3g==", "type": "package", - "sha512": "MoCHQ0u5n0OMwUS8OX4Gl48qKiQziSW5cXvt82d+MmAcsLq9OL90+ihnu/aJ1h6OOYcBswrZAEuApfZha9w2lg==", "files": [ + "License.rtf", + "System.IO.4.0.0.nupkg.sha512", + "System.IO.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -10923,7 +5277,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", "ref/dotnet/de/System.IO.xml", "ref/dotnet/es/System.IO.xml", "ref/dotnet/fr/System.IO.xml", @@ -10931,13 +5288,11 @@ "ref/dotnet/ja/System.IO.xml", "ref/dotnet/ko/System.IO.xml", "ref/dotnet/ru/System.IO.xml", - "ref/dotnet/System.IO.dll", - "ref/dotnet/System.IO.xml", "ref/dotnet/zh-hans/System.IO.xml", "ref/dotnet/zh-hant/System.IO.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.IO.dll", + "ref/netcore50/System.IO.xml", "ref/netcore50/de/System.IO.xml", "ref/netcore50/es/System.IO.xml", "ref/netcore50/fr/System.IO.xml", @@ -10945,30 +5300,30 @@ "ref/netcore50/ja/System.IO.xml", "ref/netcore50/ko/System.IO.xml", "ref/netcore50/ru/System.IO.xml", - "ref/netcore50/System.IO.dll", - "ref/netcore50/System.IO.xml", "ref/netcore50/zh-hans/System.IO.xml", "ref/netcore50/zh-hant/System.IO.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.IO.4.0.0.nupkg", - "System.IO.4.0.0.nupkg.sha512", - "System.IO.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Linq/4.0.0": { - "type": "package", "sha512": "r6Hlc+ytE6m/9UBr+nNRRdoJEWjoeQiT3L3lXYFDHoXk3VYsRBCDNXrawcexw7KPLaH0zamQLiAb6avhZ50cGg==", + "type": "package", "files": [ + "System.Linq.4.0.0.nupkg", + "System.Linq.4.0.0.nupkg.sha512", + "System.Linq.nuspec", "lib/dotnet/System.Linq.dll", "lib/net45/_._", "lib/netcore50/System.Linq.dll", "lib/win8/_._", "lib/wp80/_._", "lib/wpa81/_._", + "ref/dotnet/System.Linq.dll", + "ref/dotnet/System.Linq.xml", "ref/dotnet/de/System.Linq.xml", "ref/dotnet/es/System.Linq.xml", "ref/dotnet/fr/System.Linq.xml", @@ -10976,8 +5331,6 @@ "ref/dotnet/ja/System.Linq.xml", "ref/dotnet/ko/System.Linq.xml", "ref/dotnet/ru/System.Linq.xml", - "ref/dotnet/System.Linq.dll", - "ref/dotnet/System.Linq.xml", "ref/dotnet/zh-hans/System.Linq.xml", "ref/dotnet/zh-hant/System.Linq.xml", "ref/net45/_._", @@ -10985,41 +5338,39 @@ "ref/netcore50/System.Linq.xml", "ref/win8/_._", "ref/wp80/_._", - "ref/wpa81/_._", - "System.Linq.4.0.0.nupkg", - "System.Linq.4.0.0.nupkg.sha512", - "System.Linq.nuspec" + "ref/wpa81/_._" ] }, "System.Numerics.Vectors/4.1.1-beta-23516": { + "sha512": "jphbCfQB30LZBC/8kNQtAaaCcKzCFIFnRyUvYapNOozvleUvwI6sYG9d3/WamMcalnNcHDgIlQ713QOv9aweVA==", "type": "package", - "serviceable": true, - "sha512": "FCYCEjc3BXBTpVZTxMqf2m/sGYyDzLwICy5lNKgZzT8WfshJhsTGjJuETwsh1Cwi6bksw9YiTB6yeeWBBJDnTA==", "files": [ - "lib/dotnet5.4/System.Numerics.Vectors.dll", + "System.Numerics.Vectors.4.1.1-beta-23516.nupkg.sha512", + "System.Numerics.Vectors.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", - "lib/net46/_._", + "lib/dotnet5.4/System.Numerics.Vectors.dll", "lib/net46/System.Numerics.Vectors.dll", + "lib/net46/_._", "lib/portable-net45+win8/System.Numerics.Vectors.dll", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "ref/dotnet5.4/System.Numerics.Vectors.dll", "ref/MonoAndroid10/_._", "ref/MonoTouch10/_._", - "ref/net46/_._", + "ref/dotnet5.4/System.Numerics.Vectors.dll", "ref/net46/System.Numerics.Vectors.dll", + "ref/net46/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Numerics.Vectors.4.1.1-beta-23516.nupkg", - "System.Numerics.Vectors.4.1.1-beta-23516.nupkg.sha512", - "System.Numerics.Vectors.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Reflection/4.0.0": { + "sha512": "VSciKOmUb5AjAqvjRix5KzLJhcZt0ZhGN+c/fwJFaHxNWZswagrrENrRwfgtpgzwblChajZR2mb9XvSSOM8/Tg==", "type": "package", - "sha512": "g96Rn8XuG7y4VfxPj/jnXroRJdQ8L3iN3k3zqsuzk4k3Nq4KMXARYiIO4BLW4GwX06uQpuYwRMcAC/aF117knQ==", "files": [ + "License.rtf", + "System.Reflection.4.0.0.nupkg.sha512", + "System.Reflection.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -11028,7 +5379,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", "ref/dotnet/de/System.Reflection.xml", "ref/dotnet/es/System.Reflection.xml", "ref/dotnet/fr/System.Reflection.xml", @@ -11036,13 +5390,11 @@ "ref/dotnet/ja/System.Reflection.xml", "ref/dotnet/ko/System.Reflection.xml", "ref/dotnet/ru/System.Reflection.xml", - "ref/dotnet/System.Reflection.dll", - "ref/dotnet/System.Reflection.xml", "ref/dotnet/zh-hans/System.Reflection.xml", "ref/dotnet/zh-hant/System.Reflection.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", "ref/netcore50/de/System.Reflection.xml", "ref/netcore50/es/System.Reflection.xml", "ref/netcore50/fr/System.Reflection.xml", @@ -11050,30 +5402,30 @@ "ref/netcore50/ja/System.Reflection.xml", "ref/netcore50/ko/System.Reflection.xml", "ref/netcore50/ru/System.Reflection.xml", - "ref/netcore50/System.Reflection.dll", - "ref/netcore50/System.Reflection.xml", "ref/netcore50/zh-hans/System.Reflection.xml", "ref/netcore50/zh-hant/System.Reflection.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Reflection.4.0.0.nupkg", - "System.Reflection.4.0.0.nupkg.sha512", - "System.Reflection.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Reflection.Extensions/4.0.0": { - "type": "package", "sha512": "dbYaZWCyFAu1TGYUqR2n+Q+1casSHPR2vVW0WVNkXpZbrd2BXcZ7cpvpu9C98CTHtNmyfMWCLpCclDqly23t6A==", + "type": "package", "files": [ + "System.Reflection.Extensions.4.0.0.nupkg", + "System.Reflection.Extensions.4.0.0.nupkg.sha512", + "System.Reflection.Extensions.nuspec", "lib/DNXCore50/System.Reflection.Extensions.dll", "lib/net45/_._", "lib/netcore50/System.Reflection.Extensions.dll", "lib/win8/_._", "lib/wp80/_._", "lib/wpa81/_._", + "ref/dotnet/System.Reflection.Extensions.dll", + "ref/dotnet/System.Reflection.Extensions.xml", "ref/dotnet/de/System.Reflection.Extensions.xml", "ref/dotnet/es/System.Reflection.Extensions.xml", "ref/dotnet/fr/System.Reflection.Extensions.xml", @@ -11081,8 +5433,6 @@ "ref/dotnet/ja/System.Reflection.Extensions.xml", "ref/dotnet/ko/System.Reflection.Extensions.xml", "ref/dotnet/ru/System.Reflection.Extensions.xml", - "ref/dotnet/System.Reflection.Extensions.dll", - "ref/dotnet/System.Reflection.Extensions.xml", "ref/dotnet/zh-hans/System.Reflection.Extensions.xml", "ref/dotnet/zh-hant/System.Reflection.Extensions.xml", "ref/net45/_._", @@ -11091,36 +5441,36 @@ "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", - "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll", - "System.Reflection.Extensions.4.0.0.nupkg", - "System.Reflection.Extensions.4.0.0.nupkg.sha512", - "System.Reflection.Extensions.nuspec" + "runtimes/win8-aot/lib/netcore50/System.Reflection.Extensions.dll" ] }, "System.Reflection.Metadata/1.1.0": { + "sha512": "RLIE4sSt2zngMLuqM6YmxBH99mTumtT4DNZE4+msfEaInUP5iCLQT+BHPl+2cjSAP1pdALyAjLB8RtCB+WGGWQ==", "type": "package", - "serviceable": true, - "sha512": "a8VsRm/B0Ik1o5FumSMWmpwbG7cvIIajAYhzTTy9VB9XItByJDQHGZkQTIAdsvVJ6MI5O3uH/lb0izgQDlDIWA==", "files": [ + "System.Reflection.Metadata.1.1.0.nupkg.sha512", + "System.Reflection.Metadata.nuspec", "lib/dotnet5.2/System.Reflection.Metadata.dll", "lib/dotnet5.2/System.Reflection.Metadata.xml", "lib/portable-net45+win8/System.Reflection.Metadata.dll", - "lib/portable-net45+win8/System.Reflection.Metadata.xml", - "System.Reflection.Metadata.1.1.0.nupkg", - "System.Reflection.Metadata.1.1.0.nupkg.sha512", - "System.Reflection.Metadata.nuspec" + "lib/portable-net45+win8/System.Reflection.Metadata.xml" ] }, "System.Reflection.Primitives/4.0.0": { - "type": "package", "sha512": "n9S0XpKv2ruc17FSnaiX6nV47VfHTZ1wLjKZlAirUZCvDQCH71mVp+Ohabn0xXLh5pK2PKp45HCxkqu5Fxn/lA==", + "type": "package", "files": [ + "System.Reflection.Primitives.4.0.0.nupkg", + "System.Reflection.Primitives.4.0.0.nupkg.sha512", + "System.Reflection.Primitives.nuspec", "lib/DNXCore50/System.Reflection.Primitives.dll", "lib/net45/_._", "lib/netcore50/System.Reflection.Primitives.dll", "lib/win8/_._", "lib/wp80/_._", "lib/wpa81/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", "ref/dotnet/de/System.Reflection.Primitives.xml", "ref/dotnet/es/System.Reflection.Primitives.xml", "ref/dotnet/fr/System.Reflection.Primitives.xml", @@ -11128,8 +5478,6 @@ "ref/dotnet/ja/System.Reflection.Primitives.xml", "ref/dotnet/ko/System.Reflection.Primitives.xml", "ref/dotnet/ru/System.Reflection.Primitives.xml", - "ref/dotnet/System.Reflection.Primitives.dll", - "ref/dotnet/System.Reflection.Primitives.xml", "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", "ref/net45/_._", @@ -11138,22 +5486,24 @@ "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", - "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll", - "System.Reflection.Primitives.4.0.0.nupkg", - "System.Reflection.Primitives.4.0.0.nupkg.sha512", - "System.Reflection.Primitives.nuspec" + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" ] }, "System.Resources.ResourceManager/4.0.0": { - "type": "package", "sha512": "qmqeZ4BJgjfU+G2JbrZt4Dk1LsMxO4t+f/9HarNY6w8pBgweO6jT+cknUH7c3qIrGvyUqraBhU45Eo6UtA0fAw==", + "type": "package", "files": [ + "System.Resources.ResourceManager.4.0.0.nupkg", + "System.Resources.ResourceManager.4.0.0.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", "lib/DNXCore50/System.Resources.ResourceManager.dll", "lib/net45/_._", "lib/netcore50/System.Resources.ResourceManager.dll", "lib/win8/_._", "lib/wp80/_._", "lib/wpa81/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", "ref/dotnet/de/System.Resources.ResourceManager.xml", "ref/dotnet/es/System.Resources.ResourceManager.xml", "ref/dotnet/fr/System.Resources.ResourceManager.xml", @@ -11161,8 +5511,6 @@ "ref/dotnet/ja/System.Resources.ResourceManager.xml", "ref/dotnet/ko/System.Resources.ResourceManager.xml", "ref/dotnet/ru/System.Resources.ResourceManager.xml", - "ref/dotnet/System.Resources.ResourceManager.dll", - "ref/dotnet/System.Resources.ResourceManager.xml", "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", "ref/net45/_._", @@ -11171,16 +5519,16 @@ "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", - "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll", - "System.Resources.ResourceManager.4.0.0.nupkg", - "System.Resources.ResourceManager.4.0.0.nupkg.sha512", - "System.Resources.ResourceManager.nuspec" + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" ] }, "System.Runtime/4.0.0": { + "sha512": "A+xwHCqwWJ1x4iH69ErYyAx11clbav/uDgg1Y8hjV4Dyn9ZnX96dZvXxQtmb9P4Ep++YUYjZwl0GPD4KqJbVOg==", "type": "package", - "sha512": "Uq9epame8hEqJlj4KaWb67dDJvj4IM37jRFGVeFbugRdPz48bR0voyBhrbf3iSa2tAmlkg4lsa6BUOL9iwlMew==", "files": [ + "License.rtf", + "System.Runtime.4.0.0.nupkg.sha512", + "System.Runtime.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -11189,7 +5537,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", "ref/dotnet/de/System.Runtime.xml", "ref/dotnet/es/System.Runtime.xml", "ref/dotnet/fr/System.Runtime.xml", @@ -11197,13 +5548,11 @@ "ref/dotnet/ja/System.Runtime.xml", "ref/dotnet/ko/System.Runtime.xml", "ref/dotnet/ru/System.Runtime.xml", - "ref/dotnet/System.Runtime.dll", - "ref/dotnet/System.Runtime.xml", "ref/dotnet/zh-hans/System.Runtime.xml", "ref/dotnet/zh-hant/System.Runtime.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Runtime.dll", + "ref/netcore50/System.Runtime.xml", "ref/netcore50/de/System.Runtime.xml", "ref/netcore50/es/System.Runtime.xml", "ref/netcore50/fr/System.Runtime.xml", @@ -11211,24 +5560,22 @@ "ref/netcore50/ja/System.Runtime.xml", "ref/netcore50/ko/System.Runtime.xml", "ref/netcore50/ru/System.Runtime.xml", - "ref/netcore50/System.Runtime.dll", - "ref/netcore50/System.Runtime.xml", "ref/netcore50/zh-hans/System.Runtime.xml", "ref/netcore50/zh-hant/System.Runtime.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Runtime.4.0.0.nupkg", - "System.Runtime.4.0.0.nupkg.sha512", - "System.Runtime.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Runtime.Extensions/4.0.0": { + "sha512": "O3oV7QFU0JrlgdKtrsVoo3HFK9lLH55KSl9NrxpNMl40BdAqdi7UQPUODlNtIPBUPyGvM5+wQzfhZw5r7YfYhQ==", "type": "package", - "sha512": "zPzwoJcA7qar/b5Ihhzfcdr3vBOR8FIg7u//Qc5mqyAriasXuMFVraBZ5vOQq5asfun9ryNEL8Z2BOlUK5QRqA==", "files": [ + "License.rtf", + "System.Runtime.Extensions.4.0.0.nupkg.sha512", + "System.Runtime.Extensions.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -11237,7 +5584,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", "ref/dotnet/de/System.Runtime.Extensions.xml", "ref/dotnet/es/System.Runtime.Extensions.xml", "ref/dotnet/fr/System.Runtime.Extensions.xml", @@ -11245,13 +5595,11 @@ "ref/dotnet/ja/System.Runtime.Extensions.xml", "ref/dotnet/ko/System.Runtime.Extensions.xml", "ref/dotnet/ru/System.Runtime.Extensions.xml", - "ref/dotnet/System.Runtime.Extensions.dll", - "ref/dotnet/System.Runtime.Extensions.xml", "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Runtime.Extensions.dll", + "ref/netcore50/System.Runtime.Extensions.xml", "ref/netcore50/de/System.Runtime.Extensions.xml", "ref/netcore50/es/System.Runtime.Extensions.xml", "ref/netcore50/fr/System.Runtime.Extensions.xml", @@ -11259,24 +5607,23 @@ "ref/netcore50/ja/System.Runtime.Extensions.xml", "ref/netcore50/ko/System.Runtime.Extensions.xml", "ref/netcore50/ru/System.Runtime.Extensions.xml", - "ref/netcore50/System.Runtime.Extensions.dll", - "ref/netcore50/System.Runtime.Extensions.xml", "ref/netcore50/zh-hans/System.Runtime.Extensions.xml", "ref/netcore50/zh-hant/System.Runtime.Extensions.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Runtime.Extensions.4.0.0.nupkg", - "System.Runtime.Extensions.4.0.0.nupkg.sha512", - "System.Runtime.Extensions.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Runtime.InteropServices/4.0.0": { - "type": "package", "sha512": "J8GBB0OsVuKJXR412x6uZdoyNi4y9OMjjJRHPutRHjqujuvthus6Xdxn/i8J1lL2PK+2jWCLpZp72h8x73hkLg==", + "type": "package", "files": [ + "License.rtf", + "System.Runtime.InteropServices.4.0.0.nupkg", + "System.Runtime.InteropServices.4.0.0.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -11284,7 +5631,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", "ref/dotnet/de/System.Runtime.InteropServices.xml", "ref/dotnet/es/System.Runtime.InteropServices.xml", "ref/dotnet/fr/System.Runtime.InteropServices.xml", @@ -11292,13 +5642,11 @@ "ref/dotnet/ja/System.Runtime.InteropServices.xml", "ref/dotnet/ko/System.Runtime.InteropServices.xml", "ref/dotnet/ru/System.Runtime.InteropServices.xml", - "ref/dotnet/System.Runtime.InteropServices.dll", - "ref/dotnet/System.Runtime.InteropServices.xml", "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Runtime.InteropServices.dll", + "ref/netcore50/System.Runtime.InteropServices.xml", "ref/netcore50/de/System.Runtime.InteropServices.xml", "ref/netcore50/es/System.Runtime.InteropServices.xml", "ref/netcore50/fr/System.Runtime.InteropServices.xml", @@ -11306,23 +5654,21 @@ "ref/netcore50/ja/System.Runtime.InteropServices.xml", "ref/netcore50/ko/System.Runtime.InteropServices.xml", "ref/netcore50/ru/System.Runtime.InteropServices.xml", - "ref/netcore50/System.Runtime.InteropServices.dll", - "ref/netcore50/System.Runtime.InteropServices.xml", "ref/netcore50/zh-hans/System.Runtime.InteropServices.xml", "ref/netcore50/zh-hant/System.Runtime.InteropServices.xml", "ref/win8/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Runtime.InteropServices.4.0.0.nupkg", - "System.Runtime.InteropServices.4.0.0.nupkg.sha512", - "System.Runtime.InteropServices.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Text.Encoding/4.0.0": { + "sha512": "k4kc8Xq2Bs4x11WWtt6XMa+igtLrZAwJx1ZaB4D3/Sm4LFHSzT4mOOJIDOHa/ePyojOUtwLQdT0ywEnV5nl/9g==", "type": "package", - "sha512": "AMxFNOXpA6Ab8swULbXuJmoT2K5w6TnV3ObF5wsmEcIHQUJghoZtDVfVHb08O2wW15mOSI1i9Wg0Dx0pY13o8g==", "files": [ + "License.rtf", + "System.Text.Encoding.4.0.0.nupkg.sha512", + "System.Text.Encoding.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -11331,7 +5677,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", "ref/dotnet/de/System.Text.Encoding.xml", "ref/dotnet/es/System.Text.Encoding.xml", "ref/dotnet/fr/System.Text.Encoding.xml", @@ -11339,13 +5688,11 @@ "ref/dotnet/ja/System.Text.Encoding.xml", "ref/dotnet/ko/System.Text.Encoding.xml", "ref/dotnet/ru/System.Text.Encoding.xml", - "ref/dotnet/System.Text.Encoding.dll", - "ref/dotnet/System.Text.Encoding.xml", "ref/dotnet/zh-hans/System.Text.Encoding.xml", "ref/dotnet/zh-hant/System.Text.Encoding.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Text.Encoding.dll", + "ref/netcore50/System.Text.Encoding.xml", "ref/netcore50/de/System.Text.Encoding.xml", "ref/netcore50/es/System.Text.Encoding.xml", "ref/netcore50/fr/System.Text.Encoding.xml", @@ -11353,24 +5700,23 @@ "ref/netcore50/ja/System.Text.Encoding.xml", "ref/netcore50/ko/System.Text.Encoding.xml", "ref/netcore50/ru/System.Text.Encoding.xml", - "ref/netcore50/System.Text.Encoding.dll", - "ref/netcore50/System.Text.Encoding.xml", "ref/netcore50/zh-hans/System.Text.Encoding.xml", "ref/netcore50/zh-hant/System.Text.Encoding.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Text.Encoding.4.0.0.nupkg", - "System.Text.Encoding.4.0.0.nupkg.sha512", - "System.Text.Encoding.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Text.Encoding.Extensions/4.0.0": { - "type": "package", "sha512": "FktA77+2DC0S5oRhgM569pbzFrcA45iQpYiI7+YKl68B6TfI2N5TQbXqSWlh2YXKoFXHi2RFwPMha2lxiFJZ6A==", + "type": "package", "files": [ + "License.rtf", + "System.Text.Encoding.Extensions.4.0.0.nupkg", + "System.Text.Encoding.Extensions.4.0.0.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -11379,7 +5725,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", "ref/dotnet/de/System.Text.Encoding.Extensions.xml", "ref/dotnet/es/System.Text.Encoding.Extensions.xml", "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", @@ -11387,13 +5736,11 @@ "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", - "ref/dotnet/System.Text.Encoding.Extensions.dll", - "ref/dotnet/System.Text.Encoding.Extensions.xml", "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Text.Encoding.Extensions.dll", + "ref/netcore50/System.Text.Encoding.Extensions.xml", "ref/netcore50/de/System.Text.Encoding.Extensions.xml", "ref/netcore50/es/System.Text.Encoding.Extensions.xml", "ref/netcore50/fr/System.Text.Encoding.Extensions.xml", @@ -11401,24 +5748,22 @@ "ref/netcore50/ja/System.Text.Encoding.Extensions.xml", "ref/netcore50/ko/System.Text.Encoding.Extensions.xml", "ref/netcore50/ru/System.Text.Encoding.Extensions.xml", - "ref/netcore50/System.Text.Encoding.Extensions.dll", - "ref/netcore50/System.Text.Encoding.Extensions.xml", "ref/netcore50/zh-hans/System.Text.Encoding.Extensions.xml", "ref/netcore50/zh-hant/System.Text.Encoding.Extensions.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Text.Encoding.Extensions.4.0.0.nupkg", - "System.Text.Encoding.Extensions.4.0.0.nupkg.sha512", - "System.Text.Encoding.Extensions.nuspec" + "ref/xamarinmac20/_._" ] }, "System.Threading/4.0.0": { + "sha512": "ZsZ8i38K9t14aLQJ+19WUFoS7fVA/3QLHxgE1O6+xICYtl/VzUv17NCWFCNkBn6pfsIlC8XOjRQqiKzjdUGotw==", "type": "package", - "sha512": "H6O/9gUrjPDNYanh/7OFGAZHjVXvEuITD0RcnjfvIV04HOGrOPqUBU0kmz9RIX/7YGgCQn1o1S2DX6Cuv8kVGQ==", "files": [ + "License.rtf", + "System.Threading.4.0.0.nupkg.sha512", + "System.Threading.nuspec", "lib/MonoAndroid10/_._", "lib/MonoTouch10/_._", "lib/net45/_._", @@ -11427,7 +5772,10 @@ "lib/wpa81/_._", "lib/xamarinios10/_._", "lib/xamarinmac20/_._", - "License.rtf", + "ref/MonoAndroid10/_._", + "ref/MonoTouch10/_._", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", "ref/dotnet/de/System.Threading.xml", "ref/dotnet/es/System.Threading.xml", "ref/dotnet/fr/System.Threading.xml", @@ -11435,13 +5783,11 @@ "ref/dotnet/ja/System.Threading.xml", "ref/dotnet/ko/System.Threading.xml", "ref/dotnet/ru/System.Threading.xml", - "ref/dotnet/System.Threading.dll", - "ref/dotnet/System.Threading.xml", "ref/dotnet/zh-hans/System.Threading.xml", "ref/dotnet/zh-hant/System.Threading.xml", - "ref/MonoAndroid10/_._", - "ref/MonoTouch10/_._", "ref/net45/_._", + "ref/netcore50/System.Threading.dll", + "ref/netcore50/System.Threading.xml", "ref/netcore50/de/System.Threading.xml", "ref/netcore50/es/System.Threading.xml", "ref/netcore50/fr/System.Threading.xml", @@ -11449,42 +5795,37 @@ "ref/netcore50/ja/System.Threading.xml", "ref/netcore50/ko/System.Threading.xml", "ref/netcore50/ru/System.Threading.xml", - "ref/netcore50/System.Threading.dll", - "ref/netcore50/System.Threading.xml", "ref/netcore50/zh-hans/System.Threading.xml", "ref/netcore50/zh-hant/System.Threading.xml", "ref/win8/_._", "ref/wp80/_._", "ref/wpa81/_._", "ref/xamarinios10/_._", - "ref/xamarinmac20/_._", - "System.Threading.4.0.0.nupkg", - "System.Threading.4.0.0.nupkg.sha512", - "System.Threading.nuspec" + "ref/xamarinmac20/_._" ] }, "WebGrease/1.5.2": { - "type": "package", "sha512": "VoyDSOOugLx3q5IyOgEcjeYZQOqV9VWZQT57UtN4szlYhAmOcEjVfKWXbtRqBuX43pgyL9E7nMSIPoryC8Cu1Q==", + "type": "package", "files": [ - "lib/WebGrease.dll", - "tools/install.ps1", - "tools/uninstall.ps1", - "tools/WG.exe", "WebGrease.1.5.2.nupkg", "WebGrease.1.5.2.nupkg.sha512", - "WebGrease.nuspec" + "WebGrease.nuspec", + "lib/WebGrease.dll", + "tools/WG.exe", + "tools/install.ps1", + "tools/uninstall.ps1" ] }, "Zlib.Portable.Signed/1.11.0": { - "type": "package", "sha512": "1f4itCxlSBxU8kf85qUmx1+d0iHKLeZK8S7ilb4w0t+uV+/xtOUUVOEAnFMG5uHVBc7L+ycZjWQoA+a1GZKYjg==", + "type": "package", "files": [ - "lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.dll", - "lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.xml", "Zlib.Portable.Signed.1.11.0.nupkg", "Zlib.Portable.Signed.1.11.0.nupkg.sha512", - "Zlib.Portable.Signed.nuspec" + "Zlib.Portable.Signed.nuspec", + "lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.dll", + "lib/portable-net4+sl5+wp8+win8+wpa81+MonoTouch+MonoAndroid/Zlib.Portable.xml" ] } }, @@ -11497,60 +5838,63 @@ "EntityFramework.Sqlite >= 7.0.0-rc1-*", "EntityFramework7.Npgsql >= 3.1.0-*", "EntityFramework7.Npgsql.Design >= 3.1.0-*", - "Google.Apis.Core >= 1.11.1", "Google.Apis >= 1.11.1", + "Google.Apis.Core >= 1.11.1", "MailKit >= 1.3.0-beta7", "MarkdownDeep-av.NET >= 1.5.2", "Microsoft.AspNet.Authentication.Cookies >= 1.0.0-rc1-*", "Microsoft.AspNet.Authentication.Facebook >= 1.0.0-rc1-final", + "Microsoft.AspNet.Authentication.JwtBearer >= 1.0.0-rc1-final", + "Microsoft.AspNet.Authentication.OpenIdConnect >= 1.0.0-rc1-final", "Microsoft.AspNet.Authentication.Twitter >= 1.0.0-rc1-final", "Microsoft.AspNet.Authorization >= 1.0.0-rc1-final", + "Microsoft.AspNet.DataProtection >= 1.0.0-rc1-final", + "Microsoft.AspNet.DataProtection.SystemWeb >= 1.0.0-rc1-final", "Microsoft.AspNet.Diagnostics.Entity >= 7.0.0-rc1-*", "Microsoft.AspNet.Http.Abstractions >= 1.0.0-rc1-final", - "Microsoft.AspNet.Identity.EntityFramework >= 3.0.0-rc1-*", "Microsoft.AspNet.IISPlatformHandler >= 1.0.0-rc1-*", + "Microsoft.AspNet.Identity.EntityFramework >= 3.0.0-rc1-*", "Microsoft.AspNet.Localization >= 1.0.0-rc1-final", "Microsoft.AspNet.Mvc >= 6.0.0-rc1-*", "Microsoft.AspNet.Mvc.TagHelpers >= 6.0.0-rc1-*", + "Microsoft.AspNet.Owin >= 1.0.0-rc1-final", "Microsoft.AspNet.Server.Kestrel >= 1.0.0-rc1-final", - "Microsoft.AspNet.SignalR.Core >= 2.2.0", "Microsoft.AspNet.Server.WebListener >= 1.0.0-rc1-final", - "Microsoft.AspNet.StaticFiles >= 1.0.0-rc1-*", + "Microsoft.AspNet.Session >= 1.0.0-rc1-final", + "Microsoft.AspNet.SignalR.Core >= 2.2.0", "Microsoft.AspNet.SignalR.JS >= 2.2.0", + "Microsoft.AspNet.StaticFiles >= 1.0.0-rc1-*", "Microsoft.AspNet.Tooling.Razor >= 1.0.0-rc1-*", + "Microsoft.AspNet.Web.Optimization >= 1.1.3", "Microsoft.AspNet.WebSockets.Server >= 1.0.0-rc1-final", - "Microsoft.AspNet.Authentication.OpenIdConnect >= 1.0.0-rc1-final", + "Microsoft.AspNetCore.Authentication.OAuth >= 0.0.1-alpha", + "Microsoft.Extensions.CodeGeneration >= 1.0.0-rc1-final", + "Microsoft.Extensions.CodeGenerators.Mvc >= 1.0.0-rc1-final", "Microsoft.Extensions.Configuration.Abstractions >= 1.0.0-rc1-final", "Microsoft.Extensions.Configuration.FileProviderExtensions >= 1.0.0-rc1-*", "Microsoft.Extensions.Configuration.Json >= 1.0.0-rc1-*", "Microsoft.Extensions.Configuration.UserSecrets >= 1.0.0-rc1-*", - "Microsoft.Extensions.Logging >= 1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Console >= 1.0.0-rc1-final", - "Microsoft.Extensions.Logging.Debug >= 1.0.0-rc1-final", "Microsoft.Extensions.DependencyInjection.Abstractions >= 1.0.0-rc1-final", "Microsoft.Extensions.Globalization.CultureInfoCache >= 1.0.0-rc1-final", "Microsoft.Extensions.Localization >= 1.0.0-rc1-final", "Microsoft.Extensions.Localization.Abstractions >= 1.0.0-rc1-final", - "Microsoft.Extensions.CodeGeneration >= 1.0.0-rc1-final", + "Microsoft.Extensions.Logging >= 1.0.0-rc1-final", + "Microsoft.Extensions.Logging.Console >= 1.0.0-rc1-final", + "Microsoft.Extensions.Logging.Debug >= 1.0.0-rc1-final", + "Microsoft.Extensions.Options >= 0.0.1-alpha", "Microsoft.Extensions.PlatformAbstractions >= 1.0.0-rc1-final", - "Microsoft.Extensions.CodeGenerators.Mvc >= 1.0.0-rc1-final", - "Microsoft.Framework.ConfigurationModel.Json >= 1.0.0-beta4", + "Microsoft.Extensions.WebEncoders >= 1.0.0-rc1-final", + "Microsoft.Extensions.WebEncoders.Core >= 1.0.0-rc1-final", "Microsoft.Framework.Configuration.Abstractions >= 1.0.0-beta8", "Microsoft.Framework.Configuration.Binder >= 1.0.0-beta8", "Microsoft.Framework.Configuration.Json >= 1.0.0-beta8", - "Microsoft.AspNet.Session >= 1.0.0-rc1-final", + "Microsoft.Framework.ConfigurationModel.Json >= 1.0.0-beta4", "Microsoft.NETCore.Platforms >= 1.0.1-beta-23516", - "Microsoft.AspNet.Web.Optimization >= 1.1.3", - "Microsoft.Extensions.WebEncoders.Core >= 1.0.0-rc1-final", - "Microsoft.AspNetCore.Authentication.OAuth >= 0.0.1-alpha", - "Microsoft.Extensions.Options >= 0.0.1-alpha", - "Microsoft.Extensions.WebEncoders >= 1.0.0-rc1-final", - "Microsoft.AspNet.DataProtection >= 1.0.0-rc1-final", - "Microsoft.AspNet.DataProtection.SystemWeb >= 1.0.0-rc1-final", - "Microsoft.AspNet.Authentication.JwtBearer >= 1.0.0-rc1-final", - "PayPalCoreSDK >= 1.7.1", - "PayPalButtonManagerSDK >= 2.10.109" + "PayPalButtonManagerSDK >= 2.10.109", + "PayPalCoreSDK >= 1.7.1" ], "DNX,Version=v4.5.1": [] - } + }, + "tools": {}, + "projectFileToolGroups": {} } \ No newline at end of file diff --git a/external/oauth-aspnet b/external/oauth-aspnet index 1fdf3cb7..0bc87b6a 160000 --- a/external/oauth-aspnet +++ b/external/oauth-aspnet @@ -1 +1 @@ -Subproject commit 1fdf3cb799188891aa0fcb924cb7888d6d1bd92d +Subproject commit 0bc87b6a66137ea16621a6bb8c63fe822fd9ac0c diff --git a/global.json b/global.json index 8d22797c..3e075f83 100644 --- a/global.json +++ b/global.json @@ -1,5 +1,5 @@ { - "projects": [ "Yavsc", "external/oauth-aspnet" ], + "projects": [ "Yavsc" ], "sdk": { "version": "1.0.0-rc1-update2", "runtime": "mono", diff --git a/testOauthClient/Controllers/AuthenticationController.cs b/testOauthClient/Controllers/AuthenticationController.cs index 51936e3e..ed65f72a 100644 --- a/testOauthClient/Controllers/AuthenticationController.cs +++ b/testOauthClient/Controllers/AuthenticationController.cs @@ -10,7 +10,7 @@ namespace Mvc.Client.Controllers { // Instruct the OIDC client middleware to redirect the user agent to the identity provider. // Note: the authenticationType parameter must match the value configured in Startup.cs var properties = new AuthenticationProperties { RedirectUri = "http://localhost:5002/signin-yavsc" }; - return new ChallengeResult("yavsc", properties); + return new ChallengeResult("Yavsc", properties); } } diff --git a/testOauthClient/Startup.cs b/testOauthClient/Startup.cs index ac2c31d8..b094ca0c 100755 --- a/testOauthClient/Startup.cs +++ b/testOauthClient/Startup.cs @@ -1,18 +1,12 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Threading.Tasks; using Microsoft.AspNet.Builder; using Microsoft.AspNet.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; -using Microsoft.AspNet.Authentication.OpenIdConnect; using Microsoft.AspNet.Authentication; -using Microsoft.IdentityModel.Protocols.OpenIdConnect; using Microsoft.AspNet.Http; using Microsoft.AspNet.Authentication.Cookies; -using Yavsc.Auth; using Microsoft.Extensions.WebEncoders; namespace testOauthClient @@ -77,16 +71,15 @@ namespace testOauthClient app.UseOAuthAuthentication( options => {  - options.AuthenticationScheme = "yavsc"; - options.AuthorizationEndpoint="http://dev.pschneider.fr/authorize"; - options.TokenEndpoint="http://dev.pschneider.fr/token"; - options.AutomaticAuthenticate=true; - options.AutomaticChallenge=true; - options.CallbackPath=new PathString("/signin-yavsc"); - options.ClaimsIssuer="http://dev.pschneider.fr"; - options.ClientId="016c5ae4-f4cd-40e3-b250-13701c871ecd"; - options.ClientSecret="blahblah"; - options.SignInScheme="Bearer"; + options.AuthenticationScheme = "Yavsc"; + options.AuthorizationEndpoint = "http://dev.pschneider.fr/authorize"; + options.TokenEndpoint = "http://dev.pschneider.fr/token"; + options.CallbackPath = new PathString("/signin-yavsc"); + options.ClientId="21d8bd1b-4aed-4fcb-9ed9-00b43f6a8169"; + options.ClientSecret="blih"; + options.Scope.Add("profile"); + options.SaveTokensAsClaims = true; + options.UserInformationEndpoint = "http://dev.pschneider.fr/api/me"; } ); diff --git a/testOauthClient/YavscOAuthHandler.cs b/testOauthClient/YavscOAuthHandler.cs deleted file mode 100644 index 4d575f07..00000000 --- a/testOauthClient/YavscOAuthHandler.cs +++ /dev/null @@ -1,157 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Net.Http; -using System.Net.Http.Headers; -using System.Security.Claims; -using System.Threading.Tasks; -using Microsoft.AspNet.Authentication; -using Microsoft.AspNet.Authentication.OAuth; -using Microsoft.AspNet.Http; -using Microsoft.AspNet.Http.Authentication; -using Microsoft.AspNet.Http.Features.Authentication; -using Microsoft.AspNet.WebUtilities; -using Microsoft.Extensions.Logging; -using Newtonsoft.Json.Linq; - -namespace Yavsc.Auth -{ - internal class YavscOAuthHandler : OAuthHandler - { - private ILogger _logger; - HttpClient _backchannel; - private SharedAuthenticationOptions _sharedOptions; - public YavscOAuthHandler(HttpClient httpClient, SharedAuthenticationOptions sharedOptions, ILogger logger) - : base(httpClient) - { - _backchannel = httpClient; - _logger = logger; - _sharedOptions = sharedOptions; - } - // TODO: Abstract this properties override pattern into the base class? - protected override string BuildChallengeUrl(AuthenticationProperties properties, string redirectUri) - { - var scope = FormatScope(); - var queryStrings = new Dictionary(StringComparer.OrdinalIgnoreCase); - queryStrings.Add("response_type", "code"); - queryStrings.Add("client_id", Options.ClientId); - queryStrings.Add("redirect_uri", redirectUri); - - AddQueryString(queryStrings, properties, "scope", scope); - - AddQueryString(queryStrings, properties, "access_type", Options.AccessType ); - AddQueryString(queryStrings, properties, "approval_prompt"); - AddQueryString(queryStrings, properties, "login_hint"); - - var state = Options.StateDataFormat.Protect(properties); - queryStrings.Add("state", state); - - var authorizationEndpoint = QueryHelpers.AddQueryString(Options.AuthorizationEndpoint, queryStrings); - return authorizationEndpoint; - } - - private static void AddQueryString(IDictionary queryStrings, AuthenticationProperties properties, - string name, string defaultValue = null) - { - string value; - if (!properties.Items.TryGetValue(name, out value)) - { - value = defaultValue; - } - else - { - // Remove the parameter from AuthenticationProperties so it won't be serialized to state parameter - properties.Items.Remove(name); - } - queryStrings[name] = value; - } - protected new async Task AuthenticateAsync(AuthenticateContext context) - { - AuthenticationProperties properties = null; - - try - { - // ASP.Net Identity requires the NameIdentitifer field to be set or it won't - // accept the external login (AuthenticationManagerExtensions.GetExternalLoginInfo) - - string code = null; - string state = null; - - IReadableStringCollection query = Request.Query; - IList values = query["code"]; - if (values != null && values.Count == 1) - { - code = values[0]; - } - values = query["state"]; - if (values != null && values.Count == 1) - { - state = values[0]; - } - - properties = Options.StateDataFormat.Unprotect(state); - if (properties == null) - { - return null; - } - - // OAuth2 10.12 CSRF - if (!ValidateCorrelationId(properties)) - { - return new AuthenticationTicket(null, properties, this.Options.AuthenticationScheme); - } - - string requestPrefix = Request.Scheme + "://" + Request.Host; - string redirectUri = requestPrefix + Request.PathBase + Options.CallbackPath; - - // Build up the body for the token request - var body = new List>(); - body.Add(new KeyValuePair("grant_type", "authorization_code")); - body.Add(new KeyValuePair("code", code)); - body.Add(new KeyValuePair("redirect_uri", redirectUri)); - body.Add(new KeyValuePair("client_id", Options.ClientId)); - body.Add(new KeyValuePair("client_secret", Options.ClientSecret)); - - // Request the token - HttpResponseMessage tokenResponse = - await _backchannel.PostAsync(Options.TokenEndpoint, new FormUrlEncodedContent(body)); - tokenResponse.EnsureSuccessStatusCode(); - string text = await tokenResponse.Content.ReadAsStringAsync(); - - // Deserializes the token response - JObject response = JObject.Parse(text); - string accessToken = response.Value("access_token"); - - if (string.IsNullOrWhiteSpace(accessToken)) - { - _logger.LogWarning("Access token was not found"); - return new AuthenticationTicket(null, properties, this.Options.AuthenticationScheme); - } - - // Get the user - HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, Options.UserInformationEndpoint); - request.Headers.Authorization = new AuthenticationHeaderValue(this.Options.AuthenticationScheme, accessToken); - HttpResponseMessage graphResponse = await _backchannel.SendAsync(request); - graphResponse.EnsureSuccessStatusCode(); - text = await graphResponse.Content.ReadAsStringAsync(); - JObject user = JObject.Parse(text); - // Read user data - - var id = new ClaimsIdentity( - _sharedOptions.SignInScheme, - ClaimsIdentity.DefaultNameClaimType, - ClaimsIdentity.DefaultRoleClaimType); - context.Authenticated(new ClaimsPrincipal(id) - , new Dictionary(), new Dictionary{ - { "John" , (object) "Doe" } - }); - return new AuthenticationTicket(context.Principal, properties, _sharedOptions.SignInScheme); - } - catch (Exception ex) - { - _logger.LogError("Authentication failed", ex); - return new AuthenticationTicket(null, properties, this.Options.AuthenticationScheme); - } - - } - } -} diff --git a/testOauthClient/YavscOAuthMiddleware.cs b/testOauthClient/YavscOAuthMiddleware.cs deleted file mode 100644 index 7776998c..00000000 --- a/testOauthClient/YavscOAuthMiddleware.cs +++ /dev/null @@ -1,80 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using System; -using Microsoft.AspNet.Authentication; -using Microsoft.AspNet.Authentication.OAuth; -using Microsoft.AspNet.Builder; -using Microsoft.AspNet.DataProtection; -using Microsoft.Extensions.Logging; -using Microsoft.Extensions.OptionsModel; -using Microsoft.Extensions.WebEncoders; -namespace Yavsc.Auth -{ - /// - /// An ASP.NET Core middleware for authenticating users using Google OAuth 2.0. - /// - public class YavscOAuthMiddleware : OAuthMiddleware - { - private RequestDelegate _next; - private ILogger _logger; - private SharedAuthenticationOptions _sharedOptions; - - /// - /// Initializes a new . - /// - /// The next middleware in the HTTP pipeline to invoke. - /// - /// - /// - /// - /// Configuration options for the middleware. - public YavscOAuthMiddleware( - RequestDelegate next, - IDataProtectionProvider dataProtectionProvider, - ILoggerFactory loggerFactory, - UrlEncoder encoder, - IOptions sharedOptions, - YavscOAuthOptions options) - : base(next, dataProtectionProvider, loggerFactory, encoder, sharedOptions, options) - { - if (next == null) - { - throw new ArgumentNullException(nameof(next)); - } - _next = next; - - if (dataProtectionProvider == null) - { - throw new ArgumentNullException(nameof(dataProtectionProvider)); - } - - if (loggerFactory == null) - { - throw new ArgumentNullException(nameof(loggerFactory)); - } - _logger = loggerFactory.CreateLogger(); - - if (encoder == null) - { - throw new ArgumentNullException(nameof(encoder)); - } - - if (sharedOptions == null) - { - throw new ArgumentNullException(nameof(sharedOptions)); - } - _sharedOptions = sharedOptions.Value; - - if (options == null) - { - throw new ArgumentNullException(nameof(options)); - } - } - - protected override AuthenticationHandler CreateHandler() - { - return new YavscOAuthHandler(Backchannel,_sharedOptions,_logger); - } - } -} diff --git a/testOauthClient/YavscOAuthOptions.cs b/testOauthClient/YavscOAuthOptions.cs deleted file mode 100644 index 6290db6a..00000000 --- a/testOauthClient/YavscOAuthOptions.cs +++ /dev/null @@ -1,24 +0,0 @@ - - -using Microsoft.AspNet.Authentication.OAuth; -using Microsoft.AspNet.Http; - -public class YavscOAuthOptions : OAuthOptions { - public YavscOAuthOptions() - { - AuthenticationScheme = "yavsc"; - DisplayName = AuthenticationScheme; - CallbackPath = new PathString("/signin-yavsc"); - AuthorizationEndpoint = "http://dev.pschneider.fr/connect/authorize"; - TokenEndpoint = "http://dev.pschneider.fr/api/token/get"; - UserInformationEndpoint = "http://dev.pschneider.fr/api/userinfo"; - Scope.Add("openid"); - Scope.Add("profile"); - Scope.Add("email"); - } - - /// - /// access_type. Set to 'offline' to request a refresh token. - /// - public string AccessType { get; set; } -} \ No newline at end of file diff --git a/testOauthClient/wwwroot/lib/bootstrap/.bower.json b/testOauthClient/wwwroot/lib/bootstrap/.bower.json new file mode 100644 index 00000000..b8d11ac9 --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/.bower.json @@ -0,0 +1,44 @@ +{ + "name": "bootstrap", + "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", + "keywords": [ + "css", + "js", + "less", + "mobile-first", + "responsive", + "front-end", + "framework", + "web" + ], + "homepage": "http://getbootstrap.com", + "license": "MIT", + "moduleType": "globals", + "main": [ + "less/bootstrap.less", + "dist/js/bootstrap.js" + ], + "ignore": [ + "/.*", + "_config.yml", + "CNAME", + "composer.json", + "CONTRIBUTING.md", + "docs", + "js/tests", + "test-infra" + ], + "dependencies": { + "jquery": ">= 1.9.1" + }, + "version": "3.3.5", + "_release": "3.3.5", + "_resolution": { + "type": "version", + "tag": "v3.3.5", + "commit": "16b48259a62f576e52c903c476bd42b90ab22482" + }, + "_source": "https://github.com/twbs/bootstrap.git", + "_target": "3.3.5", + "_originalSource": "bootstrap" +} \ No newline at end of file diff --git a/testOauthClient/wwwroot/lib/bootstrap/Gruntfile.js b/testOauthClient/wwwroot/lib/bootstrap/Gruntfile.js new file mode 100644 index 00000000..4c021cef --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/Gruntfile.js @@ -0,0 +1,531 @@ +/*! + * Bootstrap's Gruntfile + * http://getbootstrap.com + * Copyright 2013-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ + +module.exports = function (grunt) { + 'use strict'; + + // Force use of Unix newlines + grunt.util.linefeed = '\n'; + + RegExp.quote = function (string) { + return string.replace(/[-\\^$*+?.()|[\]{}]/g, '\\$&'); + }; + + var fs = require('fs'); + var path = require('path'); + var npmShrinkwrap = require('npm-shrinkwrap'); + var generateGlyphiconsData = require('./grunt/bs-glyphicons-data-generator.js'); + var BsLessdocParser = require('./grunt/bs-lessdoc-parser.js'); + var getLessVarsData = function () { + var filePath = path.join(__dirname, 'less/variables.less'); + var fileContent = fs.readFileSync(filePath, { encoding: 'utf8' }); + var parser = new BsLessdocParser(fileContent); + return { sections: parser.parseFile() }; + }; + var generateRawFiles = require('./grunt/bs-raw-files-generator.js'); + var generateCommonJSModule = require('./grunt/bs-commonjs-generator.js'); + var configBridge = grunt.file.readJSON('./grunt/configBridge.json', { encoding: 'utf8' }); + + Object.keys(configBridge.paths).forEach(function (key) { + configBridge.paths[key].forEach(function (val, i, arr) { + arr[i] = path.join('./docs/assets', val); + }); + }); + + // Project configuration. + grunt.initConfig({ + + // Metadata. + pkg: grunt.file.readJSON('package.json'), + banner: '/*!\n' + + ' * Bootstrap v<%= pkg.version %> (<%= pkg.homepage %>)\n' + + ' * Copyright 2011-<%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' + + ' * Licensed under the <%= pkg.license %> license\n' + + ' */\n', + jqueryCheck: configBridge.config.jqueryCheck.join('\n'), + jqueryVersionCheck: configBridge.config.jqueryVersionCheck.join('\n'), + + // Task configuration. + clean: { + dist: 'dist', + docs: 'docs/dist' + }, + + jshint: { + options: { + jshintrc: 'js/.jshintrc' + }, + grunt: { + options: { + jshintrc: 'grunt/.jshintrc' + }, + src: ['Gruntfile.js', 'package.js', 'grunt/*.js'] + }, + core: { + src: 'js/*.js' + }, + test: { + options: { + jshintrc: 'js/tests/unit/.jshintrc' + }, + src: 'js/tests/unit/*.js' + }, + assets: { + src: ['docs/assets/js/src/*.js', 'docs/assets/js/*.js', '!docs/assets/js/*.min.js'] + } + }, + + jscs: { + options: { + config: 'js/.jscsrc' + }, + grunt: { + src: '<%= jshint.grunt.src %>' + }, + core: { + src: '<%= jshint.core.src %>' + }, + test: { + src: '<%= jshint.test.src %>' + }, + assets: { + options: { + requireCamelCaseOrUpperCaseIdentifiers: null + }, + src: '<%= jshint.assets.src %>' + } + }, + + concat: { + options: { + banner: '<%= banner %>\n<%= jqueryCheck %>\n<%= jqueryVersionCheck %>', + stripBanners: false + }, + bootstrap: { + src: [ + 'js/transition.js', + 'js/alert.js', + 'js/button.js', + 'js/carousel.js', + 'js/collapse.js', + 'js/dropdown.js', + 'js/modal.js', + 'js/tooltip.js', + 'js/popover.js', + 'js/scrollspy.js', + 'js/tab.js', + 'js/affix.js' + ], + dest: 'dist/js/<%= pkg.name %>.js' + } + }, + + uglify: { + options: { + compress: { + warnings: false + }, + mangle: true, + preserveComments: 'some' + }, + core: { + src: '<%= concat.bootstrap.dest %>', + dest: 'dist/js/<%= pkg.name %>.min.js' + }, + customize: { + src: configBridge.paths.customizerJs, + dest: 'docs/assets/js/customize.min.js' + }, + docsJs: { + src: configBridge.paths.docsJs, + dest: 'docs/assets/js/docs.min.js' + } + }, + + qunit: { + options: { + inject: 'js/tests/unit/phantom.js' + }, + files: 'js/tests/index.html' + }, + + less: { + compileCore: { + options: { + strictMath: true, + sourceMap: true, + outputSourceFiles: true, + sourceMapURL: '<%= pkg.name %>.css.map', + sourceMapFilename: 'dist/css/<%= pkg.name %>.css.map' + }, + src: 'less/bootstrap.less', + dest: 'dist/css/<%= pkg.name %>.css' + }, + compileTheme: { + options: { + strictMath: true, + sourceMap: true, + outputSourceFiles: true, + sourceMapURL: '<%= pkg.name %>-theme.css.map', + sourceMapFilename: 'dist/css/<%= pkg.name %>-theme.css.map' + }, + src: 'less/theme.less', + dest: 'dist/css/<%= pkg.name %>-theme.css' + } + }, + + autoprefixer: { + options: { + browsers: configBridge.config.autoprefixerBrowsers + }, + core: { + options: { + map: true + }, + src: 'dist/css/<%= pkg.name %>.css' + }, + theme: { + options: { + map: true + }, + src: 'dist/css/<%= pkg.name %>-theme.css' + }, + docs: { + src: ['docs/assets/css/src/docs.css'] + }, + examples: { + expand: true, + cwd: 'docs/examples/', + src: ['**/*.css'], + dest: 'docs/examples/' + } + }, + + csslint: { + options: { + csslintrc: 'less/.csslintrc' + }, + dist: [ + 'dist/css/bootstrap.css', + 'dist/css/bootstrap-theme.css' + ], + examples: [ + 'docs/examples/**/*.css' + ], + docs: { + options: { + ids: false, + 'overqualified-elements': false + }, + src: 'docs/assets/css/src/docs.css' + } + }, + + cssmin: { + options: { + // TODO: disable `zeroUnits` optimization once clean-css 3.2 is released + // and then simplify the fix for https://github.com/twbs/bootstrap/issues/14837 accordingly + compatibility: 'ie8', + keepSpecialComments: '*', + advanced: false + }, + minifyCore: { + src: 'dist/css/<%= pkg.name %>.css', + dest: 'dist/css/<%= pkg.name %>.min.css' + }, + minifyTheme: { + src: 'dist/css/<%= pkg.name %>-theme.css', + dest: 'dist/css/<%= pkg.name %>-theme.min.css' + }, + docs: { + src: [ + 'docs/assets/css/src/pygments-manni.css', + 'docs/assets/css/src/docs.css' + ], + dest: 'docs/assets/css/docs.min.css' + } + }, + + csscomb: { + options: { + config: 'less/.csscomb.json' + }, + dist: { + expand: true, + cwd: 'dist/css/', + src: ['*.css', '!*.min.css'], + dest: 'dist/css/' + }, + examples: { + expand: true, + cwd: 'docs/examples/', + src: '**/*.css', + dest: 'docs/examples/' + }, + docs: { + src: 'docs/assets/css/src/docs.css', + dest: 'docs/assets/css/src/docs.css' + } + }, + + copy: { + fonts: { + expand: true, + src: 'fonts/*', + dest: 'dist/' + }, + docs: { + expand: true, + cwd: 'dist/', + src: [ + '**/*' + ], + dest: 'docs/dist/' + } + }, + + connect: { + server: { + options: { + port: 3000, + base: '.' + } + } + }, + + jekyll: { + options: { + config: '_config.yml' + }, + docs: {}, + github: { + options: { + raw: 'github: true' + } + } + }, + + htmlmin: { + dist: { + options: { + collapseWhitespace: true, + conservativeCollapse: true, + minifyCSS: true, + minifyJS: true, + removeAttributeQuotes: true, + removeComments: true + }, + expand: true, + cwd: '_gh_pages', + dest: '_gh_pages', + src: [ + '**/*.html', + '!examples/**/*.html' + ] + } + }, + + jade: { + options: { + pretty: true, + data: getLessVarsData + }, + customizerVars: { + src: 'docs/_jade/customizer-variables.jade', + dest: 'docs/_includes/customizer-variables.html' + }, + customizerNav: { + src: 'docs/_jade/customizer-nav.jade', + dest: 'docs/_includes/nav/customize.html' + } + }, + + htmllint: { + options: { + ignore: [ + 'Attribute "autocomplete" not allowed on element "button" at this point.', + 'Attribute "autocomplete" not allowed on element "input" at this point.', + 'Element "img" is missing required attribute "src".' + ] + }, + src: '_gh_pages/**/*.html' + }, + + watch: { + src: { + files: '<%= jshint.core.src %>', + tasks: ['jshint:core', 'qunit', 'concat'] + }, + test: { + files: '<%= jshint.test.src %>', + tasks: ['jshint:test', 'qunit'] + }, + less: { + files: 'less/**/*.less', + tasks: 'less' + } + }, + + sed: { + versionNumber: { + pattern: (function () { + var old = grunt.option('oldver'); + return old ? RegExp.quote(old) : old; + })(), + replacement: grunt.option('newver'), + exclude: [ + 'dist/fonts', + 'docs/assets', + 'fonts', + 'js/tests/vendor', + 'node_modules', + 'test-infra' + ], + recursive: true + } + }, + + 'saucelabs-qunit': { + all: { + options: { + build: process.env.TRAVIS_JOB_ID, + throttled: 10, + maxRetries: 3, + maxPollRetries: 4, + urls: ['http://127.0.0.1:3000/js/tests/index.html?hidepassed'], + browsers: grunt.file.readYAML('grunt/sauce_browsers.yml') + } + } + }, + + exec: { + npmUpdate: { + command: 'npm update' + } + }, + + compress: { + main: { + options: { + archive: 'bootstrap-<%= pkg.version %>-dist.zip', + mode: 'zip', + level: 9, + pretty: true + }, + files: [ + { + expand: true, + cwd: 'dist/', + src: ['**'], + dest: 'bootstrap-<%= pkg.version %>-dist' + } + ] + } + } + + }); + + + // These plugins provide necessary tasks. + require('load-grunt-tasks')(grunt, { scope: 'devDependencies' }); + require('time-grunt')(grunt); + + // Docs HTML validation task + grunt.registerTask('validate-html', ['jekyll:docs', 'htmllint']); + + var runSubset = function (subset) { + return !process.env.TWBS_TEST || process.env.TWBS_TEST === subset; + }; + var isUndefOrNonZero = function (val) { + return val === undefined || val !== '0'; + }; + + // Test task. + var testSubtasks = []; + // Skip core tests if running a different subset of the test suite + if (runSubset('core') && + // Skip core tests if this is a Savage build + process.env.TRAVIS_REPO_SLUG !== 'twbs-savage/bootstrap') { + testSubtasks = testSubtasks.concat(['dist-css', 'dist-js', 'csslint:dist', 'test-js', 'docs']); + } + // Skip HTML validation if running a different subset of the test suite + if (runSubset('validate-html') && + // Skip HTML5 validator on Travis when [skip validator] is in the commit message + isUndefOrNonZero(process.env.TWBS_DO_VALIDATOR)) { + testSubtasks.push('validate-html'); + } + // Only run Sauce Labs tests if there's a Sauce access key + if (typeof process.env.SAUCE_ACCESS_KEY !== 'undefined' && + // Skip Sauce if running a different subset of the test suite + runSubset('sauce-js-unit') && + // Skip Sauce on Travis when [skip sauce] is in the commit message + isUndefOrNonZero(process.env.TWBS_DO_SAUCE)) { + testSubtasks.push('connect'); + testSubtasks.push('saucelabs-qunit'); + } + grunt.registerTask('test', testSubtasks); + grunt.registerTask('test-js', ['jshint:core', 'jshint:test', 'jshint:grunt', 'jscs:core', 'jscs:test', 'jscs:grunt', 'qunit']); + + // JS distribution task. + grunt.registerTask('dist-js', ['concat', 'uglify:core', 'commonjs']); + + // CSS distribution task. + grunt.registerTask('less-compile', ['less:compileCore', 'less:compileTheme']); + grunt.registerTask('dist-css', ['less-compile', 'autoprefixer:core', 'autoprefixer:theme', 'csscomb:dist', 'cssmin:minifyCore', 'cssmin:minifyTheme']); + + // Full distribution task. + grunt.registerTask('dist', ['clean:dist', 'dist-css', 'copy:fonts', 'dist-js']); + + // Default task. + grunt.registerTask('default', ['clean:dist', 'copy:fonts', 'test']); + + // Version numbering task. + // grunt change-version-number --oldver=A.B.C --newver=X.Y.Z + // This can be overzealous, so its changes should always be manually reviewed! + grunt.registerTask('change-version-number', 'sed'); + + grunt.registerTask('build-glyphicons-data', function () { generateGlyphiconsData.call(this, grunt); }); + + // task for building customizer + grunt.registerTask('build-customizer', ['build-customizer-html', 'build-raw-files']); + grunt.registerTask('build-customizer-html', 'jade'); + grunt.registerTask('build-raw-files', 'Add scripts/less files to customizer.', function () { + var banner = grunt.template.process('<%= banner %>'); + generateRawFiles(grunt, banner); + }); + + grunt.registerTask('commonjs', 'Generate CommonJS entrypoint module in dist dir.', function () { + var srcFiles = grunt.config.get('concat.bootstrap.src'); + var destFilepath = 'dist/js/npm.js'; + generateCommonJSModule(grunt, srcFiles, destFilepath); + }); + + // Docs task. + grunt.registerTask('docs-css', ['autoprefixer:docs', 'autoprefixer:examples', 'csscomb:docs', 'csscomb:examples', 'cssmin:docs']); + grunt.registerTask('lint-docs-css', ['csslint:docs', 'csslint:examples']); + grunt.registerTask('docs-js', ['uglify:docsJs', 'uglify:customize']); + grunt.registerTask('lint-docs-js', ['jshint:assets', 'jscs:assets']); + grunt.registerTask('docs', ['docs-css', 'lint-docs-css', 'docs-js', 'lint-docs-js', 'clean:docs', 'copy:docs', 'build-glyphicons-data', 'build-customizer']); + + grunt.registerTask('prep-release', ['dist', 'docs', 'jekyll:github', 'htmlmin', 'compress']); + + // Task for updating the cached npm packages used by the Travis build (which are controlled by test-infra/npm-shrinkwrap.json). + // This task should be run and the updated file should be committed whenever Bootstrap's dependencies change. + grunt.registerTask('update-shrinkwrap', ['exec:npmUpdate', '_update-shrinkwrap']); + grunt.registerTask('_update-shrinkwrap', function () { + var done = this.async(); + npmShrinkwrap({ dev: true, dirname: __dirname }, function (err) { + if (err) { + grunt.fail.warn(err); + } + var dest = 'test-infra/npm-shrinkwrap.json'; + fs.renameSync('npm-shrinkwrap.json', dest); + grunt.log.writeln('File ' + dest.cyan + ' updated.'); + done(); + }); + }); +}; diff --git a/testOauthClient/wwwroot/lib/bootstrap/LICENSE b/testOauthClient/wwwroot/lib/bootstrap/LICENSE new file mode 100644 index 00000000..f4c52d6a --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2011-2015 Twitter, Inc + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/testOauthClient/wwwroot/lib/bootstrap/README.md b/testOauthClient/wwwroot/lib/bootstrap/README.md new file mode 100644 index 00000000..34c8b5a5 --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/README.md @@ -0,0 +1,137 @@ +# [Bootstrap](http://getbootstrap.com) +[![Slack](https://bootstrap-slack.herokuapp.com/badge.svg)](https://bootstrap-slack.herokuapp.com) +![Bower version](https://img.shields.io/bower/v/bootstrap.svg) +[![npm version](https://img.shields.io/npm/v/bootstrap.svg)](https://www.npmjs.com/package/bootstrap) +[![Build Status](https://img.shields.io/travis/twbs/bootstrap/master.svg)](https://travis-ci.org/twbs/bootstrap) +[![devDependency Status](https://img.shields.io/david/dev/twbs/bootstrap.svg)](https://david-dm.org/twbs/bootstrap#info=devDependencies) +[![Selenium Test Status](https://saucelabs.com/browser-matrix/bootstrap.svg)](https://saucelabs.com/u/bootstrap) + +Bootstrap is a sleek, intuitive, and powerful front-end framework for faster and easier web development, created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thornton](https://twitter.com/fat), and maintained by the [core team](https://github.com/orgs/twbs/people) with the massive support and involvement of the community. + +To get started, check out ! + +## Table of contents + +- [Quick start](#quick-start) +- [Bugs and feature requests](#bugs-and-feature-requests) +- [Documentation](#documentation) +- [Contributing](#contributing) +- [Community](#community) +- [Versioning](#versioning) +- [Creators](#creators) +- [Copyright and license](#copyright-and-license) + +## Quick start + +Several quick start options are available: + +- [Download the latest release](https://github.com/twbs/bootstrap/archive/v3.3.5.zip). +- Clone the repo: `git clone https://github.com/twbs/bootstrap.git`. +- Install with [Bower](http://bower.io): `bower install bootstrap`. +- Install with [npm](https://www.npmjs.com): `npm install bootstrap`. +- Install with [Meteor](https://www.meteor.com): `meteor add twbs:bootstrap`. +- Install with [Composer](https://getcomposer.org): `composer require twbs/bootstrap`. + +Read the [Getting started page](http://getbootstrap.com/getting-started/) for information on the framework contents, templates and examples, and more. + +### What's included + +Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this: + +``` +bootstrap/ +├── css/ +│ ├── bootstrap.css +│ ├── bootstrap.css.map +│ ├── bootstrap.min.css +│ ├── bootstrap-theme.css +│ ├── bootstrap-theme.css.map +│ └── bootstrap-theme.min.css +├── js/ +│ ├── bootstrap.js +│ └── bootstrap.min.js +└── fonts/ + ├── glyphicons-halflings-regular.eot + ├── glyphicons-halflings-regular.svg + ├── glyphicons-halflings-regular.ttf + ├── glyphicons-halflings-regular.woff + └── glyphicons-halflings-regular.woff2 +``` + +We provide compiled CSS and JS (`bootstrap.*`), as well as compiled and minified CSS and JS (`bootstrap.min.*`). CSS [source maps](https://developer.chrome.com/devtools/docs/css-preprocessors) (`bootstrap.*.map`) are available for use with certain browsers' developer tools. Fonts from Glyphicons are included, as is the optional Bootstrap theme. + + + +## Bugs and feature requests + +Have a bug or a feature request? Please first read the [issue guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#using-the-issue-tracker) and search for existing and closed issues. If your problem or idea is not addressed yet, [please open a new issue](https://github.com/twbs/bootstrap/issues/new). + + +## Documentation + +Bootstrap's documentation, included in this repo in the root directory, is built with [Jekyll](http://jekyllrb.com) and publicly hosted on GitHub Pages at . The docs may also be run locally. + +### Running documentation locally + +1. If necessary, [install Jekyll](http://jekyllrb.com/docs/installation) (requires v2.5.x). + - **Windows users:** Read [this unofficial guide](http://jekyll-windows.juthilo.com/) to get Jekyll up and running without problems. +2. Install the Ruby-based syntax highlighter, [Rouge](https://github.com/jneen/rouge), with `gem install rouge`. +3. From the root `/bootstrap` directory, run `jekyll serve` in the command line. +4. Open in your browser, and voilà. + +Learn more about using Jekyll by reading its [documentation](http://jekyllrb.com/docs/home/). + +### Documentation for previous releases + +Documentation for v2.3.2 has been made available for the time being at while folks transition to Bootstrap 3. + +[Previous releases](https://github.com/twbs/bootstrap/releases) and their documentation are also available for download. + + + +## Contributing + +Please read through our [contributing guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md). Included are directions for opening issues, coding standards, and notes on development. + +Moreover, if your pull request contains JavaScript patches or features, you must include [relevant unit tests](https://github.com/twbs/bootstrap/tree/master/js/tests). All HTML and CSS should conform to the [Code Guide](https://github.com/mdo/code-guide), maintained by [Mark Otto](https://github.com/mdo). + +Editor preferences are available in the [editor config](https://github.com/twbs/bootstrap/blob/master/.editorconfig) for easy use in common text editors. Read more and download plugins at . + + + +## Community + +Get updates on Bootstrap's development and chat with the project maintainers and community members. + +- Follow [@getbootstrap on Twitter](https://twitter.com/getbootstrap). +- Read and subscribe to [The Official Bootstrap Blog](http://blog.getbootstrap.com). +- Join [the official Slack room](https://bootstrap-slack.herokuapp.com). +- Chat with fellow Bootstrappers in IRC. On the `irc.freenode.net` server, in the `##bootstrap` channel. +- Implementation help may be found at Stack Overflow (tagged [`twitter-bootstrap-3`](https://stackoverflow.com/questions/tagged/twitter-bootstrap-3)). +- Developers should use the keyword `bootstrap` on packages which modify or add to the functionality of Bootstrap when distributing through [npm](https://www.npmjs.com/browse/keyword/bootstrap) or similar delivery mechanisms for maximum discoverability. + + + +## Versioning + +For transparency into our release cycle and in striving to maintain backward compatibility, Bootstrap is maintained under [the Semantic Versioning guidelines](http://semver.org/). Sometimes we screw up, but we'll adhere to those rules whenever possible. + + + +## Creators + +**Mark Otto** + +- +- + +**Jacob Thornton** + +- +- + + + +## Copyright and license + +Code and documentation copyright 2011-2015 Twitter, Inc. Code released under [the MIT license](https://github.com/twbs/bootstrap/blob/master/LICENSE). Docs released under [Creative Commons](https://github.com/twbs/bootstrap/blob/master/docs/LICENSE). diff --git a/testOauthClient/wwwroot/lib/bootstrap/bower.json b/testOauthClient/wwwroot/lib/bootstrap/bower.json new file mode 100644 index 00000000..686bcf1a --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/bower.json @@ -0,0 +1,34 @@ +{ + "name": "bootstrap", + "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", + "keywords": [ + "css", + "js", + "less", + "mobile-first", + "responsive", + "front-end", + "framework", + "web" + ], + "homepage": "http://getbootstrap.com", + "license": "MIT", + "moduleType": "globals", + "main": [ + "less/bootstrap.less", + "dist/js/bootstrap.js" + ], + "ignore": [ + "/.*", + "_config.yml", + "CNAME", + "composer.json", + "CONTRIBUTING.md", + "docs", + "js/tests", + "test-infra" + ], + "dependencies": { + "jquery": ">= 1.9.1" + } +} diff --git a/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css new file mode 100644 index 00000000..c19cd5c4 --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css @@ -0,0 +1,587 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +.btn-default, +.btn-primary, +.btn-success, +.btn-info, +.btn-warning, +.btn-danger { + text-shadow: 0 -1px 0 rgba(0, 0, 0, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 1px rgba(0, 0, 0, .075); +} +.btn-default:active, +.btn-primary:active, +.btn-success:active, +.btn-info:active, +.btn-warning:active, +.btn-danger:active, +.btn-default.active, +.btn-primary.active, +.btn-success.active, +.btn-info.active, +.btn-warning.active, +.btn-danger.active { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-default.disabled, +.btn-primary.disabled, +.btn-success.disabled, +.btn-info.disabled, +.btn-warning.disabled, +.btn-danger.disabled, +.btn-default[disabled], +.btn-primary[disabled], +.btn-success[disabled], +.btn-info[disabled], +.btn-warning[disabled], +.btn-danger[disabled], +fieldset[disabled] .btn-default, +fieldset[disabled] .btn-primary, +fieldset[disabled] .btn-success, +fieldset[disabled] .btn-info, +fieldset[disabled] .btn-warning, +fieldset[disabled] .btn-danger { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-default .badge, +.btn-primary .badge, +.btn-success .badge, +.btn-info .badge, +.btn-warning .badge, +.btn-danger .badge { + text-shadow: none; +} +.btn:active, +.btn.active { + background-image: none; +} +.btn-default { + text-shadow: 0 1px 0 #fff; + background-image: -webkit-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -o-linear-gradient(top, #fff 0%, #e0e0e0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#e0e0e0)); + background-image: linear-gradient(to bottom, #fff 0%, #e0e0e0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #dbdbdb; + border-color: #ccc; +} +.btn-default:hover, +.btn-default:focus { + background-color: #e0e0e0; + background-position: 0 -15px; +} +.btn-default:active, +.btn-default.active { + background-color: #e0e0e0; + border-color: #dbdbdb; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #e0e0e0; + background-image: none; +} +.btn-primary { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#265a88)); + background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #245580; +} +.btn-primary:hover, +.btn-primary:focus { + background-color: #265a88; + background-position: 0 -15px; +} +.btn-primary:active, +.btn-primary.active { + background-color: #265a88; + border-color: #245580; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #265a88; + background-image: none; +} +.btn-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#419641)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #3e8f3e; +} +.btn-success:hover, +.btn-success:focus { + background-color: #419641; + background-position: 0 -15px; +} +.btn-success:active, +.btn-success.active { + background-color: #419641; + border-color: #3e8f3e; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #419641; + background-image: none; +} +.btn-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#2aabd2)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #28a4c9; +} +.btn-info:hover, +.btn-info:focus { + background-color: #2aabd2; + background-position: 0 -15px; +} +.btn-info:active, +.btn-info.active { + background-color: #2aabd2; + border-color: #28a4c9; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #2aabd2; + background-image: none; +} +.btn-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#eb9316)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #e38d13; +} +.btn-warning:hover, +.btn-warning:focus { + background-color: #eb9316; + background-position: 0 -15px; +} +.btn-warning:active, +.btn-warning.active { + background-color: #eb9316; + border-color: #e38d13; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #eb9316; + background-image: none; +} +.btn-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c12e2a)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-color: #b92c28; +} +.btn-danger:hover, +.btn-danger:focus { + background-color: #c12e2a; + background-position: 0 -15px; +} +.btn-danger:active, +.btn-danger.active { + background-color: #c12e2a; + border-color: #b92c28; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #c12e2a; + background-image: none; +} +.thumbnail, +.img-thumbnail { + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + background-color: #e8e8e8; + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + background-color: #2e6da4; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; +} +.navbar-default { + background-image: -webkit-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -o-linear-gradient(top, #fff 0%, #f8f8f8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#f8f8f8)); + background-image: linear-gradient(to bottom, #fff 0%, #f8f8f8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15), 0 1px 5px rgba(0, 0, 0, .075); +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dbdbdb), to(#e2e2e2)); + background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .075); +} +.navbar-brand, +.navbar-nav > li > a { + text-shadow: 0 1px 0 rgba(255, 255, 255, .25); +} +.navbar-inverse { + background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -o-linear-gradient(top, #3c3c3c 0%, #222 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#3c3c3c), to(#222)); + background-image: linear-gradient(to bottom, #3c3c3c 0%, #222 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0); + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); + background-repeat: repeat-x; + border-radius: 4px; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .active > a { + background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#080808), to(#0f0f0f)); + background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0); + background-repeat: repeat-x; + -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); + box-shadow: inset 0 3px 9px rgba(0, 0, 0, .25); +} +.navbar-inverse .navbar-brand, +.navbar-inverse .navbar-nav > li > a { + text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); +} +.navbar-static-top, +.navbar-fixed-top, +.navbar-fixed-bottom { + border-radius: 0; +} +@media (max-width: 767px) { + .navbar .navbar-nav .open .dropdown-menu > .active > a, + .navbar .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; + } +} +.alert { + text-shadow: 0 1px 0 rgba(255, 255, 255, .2); + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .25), 0 1px 2px rgba(0, 0, 0, .05); +} +.alert-success { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#c8e5bc)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0); + background-repeat: repeat-x; + border-color: #b2dba1; +} +.alert-info { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#b9def0)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0); + background-repeat: repeat-x; + border-color: #9acfea; +} +.alert-warning { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#f8efc0)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0); + background-repeat: repeat-x; + border-color: #f5e79e; +} +.alert-danger { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#e7c3c3)); + background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0); + background-repeat: repeat-x; + border-color: #dca7a7; +} +.progress { + background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#ebebeb), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#286090)); + background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-success { + background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5cb85c), to(#449d44)); + background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-info { + background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#5bc0de), to(#31b0d5)); + background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-warning { + background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f0ad4e), to(#ec971f)); + background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-danger { + background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9534f), to(#c9302c)); + background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0); + background-repeat: repeat-x; +} +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.list-group { + border-radius: 4px; + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .075); + box-shadow: 0 1px 2px rgba(0, 0, 0, .075); +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + text-shadow: 0 -1px 0 #286090; + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2b669a)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0); + background-repeat: repeat-x; + border-color: #2b669a; +} +.list-group-item.active .badge, +.list-group-item.active:hover .badge, +.list-group-item.active:focus .badge { + text-shadow: none; +} +.panel { + -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .05); + box-shadow: 0 1px 2px rgba(0, 0, 0, .05); +} +.panel-default > .panel-heading { + background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8)); + background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0); + background-repeat: repeat-x; +} +.panel-primary > .panel-heading { + background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#337ab7), to(#2e6da4)); + background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0); + background-repeat: repeat-x; +} +.panel-success > .panel-heading { + background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#dff0d8), to(#d0e9c6)); + background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0); + background-repeat: repeat-x; +} +.panel-info > .panel-heading { + background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#d9edf7), to(#c4e3f3)); + background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0); + background-repeat: repeat-x; +} +.panel-warning > .panel-heading { + background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#fcf8e3), to(#faf2cc)); + background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0); + background-repeat: repeat-x; +} +.panel-danger > .panel-heading { + background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#f2dede), to(#ebcccc)); + background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0); + background-repeat: repeat-x; +} +.well { + background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%); + background-image: -webkit-gradient(linear, left top, left bottom, from(#e8e8e8), to(#f5f5f5)); + background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0); + background-repeat: repeat-x; + border-color: #dcdcdc; + -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 3px rgba(0, 0, 0, .05), 0 1px 0 rgba(255, 255, 255, .1); +} +/*# sourceMappingURL=bootstrap-theme.css.map */ diff --git a/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map new file mode 100644 index 00000000..75353114 --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap-theme.css","less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"AAAA;;;;GAIG;ACeH;;;;;;EAME,yCAAA;EC2CA,4FAAA;EACQ,oFAAA;CFvDT;ACgBC;;;;;;;;;;;;ECsCA,yDAAA;EACQ,iDAAA;CFxCT;ACMC;;;;;;;;;;;;;;;;;;ECiCA,yBAAA;EACQ,iBAAA;CFnBT;AC/BD;;;;;;EAuBI,kBAAA;CDgBH;ACyBC;;EAEE,uBAAA;CDvBH;AC4BD;EErEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;EAuC2C,0BAAA;EAA2B,mBAAA;CDjBvE;ACpBC;;EAEE,0BAAA;EACA,6BAAA;CDsBH;ACnBC;;EAEE,0BAAA;EACA,sBAAA;CDqBH;ACfG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CD6BL;ACbD;EEtEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CD8DD;AC5DC;;EAEE,0BAAA;EACA,6BAAA;CD8DH;AC3DC;;EAEE,0BAAA;EACA,sBAAA;CD6DH;ACvDG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CDqEL;ACpDD;EEvEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CDsGD;ACpGC;;EAEE,0BAAA;EACA,6BAAA;CDsGH;ACnGC;;EAEE,0BAAA;EACA,sBAAA;CDqGH;AC/FG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CD6GL;AC3FD;EExEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CD8ID;AC5IC;;EAEE,0BAAA;EACA,6BAAA;CD8IH;AC3IC;;EAEE,0BAAA;EACA,sBAAA;CD6IH;ACvIG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CDqJL;AClID;EEzEI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CDsLD;ACpLC;;EAEE,0BAAA;EACA,6BAAA;CDsLH;ACnLC;;EAEE,0BAAA;EACA,sBAAA;CDqLH;AC/KG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CD6LL;ACzKD;EE1EI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EAEA,uHAAA;ECnBF,oEAAA;EH4CA,4BAAA;EACA,sBAAA;CD8ND;AC5NC;;EAEE,0BAAA;EACA,6BAAA;CD8NH;AC3NC;;EAEE,0BAAA;EACA,sBAAA;CD6NH;ACvNG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACA,uBAAA;CDqOL;AC1MD;;EClCE,mDAAA;EACQ,2CAAA;CFgPT;ACrMD;;EE3FI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF0FF,0BAAA;CD2MD;ACzMD;;;EEhGI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EFgGF,0BAAA;CD+MD;ACtMD;EE7GI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ECnBF,oEAAA;EH+HA,mBAAA;ECjEA,4FAAA;EACQ,oFAAA;CF8QT;ACjND;;EE7GI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ED2CF,yDAAA;EACQ,iDAAA;CFwRT;AC9MD;;EAEE,+CAAA;CDgND;AC5MD;EEhII,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ECnBF,oEAAA;EHkJA,mBAAA;CDkND;ACrND;;EEhII,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;ED2CF,wDAAA;EACQ,gDAAA;CF+ST;AC/ND;;EAYI,0CAAA;CDuNH;AClND;;;EAGE,iBAAA;CDoND;AC/LD;EAfI;;;IAGE,YAAA;IE7JF,yEAAA;IACA,oEAAA;IACA,8FAAA;IAAA,uEAAA;IACA,4BAAA;IACA,uHAAA;GH+WD;CACF;AC3MD;EACE,8CAAA;EC3HA,2FAAA;EACQ,mFAAA;CFyUT;ACnMD;EEtLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CD+MD;AC1MD;EEvLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CDuND;ACjND;EExLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CD+ND;ACxND;EEzLI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EF8KF,sBAAA;CDuOD;ACxND;EEjMI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH4ZH;ACrND;EE3MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHmaH;AC3ND;EE5MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH0aH;ACjOD;EE7MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHibH;ACvOD;EE9MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHwbH;AC7OD;EE/MI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH+bH;AChPD;EElLI,8MAAA;EACA,yMAAA;EACA,sMAAA;CHqaH;AC5OD;EACE,mBAAA;EC9KA,mDAAA;EACQ,2CAAA;CF6ZT;AC7OD;;;EAGE,8BAAA;EEnOE,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EFiOF,sBAAA;CDmPD;ACxPD;;;EAQI,kBAAA;CDqPH;AC3OD;ECnME,kDAAA;EACQ,0CAAA;CFibT;ACrOD;EE5PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHoeH;AC3OD;EE7PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CH2eH;ACjPD;EE9PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHkfH;ACvPD;EE/PI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHyfH;AC7PD;EEhQI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHggBH;ACnQD;EEjQI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;CHugBH;ACnQD;EExQI,yEAAA;EACA,oEAAA;EACA,8FAAA;EAAA,uEAAA;EACA,4BAAA;EACA,uHAAA;EFsQF,sBAAA;EC3NA,0FAAA;EACQ,kFAAA;CFqeT","file":"bootstrap-theme.css","sourcesContent":["/*!\n * Bootstrap v3.3.5 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.btn-default:active,\n.btn-primary:active,\n.btn-success:active,\n.btn-info:active,\n.btn-warning:active,\n.btn-danger:active,\n.btn-default.active,\n.btn-primary.active,\n.btn-success.active,\n.btn-info.active,\n.btn-warning.active,\n.btn-danger.active {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-default.disabled,\n.btn-primary.disabled,\n.btn-success.disabled,\n.btn-info.disabled,\n.btn-warning.disabled,\n.btn-danger.disabled,\n.btn-default[disabled],\n.btn-primary[disabled],\n.btn-success[disabled],\n.btn-info[disabled],\n.btn-warning[disabled],\n.btn-danger[disabled],\nfieldset[disabled] .btn-default,\nfieldset[disabled] .btn-primary,\nfieldset[disabled] .btn-success,\nfieldset[disabled] .btn-info,\nfieldset[disabled] .btn-warning,\nfieldset[disabled] .btn-danger {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-default .badge,\n.btn-primary .badge,\n.btn-success .badge,\n.btn-info .badge,\n.btn-warning .badge,\n.btn-danger .badge {\n text-shadow: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n}\n.btn-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #e0e0e0 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #e0e0e0 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #dbdbdb;\n text-shadow: 0 1px 0 #fff;\n border-color: #ccc;\n}\n.btn-default:hover,\n.btn-default:focus {\n background-color: #e0e0e0;\n background-position: 0 -15px;\n}\n.btn-default:active,\n.btn-default.active {\n background-color: #e0e0e0;\n border-color: #dbdbdb;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #e0e0e0;\n background-image: none;\n}\n.btn-primary {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #265a88 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #265a88 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #245580;\n}\n.btn-primary:hover,\n.btn-primary:focus {\n background-color: #265a88;\n background-position: 0 -15px;\n}\n.btn-primary:active,\n.btn-primary.active {\n background-color: #265a88;\n border-color: #245580;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #265a88;\n background-image: none;\n}\n.btn-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #419641 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #419641 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #3e8f3e;\n}\n.btn-success:hover,\n.btn-success:focus {\n background-color: #419641;\n background-position: 0 -15px;\n}\n.btn-success:active,\n.btn-success.active {\n background-color: #419641;\n border-color: #3e8f3e;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #419641;\n background-image: none;\n}\n.btn-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #2aabd2 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #2aabd2 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #28a4c9;\n}\n.btn-info:hover,\n.btn-info:focus {\n background-color: #2aabd2;\n background-position: 0 -15px;\n}\n.btn-info:active,\n.btn-info.active {\n background-color: #2aabd2;\n border-color: #28a4c9;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #2aabd2;\n background-image: none;\n}\n.btn-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #eb9316 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #eb9316 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #e38d13;\n}\n.btn-warning:hover,\n.btn-warning:focus {\n background-color: #eb9316;\n background-position: 0 -15px;\n}\n.btn-warning:active,\n.btn-warning.active {\n background-color: #eb9316;\n border-color: #e38d13;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #eb9316;\n background-image: none;\n}\n.btn-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c12e2a 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c12e2a 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n background-repeat: repeat-x;\n border-color: #b92c28;\n}\n.btn-danger:hover,\n.btn-danger:focus {\n background-color: #c12e2a;\n background-position: 0 -15px;\n}\n.btn-danger:active,\n.btn-danger.active {\n background-color: #c12e2a;\n border-color: #b92c28;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #c12e2a;\n background-image: none;\n}\n.thumbnail,\n.img-thumbnail {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n background-color: #e8e8e8;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n background-color: #2e6da4;\n}\n.navbar-default {\n background-image: -webkit-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: -o-linear-gradient(top, #ffffff 0%, #f8f8f8 100%);\n background-image: linear-gradient(to bottom, #ffffff 0%, #f8f8f8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 5px rgba(0, 0, 0, 0.075);\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: -o-linear-gradient(top, #dbdbdb 0%, #e2e2e2 100%);\n background-image: linear-gradient(to bottom, #dbdbdb 0%, #e2e2e2 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.075);\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.25);\n}\n.navbar-inverse {\n background-image: -webkit-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: -o-linear-gradient(top, #3c3c3c 0%, #222222 100%);\n background-image: linear-gradient(to bottom, #3c3c3c 0%, #222222 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n border-radius: 4px;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .active > a {\n background-image: -webkit-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: -o-linear-gradient(top, #080808 0%, #0f0f0f 100%);\n background-image: linear-gradient(to bottom, #080808 0%, #0f0f0f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);\n -webkit-box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 3px 9px rgba(0, 0, 0, 0.25);\n}\n.navbar-inverse .navbar-brand,\n.navbar-inverse .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n@media (max-width: 767px) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n }\n}\n.alert {\n text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.alert-success {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #c8e5bc 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #c8e5bc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);\n border-color: #b2dba1;\n}\n.alert-info {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #b9def0 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #b9def0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);\n border-color: #9acfea;\n}\n.alert-warning {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #f8efc0 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #f8efc0 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);\n border-color: #f5e79e;\n}\n.alert-danger {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #e7c3c3 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #e7c3c3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);\n border-color: #dca7a7;\n}\n.progress {\n background-image: -webkit-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #ebebeb 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #ebebeb 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);\n}\n.progress-bar {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #286090 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #286090 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);\n}\n.progress-bar-success {\n background-image: -webkit-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: -o-linear-gradient(top, #5cb85c 0%, #449d44 100%);\n background-image: linear-gradient(to bottom, #5cb85c 0%, #449d44 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);\n}\n.progress-bar-info {\n background-image: -webkit-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: -o-linear-gradient(top, #5bc0de 0%, #31b0d5 100%);\n background-image: linear-gradient(to bottom, #5bc0de 0%, #31b0d5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);\n}\n.progress-bar-warning {\n background-image: -webkit-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: -o-linear-gradient(top, #f0ad4e 0%, #ec971f 100%);\n background-image: linear-gradient(to bottom, #f0ad4e 0%, #ec971f 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);\n}\n.progress-bar-danger {\n background-image: -webkit-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: -o-linear-gradient(top, #d9534f 0%, #c9302c 100%);\n background-image: linear-gradient(to bottom, #d9534f 0%, #c9302c 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);\n}\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.list-group {\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.075);\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 #286090;\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2b669a 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2b669a 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);\n border-color: #2b669a;\n}\n.list-group-item.active .badge,\n.list-group-item.active:hover .badge,\n.list-group-item.active:focus .badge {\n text-shadow: none;\n}\n.panel {\n -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);\n}\n.panel-default > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);\n background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);\n}\n.panel-primary > .panel-heading {\n background-image: -webkit-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: -o-linear-gradient(top, #337ab7 0%, #2e6da4 100%);\n background-image: linear-gradient(to bottom, #337ab7 0%, #2e6da4 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);\n}\n.panel-success > .panel-heading {\n background-image: -webkit-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: -o-linear-gradient(top, #dff0d8 0%, #d0e9c6 100%);\n background-image: linear-gradient(to bottom, #dff0d8 0%, #d0e9c6 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);\n}\n.panel-info > .panel-heading {\n background-image: -webkit-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: -o-linear-gradient(top, #d9edf7 0%, #c4e3f3 100%);\n background-image: linear-gradient(to bottom, #d9edf7 0%, #c4e3f3 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);\n}\n.panel-warning > .panel-heading {\n background-image: -webkit-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: -o-linear-gradient(top, #fcf8e3 0%, #faf2cc 100%);\n background-image: linear-gradient(to bottom, #fcf8e3 0%, #faf2cc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);\n}\n.panel-danger > .panel-heading {\n background-image: -webkit-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: -o-linear-gradient(top, #f2dede 0%, #ebcccc 100%);\n background-image: linear-gradient(to bottom, #f2dede 0%, #ebcccc 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);\n}\n.well {\n background-image: -webkit-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: -o-linear-gradient(top, #e8e8e8 0%, #f5f5f5 100%);\n background-image: linear-gradient(to bottom, #e8e8e8 0%, #f5f5f5 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);\n border-color: #dcdcdc;\n -webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 rgba(255, 255, 255, 0.1);\n}\n/*# sourceMappingURL=bootstrap-theme.css.map */","/*!\n * Bootstrap v3.3.5 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n\n//\n// Load core variables and mixins\n// --------------------------------------------------\n\n@import \"variables.less\";\n@import \"mixins.less\";\n\n\n//\n// Buttons\n// --------------------------------------------------\n\n// Common styles\n.btn-default,\n.btn-primary,\n.btn-success,\n.btn-info,\n.btn-warning,\n.btn-danger {\n text-shadow: 0 -1px 0 rgba(0,0,0,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 1px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n // Reset the shadow\n &:active,\n &.active {\n .box-shadow(inset 0 3px 5px rgba(0,0,0,.125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n .box-shadow(none);\n }\n\n .badge {\n text-shadow: none;\n }\n}\n\n// Mixin for generating new styles\n.btn-styles(@btn-color: #555) {\n #gradient > .vertical(@start-color: @btn-color; @end-color: darken(@btn-color, 12%));\n .reset-filter(); // Disable gradients for IE9 because filter bleeds through rounded corners; see https://github.com/twbs/bootstrap/issues/10620\n background-repeat: repeat-x;\n border-color: darken(@btn-color, 14%);\n\n &:hover,\n &:focus {\n background-color: darken(@btn-color, 12%);\n background-position: 0 -15px;\n }\n\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n border-color: darken(@btn-color, 14%);\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &,\n &:hover,\n &:focus,\n &.focus,\n &:active,\n &.active {\n background-color: darken(@btn-color, 12%);\n background-image: none;\n }\n }\n}\n\n// Common styles\n.btn {\n // Remove the gradient for the pressed/active state\n &:active,\n &.active {\n background-image: none;\n }\n}\n\n// Apply the mixin to the buttons\n.btn-default { .btn-styles(@btn-default-bg); text-shadow: 0 1px 0 #fff; border-color: #ccc; }\n.btn-primary { .btn-styles(@btn-primary-bg); }\n.btn-success { .btn-styles(@btn-success-bg); }\n.btn-info { .btn-styles(@btn-info-bg); }\n.btn-warning { .btn-styles(@btn-warning-bg); }\n.btn-danger { .btn-styles(@btn-danger-bg); }\n\n\n//\n// Images\n// --------------------------------------------------\n\n.thumbnail,\n.img-thumbnail {\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n\n\n//\n// Dropdowns\n// --------------------------------------------------\n\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-hover-bg; @end-color: darken(@dropdown-link-hover-bg, 5%));\n background-color: darken(@dropdown-link-hover-bg, 5%);\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n background-color: darken(@dropdown-link-active-bg, 5%);\n}\n\n\n//\n// Navbar\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n #gradient > .vertical(@start-color: lighten(@navbar-default-bg, 10%); @end-color: @navbar-default-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered\n border-radius: @navbar-border-radius;\n @shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 1px 5px rgba(0,0,0,.075);\n .box-shadow(@shadow);\n\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: darken(@navbar-default-link-active-bg, 5%); @end-color: darken(@navbar-default-link-active-bg, 2%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.075));\n }\n}\n.navbar-brand,\n.navbar-nav > li > a {\n text-shadow: 0 1px 0 rgba(255,255,255,.25);\n}\n\n// Inverted navbar\n.navbar-inverse {\n #gradient > .vertical(@start-color: lighten(@navbar-inverse-bg, 10%); @end-color: @navbar-inverse-bg);\n .reset-filter(); // Remove gradient in IE<10 to fix bug where dropdowns don't get triggered; see https://github.com/twbs/bootstrap/issues/10257\n border-radius: @navbar-border-radius;\n .navbar-nav > .open > a,\n .navbar-nav > .active > a {\n #gradient > .vertical(@start-color: @navbar-inverse-link-active-bg; @end-color: lighten(@navbar-inverse-link-active-bg, 2.5%));\n .box-shadow(inset 0 3px 9px rgba(0,0,0,.25));\n }\n\n .navbar-brand,\n .navbar-nav > li > a {\n text-shadow: 0 -1px 0 rgba(0,0,0,.25);\n }\n}\n\n// Undo rounded corners in static and fixed navbars\n.navbar-static-top,\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n border-radius: 0;\n}\n\n// Fix active state of dropdown items in collapsed mode\n@media (max-width: @grid-float-breakpoint-max) {\n .navbar .navbar-nav .open .dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: #fff;\n #gradient > .vertical(@start-color: @dropdown-link-active-bg; @end-color: darken(@dropdown-link-active-bg, 5%));\n }\n }\n}\n\n\n//\n// Alerts\n// --------------------------------------------------\n\n// Common styles\n.alert {\n text-shadow: 0 1px 0 rgba(255,255,255,.2);\n @shadow: inset 0 1px 0 rgba(255,255,255,.25), 0 1px 2px rgba(0,0,0,.05);\n .box-shadow(@shadow);\n}\n\n// Mixin for generating new styles\n.alert-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 7.5%));\n border-color: darken(@color, 15%);\n}\n\n// Apply the mixin to the alerts\n.alert-success { .alert-styles(@alert-success-bg); }\n.alert-info { .alert-styles(@alert-info-bg); }\n.alert-warning { .alert-styles(@alert-warning-bg); }\n.alert-danger { .alert-styles(@alert-danger-bg); }\n\n\n//\n// Progress bars\n// --------------------------------------------------\n\n// Give the progress background some depth\n.progress {\n #gradient > .vertical(@start-color: darken(@progress-bg, 4%); @end-color: @progress-bg)\n}\n\n// Mixin for generating new styles\n.progress-bar-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 10%));\n}\n\n// Apply the mixin to the progress bars\n.progress-bar { .progress-bar-styles(@progress-bar-bg); }\n.progress-bar-success { .progress-bar-styles(@progress-bar-success-bg); }\n.progress-bar-info { .progress-bar-styles(@progress-bar-info-bg); }\n.progress-bar-warning { .progress-bar-styles(@progress-bar-warning-bg); }\n.progress-bar-danger { .progress-bar-styles(@progress-bar-danger-bg); }\n\n// Reset the striped class because our mixins don't do multiple gradients and\n// the above custom styles override the new `.progress-bar-striped` in v3.2.0.\n.progress-bar-striped {\n #gradient > .striped();\n}\n\n\n//\n// List groups\n// --------------------------------------------------\n\n.list-group {\n border-radius: @border-radius-base;\n .box-shadow(0 1px 2px rgba(0,0,0,.075));\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n text-shadow: 0 -1px 0 darken(@list-group-active-bg, 10%);\n #gradient > .vertical(@start-color: @list-group-active-bg; @end-color: darken(@list-group-active-bg, 7.5%));\n border-color: darken(@list-group-active-border, 7.5%);\n\n .badge {\n text-shadow: none;\n }\n}\n\n\n//\n// Panels\n// --------------------------------------------------\n\n// Common styles\n.panel {\n .box-shadow(0 1px 2px rgba(0,0,0,.05));\n}\n\n// Mixin for generating new styles\n.panel-heading-styles(@color) {\n #gradient > .vertical(@start-color: @color; @end-color: darken(@color, 5%));\n}\n\n// Apply the mixin to the panel headings only\n.panel-default > .panel-heading { .panel-heading-styles(@panel-default-heading-bg); }\n.panel-primary > .panel-heading { .panel-heading-styles(@panel-primary-heading-bg); }\n.panel-success > .panel-heading { .panel-heading-styles(@panel-success-heading-bg); }\n.panel-info > .panel-heading { .panel-heading-styles(@panel-info-heading-bg); }\n.panel-warning > .panel-heading { .panel-heading-styles(@panel-warning-heading-bg); }\n.panel-danger > .panel-heading { .panel-heading-styles(@panel-danger-heading-bg); }\n\n\n//\n// Wells\n// --------------------------------------------------\n\n.well {\n #gradient > .vertical(@start-color: darken(@well-bg, 5%); @end-color: @well-bg);\n border-color: darken(@well-bg, 10%);\n @shadow: inset 0 1px 3px rgba(0,0,0,.05), 0 1px 0 rgba(255,255,255,.1);\n .box-shadow(@shadow);\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// Gradients\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-repeat: repeat-x;\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-repeat: no-repeat;\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\",argb(@start-color),argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255,255,255,.15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n"]} \ No newline at end of file diff --git a/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css new file mode 100644 index 00000000..61358b13 --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap-theme.min.css @@ -0,0 +1,5 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */.btn-danger,.btn-default,.btn-info,.btn-primary,.btn-success,.btn-warning{text-shadow:0 -1px 0 rgba(0,0,0,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 1px rgba(0,0,0,.075)}.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-success.active,.btn-success:active,.btn-warning.active,.btn-warning:active{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-danger.disabled,.btn-danger[disabled],.btn-default.disabled,.btn-default[disabled],.btn-info.disabled,.btn-info[disabled],.btn-primary.disabled,.btn-primary[disabled],.btn-success.disabled,.btn-success[disabled],.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-danger,fieldset[disabled] .btn-default,fieldset[disabled] .btn-info,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-success,fieldset[disabled] .btn-warning{-webkit-box-shadow:none;box-shadow:none}.btn-danger .badge,.btn-default .badge,.btn-info .badge,.btn-primary .badge,.btn-success .badge,.btn-warning .badge{text-shadow:none}.btn.active,.btn:active{background-image:none}.btn-default{text-shadow:0 1px 0 #fff;background-image:-webkit-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-o-linear-gradient(top,#fff 0,#e0e0e0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#e0e0e0));background-image:linear-gradient(to bottom,#fff 0,#e0e0e0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe0e0e0', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#dbdbdb;border-color:#ccc}.btn-default:focus,.btn-default:hover{background-color:#e0e0e0;background-position:0 -15px}.btn-default.active,.btn-default:active{background-color:#e0e0e0;border-color:#dbdbdb}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled.focus,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled].focus,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#e0e0e0;background-image:none}.btn-primary{background-image:-webkit-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-o-linear-gradient(top,#337ab7 0,#265a88 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#265a88));background-image:linear-gradient(to bottom,#337ab7 0,#265a88 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff265a88', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#245580}.btn-primary:focus,.btn-primary:hover{background-color:#265a88;background-position:0 -15px}.btn-primary.active,.btn-primary:active{background-color:#265a88;border-color:#245580}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled.focus,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled].focus,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#265a88;background-image:none}.btn-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#419641 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#419641));background-image:linear-gradient(to bottom,#5cb85c 0,#419641 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff419641', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#3e8f3e}.btn-success:focus,.btn-success:hover{background-color:#419641;background-position:0 -15px}.btn-success.active,.btn-success:active{background-color:#419641;border-color:#3e8f3e}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled.focus,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled].focus,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#419641;background-image:none}.btn-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#2aabd2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#2aabd2));background-image:linear-gradient(to bottom,#5bc0de 0,#2aabd2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2aabd2', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#28a4c9}.btn-info:focus,.btn-info:hover{background-color:#2aabd2;background-position:0 -15px}.btn-info.active,.btn-info:active{background-color:#2aabd2;border-color:#28a4c9}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled.focus,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled].focus,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#2aabd2;background-image:none}.btn-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#eb9316 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#eb9316));background-image:linear-gradient(to bottom,#f0ad4e 0,#eb9316 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffeb9316', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#e38d13}.btn-warning:focus,.btn-warning:hover{background-color:#eb9316;background-position:0 -15px}.btn-warning.active,.btn-warning:active{background-color:#eb9316;border-color:#e38d13}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled.focus,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled].focus,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#eb9316;background-image:none}.btn-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c12e2a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c12e2a));background-image:linear-gradient(to bottom,#d9534f 0,#c12e2a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc12e2a', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-color:#b92c28}.btn-danger:focus,.btn-danger:hover{background-color:#c12e2a;background-position:0 -15px}.btn-danger.active,.btn-danger:active{background-color:#c12e2a;border-color:#b92c28}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled.focus,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled].focus,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#c12e2a;background-image:none}.img-thumbnail,.thumbnail{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{background-color:#e8e8e8;background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{background-color:#2e6da4;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.navbar-default{background-image:-webkit-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-o-linear-gradient(top,#fff 0,#f8f8f8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fff),to(#f8f8f8));background-image:linear-gradient(to bottom,#fff 0,#f8f8f8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff8f8f8', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075);box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 1px 5px rgba(0,0,0,.075)}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-o-linear-gradient(top,#dbdbdb 0,#e2e2e2 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dbdbdb),to(#e2e2e2));background-image:linear-gradient(to bottom,#dbdbdb 0,#e2e2e2 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdbdbdb', endColorstr='#ffe2e2e2', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.075);box-shadow:inset 0 3px 9px rgba(0,0,0,.075)}.navbar-brand,.navbar-nav>li>a{text-shadow:0 1px 0 rgba(255,255,255,.25)}.navbar-inverse{background-image:-webkit-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-o-linear-gradient(top,#3c3c3c 0,#222 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#3c3c3c),to(#222));background-image:linear-gradient(to bottom,#3c3c3c 0,#222 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);background-repeat:repeat-x;border-radius:4px}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.open>a{background-image:-webkit-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-o-linear-gradient(top,#080808 0,#0f0f0f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#080808),to(#0f0f0f));background-image:linear-gradient(to bottom,#080808 0,#0f0f0f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff080808', endColorstr='#ff0f0f0f', GradientType=0);background-repeat:repeat-x;-webkit-box-shadow:inset 0 3px 9px rgba(0,0,0,.25);box-shadow:inset 0 3px 9px rgba(0,0,0,.25)}.navbar-inverse .navbar-brand,.navbar-inverse .navbar-nav>li>a{text-shadow:0 -1px 0 rgba(0,0,0,.25)}.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0}@media (max-width:767px){.navbar .navbar-nav .open .dropdown-menu>.active>a,.navbar .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}}.alert{text-shadow:0 1px 0 rgba(255,255,255,.2);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 1px 2px rgba(0,0,0,.05)}.alert-success{background-image:-webkit-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#c8e5bc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#c8e5bc));background-image:linear-gradient(to bottom,#dff0d8 0,#c8e5bc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffc8e5bc', GradientType=0);background-repeat:repeat-x;border-color:#b2dba1}.alert-info{background-image:-webkit-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#b9def0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#b9def0));background-image:linear-gradient(to bottom,#d9edf7 0,#b9def0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffb9def0', GradientType=0);background-repeat:repeat-x;border-color:#9acfea}.alert-warning{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#f8efc0 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#f8efc0));background-image:linear-gradient(to bottom,#fcf8e3 0,#f8efc0 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fff8efc0', GradientType=0);background-repeat:repeat-x;border-color:#f5e79e}.alert-danger{background-image:-webkit-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-o-linear-gradient(top,#f2dede 0,#e7c3c3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#e7c3c3));background-image:linear-gradient(to bottom,#f2dede 0,#e7c3c3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffe7c3c3', GradientType=0);background-repeat:repeat-x;border-color:#dca7a7}.progress{background-image:-webkit-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#ebebeb 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#ebebeb),to(#f5f5f5));background-image:linear-gradient(to bottom,#ebebeb 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffebebeb', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x}.progress-bar{background-image:-webkit-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-o-linear-gradient(top,#337ab7 0,#286090 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#286090));background-image:linear-gradient(to bottom,#337ab7 0,#286090 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff286090', GradientType=0);background-repeat:repeat-x}.progress-bar-success{background-image:-webkit-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-o-linear-gradient(top,#5cb85c 0,#449d44 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5cb85c),to(#449d44));background-image:linear-gradient(to bottom,#5cb85c 0,#449d44 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5cb85c', endColorstr='#ff449d44', GradientType=0);background-repeat:repeat-x}.progress-bar-info{background-image:-webkit-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-o-linear-gradient(top,#5bc0de 0,#31b0d5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#5bc0de),to(#31b0d5));background-image:linear-gradient(to bottom,#5bc0de 0,#31b0d5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff31b0d5', GradientType=0);background-repeat:repeat-x}.progress-bar-warning{background-image:-webkit-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-o-linear-gradient(top,#f0ad4e 0,#ec971f 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f0ad4e),to(#ec971f));background-image:linear-gradient(to bottom,#f0ad4e 0,#ec971f 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff0ad4e', endColorstr='#ffec971f', GradientType=0);background-repeat:repeat-x}.progress-bar-danger{background-image:-webkit-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-o-linear-gradient(top,#d9534f 0,#c9302c 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9534f),to(#c9302c));background-image:linear-gradient(to bottom,#d9534f 0,#c9302c 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9534f', endColorstr='#ffc9302c', GradientType=0);background-repeat:repeat-x}.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.list-group{border-radius:4px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.075);box-shadow:0 1px 2px rgba(0,0,0,.075)}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{text-shadow:0 -1px 0 #286090;background-image:-webkit-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2b669a 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2b669a));background-image:linear-gradient(to bottom,#337ab7 0,#2b669a 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2b669a', GradientType=0);background-repeat:repeat-x;border-color:#2b669a}.list-group-item.active .badge,.list-group-item.active:focus .badge,.list-group-item.active:hover .badge{text-shadow:none}.panel{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05)}.panel-default>.panel-heading{background-image:-webkit-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-o-linear-gradient(top,#f5f5f5 0,#e8e8e8 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f5f5f5),to(#e8e8e8));background-image:linear-gradient(to bottom,#f5f5f5 0,#e8e8e8 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);background-repeat:repeat-x}.panel-primary>.panel-heading{background-image:-webkit-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-o-linear-gradient(top,#337ab7 0,#2e6da4 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#337ab7),to(#2e6da4));background-image:linear-gradient(to bottom,#337ab7 0,#2e6da4 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff337ab7', endColorstr='#ff2e6da4', GradientType=0);background-repeat:repeat-x}.panel-success>.panel-heading{background-image:-webkit-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-o-linear-gradient(top,#dff0d8 0,#d0e9c6 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#dff0d8),to(#d0e9c6));background-image:linear-gradient(to bottom,#dff0d8 0,#d0e9c6 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffdff0d8', endColorstr='#ffd0e9c6', GradientType=0);background-repeat:repeat-x}.panel-info>.panel-heading{background-image:-webkit-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-o-linear-gradient(top,#d9edf7 0,#c4e3f3 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#d9edf7),to(#c4e3f3));background-image:linear-gradient(to bottom,#d9edf7 0,#c4e3f3 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffd9edf7', endColorstr='#ffc4e3f3', GradientType=0);background-repeat:repeat-x}.panel-warning>.panel-heading{background-image:-webkit-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-o-linear-gradient(top,#fcf8e3 0,#faf2cc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#fcf8e3),to(#faf2cc));background-image:linear-gradient(to bottom,#fcf8e3 0,#faf2cc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffcf8e3', endColorstr='#fffaf2cc', GradientType=0);background-repeat:repeat-x}.panel-danger>.panel-heading{background-image:-webkit-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-o-linear-gradient(top,#f2dede 0,#ebcccc 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#f2dede),to(#ebcccc));background-image:linear-gradient(to bottom,#f2dede 0,#ebcccc 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2dede', endColorstr='#ffebcccc', GradientType=0);background-repeat:repeat-x}.well{background-image:-webkit-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-o-linear-gradient(top,#e8e8e8 0,#f5f5f5 100%);background-image:-webkit-gradient(linear,left top,left bottom,from(#e8e8e8),to(#f5f5f5));background-image:linear-gradient(to bottom,#e8e8e8 0,#f5f5f5 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffe8e8e8', endColorstr='#fff5f5f5', GradientType=0);background-repeat:repeat-x;border-color:#dcdcdc;-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 3px rgba(0,0,0,.05),0 1px 0 rgba(255,255,255,.1)} \ No newline at end of file diff --git a/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap.css b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap.css new file mode 100644 index 00000000..680e7687 --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap.css @@ -0,0 +1,6800 @@ +/*! + * Bootstrap v3.3.5 (http://getbootstrap.com) + * Copyright 2011-2015 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; +} +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: 1px dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + margin: .67em 0; + font-size: 2em; +} +mark { + color: #000; + background: #ff0; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sup { + top: -.5em; +} +sub { + bottom: -.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + height: 0; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + font-size: 1em; +} +button, +input, +optgroup, +select, +textarea { + margin: 0; + font: inherit; + color: inherit; +} +button { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + -webkit-appearance: button; + cursor: pointer; +} +button[disabled], +html input[disabled] { + cursor: default; +} +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} +input { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + padding: .35em .625em .75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} +legend { + padding: 0; + border: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-spacing: 0; + border-collapse: collapse; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: 'Glyphicons Halflings'; + + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg'); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + font-style: normal; + font-weight: normal; + line-height: 1; + + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\2a"; +} +.glyphicon-plus:before { + content: "\2b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + display: inline-block; + max-width: 100%; + height: auto; + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all .2s ease-in-out; + -o-transition: all .2s ease-in-out; + transition: all .2s ease-in-out; +} +.img-circle { + border-radius: 50%; +} +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: normal; + line-height: 1; + color: #777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +mark, +.mark { + padding: .2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + margin-left: -5px; + list-style: none; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: bold; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #777; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: '\2014 \00A0'; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ''; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: '\00A0 \2014'; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: bold; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0; +} +@media (min-width: 768px) { + .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0; + } +} +@media (min-width: 992px) { + .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0; + } +} +@media (min-width: 1200px) { + .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0; + } +} +table { + background-color: transparent; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + min-height: .01%; + overflow-x: auto; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} +label { + display: inline-block; + max-width: 100%; + margin-bottom: 5px; + font-weight: bold; +} +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; +} +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); + box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, .6); +} +.form-control::-moz-placeholder { + color: #999; + opacity: 1; +} +.form-control:-ms-input-placeholder { + color: #999; +} +.form-control::-webkit-input-placeholder { + color: #999; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +input[type="search"] { + -webkit-appearance: none; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 34px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 46px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.form-control-static { + min-height: 34px; + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.form-group-lg select.form-control { + height: 46px; + line-height: 46px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 14.333333px; + font-size: 18px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.42857143; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: thin dotted; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; + opacity: .65; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + background-image: none; +} +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + background-image: none; +} +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + background-image: none; +} +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success .badge { + color: #5cb85c; + background-color: #fff; +} +.btn-info { + color: #fff; + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + background-image: none; +} +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} +.btn-info .badge { + color: #5bc0de; + background-color: #fff; +} +.btn-warning { + color: #fff; + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + background-image: none; +} +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} +.btn-warning .badge { + color: #f0ad4e; + background-color: #fff; +} +.btn-danger { + color: #fff; + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + background-image: none; +} +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: normal; + color: #337ab7; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity .15s linear; + -o-transition: opacity .15s linear; + transition: opacity .15s linear; +} +.fade.in { + opacity: 1; +} +.collapse { + display: none; +} +.collapse.in { + display: block; +} +tr.collapse.in { + display: table-row; +} +tbody.collapse.in { + display: table-row-group; +} +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; + -webkit-transition-duration: .35s; + -o-transition-duration: .35s; + transition-duration: .35s; + -webkit-transition-property: height, visibility; + -o-transition-property: height, visibility; + transition-property: height, visibility; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175); + box-shadow: 0 6px 12px rgba(0, 0, 0, .175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.42857143; + color: #333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #337ab7; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + color: #555; + text-align: center; + background-color: #eee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eee; +} +.nav > li.disabled > a { + color: #777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eee #eee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + -webkit-overflow-scrolling: touch; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1); +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + background-image: none; + border: 1px solid transparent; + border-radius: 4px; +} +.navbar-toggle:focus { + outline: 0; +} +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} +.navbar-nav { + margin: 7.5px -15px; +} +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1); +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -15px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #337ab7; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 3; + color: #23527c; + background-color: #eee; + border-color: #ddd; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #fff; + cursor: default; + background-color: #337ab7; + border-color: #337ab7; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: border .2s ease-in-out; + -o-transition: border .2s ease-in-out; + transition: border .2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, .1); +} +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .15); + -webkit-transition: width .6s ease; + -o-transition: width .6s ease; + transition: width .6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, .15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .15) 50%, rgba(255, 255, 255, .15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777; + cursor: not-allowed; + background-color: #eee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: 0 1px 1px rgba(0, 0, 0, .05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-right: 15px; + padding-left: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.embed-responsive-4by3 { + padding-bottom: 75%; +} +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, .15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: .2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: .5; +} +button.close { + -webkit-appearance: none; + padding: 0; + cursor: pointer; + background: transparent; + border: 0; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + -webkit-overflow-scrolling: touch; + outline: 0; +} +.modal.fade .modal-dialog { + -webkit-transition: -webkit-transform .3s ease-out; + -o-transition: -o-transform .3s ease-out; + transition: transform .3s ease-out; + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + -o-transform: translate(0, -25%); + transform: translate(0, -25%); +} +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + -o-transform: translate(0, 0); + transform: translate(0, 0); +} +.modal-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + outline: 0; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, .5); + box-shadow: 0 3px 9px rgba(0, 0, 0, .5); +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: .5; +} +.modal-header { + min-height: 16.42857143px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + box-shadow: 0 5px 15px rgba(0, 0, 0, .5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 12px; + font-style: normal; + font-weight: normal; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + filter: alpha(opacity=0); + opacity: 0; + + line-break: auto; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: .9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + right: 5px; + bottom: 0; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-width: 5px 5px 5px 0; + border-right-color: #000; +} +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-width: 5px 0 5px 5px; + border-left-color: #000; +} +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-left .tooltip-arrow { + top: 0; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + font-style: normal; + font-weight: normal; + line-height: 1.42857143; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + background-color: #fff; + -webkit-background-clip: padding-box; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, .2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + box-shadow: 0 5px 10px rgba(0, 0, 0, .2); + + line-break: auto; +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999; + border-top-color: rgba(0, 0, 0, .25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999; + border-right-color: rgba(0, 0, 0, .25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999; + border-bottom-color: rgba(0, 0, 0, .25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999; + border-left-color: rgba(0, 0, 0, .25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: .6s ease-in-out left; + -o-transition: .6s ease-in-out left; + transition: .6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform .6s ease-in-out; + -o-transition: -o-transform .6s ease-in-out; + transition: transform .6s ease-in-out; + + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + left: 0; + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + left: 0; + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + left: 0; + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); + filter: alpha(opacity=50); + opacity: .5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .5)), to(rgba(0, 0, 0, .0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, .0001)), to(rgba(0, 0, 0, .5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, .0001) 0%, rgba(0, 0, 0, .5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + filter: alpha(opacity=90); + outline: 0; + opacity: .9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + margin-top: -10px; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + font-family: serif; + line-height: 1; +} +.carousel-control .icon-prev:before { + content: '\2039'; +} +.carousel-control .icon-next:before { + content: '\203a'; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, .6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -15px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -15px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ diff --git a/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map new file mode 100644 index 00000000..9f60ed2b --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/dist/css/bootstrap.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap.css","less/normalize.less","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,4EAA4E;ACG5E;EACE,wBAAA;EACA,2BAAA;EACA,+BAAA;CDDD;ACQD;EACE,UAAA;CDND;ACmBD;;;;;;;;;;;;;EAaE,eAAA;CDjBD;ACyBD;;;;EAIE,sBAAA;EACA,yBAAA;CDvBD;AC+BD;EACE,cAAA;EACA,UAAA;CD7BD;ACqCD;;EAEE,cAAA;CDnCD;AC6CD;EACE,8BAAA;CD3CD;ACmDD;;EAEE,WAAA;CDjDD;AC2DD;EACE,0BAAA;CDzDD;ACgED;;EAEE,kBAAA;CD9DD;ACqED;EACE,mBAAA;CDnED;AC2ED;EACE,eAAA;EACA,iBAAA;CDzED;ACgFD;EACE,iBAAA;EACA,YAAA;CD9ED;ACqFD;EACE,eAAA;CDnFD;AC0FD;;EAEE,eAAA;EACA,eAAA;EACA,mBAAA;EACA,yBAAA;CDxFD;AC2FD;EACE,YAAA;CDzFD;AC4FD;EACE,gBAAA;CD1FD;ACoGD;EACE,UAAA;CDlGD;ACyGD;EACE,iBAAA;CDvGD;ACiHD;EACE,iBAAA;CD/GD;ACsHD;EACE,gCAAA;KAAA,6BAAA;UAAA,wBAAA;EACA,UAAA;CDpHD;AC2HD;EACE,eAAA;CDzHD;ACgID;;;;EAIE,kCAAA;EACA,eAAA;CD9HD;ACgJD;;;;;EAKE,eAAA;EACA,cAAA;EACA,UAAA;CD9ID;ACqJD;EACE,kBAAA;CDnJD;AC6JD;;EAEE,qBAAA;CD3JD;ACsKD;;;;EAIE,2BAAA;EACA,gBAAA;CDpKD;AC2KD;;EAEE,gBAAA;CDzKD;ACgLD;;EAEE,UAAA;EACA,WAAA;CD9KD;ACsLD;EACE,oBAAA;CDpLD;AC+LD;;EAEE,+BAAA;KAAA,4BAAA;UAAA,uBAAA;EACA,WAAA;CD7LD;ACsMD;;EAEE,aAAA;CDpMD;AC4MD;EACE,8BAAA;EACA,gCAAA;KAAA,6BAAA;UAAA,wBAAA;CD1MD;ACmND;;EAEE,yBAAA;CDjND;ACwND;EACE,0BAAA;EACA,cAAA;EACA,+BAAA;CDtND;AC8ND;EACE,UAAA;EACA,WAAA;CD5ND;ACmOD;EACE,eAAA;CDjOD;ACyOD;EACE,kBAAA;CDvOD;ACiPD;EACE,0BAAA;EACA,kBAAA;CD/OD;ACkPD;;EAEE,WAAA;CDhPD;AACD,qFAAqF;AElFrF;EA7FI;;;IAGI,mCAAA;IACA,uBAAA;IACA,oCAAA;YAAA,4BAAA;IACA,6BAAA;GFkLL;EE/KC;;IAEI,2BAAA;GFiLL;EE9KC;IACI,6BAAA;GFgLL;EE7KC;IACI,8BAAA;GF+KL;EE1KC;;IAEI,YAAA;GF4KL;EEzKC;;IAEI,uBAAA;IACA,yBAAA;GF2KL;EExKC;IACI,4BAAA;GF0KL;EEvKC;;IAEI,yBAAA;GFyKL;EEtKC;IACI,2BAAA;GFwKL;EErKC;;;IAGI,WAAA;IACA,UAAA;GFuKL;EEpKC;;IAEI,wBAAA;GFsKL;EEhKC;IACI,cAAA;GFkKL;EEhKC;;IAGQ,kCAAA;GFiKT;EE9JC;IACI,uBAAA;GFgKL;EE7JC;IACI,qCAAA;GF+JL;EEhKC;;IAKQ,kCAAA;GF+JT;EE5JC;;IAGQ,kCAAA;GF6JT;CACF;AGnPD;EACE,oCAAA;EACA,sDAAA;EACA,gYAAA;CHqPD;AG7OD;EACE,mBAAA;EACA,SAAA;EACA,sBAAA;EACA,oCAAA;EACA,mBAAA;EACA,oBAAA;EACA,eAAA;EACA,oCAAA;EACA,mCAAA;CH+OD;AG3OmC;EAAW,eAAA;CH8O9C;AG7OmC;EAAW,eAAA;CHgP9C;AG9OmC;;EAAW,iBAAA;CHkP9C;AGjPmC;EAAW,iBAAA;CHoP9C;AGnPmC;EAAW,iBAAA;CHsP9C;AGrPmC;EAAW,iBAAA;CHwP9C;AGvPmC;EAAW,iBAAA;CH0P9C;AGzPmC;EAAW,iBAAA;CH4P9C;AG3PmC;EAAW,iBAAA;CH8P9C;AG7PmC;EAAW,iBAAA;CHgQ9C;AG/PmC;EAAW,iBAAA;CHkQ9C;AGjQmC;EAAW,iBAAA;CHoQ9C;AGnQmC;EAAW,iBAAA;CHsQ9C;AGrQmC;EAAW,iBAAA;CHwQ9C;AGvQmC;EAAW,iBAAA;CH0Q9C;AGzQmC;EAAW,iBAAA;CH4Q9C;AG3QmC;EAAW,iBAAA;CH8Q9C;AG7QmC;EAAW,iBAAA;CHgR9C;AG/QmC;EAAW,iBAAA;CHkR9C;AGjRmC;EAAW,iBAAA;CHoR9C;AGnRmC;EAAW,iBAAA;CHsR9C;AGrRmC;EAAW,iBAAA;CHwR9C;AGvRmC;EAAW,iBAAA;CH0R9C;AGzRmC;EAAW,iBAAA;CH4R9C;AG3RmC;EAAW,iBAAA;CH8R9C;AG7RmC;EAAW,iBAAA;CHgS9C;AG/RmC;EAAW,iBAAA;CHkS9C;AGjSmC;EAAW,iBAAA;CHoS9C;AGnSmC;EAAW,iBAAA;CHsS9C;AGrSmC;EAAW,iBAAA;CHwS9C;AGvSmC;EAAW,iBAAA;CH0S9C;AGzSmC;EAAW,iBAAA;CH4S9C;AG3SmC;EAAW,iBAAA;CH8S9C;AG7SmC;EAAW,iBAAA;CHgT9C;AG/SmC;EAAW,iBAAA;CHkT9C;AGjTmC;EAAW,iBAAA;CHoT9C;AGnTmC;EAAW,iBAAA;CHsT9C;AGrTmC;EAAW,iBAAA;CHwT9C;AGvTmC;EAAW,iBAAA;CH0T9C;AGzTmC;EAAW,iBAAA;CH4T9C;AG3TmC;EAAW,iBAAA;CH8T9C;AG7TmC;EAAW,iBAAA;CHgU9C;AG/TmC;EAAW,iBAAA;CHkU9C;AGjUmC;EAAW,iBAAA;CHoU9C;AGnUmC;EAAW,iBAAA;CHsU9C;AGrUmC;EAAW,iBAAA;CHwU9C;AGvUmC;EAAW,iBAAA;CH0U9C;AGzUmC;EAAW,iBAAA;CH4U9C;AG3UmC;EAAW,iBAAA;CH8U9C;AG7UmC;EAAW,iBAAA;CHgV9C;AG/UmC;EAAW,iBAAA;CHkV9C;AGjVmC;EAAW,iBAAA;CHoV9C;AGnVmC;EAAW,iBAAA;CHsV9C;AGrVmC;EAAW,iBAAA;CHwV9C;AGvVmC;EAAW,iBAAA;CH0V9C;AGzVmC;EAAW,iBAAA;CH4V9C;AG3VmC;EAAW,iBAAA;CH8V9C;AG7VmC;EAAW,iBAAA;CHgW9C;AG/VmC;EAAW,iBAAA;CHkW9C;AGjWmC;EAAW,iBAAA;CHoW9C;AGnWmC;EAAW,iBAAA;CHsW9C;AGrWmC;EAAW,iBAAA;CHwW9C;AGvWmC;EAAW,iBAAA;CH0W9C;AGzWmC;EAAW,iBAAA;CH4W9C;AG3WmC;EAAW,iBAAA;CH8W9C;AG7WmC;EAAW,iBAAA;CHgX9C;AG/WmC;EAAW,iBAAA;CHkX9C;AGjXmC;EAAW,iBAAA;CHoX9C;AGnXmC;EAAW,iBAAA;CHsX9C;AGrXmC;EAAW,iBAAA;CHwX9C;AGvXmC;EAAW,iBAAA;CH0X9C;AGzXmC;EAAW,iBAAA;CH4X9C;AG3XmC;EAAW,iBAAA;CH8X9C;AG7XmC;EAAW,iBAAA;CHgY9C;AG/XmC;EAAW,iBAAA;CHkY9C;AGjYmC;EAAW,iBAAA;CHoY9C;AGnYmC;EAAW,iBAAA;CHsY9C;AGrYmC;EAAW,iBAAA;CHwY9C;AGvYmC;EAAW,iBAAA;CH0Y9C;AGzYmC;EAAW,iBAAA;CH4Y9C;AG3YmC;EAAW,iBAAA;CH8Y9C;AG7YmC;EAAW,iBAAA;CHgZ9C;AG/YmC;EAAW,iBAAA;CHkZ9C;AGjZmC;EAAW,iBAAA;CHoZ9C;AGnZmC;EAAW,iBAAA;CHsZ9C;AGrZmC;EAAW,iBAAA;CHwZ9C;AGvZmC;EAAW,iBAAA;CH0Z9C;AGzZmC;EAAW,iBAAA;CH4Z9C;AG3ZmC;EAAW,iBAAA;CH8Z9C;AG7ZmC;EAAW,iBAAA;CHga9C;AG/ZmC;EAAW,iBAAA;CHka9C;AGjamC;EAAW,iBAAA;CHoa9C;AGnamC;EAAW,iBAAA;CHsa9C;AGramC;EAAW,iBAAA;CHwa9C;AGvamC;EAAW,iBAAA;CH0a9C;AGzamC;EAAW,iBAAA;CH4a9C;AG3amC;EAAW,iBAAA;CH8a9C;AG7amC;EAAW,iBAAA;CHgb9C;AG/amC;EAAW,iBAAA;CHkb9C;AGjbmC;EAAW,iBAAA;CHob9C;AGnbmC;EAAW,iBAAA;CHsb9C;AGrbmC;EAAW,iBAAA;CHwb9C;AGvbmC;EAAW,iBAAA;CH0b9C;AGzbmC;EAAW,iBAAA;CH4b9C;AG3bmC;EAAW,iBAAA;CH8b9C;AG7bmC;EAAW,iBAAA;CHgc9C;AG/bmC;EAAW,iBAAA;CHkc9C;AGjcmC;EAAW,iBAAA;CHoc9C;AGncmC;EAAW,iBAAA;CHsc9C;AGrcmC;EAAW,iBAAA;CHwc9C;AGvcmC;EAAW,iBAAA;CH0c9C;AGzcmC;EAAW,iBAAA;CH4c9C;AG3cmC;EAAW,iBAAA;CH8c9C;AG7cmC;EAAW,iBAAA;CHgd9C;AG/cmC;EAAW,iBAAA;CHkd9C;AGjdmC;EAAW,iBAAA;CHod9C;AGndmC;EAAW,iBAAA;CHsd9C;AGrdmC;EAAW,iBAAA;CHwd9C;AGvdmC;EAAW,iBAAA;CH0d9C;AGzdmC;EAAW,iBAAA;CH4d9C;AG3dmC;EAAW,iBAAA;CH8d9C;AG7dmC;EAAW,iBAAA;CHge9C;AG/dmC;EAAW,iBAAA;CHke9C;AGjemC;EAAW,iBAAA;CHoe9C;AGnemC;EAAW,iBAAA;CHse9C;AGremC;EAAW,iBAAA;CHwe9C;AGvemC;EAAW,iBAAA;CH0e9C;AGzemC;EAAW,iBAAA;CH4e9C;AG3emC;EAAW,iBAAA;CH8e9C;AG7emC;EAAW,iBAAA;CHgf9C;AG/emC;EAAW,iBAAA;CHkf9C;AGjfmC;EAAW,iBAAA;CHof9C;AGnfmC;EAAW,iBAAA;CHsf9C;AGrfmC;EAAW,iBAAA;CHwf9C;AGvfmC;EAAW,iBAAA;CH0f9C;AGzfmC;EAAW,iBAAA;CH4f9C;AG3fmC;EAAW,iBAAA;CH8f9C;AG7fmC;EAAW,iBAAA;CHggB9C;AG/fmC;EAAW,iBAAA;CHkgB9C;AGjgBmC;EAAW,iBAAA;CHogB9C;AGngBmC;EAAW,iBAAA;CHsgB9C;AGrgBmC;EAAW,iBAAA;CHwgB9C;AGvgBmC;EAAW,iBAAA;CH0gB9C;AGzgBmC;EAAW,iBAAA;CH4gB9C;AG3gBmC;EAAW,iBAAA;CH8gB9C;AG7gBmC;EAAW,iBAAA;CHghB9C;AG/gBmC;EAAW,iBAAA;CHkhB9C;AGjhBmC;EAAW,iBAAA;CHohB9C;AGnhBmC;EAAW,iBAAA;CHshB9C;AGrhBmC;EAAW,iBAAA;CHwhB9C;AGvhBmC;EAAW,iBAAA;CH0hB9C;AGzhBmC;EAAW,iBAAA;CH4hB9C;AG3hBmC;EAAW,iBAAA;CH8hB9C;AG7hBmC;EAAW,iBAAA;CHgiB9C;AG/hBmC;EAAW,iBAAA;CHkiB9C;AGjiBmC;EAAW,iBAAA;CHoiB9C;AGniBmC;EAAW,iBAAA;CHsiB9C;AGriBmC;EAAW,iBAAA;CHwiB9C;AGviBmC;EAAW,iBAAA;CH0iB9C;AGziBmC;EAAW,iBAAA;CH4iB9C;AG3iBmC;EAAW,iBAAA;CH8iB9C;AG7iBmC;EAAW,iBAAA;CHgjB9C;AG/iBmC;EAAW,iBAAA;CHkjB9C;AGjjBmC;EAAW,iBAAA;CHojB9C;AGnjBmC;EAAW,iBAAA;CHsjB9C;AGrjBmC;EAAW,iBAAA;CHwjB9C;AGvjBmC;EAAW,iBAAA;CH0jB9C;AGzjBmC;EAAW,iBAAA;CH4jB9C;AG3jBmC;EAAW,iBAAA;CH8jB9C;AG7jBmC;EAAW,iBAAA;CHgkB9C;AG/jBmC;EAAW,iBAAA;CHkkB9C;AGjkBmC;EAAW,iBAAA;CHokB9C;AGnkBmC;EAAW,iBAAA;CHskB9C;AGrkBmC;EAAW,iBAAA;CHwkB9C;AGvkBmC;EAAW,iBAAA;CH0kB9C;AGzkBmC;EAAW,iBAAA;CH4kB9C;AG3kBmC;EAAW,iBAAA;CH8kB9C;AG7kBmC;EAAW,iBAAA;CHglB9C;AG/kBmC;EAAW,iBAAA;CHklB9C;AGjlBmC;EAAW,iBAAA;CHolB9C;AGnlBmC;EAAW,iBAAA;CHslB9C;AGrlBmC;EAAW,iBAAA;CHwlB9C;AGvlBmC;EAAW,iBAAA;CH0lB9C;AGzlBmC;EAAW,iBAAA;CH4lB9C;AG3lBmC;EAAW,iBAAA;CH8lB9C;AG7lBmC;EAAW,iBAAA;CHgmB9C;AG/lBmC;EAAW,iBAAA;CHkmB9C;AGjmBmC;EAAW,iBAAA;CHomB9C;AGnmBmC;EAAW,iBAAA;CHsmB9C;AGrmBmC;EAAW,iBAAA;CHwmB9C;AGvmBmC;EAAW,iBAAA;CH0mB9C;AGzmBmC;EAAW,iBAAA;CH4mB9C;AG3mBmC;EAAW,iBAAA;CH8mB9C;AG7mBmC;EAAW,iBAAA;CHgnB9C;AG/mBmC;EAAW,iBAAA;CHknB9C;AGjnBmC;EAAW,iBAAA;CHonB9C;AGnnBmC;EAAW,iBAAA;CHsnB9C;AGrnBmC;EAAW,iBAAA;CHwnB9C;AGvnBmC;EAAW,iBAAA;CH0nB9C;AGznBmC;EAAW,iBAAA;CH4nB9C;AG3nBmC;EAAW,iBAAA;CH8nB9C;AG7nBmC;EAAW,iBAAA;CHgoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AG/nBmC;EAAW,iBAAA;CHkoB9C;AGjoBmC;EAAW,iBAAA;CHooB9C;AGnoBmC;EAAW,iBAAA;CHsoB9C;AGroBmC;EAAW,iBAAA;CHwoB9C;AGvoBmC;EAAW,iBAAA;CH0oB9C;AGzoBmC;EAAW,iBAAA;CH4oB9C;AG3oBmC;EAAW,iBAAA;CH8oB9C;AG7oBmC;EAAW,iBAAA;CHgpB9C;AG/oBmC;EAAW,iBAAA;CHkpB9C;AGjpBmC;EAAW,iBAAA;CHopB9C;AGnpBmC;EAAW,iBAAA;CHspB9C;AGrpBmC;EAAW,iBAAA;CHwpB9C;AGvpBmC;EAAW,iBAAA;CH0pB9C;AGzpBmC;EAAW,iBAAA;CH4pB9C;AG3pBmC;EAAW,iBAAA;CH8pB9C;AG7pBmC;EAAW,iBAAA;CHgqB9C;AG/pBmC;EAAW,iBAAA;CHkqB9C;AGjqBmC;EAAW,iBAAA;CHoqB9C;AGnqBmC;EAAW,iBAAA;CHsqB9C;AGrqBmC;EAAW,iBAAA;CHwqB9C;AGvqBmC;EAAW,iBAAA;CH0qB9C;AGzqBmC;EAAW,iBAAA;CH4qB9C;AG3qBmC;EAAW,iBAAA;CH8qB9C;AG7qBmC;EAAW,iBAAA;CHgrB9C;AG/qBmC;EAAW,iBAAA;CHkrB9C;AGjrBmC;EAAW,iBAAA;CHorB9C;AGnrBmC;EAAW,iBAAA;CHsrB9C;AGrrBmC;EAAW,iBAAA;CHwrB9C;AGvrBmC;EAAW,iBAAA;CH0rB9C;AGzrBmC;EAAW,iBAAA;CH4rB9C;AG3rBmC;EAAW,iBAAA;CH8rB9C;AG7rBmC;EAAW,iBAAA;CHgsB9C;AG/rBmC;EAAW,iBAAA;CHksB9C;AGjsBmC;EAAW,iBAAA;CHosB9C;AGnsBmC;EAAW,iBAAA;CHssB9C;AGrsBmC;EAAW,iBAAA;CHwsB9C;AGvsBmC;EAAW,iBAAA;CH0sB9C;AGzsBmC;EAAW,iBAAA;CH4sB9C;AG3sBmC;EAAW,iBAAA;CH8sB9C;AG7sBmC;EAAW,iBAAA;CHgtB9C;AG/sBmC;EAAW,iBAAA;CHktB9C;AGjtBmC;EAAW,iBAAA;CHotB9C;AGntBmC;EAAW,iBAAA;CHstB9C;AGrtBmC;EAAW,iBAAA;CHwtB9C;AGvtBmC;EAAW,iBAAA;CH0tB9C;AGztBmC;EAAW,iBAAA;CH4tB9C;AG3tBmC;EAAW,iBAAA;CH8tB9C;AG7tBmC;EAAW,iBAAA;CHguB9C;AG/tBmC;EAAW,iBAAA;CHkuB9C;AGjuBmC;EAAW,iBAAA;CHouB9C;AGnuBmC;EAAW,iBAAA;CHsuB9C;AGruBmC;EAAW,iBAAA;CHwuB9C;AGvuBmC;EAAW,iBAAA;CH0uB9C;AGzuBmC;EAAW,iBAAA;CH4uB9C;AG3uBmC;EAAW,iBAAA;CH8uB9C;AG7uBmC;EAAW,iBAAA;CHgvB9C;AIthCD;ECgEE,+BAAA;EACG,4BAAA;EACK,uBAAA;CLy9BT;AIxhCD;;EC6DE,+BAAA;EACG,4BAAA;EACK,uBAAA;CL+9BT;AIthCD;EACE,gBAAA;EACA,8CAAA;CJwhCD;AIrhCD;EACE,4DAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,0BAAA;CJuhCD;AInhCD;;;;EAIE,qBAAA;EACA,mBAAA;EACA,qBAAA;CJqhCD;AI/gCD;EACE,eAAA;EACA,sBAAA;CJihCD;AI/gCC;;EAEE,eAAA;EACA,2BAAA;CJihCH;AI9gCC;EErDA,qBAAA;EAEA,2CAAA;EACA,qBAAA;CNqkCD;AIxgCD;EACE,UAAA;CJ0gCD;AIpgCD;EACE,uBAAA;CJsgCD;AIlgCD;;;;;EGvEE,eAAA;EACA,gBAAA;EACA,aAAA;CPglCD;AItgCD;EACE,mBAAA;CJwgCD;AIlgCD;EACE,aAAA;EACA,wBAAA;EACA,0BAAA;EACA,0BAAA;EACA,mBAAA;EC6FA,yCAAA;EACK,oCAAA;EACG,iCAAA;EEvLR,sBAAA;EACA,gBAAA;EACA,aAAA;CPgmCD;AIlgCD;EACE,mBAAA;CJogCD;AI9/BD;EACE,iBAAA;EACA,oBAAA;EACA,UAAA;EACA,8BAAA;CJggCD;AIx/BD;EACE,mBAAA;EACA,WAAA;EACA,YAAA;EACA,aAAA;EACA,WAAA;EACA,iBAAA;EACA,uBAAA;EACA,UAAA;CJ0/BD;AIl/BC;;EAEE,iBAAA;EACA,YAAA;EACA,aAAA;EACA,UAAA;EACA,kBAAA;EACA,WAAA;CJo/BH;AIz+BD;EACE,gBAAA;CJ2+BD;AQloCD;;;;;;;;;;;;EAEE,qBAAA;EACA,iBAAA;EACA,iBAAA;EACA,eAAA;CR8oCD;AQnpCD;;;;;;;;;;;;;;;;;;;;;;;;EASI,oBAAA;EACA,eAAA;EACA,eAAA;CRoqCH;AQhqCD;;;;;;EAGE,iBAAA;EACA,oBAAA;CRqqCD;AQzqCD;;;;;;;;;;;;EAQI,eAAA;CR+qCH;AQ5qCD;;;;;;EAGE,iBAAA;EACA,oBAAA;CRirCD;AQrrCD;;;;;;;;;;;;EAQI,eAAA;CR2rCH;AQvrCD;;EAAU,gBAAA;CR2rCT;AQ1rCD;;EAAU,gBAAA;CR8rCT;AQ7rCD;;EAAU,gBAAA;CRisCT;AQhsCD;;EAAU,gBAAA;CRosCT;AQnsCD;;EAAU,gBAAA;CRusCT;AQtsCD;;EAAU,gBAAA;CR0sCT;AQpsCD;EACE,iBAAA;CRssCD;AQnsCD;EACE,oBAAA;EACA,gBAAA;EACA,iBAAA;EACA,iBAAA;CRqsCD;AQhsCD;EAAA;IAFI,gBAAA;GRssCD;CACF;AQ9rCD;;EAEE,eAAA;CRgsCD;AQ7rCD;;EAEE,0BAAA;EACA,cAAA;CR+rCD;AQ3rCD;EAAuB,iBAAA;CR8rCtB;AQ7rCD;EAAuB,kBAAA;CRgsCtB;AQ/rCD;EAAuB,mBAAA;CRksCtB;AQjsCD;EAAuB,oBAAA;CRosCtB;AQnsCD;EAAuB,oBAAA;CRssCtB;AQnsCD;EAAuB,0BAAA;CRssCtB;AQrsCD;EAAuB,0BAAA;CRwsCtB;AQvsCD;EAAuB,2BAAA;CR0sCtB;AQvsCD;EACE,eAAA;CRysCD;AQvsCD;ECrGE,eAAA;CT+yCD;AS9yCC;;EAEE,eAAA;CTgzCH;AQ3sCD;ECxGE,eAAA;CTszCD;ASrzCC;;EAEE,eAAA;CTuzCH;AQ/sCD;EC3GE,eAAA;CT6zCD;AS5zCC;;EAEE,eAAA;CT8zCH;AQntCD;EC9GE,eAAA;CTo0CD;ASn0CC;;EAEE,eAAA;CTq0CH;AQvtCD;ECjHE,eAAA;CT20CD;AS10CC;;EAEE,eAAA;CT40CH;AQvtCD;EAGE,YAAA;EE3HA,0BAAA;CVm1CD;AUl1CC;;EAEE,0BAAA;CVo1CH;AQztCD;EE9HE,0BAAA;CV01CD;AUz1CC;;EAEE,0BAAA;CV21CH;AQ7tCD;EEjIE,0BAAA;CVi2CD;AUh2CC;;EAEE,0BAAA;CVk2CH;AQjuCD;EEpIE,0BAAA;CVw2CD;AUv2CC;;EAEE,0BAAA;CVy2CH;AQruCD;EEvIE,0BAAA;CV+2CD;AU92CC;;EAEE,0BAAA;CVg3CH;AQpuCD;EACE,oBAAA;EACA,oBAAA;EACA,iCAAA;CRsuCD;AQ9tCD;;EAEE,cAAA;EACA,oBAAA;CRguCD;AQnuCD;;;;EAMI,iBAAA;CRmuCH;AQ5tCD;EACE,gBAAA;EACA,iBAAA;CR8tCD;AQ1tCD;EALE,gBAAA;EACA,iBAAA;EAMA,kBAAA;CR6tCD;AQ/tCD;EAKI,sBAAA;EACA,kBAAA;EACA,mBAAA;CR6tCH;AQxtCD;EACE,cAAA;EACA,oBAAA;CR0tCD;AQxtCD;;EAEE,wBAAA;CR0tCD;AQxtCD;EACE,kBAAA;CR0tCD;AQxtCD;EACE,eAAA;CR0tCD;AQjsCD;EAAA;IAVM,YAAA;IACA,aAAA;IACA,YAAA;IACA,kBAAA;IGtNJ,iBAAA;IACA,wBAAA;IACA,oBAAA;GXs6CC;EQ3sCH;IAHM,mBAAA;GRitCH;CACF;AQxsCD;;EAGE,aAAA;EACA,kCAAA;CRysCD;AQvsCD;EACE,eAAA;EA9IqB,0BAAA;CRw1CtB;AQrsCD;EACE,mBAAA;EACA,iBAAA;EACA,kBAAA;EACA,+BAAA;CRusCD;AQlsCG;;;EACE,iBAAA;CRssCL;AQhtCD;;;EAmBI,eAAA;EACA,eAAA;EACA,wBAAA;EACA,eAAA;CRksCH;AQhsCG;;;EACE,uBAAA;CRosCL;AQ5rCD;;EAEE,oBAAA;EACA,gBAAA;EACA,gCAAA;EACA,eAAA;EACA,kBAAA;CR8rCD;AQxrCG;;;;;;EAAW,YAAA;CRgsCd;AQ/rCG;;;;;;EACE,uBAAA;CRssCL;AQhsCD;EACE,oBAAA;EACA,mBAAA;EACA,wBAAA;CRksCD;AYx+CD;;;;EAIE,+DAAA;CZ0+CD;AYt+CD;EACE,iBAAA;EACA,eAAA;EACA,eAAA;EACA,0BAAA;EACA,mBAAA;CZw+CD;AYp+CD;EACE,iBAAA;EACA,eAAA;EACA,eAAA;EACA,0BAAA;EACA,mBAAA;EACA,uDAAA;UAAA,+CAAA;CZs+CD;AY5+CD;EASI,WAAA;EACA,gBAAA;EACA,kBAAA;EACA,yBAAA;UAAA,iBAAA;CZs+CH;AYj+CD;EACE,eAAA;EACA,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,wBAAA;EACA,sBAAA;EACA,sBAAA;EACA,eAAA;EACA,0BAAA;EACA,0BAAA;EACA,mBAAA;CZm+CD;AY9+CD;EAeI,WAAA;EACA,mBAAA;EACA,eAAA;EACA,sBAAA;EACA,8BAAA;EACA,iBAAA;CZk+CH;AY79CD;EACE,kBAAA;EACA,mBAAA;CZ+9CD;AazhDD;ECHE,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;Cd+hDD;AazhDC;EAAA;IAFE,aAAA;Gb+hDD;CACF;Aa3hDC;EAAA;IAFE,aAAA;GbiiDD;CACF;Aa7hDD;EAAA;IAFI,cAAA;GbmiDD;CACF;Aa1hDD;ECvBE,mBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;CdojDD;AavhDD;ECvBE,mBAAA;EACA,oBAAA;CdijDD;AejjDG;EACE,mBAAA;EAEA,gBAAA;EAEA,mBAAA;EACA,oBAAA;CfijDL;AejiDG;EACE,YAAA;CfmiDL;Ae5hDC;EACE,YAAA;Cf8hDH;Ae/hDC;EACE,oBAAA;CfiiDH;AeliDC;EACE,oBAAA;CfoiDH;AeriDC;EACE,WAAA;CfuiDH;AexiDC;EACE,oBAAA;Cf0iDH;Ae3iDC;EACE,oBAAA;Cf6iDH;Ae9iDC;EACE,WAAA;CfgjDH;AejjDC;EACE,oBAAA;CfmjDH;AepjDC;EACE,oBAAA;CfsjDH;AevjDC;EACE,WAAA;CfyjDH;Ae1jDC;EACE,oBAAA;Cf4jDH;Ae7jDC;EACE,mBAAA;Cf+jDH;AejjDC;EACE,YAAA;CfmjDH;AepjDC;EACE,oBAAA;CfsjDH;AevjDC;EACE,oBAAA;CfyjDH;Ae1jDC;EACE,WAAA;Cf4jDH;Ae7jDC;EACE,oBAAA;Cf+jDH;AehkDC;EACE,oBAAA;CfkkDH;AenkDC;EACE,WAAA;CfqkDH;AetkDC;EACE,oBAAA;CfwkDH;AezkDC;EACE,oBAAA;Cf2kDH;Ae5kDC;EACE,WAAA;Cf8kDH;Ae/kDC;EACE,oBAAA;CfilDH;AellDC;EACE,mBAAA;CfolDH;AehlDC;EACE,YAAA;CfklDH;AelmDC;EACE,WAAA;CfomDH;AermDC;EACE,mBAAA;CfumDH;AexmDC;EACE,mBAAA;Cf0mDH;Ae3mDC;EACE,UAAA;Cf6mDH;Ae9mDC;EACE,mBAAA;CfgnDH;AejnDC;EACE,mBAAA;CfmnDH;AepnDC;EACE,UAAA;CfsnDH;AevnDC;EACE,mBAAA;CfynDH;Ae1nDC;EACE,mBAAA;Cf4nDH;Ae7nDC;EACE,UAAA;Cf+nDH;AehoDC;EACE,mBAAA;CfkoDH;AenoDC;EACE,kBAAA;CfqoDH;AejoDC;EACE,WAAA;CfmoDH;AernDC;EACE,kBAAA;CfunDH;AexnDC;EACE,0BAAA;Cf0nDH;Ae3nDC;EACE,0BAAA;Cf6nDH;Ae9nDC;EACE,iBAAA;CfgoDH;AejoDC;EACE,0BAAA;CfmoDH;AepoDC;EACE,0BAAA;CfsoDH;AevoDC;EACE,iBAAA;CfyoDH;Ae1oDC;EACE,0BAAA;Cf4oDH;Ae7oDC;EACE,0BAAA;Cf+oDH;AehpDC;EACE,iBAAA;CfkpDH;AenpDC;EACE,0BAAA;CfqpDH;AetpDC;EACE,yBAAA;CfwpDH;AezpDC;EACE,gBAAA;Cf2pDH;Aa3pDD;EElCI;IACE,YAAA;GfgsDH;EezrDD;IACE,YAAA;Gf2rDD;Ee5rDD;IACE,oBAAA;Gf8rDD;Ee/rDD;IACE,oBAAA;GfisDD;EelsDD;IACE,WAAA;GfosDD;EersDD;IACE,oBAAA;GfusDD;EexsDD;IACE,oBAAA;Gf0sDD;Ee3sDD;IACE,WAAA;Gf6sDD;Ee9sDD;IACE,oBAAA;GfgtDD;EejtDD;IACE,oBAAA;GfmtDD;EeptDD;IACE,WAAA;GfstDD;EevtDD;IACE,oBAAA;GfytDD;Ee1tDD;IACE,mBAAA;Gf4tDD;Ee9sDD;IACE,YAAA;GfgtDD;EejtDD;IACE,oBAAA;GfmtDD;EeptDD;IACE,oBAAA;GfstDD;EevtDD;IACE,WAAA;GfytDD;Ee1tDD;IACE,oBAAA;Gf4tDD;Ee7tDD;IACE,oBAAA;Gf+tDD;EehuDD;IACE,WAAA;GfkuDD;EenuDD;IACE,oBAAA;GfquDD;EetuDD;IACE,oBAAA;GfwuDD;EezuDD;IACE,WAAA;Gf2uDD;Ee5uDD;IACE,oBAAA;Gf8uDD;Ee/uDD;IACE,mBAAA;GfivDD;Ee7uDD;IACE,YAAA;Gf+uDD;Ee/vDD;IACE,WAAA;GfiwDD;EelwDD;IACE,mBAAA;GfowDD;EerwDD;IACE,mBAAA;GfuwDD;EexwDD;IACE,UAAA;Gf0wDD;Ee3wDD;IACE,mBAAA;Gf6wDD;Ee9wDD;IACE,mBAAA;GfgxDD;EejxDD;IACE,UAAA;GfmxDD;EepxDD;IACE,mBAAA;GfsxDD;EevxDD;IACE,mBAAA;GfyxDD;Ee1xDD;IACE,UAAA;Gf4xDD;Ee7xDD;IACE,mBAAA;Gf+xDD;EehyDD;IACE,kBAAA;GfkyDD;Ee9xDD;IACE,WAAA;GfgyDD;EelxDD;IACE,kBAAA;GfoxDD;EerxDD;IACE,0BAAA;GfuxDD;EexxDD;IACE,0BAAA;Gf0xDD;Ee3xDD;IACE,iBAAA;Gf6xDD;Ee9xDD;IACE,0BAAA;GfgyDD;EejyDD;IACE,0BAAA;GfmyDD;EepyDD;IACE,iBAAA;GfsyDD;EevyDD;IACE,0BAAA;GfyyDD;Ee1yDD;IACE,0BAAA;Gf4yDD;Ee7yDD;IACE,iBAAA;Gf+yDD;EehzDD;IACE,0BAAA;GfkzDD;EenzDD;IACE,yBAAA;GfqzDD;EetzDD;IACE,gBAAA;GfwzDD;CACF;AahzDD;EE3CI;IACE,YAAA;Gf81DH;Eev1DD;IACE,YAAA;Gfy1DD;Ee11DD;IACE,oBAAA;Gf41DD;Ee71DD;IACE,oBAAA;Gf+1DD;Eeh2DD;IACE,WAAA;Gfk2DD;Een2DD;IACE,oBAAA;Gfq2DD;Eet2DD;IACE,oBAAA;Gfw2DD;Eez2DD;IACE,WAAA;Gf22DD;Ee52DD;IACE,oBAAA;Gf82DD;Ee/2DD;IACE,oBAAA;Gfi3DD;Eel3DD;IACE,WAAA;Gfo3DD;Eer3DD;IACE,oBAAA;Gfu3DD;Eex3DD;IACE,mBAAA;Gf03DD;Ee52DD;IACE,YAAA;Gf82DD;Ee/2DD;IACE,oBAAA;Gfi3DD;Eel3DD;IACE,oBAAA;Gfo3DD;Eer3DD;IACE,WAAA;Gfu3DD;Eex3DD;IACE,oBAAA;Gf03DD;Ee33DD;IACE,oBAAA;Gf63DD;Ee93DD;IACE,WAAA;Gfg4DD;Eej4DD;IACE,oBAAA;Gfm4DD;Eep4DD;IACE,oBAAA;Gfs4DD;Eev4DD;IACE,WAAA;Gfy4DD;Ee14DD;IACE,oBAAA;Gf44DD;Ee74DD;IACE,mBAAA;Gf+4DD;Ee34DD;IACE,YAAA;Gf64DD;Ee75DD;IACE,WAAA;Gf+5DD;Eeh6DD;IACE,mBAAA;Gfk6DD;Een6DD;IACE,mBAAA;Gfq6DD;Eet6DD;IACE,UAAA;Gfw6DD;Eez6DD;IACE,mBAAA;Gf26DD;Ee56DD;IACE,mBAAA;Gf86DD;Ee/6DD;IACE,UAAA;Gfi7DD;Eel7DD;IACE,mBAAA;Gfo7DD;Eer7DD;IACE,mBAAA;Gfu7DD;Eex7DD;IACE,UAAA;Gf07DD;Ee37DD;IACE,mBAAA;Gf67DD;Ee97DD;IACE,kBAAA;Gfg8DD;Ee57DD;IACE,WAAA;Gf87DD;Eeh7DD;IACE,kBAAA;Gfk7DD;Een7DD;IACE,0BAAA;Gfq7DD;Eet7DD;IACE,0BAAA;Gfw7DD;Eez7DD;IACE,iBAAA;Gf27DD;Ee57DD;IACE,0BAAA;Gf87DD;Ee/7DD;IACE,0BAAA;Gfi8DD;Eel8DD;IACE,iBAAA;Gfo8DD;Eer8DD;IACE,0BAAA;Gfu8DD;Eex8DD;IACE,0BAAA;Gf08DD;Ee38DD;IACE,iBAAA;Gf68DD;Ee98DD;IACE,0BAAA;Gfg9DD;Eej9DD;IACE,yBAAA;Gfm9DD;Eep9DD;IACE,gBAAA;Gfs9DD;CACF;Aa38DD;EE9CI;IACE,YAAA;Gf4/DH;Eer/DD;IACE,YAAA;Gfu/DD;Eex/DD;IACE,oBAAA;Gf0/DD;Ee3/DD;IACE,oBAAA;Gf6/DD;Ee9/DD;IACE,WAAA;GfggED;EejgED;IACE,oBAAA;GfmgED;EepgED;IACE,oBAAA;GfsgED;EevgED;IACE,WAAA;GfygED;Ee1gED;IACE,oBAAA;Gf4gED;Ee7gED;IACE,oBAAA;Gf+gED;EehhED;IACE,WAAA;GfkhED;EenhED;IACE,oBAAA;GfqhED;EethED;IACE,mBAAA;GfwhED;Ee1gED;IACE,YAAA;Gf4gED;Ee7gED;IACE,oBAAA;Gf+gED;EehhED;IACE,oBAAA;GfkhED;EenhED;IACE,WAAA;GfqhED;EethED;IACE,oBAAA;GfwhED;EezhED;IACE,oBAAA;Gf2hED;Ee5hED;IACE,WAAA;Gf8hED;Ee/hED;IACE,oBAAA;GfiiED;EeliED;IACE,oBAAA;GfoiED;EeriED;IACE,WAAA;GfuiED;EexiED;IACE,oBAAA;Gf0iED;Ee3iED;IACE,mBAAA;Gf6iED;EeziED;IACE,YAAA;Gf2iED;Ee3jED;IACE,WAAA;Gf6jED;Ee9jED;IACE,mBAAA;GfgkED;EejkED;IACE,mBAAA;GfmkED;EepkED;IACE,UAAA;GfskED;EevkED;IACE,mBAAA;GfykED;Ee1kED;IACE,mBAAA;Gf4kED;Ee7kED;IACE,UAAA;Gf+kED;EehlED;IACE,mBAAA;GfklED;EenlED;IACE,mBAAA;GfqlED;EetlED;IACE,UAAA;GfwlED;EezlED;IACE,mBAAA;Gf2lED;Ee5lED;IACE,kBAAA;Gf8lED;Ee1lED;IACE,WAAA;Gf4lED;Ee9kED;IACE,kBAAA;GfglED;EejlED;IACE,0BAAA;GfmlED;EeplED;IACE,0BAAA;GfslED;EevlED;IACE,iBAAA;GfylED;Ee1lED;IACE,0BAAA;Gf4lED;Ee7lED;IACE,0BAAA;Gf+lED;EehmED;IACE,iBAAA;GfkmED;EenmED;IACE,0BAAA;GfqmED;EetmED;IACE,0BAAA;GfwmED;EezmED;IACE,iBAAA;Gf2mED;Ee5mED;IACE,0BAAA;Gf8mED;Ee/mED;IACE,yBAAA;GfinED;EelnED;IACE,gBAAA;GfonED;CACF;AgBxrED;EACE,8BAAA;ChB0rED;AgBxrED;EACE,iBAAA;EACA,oBAAA;EACA,eAAA;EACA,iBAAA;ChB0rED;AgBxrED;EACE,iBAAA;ChB0rED;AgBprED;EACE,YAAA;EACA,gBAAA;EACA,oBAAA;ChBsrED;AgBzrED;;;;;;EAWQ,aAAA;EACA,wBAAA;EACA,oBAAA;EACA,8BAAA;ChBsrEP;AgBpsED;EAoBI,uBAAA;EACA,iCAAA;ChBmrEH;AgBxsED;;;;;;EA8BQ,cAAA;ChBkrEP;AgBhtED;EAoCI,8BAAA;ChB+qEH;AgBntED;EAyCI,0BAAA;ChB6qEH;AgBtqED;;;;;;EAOQ,aAAA;ChBuqEP;AgB5pED;EACE,0BAAA;ChB8pED;AgB/pED;;;;;;EAQQ,0BAAA;ChB+pEP;AgBvqED;;EAeM,yBAAA;ChB4pEL;AgBlpED;EAEI,0BAAA;ChBmpEH;AgB1oED;EAEI,0BAAA;ChB2oEH;AgBloED;EACE,iBAAA;EACA,YAAA;EACA,sBAAA;ChBooED;AgB/nEG;;EACE,iBAAA;EACA,YAAA;EACA,oBAAA;ChBkoEL;AiB9wEC;;;;;;;;;;;;EAOI,0BAAA;CjBqxEL;AiB/wEC;;;;;EAMI,0BAAA;CjBgxEL;AiBnyEC;;;;;;;;;;;;EAOI,0BAAA;CjB0yEL;AiBpyEC;;;;;EAMI,0BAAA;CjBqyEL;AiBxzEC;;;;;;;;;;;;EAOI,0BAAA;CjB+zEL;AiBzzEC;;;;;EAMI,0BAAA;CjB0zEL;AiB70EC;;;;;;;;;;;;EAOI,0BAAA;CjBo1EL;AiB90EC;;;;;EAMI,0BAAA;CjB+0EL;AiBl2EC;;;;;;;;;;;;EAOI,0BAAA;CjBy2EL;AiBn2EC;;;;;EAMI,0BAAA;CjBo2EL;AgBltED;EACE,iBAAA;EACA,kBAAA;ChBotED;AgBvpED;EAAA;IA1DI,YAAA;IACA,oBAAA;IACA,mBAAA;IACA,6CAAA;IACA,0BAAA;GhBqtED;EgB/pEH;IAlDM,iBAAA;GhBotEH;EgBlqEH;;;;;;IAzCY,oBAAA;GhBmtET;EgB1qEH;IAjCM,UAAA;GhB8sEH;EgB7qEH;;;;;;IAxBY,eAAA;GhB6sET;EgBrrEH;;;;;;IApBY,gBAAA;GhBitET;EgB7rEH;;;;IAPY,iBAAA;GhB0sET;CACF;AkBp6ED;EACE,WAAA;EACA,UAAA;EACA,UAAA;EAIA,aAAA;ClBm6ED;AkBh6ED;EACE,eAAA;EACA,YAAA;EACA,WAAA;EACA,oBAAA;EACA,gBAAA;EACA,qBAAA;EACA,eAAA;EACA,UAAA;EACA,iCAAA;ClBk6ED;AkB/5ED;EACE,sBAAA;EACA,gBAAA;EACA,mBAAA;EACA,kBAAA;ClBi6ED;AkBt5ED;Eb4BE,+BAAA;EACG,4BAAA;EACK,uBAAA;CL63ET;AkBt5ED;;EAEE,gBAAA;EACA,mBAAA;EACA,oBAAA;ClBw5ED;AkBr5ED;EACE,eAAA;ClBu5ED;AkBn5ED;EACE,eAAA;EACA,YAAA;ClBq5ED;AkBj5ED;;EAEE,aAAA;ClBm5ED;AkB/4ED;;;EZvEE,qBAAA;EAEA,2CAAA;EACA,qBAAA;CN09ED;AkB/4ED;EACE,eAAA;EACA,iBAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;ClBi5ED;AkBv3ED;EACE,eAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,0BAAA;EACA,uBAAA;EACA,0BAAA;EACA,mBAAA;EbxDA,yDAAA;EACQ,iDAAA;EAyHR,uFAAA;EACK,0EAAA;EACG,uEAAA;CL0zET;AmBl8EC;EACE,sBAAA;EACA,WAAA;EdUF,uFAAA;EACQ,+EAAA;CL27ET;AK15EC;EACE,eAAA;EACA,WAAA;CL45EH;AK15EC;EAA0B,eAAA;CL65E3B;AK55EC;EAAgC,eAAA;CL+5EjC;AkB/3EC;;;EAGE,0BAAA;EACA,WAAA;ClBi4EH;AkB93EC;;EAEE,oBAAA;ClBg4EH;AkB53EC;EACE,aAAA;ClB83EH;AkBl3ED;EACE,yBAAA;ClBo3ED;AkB50ED;EAtBI;;;;IACE,kBAAA;GlBw2EH;EkBr2EC;;;;;;;;IAEE,kBAAA;GlB62EH;EkB12EC;;;;;;;;IAEE,kBAAA;GlBk3EH;CACF;AkBx2ED;EACE,oBAAA;ClB02ED;AkBl2ED;;EAEE,mBAAA;EACA,eAAA;EACA,iBAAA;EACA,oBAAA;ClBo2ED;AkBz2ED;;EAQI,iBAAA;EACA,mBAAA;EACA,iBAAA;EACA,oBAAA;EACA,gBAAA;ClBq2EH;AkBl2ED;;;;EAIE,mBAAA;EACA,mBAAA;EACA,mBAAA;ClBo2ED;AkBj2ED;;EAEE,iBAAA;ClBm2ED;AkB/1ED;;EAEE,mBAAA;EACA,sBAAA;EACA,mBAAA;EACA,iBAAA;EACA,uBAAA;EACA,oBAAA;EACA,gBAAA;ClBi2ED;AkB/1ED;;EAEE,cAAA;EACA,kBAAA;ClBi2ED;AkBx1EC;;;;;;EAGE,oBAAA;ClB61EH;AkBv1EC;;;;EAEE,oBAAA;ClB21EH;AkBr1EC;;;;EAGI,oBAAA;ClBw1EL;AkB70ED;EAEE,iBAAA;EACA,oBAAA;EAEA,iBAAA;EACA,iBAAA;ClB60ED;AkB30EC;;EAEE,gBAAA;EACA,iBAAA;ClB60EH;AkBh0ED;EC7PE,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CnBgkFD;AmB9jFC;EACE,aAAA;EACA,kBAAA;CnBgkFH;AmB7jFC;;EAEE,aAAA;CnB+jFH;AkB50ED;EAEI,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;ClB60EH;AkBn1ED;EASI,aAAA;EACA,kBAAA;ClB60EH;AkBv1ED;;EAcI,aAAA;ClB60EH;AkB31ED;EAiBI,aAAA;EACA,iBAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;ClB60EH;AkBz0ED;ECzRE,aAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;CnBqmFD;AmBnmFC;EACE,aAAA;EACA,kBAAA;CnBqmFH;AmBlmFC;;EAEE,aAAA;CnBomFH;AkBr1ED;EAEI,aAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;ClBs1EH;AkB51ED;EASI,aAAA;EACA,kBAAA;ClBs1EH;AkBh2ED;;EAcI,aAAA;ClBs1EH;AkBp2ED;EAiBI,aAAA;EACA,iBAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;ClBs1EH;AkB70ED;EAEE,mBAAA;ClB80ED;AkBh1ED;EAMI,sBAAA;ClB60EH;AkBz0ED;EACE,mBAAA;EACA,OAAA;EACA,SAAA;EACA,WAAA;EACA,eAAA;EACA,YAAA;EACA,aAAA;EACA,kBAAA;EACA,mBAAA;EACA,qBAAA;ClB20ED;AkBz0ED;;;EAGE,YAAA;EACA,aAAA;EACA,kBAAA;ClB20ED;AkBz0ED;;;EAGE,YAAA;EACA,aAAA;EACA,kBAAA;ClB20ED;AkBv0ED;;;;;;;;;;ECpZI,eAAA;CnBuuFH;AkBn1ED;EChZI,sBAAA;Ed+CF,yDAAA;EACQ,iDAAA;CLwrFT;AmBtuFG;EACE,sBAAA;Ed4CJ,0EAAA;EACQ,kEAAA;CL6rFT;AkB71ED;ECtYI,eAAA;EACA,sBAAA;EACA,0BAAA;CnBsuFH;AkBl2ED;EChYI,eAAA;CnBquFH;AkBl2ED;;;;;;;;;;ECvZI,eAAA;CnBqwFH;AkB92ED;ECnZI,sBAAA;Ed+CF,yDAAA;EACQ,iDAAA;CLstFT;AmBpwFG;EACE,sBAAA;Ed4CJ,0EAAA;EACQ,kEAAA;CL2tFT;AkBx3ED;ECzYI,eAAA;EACA,sBAAA;EACA,0BAAA;CnBowFH;AkB73ED;ECnYI,eAAA;CnBmwFH;AkB73ED;;;;;;;;;;EC1ZI,eAAA;CnBmyFH;AkBz4ED;ECtZI,sBAAA;Ed+CF,yDAAA;EACQ,iDAAA;CLovFT;AmBlyFG;EACE,sBAAA;Ed4CJ,0EAAA;EACQ,kEAAA;CLyvFT;AkBn5ED;EC5YI,eAAA;EACA,sBAAA;EACA,0BAAA;CnBkyFH;AkBx5ED;ECtYI,eAAA;CnBiyFH;AkBp5EC;EACG,UAAA;ClBs5EJ;AkBp5EC;EACG,OAAA;ClBs5EJ;AkB54ED;EACE,eAAA;EACA,gBAAA;EACA,oBAAA;EACA,eAAA;ClB84ED;AkB3zED;EAAA;IA9DM,sBAAA;IACA,iBAAA;IACA,uBAAA;GlB63EH;EkBj0EH;IAvDM,sBAAA;IACA,YAAA;IACA,uBAAA;GlB23EH;EkBt0EH;IAhDM,sBAAA;GlBy3EH;EkBz0EH;IA5CM,sBAAA;IACA,uBAAA;GlBw3EH;EkB70EH;;;IAtCQ,YAAA;GlBw3EL;EkBl1EH;IAhCM,YAAA;GlBq3EH;EkBr1EH;IA5BM,iBAAA;IACA,uBAAA;GlBo3EH;EkBz1EH;;IApBM,sBAAA;IACA,cAAA;IACA,iBAAA;IACA,uBAAA;GlBi3EH;EkBh2EH;;IAdQ,gBAAA;GlBk3EL;EkBp2EH;;IATM,mBAAA;IACA,eAAA;GlBi3EH;EkBz2EH;IAHM,OAAA;GlB+2EH;CACF;AkBr2ED;;;;EASI,cAAA;EACA,iBAAA;EACA,iBAAA;ClBk2EH;AkB72ED;;EAiBI,iBAAA;ClBg2EH;AkBj3ED;EJhhBE,mBAAA;EACA,oBAAA;Cdo4FD;AkB90EC;EAAA;IAVI,kBAAA;IACA,iBAAA;IACA,iBAAA;GlB41EH;CACF;AkB53ED;EAwCI,YAAA;ClBu1EH;AkBz0EC;EAAA;IAJM,yBAAA;IACA,gBAAA;GlBi1EL;CACF;AkBv0EC;EAAA;IAJM,iBAAA;IACA,gBAAA;GlB+0EL;CACF;AoBl6FD;EACE,sBAAA;EACA,iBAAA;EACA,oBAAA;EACA,mBAAA;EACA,uBAAA;EACA,+BAAA;MAAA,2BAAA;EACA,gBAAA;EACA,uBAAA;EACA,8BAAA;EACA,oBAAA;EC6CA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,mBAAA;EhB4JA,0BAAA;EACG,uBAAA;EACC,sBAAA;EACI,kBAAA;CL6tFT;AoBr6FG;;;;;;EdrBF,qBAAA;EAEA,2CAAA;EACA,qBAAA;CNi8FD;AoBz6FC;;;EAGE,eAAA;EACA,sBAAA;CpB26FH;AoBx6FC;;EAEE,WAAA;EACA,uBAAA;Ef2BF,yDAAA;EACQ,iDAAA;CLg5FT;AoBx6FC;;;EAGE,oBAAA;EE7CF,cAAA;EAGA,0BAAA;EjB8DA,yBAAA;EACQ,iBAAA;CLy5FT;AoBx6FG;;EAEE,qBAAA;CpB06FL;AoBj6FD;EC3DE,eAAA;EACA,0BAAA;EACA,sBAAA;CrB+9FD;AqB79FC;;EAEE,eAAA;EACA,0BAAA;EACI,sBAAA;CrB+9FP;AqB79FC;EACE,eAAA;EACA,0BAAA;EACI,sBAAA;CrB+9FP;AqB79FC;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrB+9FP;AqB79FG;;;;;;;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBq+FT;AqBl+FC;;;EAGE,uBAAA;CrBo+FH;AqB/9FG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACI,sBAAA;CrB6+FT;AoB/9FD;ECTI,eAAA;EACA,0BAAA;CrB2+FH;AoBh+FD;EC9DE,eAAA;EACA,0BAAA;EACA,sBAAA;CrBiiGD;AqB/hGC;;EAEE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBiiGP;AqB/hGC;EACE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBiiGP;AqB/hGC;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBiiGP;AqB/hGG;;;;;;;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBuiGT;AqBpiGC;;;EAGE,uBAAA;CrBsiGH;AqBjiGG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACI,sBAAA;CrB+iGT;AoB9hGD;ECZI,eAAA;EACA,0BAAA;CrB6iGH;AoB9hGD;EClEE,eAAA;EACA,0BAAA;EACA,sBAAA;CrBmmGD;AqBjmGC;;EAEE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBmmGP;AqBjmGC;EACE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBmmGP;AqBjmGC;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBmmGP;AqBjmGG;;;;;;;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBymGT;AqBtmGC;;;EAGE,uBAAA;CrBwmGH;AqBnmGG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACI,sBAAA;CrBinGT;AoB5lGD;EChBI,eAAA;EACA,0BAAA;CrB+mGH;AoB5lGD;ECtEE,eAAA;EACA,0BAAA;EACA,sBAAA;CrBqqGD;AqBnqGC;;EAEE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBqqGP;AqBnqGC;EACE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBqqGP;AqBnqGC;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBqqGP;AqBnqGG;;;;;;;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrB2qGT;AqBxqGC;;;EAGE,uBAAA;CrB0qGH;AqBrqGG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACI,sBAAA;CrBmrGT;AoB1pGD;ECpBI,eAAA;EACA,0BAAA;CrBirGH;AoB1pGD;EC1EE,eAAA;EACA,0BAAA;EACA,sBAAA;CrBuuGD;AqBruGC;;EAEE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBuuGP;AqBruGC;EACE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBuuGP;AqBruGC;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrBuuGP;AqBruGG;;;;;;;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrB6uGT;AqB1uGC;;;EAGE,uBAAA;CrB4uGH;AqBvuGG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACI,sBAAA;CrBqvGT;AoBxtGD;ECxBI,eAAA;EACA,0BAAA;CrBmvGH;AoBxtGD;EC9EE,eAAA;EACA,0BAAA;EACA,sBAAA;CrByyGD;AqBvyGC;;EAEE,eAAA;EACA,0BAAA;EACI,sBAAA;CrByyGP;AqBvyGC;EACE,eAAA;EACA,0BAAA;EACI,sBAAA;CrByyGP;AqBvyGC;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrByyGP;AqBvyGG;;;;;;;;;EAGE,eAAA;EACA,0BAAA;EACI,sBAAA;CrB+yGT;AqB5yGC;;;EAGE,uBAAA;CrB8yGH;AqBzyGG;;;;;;;;;;;;;;;;;;EAME,0BAAA;EACI,sBAAA;CrBuzGT;AoBtxGD;EC5BI,eAAA;EACA,0BAAA;CrBqzGH;AoBjxGD;EACE,eAAA;EACA,oBAAA;EACA,iBAAA;CpBmxGD;AoBjxGC;;;;;EAKE,8BAAA;EfnCF,yBAAA;EACQ,iBAAA;CLuzGT;AoBlxGC;;;;EAIE,0BAAA;CpBoxGH;AoBlxGC;;EAEE,eAAA;EACA,2BAAA;EACA,8BAAA;CpBoxGH;AoBhxGG;;;;EAEE,eAAA;EACA,sBAAA;CpBoxGL;AoB3wGD;;ECrEE,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;CrBo1GD;AoB9wGD;;ECzEE,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CrB21GD;AoBjxGD;;EC7EE,iBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CrBk2GD;AoBhxGD;EACE,eAAA;EACA,YAAA;CpBkxGD;AoB9wGD;EACE,gBAAA;CpBgxGD;AoBzwGC;;;EACE,YAAA;CpB6wGH;AuBv6GD;EACE,WAAA;ElBoLA,yCAAA;EACK,oCAAA;EACG,iCAAA;CLsvGT;AuB16GC;EACE,WAAA;CvB46GH;AuBx6GD;EACE,cAAA;CvB06GD;AuBx6GC;EAAY,eAAA;CvB26Gb;AuB16GC;EAAY,mBAAA;CvB66Gb;AuB56GC;EAAY,yBAAA;CvB+6Gb;AuB56GD;EACE,mBAAA;EACA,UAAA;EACA,iBAAA;ElBuKA,gDAAA;EACQ,2CAAA;KAAA,wCAAA;EAOR,mCAAA;EACQ,8BAAA;KAAA,2BAAA;EAGR,yCAAA;EACQ,oCAAA;KAAA,iCAAA;CLgwGT;AwB18GD;EACE,sBAAA;EACA,SAAA;EACA,UAAA;EACA,iBAAA;EACA,uBAAA;EACA,uBAAA;EACA,yBAAA;EACA,oCAAA;EACA,mCAAA;CxB48GD;AwBx8GD;;EAEE,mBAAA;CxB08GD;AwBt8GD;EACE,WAAA;CxBw8GD;AwBp8GD;EACE,mBAAA;EACA,UAAA;EACA,QAAA;EACA,cAAA;EACA,cAAA;EACA,YAAA;EACA,iBAAA;EACA,eAAA;EACA,gBAAA;EACA,iBAAA;EACA,gBAAA;EACA,iBAAA;EACA,0BAAA;EACA,0BAAA;EACA,sCAAA;EACA,mBAAA;EnBsBA,oDAAA;EACQ,4CAAA;EmBrBR,qCAAA;UAAA,6BAAA;CxBu8GD;AwBl8GC;EACE,SAAA;EACA,WAAA;CxBo8GH;AwB79GD;ECzBE,YAAA;EACA,cAAA;EACA,iBAAA;EACA,0BAAA;CzBy/GD;AwBn+GD;EAmCI,eAAA;EACA,kBAAA;EACA,YAAA;EACA,oBAAA;EACA,wBAAA;EACA,eAAA;EACA,oBAAA;CxBm8GH;AwB77GC;;EAEE,sBAAA;EACA,eAAA;EACA,0BAAA;CxB+7GH;AwBz7GC;;;EAGE,eAAA;EACA,sBAAA;EACA,WAAA;EACA,0BAAA;CxB27GH;AwBl7GC;;;EAGE,eAAA;CxBo7GH;AwBh7GC;;EAEE,sBAAA;EACA,8BAAA;EACA,uBAAA;EE3GF,oEAAA;EF6GE,oBAAA;CxBk7GH;AwB76GD;EAGI,eAAA;CxB66GH;AwBh7GD;EAQI,WAAA;CxB26GH;AwBn6GD;EACE,WAAA;EACA,SAAA;CxBq6GD;AwB75GD;EACE,QAAA;EACA,YAAA;CxB+5GD;AwB35GD;EACE,eAAA;EACA,kBAAA;EACA,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,oBAAA;CxB65GD;AwBz5GD;EACE,gBAAA;EACA,QAAA;EACA,SAAA;EACA,UAAA;EACA,OAAA;EACA,aAAA;CxB25GD;AwBv5GD;EACE,SAAA;EACA,WAAA;CxBy5GD;AwBj5GD;;EAII,cAAA;EACA,0BAAA;EACA,4BAAA;EACA,YAAA;CxBi5GH;AwBx5GD;;EAWI,UAAA;EACA,aAAA;EACA,mBAAA;CxBi5GH;AwB53GD;EAXE;IApEA,WAAA;IACA,SAAA;GxB+8GC;EwB54GD;IA1DA,QAAA;IACA,YAAA;GxBy8GC;CACF;A2BzlHD;;EAEE,mBAAA;EACA,sBAAA;EACA,uBAAA;C3B2lHD;A2B/lHD;;EAMI,mBAAA;EACA,YAAA;C3B6lHH;A2B3lHG;;;;;;;;EAIE,WAAA;C3BimHL;A2B3lHD;;;;EAKI,kBAAA;C3B4lHH;A2BvlHD;EACE,kBAAA;C3BylHD;A2B1lHD;;;EAOI,YAAA;C3BwlHH;A2B/lHD;;;EAYI,iBAAA;C3BwlHH;A2BplHD;EACE,iBAAA;C3BslHD;A2BllHD;EACE,eAAA;C3BolHD;A2BnlHC;EClDA,8BAAA;EACG,2BAAA;C5BwoHJ;A2BllHD;;EC/CE,6BAAA;EACG,0BAAA;C5BqoHJ;A2BjlHD;EACE,YAAA;C3BmlHD;A2BjlHD;EACE,iBAAA;C3BmlHD;A2BjlHD;;ECnEE,8BAAA;EACG,2BAAA;C5BwpHJ;A2BhlHD;ECjEE,6BAAA;EACG,0BAAA;C5BopHJ;A2B/kHD;;EAEE,WAAA;C3BilHD;A2BhkHD;EACE,kBAAA;EACA,mBAAA;C3BkkHD;A2BhkHD;EACE,mBAAA;EACA,oBAAA;C3BkkHD;A2B7jHD;EtB/CE,yDAAA;EACQ,iDAAA;CL+mHT;A2B7jHC;EtBnDA,yBAAA;EACQ,iBAAA;CLmnHT;A2B1jHD;EACE,eAAA;C3B4jHD;A2BzjHD;EACE,wBAAA;EACA,uBAAA;C3B2jHD;A2BxjHD;EACE,wBAAA;C3B0jHD;A2BnjHD;;;EAII,eAAA;EACA,YAAA;EACA,YAAA;EACA,gBAAA;C3BojHH;A2B3jHD;EAcM,YAAA;C3BgjHL;A2B9jHD;;;;EAsBI,iBAAA;EACA,eAAA;C3B8iHH;A2BziHC;EACE,iBAAA;C3B2iHH;A2BziHC;EACE,6BAAA;ECpKF,8BAAA;EACC,6BAAA;C5BgtHF;A2B1iHC;EACE,+BAAA;EChLF,2BAAA;EACC,0BAAA;C5B6tHF;A2B1iHD;EACE,iBAAA;C3B4iHD;A2B1iHD;;EC/KE,8BAAA;EACC,6BAAA;C5B6tHF;A2BziHD;EC7LE,2BAAA;EACC,0BAAA;C5ByuHF;A2BriHD;EACE,eAAA;EACA,YAAA;EACA,oBAAA;EACA,0BAAA;C3BuiHD;A2B3iHD;;EAOI,YAAA;EACA,oBAAA;EACA,UAAA;C3BwiHH;A2BjjHD;EAYI,YAAA;C3BwiHH;A2BpjHD;EAgBI,WAAA;C3BuiHH;A2BthHD;;;;EAKM,mBAAA;EACA,uBAAA;EACA,qBAAA;C3BuhHL;A6BjwHD;EACE,mBAAA;EACA,eAAA;EACA,0BAAA;C7BmwHD;A6BhwHC;EACE,YAAA;EACA,gBAAA;EACA,iBAAA;C7BkwHH;A6B3wHD;EAeI,mBAAA;EACA,WAAA;EAKA,YAAA;EAEA,YAAA;EACA,iBAAA;C7B0vHH;A6BjvHD;;;EV8BE,aAAA;EACA,mBAAA;EACA,gBAAA;EACA,uBAAA;EACA,mBAAA;CnBwtHD;AmBttHC;;;EACE,aAAA;EACA,kBAAA;CnB0tHH;AmBvtHC;;;;;;EAEE,aAAA;CnB6tHH;A6BnwHD;;;EVyBE,aAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;CnB+uHD;AmB7uHC;;;EACE,aAAA;EACA,kBAAA;CnBivHH;AmB9uHC;;;;;;EAEE,aAAA;CnBovHH;A6BjxHD;;;EAGE,oBAAA;C7BmxHD;A6BjxHC;;;EACE,iBAAA;C7BqxHH;A6BjxHD;;EAEE,UAAA;EACA,oBAAA;EACA,uBAAA;C7BmxHD;A6B9wHD;EACE,kBAAA;EACA,gBAAA;EACA,oBAAA;EACA,eAAA;EACA,eAAA;EACA,mBAAA;EACA,0BAAA;EACA,0BAAA;EACA,mBAAA;C7BgxHD;A6B7wHC;EACE,kBAAA;EACA,gBAAA;EACA,mBAAA;C7B+wHH;A6B7wHC;EACE,mBAAA;EACA,gBAAA;EACA,mBAAA;C7B+wHH;A6BnyHD;;EA0BI,cAAA;C7B6wHH;A6BxwHD;;;;;;;EDhGE,8BAAA;EACG,2BAAA;C5Bi3HJ;A6BzwHD;EACE,gBAAA;C7B2wHD;A6BzwHD;;;;;;;EDpGE,6BAAA;EACG,0BAAA;C5Bs3HJ;A6B1wHD;EACE,eAAA;C7B4wHD;A6BvwHD;EACE,mBAAA;EAGA,aAAA;EACA,oBAAA;C7BuwHD;A6B5wHD;EAUI,mBAAA;C7BqwHH;A6B/wHD;EAYM,kBAAA;C7BswHL;A6BnwHG;;;EAGE,WAAA;C7BqwHL;A6BhwHC;;EAGI,mBAAA;C7BiwHL;A6B9vHC;;EAGI,WAAA;EACA,kBAAA;C7B+vHL;A8B15HD;EACE,iBAAA;EACA,gBAAA;EACA,iBAAA;C9B45HD;A8B/5HD;EAOI,mBAAA;EACA,eAAA;C9B25HH;A8Bn6HD;EAWM,mBAAA;EACA,eAAA;EACA,mBAAA;C9B25HL;A8B15HK;;EAEE,sBAAA;EACA,0BAAA;C9B45HP;A8Bv5HG;EACE,eAAA;C9By5HL;A8Bv5HK;;EAEE,eAAA;EACA,sBAAA;EACA,8BAAA;EACA,oBAAA;C9By5HP;A8Bl5HG;;;EAGE,0BAAA;EACA,sBAAA;C9Bo5HL;A8B77HD;ELHE,YAAA;EACA,cAAA;EACA,iBAAA;EACA,0BAAA;CzBm8HD;A8Bn8HD;EA0DI,gBAAA;C9B44HH;A8Bn4HD;EACE,iCAAA;C9Bq4HD;A8Bt4HD;EAGI,YAAA;EAEA,oBAAA;C9Bq4HH;A8B14HD;EASM,kBAAA;EACA,wBAAA;EACA,8BAAA;EACA,2BAAA;C9Bo4HL;A8Bn4HK;EACE,sCAAA;C9Bq4HP;A8B/3HK;;;EAGE,eAAA;EACA,0BAAA;EACA,0BAAA;EACA,iCAAA;EACA,gBAAA;C9Bi4HP;A8B53HC;EAqDA,YAAA;EA8BA,iBAAA;C9B6yHD;A8Bh4HC;EAwDE,YAAA;C9B20HH;A8Bn4HC;EA0DI,mBAAA;EACA,mBAAA;C9B40HL;A8Bv4HC;EAgEE,UAAA;EACA,WAAA;C9B00HH;A8B9zHD;EAAA;IAPM,oBAAA;IACA,UAAA;G9By0HH;E8Bn0HH;IAJQ,iBAAA;G9B00HL;CACF;A8Bp5HC;EAuFE,gBAAA;EACA,mBAAA;C9Bg0HH;A8Bx5HC;;;EA8FE,0BAAA;C9B+zHH;A8BjzHD;EAAA;IATM,iCAAA;IACA,2BAAA;G9B8zHH;E8BtzHH;;;IAHM,6BAAA;G9B8zHH;CACF;A8B/5HD;EAEI,YAAA;C9Bg6HH;A8Bl6HD;EAMM,mBAAA;C9B+5HL;A8Br6HD;EASM,iBAAA;C9B+5HL;A8B15HK;;;EAGE,eAAA;EACA,0BAAA;C9B45HP;A8Bp5HD;EAEI,YAAA;C9Bq5HH;A8Bv5HD;EAIM,gBAAA;EACA,eAAA;C9Bs5HL;A8B14HD;EACE,YAAA;C9B44HD;A8B74HD;EAII,YAAA;C9B44HH;A8Bh5HD;EAMM,mBAAA;EACA,mBAAA;C9B64HL;A8Bp5HD;EAYI,UAAA;EACA,WAAA;C9B24HH;A8B/3HD;EAAA;IAPM,oBAAA;IACA,UAAA;G9B04HH;E8Bp4HH;IAJQ,iBAAA;G9B24HL;CACF;A8Bn4HD;EACE,iBAAA;C9Bq4HD;A8Bt4HD;EAKI,gBAAA;EACA,mBAAA;C9Bo4HH;A8B14HD;;;EAYI,0BAAA;C9Bm4HH;A8Br3HD;EAAA;IATM,iCAAA;IACA,2BAAA;G9Bk4HH;E8B13HH;;;IAHM,6BAAA;G9Bk4HH;CACF;A8Bz3HD;EAEI,cAAA;C9B03HH;A8B53HD;EAKI,eAAA;C9B03HH;A8Bj3HD;EAEE,iBAAA;EF3OA,2BAAA;EACC,0BAAA;C5B8lIF;A+BxlID;EACE,mBAAA;EACA,iBAAA;EACA,oBAAA;EACA,8BAAA;C/B0lID;A+BllID;EAAA;IAFI,mBAAA;G/BwlID;CACF;A+BzkID;EAAA;IAFI,YAAA;G/B+kID;CACF;A+BjkID;EACE,oBAAA;EACA,oBAAA;EACA,mBAAA;EACA,kCAAA;EACA,2DAAA;UAAA,mDAAA;EAEA,kCAAA;C/BkkID;A+BhkIC;EACE,iBAAA;C/BkkIH;A+BtiID;EAAA;IAxBI,YAAA;IACA,cAAA;IACA,yBAAA;YAAA,iBAAA;G/BkkID;E+BhkIC;IACE,0BAAA;IACA,wBAAA;IACA,kBAAA;IACA,6BAAA;G/BkkIH;E+B/jIC;IACE,oBAAA;G/BikIH;E+B5jIC;;;IAGE,gBAAA;IACA,iBAAA;G/B8jIH;CACF;A+B1jID;;EAGI,kBAAA;C/B2jIH;A+BtjIC;EAAA;;IAFI,kBAAA;G/B6jIH;CACF;A+BpjID;;;;EAII,oBAAA;EACA,mBAAA;C/BsjIH;A+BhjIC;EAAA;;;;IAHI,gBAAA;IACA,eAAA;G/B0jIH;CACF;A+B9iID;EACE,cAAA;EACA,sBAAA;C/BgjID;A+B3iID;EAAA;IAFI,iBAAA;G/BijID;CACF;A+B7iID;;EAEE,gBAAA;EACA,SAAA;EACA,QAAA;EACA,cAAA;C/B+iID;A+BziID;EAAA;;IAFI,iBAAA;G/BgjID;CACF;A+B9iID;EACE,OAAA;EACA,sBAAA;C/BgjID;A+B9iID;EACE,UAAA;EACA,iBAAA;EACA,sBAAA;C/BgjID;A+B1iID;EACE,YAAA;EACA,mBAAA;EACA,gBAAA;EACA,kBAAA;EACA,aAAA;C/B4iID;A+B1iIC;;EAEE,sBAAA;C/B4iIH;A+BrjID;EAaI,eAAA;C/B2iIH;A+BliID;EALI;;IAEE,mBAAA;G/B0iIH;CACF;A+BhiID;EACE,mBAAA;EACA,aAAA;EACA,mBAAA;EACA,kBAAA;EC9LA,gBAAA;EACA,mBAAA;ED+LA,8BAAA;EACA,uBAAA;EACA,8BAAA;EACA,mBAAA;C/BmiID;A+B/hIC;EACE,WAAA;C/BiiIH;A+B/iID;EAmBI,eAAA;EACA,YAAA;EACA,YAAA;EACA,mBAAA;C/B+hIH;A+BrjID;EAyBI,gBAAA;C/B+hIH;A+BzhID;EAAA;IAFI,cAAA;G/B+hID;CACF;A+BthID;EACE,oBAAA;C/BwhID;A+BzhID;EAII,kBAAA;EACA,qBAAA;EACA,kBAAA;C/BwhIH;A+B5/HC;EAAA;IAtBI,iBAAA;IACA,YAAA;IACA,YAAA;IACA,cAAA;IACA,8BAAA;IACA,UAAA;IACA,yBAAA;YAAA,iBAAA;G/BshIH;E+BtgID;;IAbM,2BAAA;G/BuhIL;E+B1gID;IAVM,kBAAA;G/BuhIL;E+BthIK;;IAEE,uBAAA;G/BwhIP;CACF;A+BtgID;EAAA;IAXI,YAAA;IACA,UAAA;G/BqhID;E+B3gIH;IAPM,YAAA;G/BqhIH;E+B9gIH;IALQ,kBAAA;IACA,qBAAA;G/BshIL;CACF;A+B3gID;EACE,mBAAA;EACA,oBAAA;EACA,mBAAA;EACA,kCAAA;EACA,qCAAA;E1B9NA,6FAAA;EACQ,qFAAA;E2B/DR,gBAAA;EACA,mBAAA;ChC4yID;AkB5xHD;EAAA;IA9DM,sBAAA;IACA,iBAAA;IACA,uBAAA;GlB81HH;EkBlyHH;IAvDM,sBAAA;IACA,YAAA;IACA,uBAAA;GlB41HH;EkBvyHH;IAhDM,sBAAA;GlB01HH;EkB1yHH;IA5CM,sBAAA;IACA,uBAAA;GlBy1HH;EkB9yHH;;;IAtCQ,YAAA;GlBy1HL;EkBnzHH;IAhCM,YAAA;GlBs1HH;EkBtzHH;IA5BM,iBAAA;IACA,uBAAA;GlBq1HH;EkB1zHH;;IApBM,sBAAA;IACA,cAAA;IACA,iBAAA;IACA,uBAAA;GlBk1HH;EkBj0HH;;IAdQ,gBAAA;GlBm1HL;EkBr0HH;;IATM,mBAAA;IACA,eAAA;GlBk1HH;EkB10HH;IAHM,OAAA;GlBg1HH;CACF;A+BpjIC;EAAA;IANI,mBAAA;G/B8jIH;E+B5jIG;IACE,iBAAA;G/B8jIL;CACF;A+B7iID;EAAA;IARI,YAAA;IACA,UAAA;IACA,eAAA;IACA,gBAAA;IACA,eAAA;IACA,kBAAA;I1BzPF,yBAAA;IACQ,iBAAA;GLmzIP;CACF;A+BnjID;EACE,cAAA;EHpUA,2BAAA;EACC,0BAAA;C5B03IF;A+BnjID;EACE,iBAAA;EHzUA,6BAAA;EACC,4BAAA;EAOD,8BAAA;EACC,6BAAA;C5By3IF;A+B/iID;EChVE,gBAAA;EACA,mBAAA;ChCk4ID;A+BhjIC;ECnVA,iBAAA;EACA,oBAAA;ChCs4ID;A+BjjIC;ECtVA,iBAAA;EACA,oBAAA;ChC04ID;A+B3iID;EChWE,iBAAA;EACA,oBAAA;ChC84ID;A+BviID;EAAA;IAJI,YAAA;IACA,kBAAA;IACA,mBAAA;G/B+iID;CACF;A+BlhID;EAhBE;IExWA,uBAAA;GjC84IC;E+BriID;IE5WA,wBAAA;IF8WE,oBAAA;G/BuiID;E+BziID;IAKI,gBAAA;G/BuiIH;CACF;A+B9hID;EACE,0BAAA;EACA,sBAAA;C/BgiID;A+BliID;EAKI,eAAA;C/BgiIH;A+B/hIG;;EAEE,eAAA;EACA,8BAAA;C/BiiIL;A+B1iID;EAcI,eAAA;C/B+hIH;A+B7iID;EAmBM,eAAA;C/B6hIL;A+B3hIK;;EAEE,eAAA;EACA,8BAAA;C/B6hIP;A+BzhIK;;;EAGE,eAAA;EACA,0BAAA;C/B2hIP;A+BvhIK;;;EAGE,eAAA;EACA,8BAAA;C/ByhIP;A+BjkID;EA8CI,sBAAA;C/BshIH;A+BrhIG;;EAEE,0BAAA;C/BuhIL;A+BxkID;EAoDM,0BAAA;C/BuhIL;A+B3kID;;EA0DI,sBAAA;C/BqhIH;A+B9gIK;;;EAGE,0BAAA;EACA,eAAA;C/BghIP;A+B/+HC;EAAA;IAzBQ,eAAA;G/B4gIP;E+B3gIO;;IAEE,eAAA;IACA,8BAAA;G/B6gIT;E+BzgIO;;;IAGE,eAAA;IACA,0BAAA;G/B2gIT;E+BvgIO;;;IAGE,eAAA;IACA,8BAAA;G/BygIT;CACF;A+B3mID;EA8GI,eAAA;C/BggIH;A+B//HG;EACE,eAAA;C/BigIL;A+BjnID;EAqHI,eAAA;C/B+/HH;A+B9/HG;;EAEE,eAAA;C/BggIL;A+B5/HK;;;;EAEE,eAAA;C/BggIP;A+Bx/HD;EACE,0BAAA;EACA,sBAAA;C/B0/HD;A+B5/HD;EAKI,eAAA;C/B0/HH;A+Bz/HG;;EAEE,eAAA;EACA,8BAAA;C/B2/HL;A+BpgID;EAcI,eAAA;C/By/HH;A+BvgID;EAmBM,eAAA;C/Bu/HL;A+Br/HK;;EAEE,eAAA;EACA,8BAAA;C/Bu/HP;A+Bn/HK;;;EAGE,eAAA;EACA,0BAAA;C/Bq/HP;A+Bj/HK;;;EAGE,eAAA;EACA,8BAAA;C/Bm/HP;A+B3hID;EA+CI,sBAAA;C/B++HH;A+B9+HG;;EAEE,0BAAA;C/Bg/HL;A+BliID;EAqDM,0BAAA;C/Bg/HL;A+BriID;;EA2DI,sBAAA;C/B8+HH;A+Bx+HK;;;EAGE,0BAAA;EACA,eAAA;C/B0+HP;A+Bn8HC;EAAA;IA/BQ,sBAAA;G/Bs+HP;E+Bv8HD;IA5BQ,0BAAA;G/Bs+HP;E+B18HD;IAzBQ,eAAA;G/Bs+HP;E+Br+HO;;IAEE,eAAA;IACA,8BAAA;G/Bu+HT;E+Bn+HO;;;IAGE,eAAA;IACA,0BAAA;G/Bq+HT;E+Bj+HO;;;IAGE,eAAA;IACA,8BAAA;G/Bm+HT;CACF;A+B3kID;EA+GI,eAAA;C/B+9HH;A+B99HG;EACE,eAAA;C/Bg+HL;A+BjlID;EAsHI,eAAA;C/B89HH;A+B79HG;;EAEE,eAAA;C/B+9HL;A+B39HK;;;;EAEE,eAAA;C/B+9HP;AkCzmJD;EACE,kBAAA;EACA,oBAAA;EACA,iBAAA;EACA,0BAAA;EACA,mBAAA;ClC2mJD;AkChnJD;EAQI,sBAAA;ClC2mJH;AkCnnJD;EAWM,kBAAA;EACA,eAAA;EACA,eAAA;ClC2mJL;AkCxnJD;EAkBI,eAAA;ClCymJH;AmC7nJD;EACE,sBAAA;EACA,gBAAA;EACA,eAAA;EACA,mBAAA;CnC+nJD;AmCnoJD;EAOI,gBAAA;CnC+nJH;AmCtoJD;;EAUM,mBAAA;EACA,YAAA;EACA,kBAAA;EACA,wBAAA;EACA,sBAAA;EACA,eAAA;EACA,0BAAA;EACA,0BAAA;EACA,kBAAA;CnCgoJL;AmC9nJG;;EAGI,eAAA;EPXN,+BAAA;EACG,4BAAA;C5B2oJJ;AmC7nJG;;EPvBF,gCAAA;EACG,6BAAA;C5BwpJJ;AmCxnJG;;;;EAEE,WAAA;EACA,eAAA;EACA,0BAAA;EACA,sBAAA;CnC4nJL;AmCtnJG;;;;;;EAGE,WAAA;EACA,eAAA;EACA,0BAAA;EACA,sBAAA;EACA,gBAAA;CnC2nJL;AmClrJD;;;;;;EAkEM,eAAA;EACA,0BAAA;EACA,sBAAA;EACA,oBAAA;CnCwnJL;AmC/mJD;;EC3EM,mBAAA;EACA,gBAAA;EACA,uBAAA;CpC8rJL;AoC5rJG;;ERKF,+BAAA;EACG,4BAAA;C5B2rJJ;AoC3rJG;;ERTF,gCAAA;EACG,6BAAA;C5BwsJJ;AmC1nJD;;EChFM,kBAAA;EACA,gBAAA;EACA,iBAAA;CpC8sJL;AoC5sJG;;ERKF,+BAAA;EACG,4BAAA;C5B2sJJ;AoC3sJG;;ERTF,gCAAA;EACG,6BAAA;C5BwtJJ;AqC3tJD;EACE,gBAAA;EACA,eAAA;EACA,iBAAA;EACA,mBAAA;CrC6tJD;AqCjuJD;EAOI,gBAAA;CrC6tJH;AqCpuJD;;EAUM,sBAAA;EACA,kBAAA;EACA,0BAAA;EACA,0BAAA;EACA,oBAAA;CrC8tJL;AqC5uJD;;EAmBM,sBAAA;EACA,0BAAA;CrC6tJL;AqCjvJD;;EA2BM,aAAA;CrC0tJL;AqCrvJD;;EAkCM,YAAA;CrCutJL;AqCzvJD;;;;EA2CM,eAAA;EACA,0BAAA;EACA,oBAAA;CrCotJL;AsClwJD;EACE,gBAAA;EACA,wBAAA;EACA,eAAA;EACA,kBAAA;EACA,eAAA;EACA,eAAA;EACA,mBAAA;EACA,oBAAA;EACA,yBAAA;EACA,qBAAA;CtCowJD;AsChwJG;;EAEE,eAAA;EACA,sBAAA;EACA,gBAAA;CtCkwJL;AsC7vJC;EACE,cAAA;CtC+vJH;AsC3vJC;EACE,mBAAA;EACA,UAAA;CtC6vJH;AsCtvJD;ECtCE,0BAAA;CvC+xJD;AuC5xJG;;EAEE,0BAAA;CvC8xJL;AsCzvJD;EC1CE,0BAAA;CvCsyJD;AuCnyJG;;EAEE,0BAAA;CvCqyJL;AsC5vJD;EC9CE,0BAAA;CvC6yJD;AuC1yJG;;EAEE,0BAAA;CvC4yJL;AsC/vJD;EClDE,0BAAA;CvCozJD;AuCjzJG;;EAEE,0BAAA;CvCmzJL;AsClwJD;ECtDE,0BAAA;CvC2zJD;AuCxzJG;;EAEE,0BAAA;CvC0zJL;AsCrwJD;EC1DE,0BAAA;CvCk0JD;AuC/zJG;;EAEE,0BAAA;CvCi0JL;AwCn0JD;EACE,sBAAA;EACA,gBAAA;EACA,iBAAA;EACA,gBAAA;EACA,kBAAA;EACA,eAAA;EACA,eAAA;EACA,uBAAA;EACA,oBAAA;EACA,mBAAA;EACA,0BAAA;EACA,oBAAA;CxCq0JD;AwCl0JC;EACE,cAAA;CxCo0JH;AwCh0JC;EACE,mBAAA;EACA,UAAA;CxCk0JH;AwC/zJC;;EAEE,OAAA;EACA,iBAAA;CxCi0JH;AwC5zJG;;EAEE,eAAA;EACA,sBAAA;EACA,gBAAA;CxC8zJL;AwCzzJC;;EAEE,eAAA;EACA,0BAAA;CxC2zJH;AwCxzJC;EACE,aAAA;CxC0zJH;AwCvzJC;EACE,kBAAA;CxCyzJH;AwCtzJC;EACE,iBAAA;CxCwzJH;AyCl3JD;EACE,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,eAAA;EACA,0BAAA;CzCo3JD;AyCz3JD;;EASI,eAAA;CzCo3JH;AyC73JD;EAaI,oBAAA;EACA,gBAAA;EACA,iBAAA;CzCm3JH;AyCl4JD;EAmBI,0BAAA;CzCk3JH;AyC/2JC;;EAEE,mBAAA;CzCi3JH;AyCz4JD;EA4BI,gBAAA;CzCg3JH;AyC91JD;EAAA;IAdI,kBAAA;IACA,qBAAA;GzCg3JD;EyC92JC;;IAEE,mBAAA;IACA,oBAAA;GzCg3JH;EyCx2JH;;IAHM,gBAAA;GzC+2JH;CACF;A0C15JD;EACE,eAAA;EACA,aAAA;EACA,oBAAA;EACA,wBAAA;EACA,0BAAA;EACA,0BAAA;EACA,mBAAA;ErCiLA,4CAAA;EACK,uCAAA;EACG,oCAAA;CL4uJT;A0Ct6JD;;EAaI,kBAAA;EACA,mBAAA;C1C65JH;A0Cz5JC;;;EAGE,sBAAA;C1C25JH;A0Ch7JD;EA0BI,aAAA;EACA,eAAA;C1Cy5JH;A2Cl7JD;EACE,cAAA;EACA,oBAAA;EACA,8BAAA;EACA,mBAAA;C3Co7JD;A2Cx7JD;EAQI,cAAA;EAEA,eAAA;C3Ck7JH;A2C57JD;EAeI,kBAAA;C3Cg7JH;A2C/7JD;;EAqBI,iBAAA;C3C86JH;A2Cn8JD;EAyBI,gBAAA;C3C66JH;A2Cr6JD;;EAEE,oBAAA;C3Cu6JD;A2Cz6JD;;EAMI,mBAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;C3Cu6JH;A2C/5JD;ECvDE,0BAAA;EACA,sBAAA;EACA,eAAA;C5Cy9JD;A2Cp6JD;EClDI,0BAAA;C5Cy9JH;A2Cv6JD;EC/CI,eAAA;C5Cy9JH;A2Ct6JD;EC3DE,0BAAA;EACA,sBAAA;EACA,eAAA;C5Co+JD;A2C36JD;ECtDI,0BAAA;C5Co+JH;A2C96JD;ECnDI,eAAA;C5Co+JH;A2C76JD;EC/DE,0BAAA;EACA,sBAAA;EACA,eAAA;C5C++JD;A2Cl7JD;EC1DI,0BAAA;C5C++JH;A2Cr7JD;ECvDI,eAAA;C5C++JH;A2Cp7JD;ECnEE,0BAAA;EACA,sBAAA;EACA,eAAA;C5C0/JD;A2Cz7JD;EC9DI,0BAAA;C5C0/JH;A2C57JD;EC3DI,eAAA;C5C0/JH;A6C5/JD;EACE;IAAQ,4BAAA;G7C+/JP;E6C9/JD;IAAQ,yBAAA;G7CigKP;CACF;A6C9/JD;EACE;IAAQ,4BAAA;G7CigKP;E6ChgKD;IAAQ,yBAAA;G7CmgKP;CACF;A6CtgKD;EACE;IAAQ,4BAAA;G7CigKP;E6ChgKD;IAAQ,yBAAA;G7CmgKP;CACF;A6C5/JD;EACE,iBAAA;EACA,aAAA;EACA,oBAAA;EACA,0BAAA;EACA,mBAAA;ExCsCA,uDAAA;EACQ,+CAAA;CLy9JT;A6C3/JD;EACE,YAAA;EACA,UAAA;EACA,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,eAAA;EACA,mBAAA;EACA,0BAAA;ExCyBA,uDAAA;EACQ,+CAAA;EAyHR,oCAAA;EACK,+BAAA;EACG,4BAAA;CL62JT;A6Cx/JD;;ECCI,8MAAA;EACA,yMAAA;EACA,sMAAA;EDAF,mCAAA;UAAA,2BAAA;C7C4/JD;A6Cr/JD;;ExC5CE,2DAAA;EACK,sDAAA;EACG,mDAAA;CLqiKT;A6Cl/JD;EErEE,0BAAA;C/C0jKD;A+CvjKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9C0gKH;A6Ct/JD;EEzEE,0BAAA;C/CkkKD;A+C/jKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9CkhKH;A6C1/JD;EE7EE,0BAAA;C/C0kKD;A+CvkKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9C0hKH;A6C9/JD;EEjFE,0BAAA;C/CklKD;A+C/kKC;EDgDE,8MAAA;EACA,yMAAA;EACA,sMAAA;C9CkiKH;AgD1lKD;EAEE,iBAAA;ChD2lKD;AgDzlKC;EACE,cAAA;ChD2lKH;AgDvlKD;;EAEE,QAAA;EACA,iBAAA;ChDylKD;AgDtlKD;EACE,eAAA;ChDwlKD;AgDrlKD;EACE,eAAA;ChDulKD;AgDplKC;EACE,gBAAA;ChDslKH;AgDllKD;;EAEE,mBAAA;ChDolKD;AgDjlKD;;EAEE,oBAAA;ChDmlKD;AgDhlKD;;;EAGE,oBAAA;EACA,oBAAA;ChDklKD;AgD/kKD;EACE,uBAAA;ChDilKD;AgD9kKD;EACE,uBAAA;ChDglKD;AgD5kKD;EACE,cAAA;EACA,mBAAA;ChD8kKD;AgDxkKD;EACE,gBAAA;EACA,iBAAA;ChD0kKD;AiDjoKD;EAEE,oBAAA;EACA,gBAAA;CjDkoKD;AiD1nKD;EACE,mBAAA;EACA,eAAA;EACA,mBAAA;EAEA,oBAAA;EACA,0BAAA;EACA,0BAAA;CjD2nKD;AiDxnKC;ErB3BA,6BAAA;EACC,4BAAA;C5BspKF;AiDznKC;EACE,iBAAA;ErBvBF,gCAAA;EACC,+BAAA;C5BmpKF;AiDlnKD;;EAEE,eAAA;CjDonKD;AiDtnKD;;EAKI,eAAA;CjDqnKH;AiDjnKC;;;;EAEE,sBAAA;EACA,eAAA;EACA,0BAAA;CjDqnKH;AiDjnKD;EACE,YAAA;EACA,iBAAA;CjDmnKD;AiD9mKC;;;EAGE,0BAAA;EACA,eAAA;EACA,oBAAA;CjDgnKH;AiDrnKC;;;EASI,eAAA;CjDinKL;AiD1nKC;;;EAYI,eAAA;CjDmnKL;AiD9mKC;;;EAGE,WAAA;EACA,eAAA;EACA,0BAAA;EACA,sBAAA;CjDgnKH;AiDtnKC;;;;;;;;;EAYI,eAAA;CjDqnKL;AiDjoKC;;;EAeI,eAAA;CjDunKL;AkDztKC;EACE,eAAA;EACA,0BAAA;ClD2tKH;AkDztKG;;EAEE,eAAA;ClD2tKL;AkD7tKG;;EAKI,eAAA;ClD4tKP;AkDztKK;;;;EAEE,eAAA;EACA,0BAAA;ClD6tKP;AkD3tKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClDguKP;AkDtvKC;EACE,eAAA;EACA,0BAAA;ClDwvKH;AkDtvKG;;EAEE,eAAA;ClDwvKL;AkD1vKG;;EAKI,eAAA;ClDyvKP;AkDtvKK;;;;EAEE,eAAA;EACA,0BAAA;ClD0vKP;AkDxvKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClD6vKP;AkDnxKC;EACE,eAAA;EACA,0BAAA;ClDqxKH;AkDnxKG;;EAEE,eAAA;ClDqxKL;AkDvxKG;;EAKI,eAAA;ClDsxKP;AkDnxKK;;;;EAEE,eAAA;EACA,0BAAA;ClDuxKP;AkDrxKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClD0xKP;AkDhzKC;EACE,eAAA;EACA,0BAAA;ClDkzKH;AkDhzKG;;EAEE,eAAA;ClDkzKL;AkDpzKG;;EAKI,eAAA;ClDmzKP;AkDhzKK;;;;EAEE,eAAA;EACA,0BAAA;ClDozKP;AkDlzKK;;;;;;EAGE,YAAA;EACA,0BAAA;EACA,sBAAA;ClDuzKP;AiDttKD;EACE,cAAA;EACA,mBAAA;CjDwtKD;AiDttKD;EACE,iBAAA;EACA,iBAAA;CjDwtKD;AmDl1KD;EACE,oBAAA;EACA,0BAAA;EACA,8BAAA;EACA,mBAAA;E9C0DA,kDAAA;EACQ,0CAAA;CL2xKT;AmDj1KD;EACE,cAAA;CnDm1KD;AmD90KD;EACE,mBAAA;EACA,qCAAA;EvBpBA,6BAAA;EACC,4BAAA;C5Bq2KF;AmDp1KD;EAMI,eAAA;CnDi1KH;AmD50KD;EACE,cAAA;EACA,iBAAA;EACA,gBAAA;EACA,eAAA;CnD80KD;AmDl1KD;;;;;EAWI,eAAA;CnD80KH;AmDz0KD;EACE,mBAAA;EACA,0BAAA;EACA,8BAAA;EvBxCA,gCAAA;EACC,+BAAA;C5Bo3KF;AmDn0KD;;EAGI,iBAAA;CnDo0KH;AmDv0KD;;EAMM,oBAAA;EACA,iBAAA;CnDq0KL;AmDj0KG;;EAEI,cAAA;EvBvEN,6BAAA;EACC,4BAAA;C5B24KF;AmD/zKG;;EAEI,iBAAA;EvBvEN,gCAAA;EACC,+BAAA;C5By4KF;AmDx1KD;EvB1DE,2BAAA;EACC,0BAAA;C5Bq5KF;AmD3zKD;EAEI,oBAAA;CnD4zKH;AmDzzKD;EACE,oBAAA;CnD2zKD;AmDnzKD;;;EAII,iBAAA;CnDozKH;AmDxzKD;;;EAOM,mBAAA;EACA,oBAAA;CnDszKL;AmD9zKD;;EvBzGE,6BAAA;EACC,4BAAA;C5B26KF;AmDn0KD;;;;EAmBQ,4BAAA;EACA,6BAAA;CnDszKP;AmD10KD;;;;;;;;EAwBU,4BAAA;CnD4zKT;AmDp1KD;;;;;;;;EA4BU,6BAAA;CnDk0KT;AmD91KD;;EvBjGE,gCAAA;EACC,+BAAA;C5Bm8KF;AmDn2KD;;;;EAyCQ,+BAAA;EACA,gCAAA;CnDg0KP;AmD12KD;;;;;;;;EA8CU,+BAAA;CnDs0KT;AmDp3KD;;;;;;;;EAkDU,gCAAA;CnD40KT;AmD93KD;;;;EA2DI,8BAAA;CnDy0KH;AmDp4KD;;EA+DI,cAAA;CnDy0KH;AmDx4KD;;EAmEI,UAAA;CnDy0KH;AmD54KD;;;;;;;;;;;;EA0EU,eAAA;CnDg1KT;AmD15KD;;;;;;;;;;;;EA8EU,gBAAA;CnD01KT;AmDx6KD;;;;;;;;EAuFU,iBAAA;CnD21KT;AmDl7KD;;;;;;;;EAgGU,iBAAA;CnD41KT;AmD57KD;EAsGI,UAAA;EACA,iBAAA;CnDy1KH;AmD/0KD;EACE,oBAAA;CnDi1KD;AmDl1KD;EAKI,iBAAA;EACA,mBAAA;CnDg1KH;AmDt1KD;EASM,gBAAA;CnDg1KL;AmDz1KD;EAcI,iBAAA;CnD80KH;AmD51KD;;EAkBM,8BAAA;CnD80KL;AmDh2KD;EAuBI,cAAA;CnD40KH;AmDn2KD;EAyBM,iCAAA;CnD60KL;AmDt0KD;EC1PE,sBAAA;CpDmkLD;AoDjkLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpDmkLH;AoDtkLC;EAMI,0BAAA;CpDmkLL;AoDzkLC;EASI,eAAA;EACA,0BAAA;CpDmkLL;AoDhkLC;EAEI,6BAAA;CpDikLL;AmDr1KD;EC7PE,sBAAA;CpDqlLD;AoDnlLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpDqlLH;AoDxlLC;EAMI,0BAAA;CpDqlLL;AoD3lLC;EASI,eAAA;EACA,0BAAA;CpDqlLL;AoDllLC;EAEI,6BAAA;CpDmlLL;AmDp2KD;EChQE,sBAAA;CpDumLD;AoDrmLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpDumLH;AoD1mLC;EAMI,0BAAA;CpDumLL;AoD7mLC;EASI,eAAA;EACA,0BAAA;CpDumLL;AoDpmLC;EAEI,6BAAA;CpDqmLL;AmDn3KD;ECnQE,sBAAA;CpDynLD;AoDvnLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpDynLH;AoD5nLC;EAMI,0BAAA;CpDynLL;AoD/nLC;EASI,eAAA;EACA,0BAAA;CpDynLL;AoDtnLC;EAEI,6BAAA;CpDunLL;AmDl4KD;ECtQE,sBAAA;CpD2oLD;AoDzoLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpD2oLH;AoD9oLC;EAMI,0BAAA;CpD2oLL;AoDjpLC;EASI,eAAA;EACA,0BAAA;CpD2oLL;AoDxoLC;EAEI,6BAAA;CpDyoLL;AmDj5KD;ECzQE,sBAAA;CpD6pLD;AoD3pLC;EACE,eAAA;EACA,0BAAA;EACA,sBAAA;CpD6pLH;AoDhqLC;EAMI,0BAAA;CpD6pLL;AoDnqLC;EASI,eAAA;EACA,0BAAA;CpD6pLL;AoD1pLC;EAEI,6BAAA;CpD2pLL;AqD3qLD;EACE,mBAAA;EACA,eAAA;EACA,UAAA;EACA,WAAA;EACA,iBAAA;CrD6qLD;AqDlrLD;;;;;EAYI,mBAAA;EACA,OAAA;EACA,QAAA;EACA,UAAA;EACA,aAAA;EACA,YAAA;EACA,UAAA;CrD6qLH;AqDxqLD;EACE,uBAAA;CrD0qLD;AqDtqLD;EACE,oBAAA;CrDwqLD;AsDnsLD;EACE,iBAAA;EACA,cAAA;EACA,oBAAA;EACA,0BAAA;EACA,0BAAA;EACA,mBAAA;EjDwDA,wDAAA;EACQ,gDAAA;CL8oLT;AsD7sLD;EASI,mBAAA;EACA,kCAAA;CtDusLH;AsDlsLD;EACE,cAAA;EACA,mBAAA;CtDosLD;AsDlsLD;EACE,aAAA;EACA,mBAAA;CtDosLD;AuD1tLD;EACE,aAAA;EACA,gBAAA;EACA,kBAAA;EACA,eAAA;EACA,eAAA;EACA,6BAAA;EjCRA,aAAA;EAGA,0BAAA;CtBmuLD;AuD3tLC;;EAEE,eAAA;EACA,sBAAA;EACA,gBAAA;EjCfF,aAAA;EAGA,0BAAA;CtB2uLD;AuDvtLC;EACE,WAAA;EACA,gBAAA;EACA,wBAAA;EACA,UAAA;EACA,yBAAA;CvDytLH;AwD9uLD;EACE,iBAAA;CxDgvLD;AwD5uLD;EACE,cAAA;EACA,iBAAA;EACA,gBAAA;EACA,OAAA;EACA,SAAA;EACA,UAAA;EACA,QAAA;EACA,cAAA;EACA,kCAAA;EAIA,WAAA;CxD2uLD;AwDxuLC;EnD+GA,sCAAA;EACI,kCAAA;EACC,iCAAA;EACG,8BAAA;EAkER,oDAAA;EAEK,0CAAA;EACG,oCAAA;CL2jLT;AwD9uLC;EnD2GA,mCAAA;EACI,+BAAA;EACC,8BAAA;EACG,2BAAA;CLsoLT;AwDlvLD;EACE,mBAAA;EACA,iBAAA;CxDovLD;AwDhvLD;EACE,mBAAA;EACA,YAAA;EACA,aAAA;CxDkvLD;AwD9uLD;EACE,mBAAA;EACA,0BAAA;EACA,0BAAA;EACA,qCAAA;EACA,mBAAA;EnDaA,iDAAA;EACQ,yCAAA;EmDZR,qCAAA;UAAA,6BAAA;EAEA,WAAA;CxDgvLD;AwD5uLD;EACE,gBAAA;EACA,OAAA;EACA,SAAA;EACA,UAAA;EACA,QAAA;EACA,cAAA;EACA,0BAAA;CxD8uLD;AwD5uLC;ElCrEA,WAAA;EAGA,yBAAA;CtBkzLD;AwD/uLC;ElCtEA,aAAA;EAGA,0BAAA;CtBszLD;AwD9uLD;EACE,cAAA;EACA,iCAAA;EACA,0BAAA;CxDgvLD;AwD7uLD;EACE,iBAAA;CxD+uLD;AwD3uLD;EACE,UAAA;EACA,wBAAA;CxD6uLD;AwDxuLD;EACE,mBAAA;EACA,cAAA;CxD0uLD;AwDtuLD;EACE,cAAA;EACA,kBAAA;EACA,8BAAA;CxDwuLD;AwD3uLD;EAQI,iBAAA;EACA,iBAAA;CxDsuLH;AwD/uLD;EAaI,kBAAA;CxDquLH;AwDlvLD;EAiBI,eAAA;CxDouLH;AwD/tLD;EACE,mBAAA;EACA,aAAA;EACA,YAAA;EACA,aAAA;EACA,iBAAA;CxDiuLD;AwD/sLD;EAZE;IACE,aAAA;IACA,kBAAA;GxD8tLD;EwD5tLD;InDvEA,kDAAA;IACQ,0CAAA;GLsyLP;EwD3tLD;IAAY,aAAA;GxD8tLX;CACF;AwDztLD;EAFE;IAAY,aAAA;GxD+tLX;CACF;AyD92LD;EACE,mBAAA;EACA,cAAA;EACA,eAAA;ECRA,4DAAA;EAEA,mBAAA;EACA,oBAAA;EACA,uBAAA;EACA,iBAAA;EACA,wBAAA;EACA,iBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;EDHA,gBAAA;EnCVA,WAAA;EAGA,yBAAA;CtBq4LD;AyD13LC;EnCdA,aAAA;EAGA,0BAAA;CtBy4LD;AyD73LC;EAAW,iBAAA;EAAmB,eAAA;CzDi4L/B;AyDh4LC;EAAW,iBAAA;EAAmB,eAAA;CzDo4L/B;AyDn4LC;EAAW,gBAAA;EAAmB,eAAA;CzDu4L/B;AyDt4LC;EAAW,kBAAA;EAAmB,eAAA;CzD04L/B;AyDt4LD;EACE,iBAAA;EACA,iBAAA;EACA,eAAA;EACA,mBAAA;EACA,0BAAA;EACA,mBAAA;CzDw4LD;AyDp4LD;EACE,mBAAA;EACA,SAAA;EACA,UAAA;EACA,0BAAA;EACA,oBAAA;CzDs4LD;AyDl4LC;EACE,UAAA;EACA,UAAA;EACA,kBAAA;EACA,wBAAA;EACA,0BAAA;CzDo4LH;AyDl4LC;EACE,UAAA;EACA,WAAA;EACA,oBAAA;EACA,wBAAA;EACA,0BAAA;CzDo4LH;AyDl4LC;EACE,UAAA;EACA,UAAA;EACA,oBAAA;EACA,wBAAA;EACA,0BAAA;CzDo4LH;AyDl4LC;EACE,SAAA;EACA,QAAA;EACA,iBAAA;EACA,4BAAA;EACA,4BAAA;CzDo4LH;AyDl4LC;EACE,SAAA;EACA,SAAA;EACA,iBAAA;EACA,4BAAA;EACA,2BAAA;CzDo4LH;AyDl4LC;EACE,OAAA;EACA,UAAA;EACA,kBAAA;EACA,wBAAA;EACA,6BAAA;CzDo4LH;AyDl4LC;EACE,OAAA;EACA,WAAA;EACA,iBAAA;EACA,wBAAA;EACA,6BAAA;CzDo4LH;AyDl4LC;EACE,OAAA;EACA,UAAA;EACA,iBAAA;EACA,wBAAA;EACA,6BAAA;CzDo4LH;A2Dj+LD;EACE,mBAAA;EACA,OAAA;EACA,QAAA;EACA,cAAA;EACA,cAAA;EACA,iBAAA;EACA,aAAA;EDXA,4DAAA;EAEA,mBAAA;EACA,oBAAA;EACA,uBAAA;EACA,iBAAA;EACA,wBAAA;EACA,iBAAA;EACA,kBAAA;EACA,sBAAA;EACA,kBAAA;EACA,qBAAA;EACA,oBAAA;EACA,mBAAA;EACA,qBAAA;EACA,kBAAA;ECAA,gBAAA;EAEA,0BAAA;EACA,qCAAA;UAAA,6BAAA;EACA,0BAAA;EACA,qCAAA;EACA,mBAAA;EtD8CA,kDAAA;EACQ,0CAAA;CLi8LT;A2D5+LC;EAAY,kBAAA;C3D++Lb;A2D9+LC;EAAY,kBAAA;C3Di/Lb;A2Dh/LC;EAAY,iBAAA;C3Dm/Lb;A2Dl/LC;EAAY,mBAAA;C3Dq/Lb;A2Dl/LD;EACE,UAAA;EACA,kBAAA;EACA,gBAAA;EACA,0BAAA;EACA,iCAAA;EACA,2BAAA;C3Do/LD;A2Dj/LD;EACE,kBAAA;C3Dm/LD;A2D3+LC;;EAEE,mBAAA;EACA,eAAA;EACA,SAAA;EACA,UAAA;EACA,0BAAA;EACA,oBAAA;C3D6+LH;A2D1+LD;EACE,mBAAA;C3D4+LD;A2D1+LD;EACE,mBAAA;EACA,YAAA;C3D4+LD;A2Dx+LC;EACE,UAAA;EACA,mBAAA;EACA,uBAAA;EACA,0BAAA;EACA,sCAAA;EACA,cAAA;C3D0+LH;A2Dz+LG;EACE,aAAA;EACA,YAAA;EACA,mBAAA;EACA,uBAAA;EACA,0BAAA;C3D2+LL;A2Dx+LC;EACE,SAAA;EACA,YAAA;EACA,kBAAA;EACA,qBAAA;EACA,4BAAA;EACA,wCAAA;C3D0+LH;A2Dz+LG;EACE,aAAA;EACA,UAAA;EACA,cAAA;EACA,qBAAA;EACA,4BAAA;C3D2+LL;A2Dx+LC;EACE,UAAA;EACA,mBAAA;EACA,oBAAA;EACA,6BAAA;EACA,yCAAA;EACA,WAAA;C3D0+LH;A2Dz+LG;EACE,aAAA;EACA,SAAA;EACA,mBAAA;EACA,oBAAA;EACA,6BAAA;C3D2+LL;A2Dv+LC;EACE,SAAA;EACA,aAAA;EACA,kBAAA;EACA,sBAAA;EACA,2BAAA;EACA,uCAAA;C3Dy+LH;A2Dx+LG;EACE,aAAA;EACA,WAAA;EACA,sBAAA;EACA,2BAAA;EACA,cAAA;C3D0+LL;A4DnmMD;EACE,mBAAA;C5DqmMD;A4DlmMD;EACE,mBAAA;EACA,iBAAA;EACA,YAAA;C5DomMD;A4DvmMD;EAMI,cAAA;EACA,mBAAA;EvD6KF,0CAAA;EACK,qCAAA;EACG,kCAAA;CLw7LT;A4D9mMD;;EAcM,eAAA;C5DomML;A4D1kMC;EAAA;IvDiKA,uDAAA;IAEK,6CAAA;IACG,uCAAA;IA7JR,oCAAA;IAEQ,4BAAA;IA+GR,4BAAA;IAEQ,oBAAA;GL69LP;E4DxmMG;;IvDmHJ,2CAAA;IACQ,mCAAA;IuDjHF,QAAA;G5D2mML;E4DzmMG;;IvD8GJ,4CAAA;IACQ,oCAAA;IuD5GF,QAAA;G5D4mML;E4D1mMG;;;IvDyGJ,wCAAA;IACQ,gCAAA;IuDtGF,QAAA;G5D6mML;CACF;A4DnpMD;;;EA6CI,eAAA;C5D2mMH;A4DxpMD;EAiDI,QAAA;C5D0mMH;A4D3pMD;;EAsDI,mBAAA;EACA,OAAA;EACA,YAAA;C5DymMH;A4DjqMD;EA4DI,WAAA;C5DwmMH;A4DpqMD;EA+DI,YAAA;C5DwmMH;A4DvqMD;;EAmEI,QAAA;C5DwmMH;A4D3qMD;EAuEI,YAAA;C5DumMH;A4D9qMD;EA0EI,WAAA;C5DumMH;A4D/lMD;EACE,mBAAA;EACA,OAAA;EACA,QAAA;EACA,UAAA;EACA,WAAA;EtC9FA,aAAA;EAGA,0BAAA;EsC6FA,gBAAA;EACA,eAAA;EACA,mBAAA;EACA,0CAAA;C5DkmMD;A4D7lMC;EdlGE,mGAAA;EACA,8FAAA;EACA,qHAAA;EAAA,+FAAA;EACA,4BAAA;EACA,uHAAA;C9CksMH;A4DjmMC;EACE,WAAA;EACA,SAAA;EdvGA,mGAAA;EACA,8FAAA;EACA,qHAAA;EAAA,+FAAA;EACA,4BAAA;EACA,uHAAA;C9C2sMH;A4DnmMC;;EAEE,WAAA;EACA,eAAA;EACA,sBAAA;EtCtHF,aAAA;EAGA,0BAAA;CtB0tMD;A4DpoMD;;;;EAsCI,mBAAA;EACA,SAAA;EACA,kBAAA;EACA,WAAA;EACA,sBAAA;C5DomMH;A4D9oMD;;EA8CI,UAAA;EACA,mBAAA;C5DomMH;A4DnpMD;;EAmDI,WAAA;EACA,oBAAA;C5DomMH;A4DxpMD;;EAwDI,YAAA;EACA,aAAA;EACA,eAAA;EACA,mBAAA;C5DomMH;A4D/lMG;EACE,iBAAA;C5DimML;A4D7lMG;EACE,iBAAA;C5D+lML;A4DrlMD;EACE,mBAAA;EACA,aAAA;EACA,UAAA;EACA,YAAA;EACA,WAAA;EACA,kBAAA;EACA,gBAAA;EACA,iBAAA;EACA,mBAAA;C5DulMD;A4DhmMD;EAYI,sBAAA;EACA,YAAA;EACA,aAAA;EACA,YAAA;EACA,oBAAA;EACA,0BAAA;EACA,oBAAA;EACA,gBAAA;EAWA,0BAAA;EACA,mCAAA;C5D6kMH;A4D5mMD;EAkCI,UAAA;EACA,YAAA;EACA,aAAA;EACA,0BAAA;C5D6kMH;A4DtkMD;EACE,mBAAA;EACA,UAAA;EACA,WAAA;EACA,aAAA;EACA,YAAA;EACA,kBAAA;EACA,qBAAA;EACA,eAAA;EACA,mBAAA;EACA,0CAAA;C5DwkMD;A4DvkMC;EACE,kBAAA;C5DykMH;A4DhiMD;EAhCE;;;;IAKI,YAAA;IACA,aAAA;IACA,kBAAA;IACA,gBAAA;G5DkkMH;E4D1kMD;;IAYI,mBAAA;G5DkkMH;E4D9kMD;;IAgBI,oBAAA;G5DkkMH;E4D7jMD;IACE,UAAA;IACA,WAAA;IACA,qBAAA;G5D+jMD;E4D3jMD;IACE,aAAA;G5D6jMD;CACF;A6D3zMC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEE,aAAA;EACA,eAAA;C7Dy1MH;A6Dv1MC;;;;;;;;;;;;;;;EACE,YAAA;C7Du2MH;AiC/2MD;E6BRE,eAAA;EACA,kBAAA;EACA,mBAAA;C9D03MD;AiCj3MD;EACE,wBAAA;CjCm3MD;AiCj3MD;EACE,uBAAA;CjCm3MD;AiC32MD;EACE,yBAAA;CjC62MD;AiC32MD;EACE,0BAAA;CjC62MD;AiC32MD;EACE,mBAAA;CjC62MD;AiC32MD;E8BzBE,YAAA;EACA,mBAAA;EACA,kBAAA;EACA,8BAAA;EACA,UAAA;C/Du4MD;AiCz2MD;EACE,yBAAA;CjC22MD;AiCp2MD;EACE,gBAAA;CjCs2MD;AgEv4MD;EACE,oBAAA;ChEy4MD;AgEn4MD;;;;ECdE,yBAAA;CjEu5MD;AgEl4MD;;;;;;;;;;;;EAYE,yBAAA;ChEo4MD;AgE73MD;EAAA;IChDE,0BAAA;GjEi7MC;EiEh7MD;IAAU,0BAAA;GjEm7MT;EiEl7MD;IAAU,8BAAA;GjEq7MT;EiEp7MD;;IACU,+BAAA;GjEu7MT;CACF;AgEv4MD;EAAA;IAFI,0BAAA;GhE64MD;CACF;AgEv4MD;EAAA;IAFI,2BAAA;GhE64MD;CACF;AgEv4MD;EAAA;IAFI,iCAAA;GhE64MD;CACF;AgEt4MD;EAAA;ICrEE,0BAAA;GjE+8MC;EiE98MD;IAAU,0BAAA;GjEi9MT;EiEh9MD;IAAU,8BAAA;GjEm9MT;EiEl9MD;;IACU,+BAAA;GjEq9MT;CACF;AgEh5MD;EAAA;IAFI,0BAAA;GhEs5MD;CACF;AgEh5MD;EAAA;IAFI,2BAAA;GhEs5MD;CACF;AgEh5MD;EAAA;IAFI,iCAAA;GhEs5MD;CACF;AgE/4MD;EAAA;IC1FE,0BAAA;GjE6+MC;EiE5+MD;IAAU,0BAAA;GjE++MT;EiE9+MD;IAAU,8BAAA;GjEi/MT;EiEh/MD;;IACU,+BAAA;GjEm/MT;CACF;AgEz5MD;EAAA;IAFI,0BAAA;GhE+5MD;CACF;AgEz5MD;EAAA;IAFI,2BAAA;GhE+5MD;CACF;AgEz5MD;EAAA;IAFI,iCAAA;GhE+5MD;CACF;AgEx5MD;EAAA;IC/GE,0BAAA;GjE2gNC;EiE1gND;IAAU,0BAAA;GjE6gNT;EiE5gND;IAAU,8BAAA;GjE+gNT;EiE9gND;;IACU,+BAAA;GjEihNT;CACF;AgEl6MD;EAAA;IAFI,0BAAA;GhEw6MD;CACF;AgEl6MD;EAAA;IAFI,2BAAA;GhEw6MD;CACF;AgEl6MD;EAAA;IAFI,iCAAA;GhEw6MD;CACF;AgEj6MD;EAAA;IC5HE,yBAAA;GjEiiNC;CACF;AgEj6MD;EAAA;ICjIE,yBAAA;GjEsiNC;CACF;AgEj6MD;EAAA;ICtIE,yBAAA;GjE2iNC;CACF;AgEj6MD;EAAA;IC3IE,yBAAA;GjEgjNC;CACF;AgE95MD;ECnJE,yBAAA;CjEojND;AgE35MD;EAAA;ICjKE,0BAAA;GjEgkNC;EiE/jND;IAAU,0BAAA;GjEkkNT;EiEjkND;IAAU,8BAAA;GjEokNT;EiEnkND;;IACU,+BAAA;GjEskNT;CACF;AgEz6MD;EACE,yBAAA;ChE26MD;AgEt6MD;EAAA;IAFI,0BAAA;GhE46MD;CACF;AgE16MD;EACE,yBAAA;ChE46MD;AgEv6MD;EAAA;IAFI,2BAAA;GhE66MD;CACF;AgE36MD;EACE,yBAAA;ChE66MD;AgEx6MD;EAAA;IAFI,iCAAA;GhE86MD;CACF;AgEv6MD;EAAA;ICpLE,yBAAA;GjE+lNC;CACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v3.3.5 (http://getbootstrap.com)\n * Copyright 2011-2015 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: 1px dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important;\n box-shadow: none !important;\n text-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('../fonts/glyphicons-halflings-regular.eot');\n src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\2a\";\n}\n.glyphicon-plus:before {\n content: \"\\2b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #ffffff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: normal;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n background-color: #fcf8e3;\n padding: .2em;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted #777777;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: '\\2014 \\00A0';\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n text-align: right;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: '';\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: '\\00A0 \\2014';\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #ffffff;\n background-color: #333333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333333;\n background-color: #f5f5f5;\n border: 1px solid #cccccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n margin-right: auto;\n margin-left: auto;\n padding-left: 15px;\n padding-right: 15px;\n}\n.row {\n margin-left: -15px;\n margin-right: -15px;\n}\n.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #dddddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #dddddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #dddddd;\n}\n.table .table {\n background-color: #ffffff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #dddddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\ntable col[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-column;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n float: none;\n display: table-cell;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #dddddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n min-width: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: bold;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #ffffff;\n background-image: none;\n border: 1px solid #cccccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999999;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.form-control-static {\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n min-height: 34px;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-left: 0;\n padding-right: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n border-color: #3c763d;\n background-color: #dff0d8;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n border-color: #8a6d3b;\n background-color: #fcf8e3;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n border-color: #a94442;\n background-color: #f2dede;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n margin-top: 0;\n margin-bottom: 0;\n padding-top: 7px;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-left: -15px;\n margin-right: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n text-align: right;\n margin-bottom: 0;\n padding-top: 7px;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 14.333333px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n white-space: nowrap;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: thin dotted;\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n outline: 0;\n background-image: none;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n opacity: 0.65;\n filter: alpha(opacity=65);\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333333;\n background-color: #ffffff;\n border-color: #cccccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n background-image: none;\n}\n.btn-default.disabled,\n.btn-default[disabled],\nfieldset[disabled] .btn-default,\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus,\n.btn-default.disabled:active,\n.btn-default[disabled]:active,\nfieldset[disabled] .btn-default:active,\n.btn-default.disabled.active,\n.btn-default[disabled].active,\nfieldset[disabled] .btn-default.active {\n background-color: #ffffff;\n border-color: #cccccc;\n}\n.btn-default .badge {\n color: #ffffff;\n background-color: #333333;\n}\n.btn-primary {\n color: #ffffff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #ffffff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #ffffff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #ffffff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #ffffff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n background-image: none;\n}\n.btn-primary.disabled,\n.btn-primary[disabled],\nfieldset[disabled] .btn-primary,\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus,\n.btn-primary.disabled:active,\n.btn-primary[disabled]:active,\nfieldset[disabled] .btn-primary:active,\n.btn-primary.disabled.active,\n.btn-primary[disabled].active,\nfieldset[disabled] .btn-primary.active {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #ffffff;\n}\n.btn-success {\n color: #ffffff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #ffffff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #ffffff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #ffffff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #ffffff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n background-image: none;\n}\n.btn-success.disabled,\n.btn-success[disabled],\nfieldset[disabled] .btn-success,\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus,\n.btn-success.disabled:active,\n.btn-success[disabled]:active,\nfieldset[disabled] .btn-success:active,\n.btn-success.disabled.active,\n.btn-success[disabled].active,\nfieldset[disabled] .btn-success.active {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #ffffff;\n}\n.btn-info {\n color: #ffffff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #ffffff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #ffffff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #ffffff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #ffffff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n background-image: none;\n}\n.btn-info.disabled,\n.btn-info[disabled],\nfieldset[disabled] .btn-info,\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus,\n.btn-info.disabled:active,\n.btn-info[disabled]:active,\nfieldset[disabled] .btn-info:active,\n.btn-info.disabled.active,\n.btn-info[disabled].active,\nfieldset[disabled] .btn-info.active {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #ffffff;\n}\n.btn-warning {\n color: #ffffff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #ffffff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #ffffff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #ffffff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #ffffff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n background-image: none;\n}\n.btn-warning.disabled,\n.btn-warning[disabled],\nfieldset[disabled] .btn-warning,\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus,\n.btn-warning.disabled:active,\n.btn-warning[disabled]:active,\nfieldset[disabled] .btn-warning:active,\n.btn-warning.disabled.active,\n.btn-warning[disabled].active,\nfieldset[disabled] .btn-warning.active {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #ffffff;\n}\n.btn-danger {\n color: #ffffff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #ffffff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #ffffff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #ffffff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #ffffff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n background-image: none;\n}\n.btn-danger.disabled,\n.btn-danger[disabled],\nfieldset[disabled] .btn-danger,\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus,\n.btn-danger.disabled:active,\n.btn-danger[disabled]:active,\nfieldset[disabled] .btn-danger:active,\n.btn-danger.disabled.active,\n.btn-danger[disabled].active,\nfieldset[disabled] .btn-danger.active {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #ffffff;\n}\n.btn-link {\n color: #337ab7;\n font-weight: normal;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n list-style: none;\n font-size: 14px;\n text-align: left;\n background-color: #ffffff;\n border: 1px solid #cccccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n background-clip: padding-box;\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: normal;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n text-decoration: none;\n color: #262626;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #ffffff;\n text-decoration: none;\n outline: 0;\n background-color: #337ab7;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n cursor: not-allowed;\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n left: auto;\n right: 0;\n}\n.dropdown-menu-left {\n left: 0;\n right: auto;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n left: 0;\n right: 0;\n bottom: 0;\n top: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n content: \"\";\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n left: auto;\n right: 0;\n }\n .navbar-right .dropdown-menu-left {\n left: 0;\n right: auto;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-left: 8px;\n padding-right: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-left: 12px;\n padding-right: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-bottom-left-radius: 4px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n float: none;\n display: table-cell;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-left: 0;\n padding-right: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: normal;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #cccccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-top-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-bottom-left-radius: 0;\n border-top-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n margin-bottom: 0;\n padding-left: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n background-color: transparent;\n cursor: not-allowed;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #dddddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #dddddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-bottom-color: transparent;\n cursor: default;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #dddddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #ffffff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #ffffff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n text-align: center;\n margin-bottom: 5px;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #dddddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #dddddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #ffffff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n overflow-x: visible;\n padding-right: 15px;\n padding-left: 15px;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-left: 0;\n padding-right: 0;\n }\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.navbar-brand {\n float: left;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n height: 50px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n margin-right: 15px;\n padding: 9px 10px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n margin-left: -15px;\n margin-right: -15px;\n padding: 10px 15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n border: 0;\n margin-left: 0;\n margin-right: 0;\n padding-top: 0;\n padding-bottom: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-left: 15px;\n margin-right: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #cccccc;\n background-color: transparent;\n}\n.navbar-default .navbar-toggle {\n border-color: #dddddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #dddddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n background-color: #e7e7e7;\n color: #555555;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #cccccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-link {\n color: #777777;\n}\n.navbar-default .navbar-link:hover {\n color: #333333;\n}\n.navbar-default .btn-link {\n color: #777777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #cccccc;\n}\n.navbar-inverse {\n background-color: #222222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #ffffff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #ffffff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #ffffff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #ffffff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n background-color: #080808;\n color: #ffffff;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #ffffff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #ffffff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #ffffff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #ffffff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n content: \"/\\00a0\";\n padding: 0 5px;\n color: #cccccc;\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n line-height: 1.42857143;\n text-decoration: none;\n color: #337ab7;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n margin-left: -1px;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-bottom-left-radius: 4px;\n border-top-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-bottom-right-radius: 4px;\n border-top-right-radius: 4px;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 3;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #dddddd;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 2;\n color: #ffffff;\n background-color: #337ab7;\n border-color: #337ab7;\n cursor: default;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n background-color: #ffffff;\n border-color: #dddddd;\n cursor: not-allowed;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-bottom-left-radius: 6px;\n border-top-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-bottom-right-radius: 6px;\n border-top-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-bottom-left-radius: 3px;\n border-top-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-bottom-right-radius: 3px;\n border-top-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n list-style: none;\n text-align: center;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n background-color: #ffffff;\n cursor: not-allowed;\n}\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: bold;\n line-height: 1;\n color: #ffffff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n}\na.label:hover,\na.label:focus {\n color: #ffffff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n color: #ffffff;\n line-height: 1;\n vertical-align: middle;\n white-space: nowrap;\n text-align: center;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #ffffff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #ffffff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-left: 60px;\n padding-right: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-left: auto;\n margin-right: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n background-color: #dff0d8;\n border-color: #d6e9c6;\n color: #3c763d;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n background-color: #d9edf7;\n border-color: #bce8f1;\n color: #31708f;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n background-color: #fcf8e3;\n border-color: #faebcc;\n color: #8a6d3b;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n background-color: #f2dede;\n border-color: #ebccd1;\n color: #a94442;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n overflow: hidden;\n height: 20px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #ffffff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n zoom: 1;\n overflow: hidden;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n margin-bottom: 20px;\n padding-left: 0;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #ffffff;\n border: 1px solid #dddddd;\n}\n.list-group-item:first-child {\n border-top-right-radius: 4px;\n border-top-left-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n text-decoration: none;\n color: #555555;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n background-color: #eeeeee;\n color: #777777;\n cursor: not-allowed;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #ffffff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #ffffff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #dddddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-right-radius: 0;\n border-top-left-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-left: 15px;\n padding-right: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-right-radius: 3px;\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-left-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #dddddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n border: 0;\n margin-bottom: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #dddddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #dddddd;\n}\n.panel-default {\n border-color: #dddddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #dddddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #dddddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #dddddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #ffffff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #ffffff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000000;\n text-shadow: 0 1px 0 #ffffff;\n opacity: 0.2;\n filter: alpha(opacity=20);\n}\n.close:hover,\n.close:focus {\n color: #000000;\n text-decoration: none;\n cursor: pointer;\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #ffffff;\n border: 1px solid #999999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n background-clip: padding-box;\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000000;\n}\n.modal-backdrop.fade {\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.modal-backdrop.in {\n opacity: 0.5;\n filter: alpha(opacity=50);\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n min-height: 16.42857143px;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 12px;\n opacity: 0;\n filter: alpha(opacity=0);\n}\n.tooltip.in {\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.tooltip.top {\n margin-top: -3px;\n padding: 5px 0;\n}\n.tooltip.right {\n margin-left: 3px;\n padding: 0 5px;\n}\n.tooltip.bottom {\n margin-top: 3px;\n padding: 5px 0;\n}\n.tooltip.left {\n margin-left: -3px;\n padding: 0 5px;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #ffffff;\n text-align: center;\n background-color: #000000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000000;\n}\n.tooltip.top-left .tooltip-arrow {\n bottom: 0;\n right: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000000;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: normal;\n letter-spacing: normal;\n line-break: auto;\n line-height: 1.42857143;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n white-space: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n font-size: 14px;\n background-color: #ffffff;\n background-clip: padding-box;\n border: 1px solid #cccccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover-title {\n margin: 0;\n padding: 8px 14px;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow:after {\n border-width: 10px;\n content: \"\";\n}\n.popover.top > .arrow {\n left: 50%;\n margin-left: -11px;\n border-bottom-width: 0;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n bottom: -11px;\n}\n.popover.top > .arrow:after {\n content: \" \";\n bottom: 1px;\n margin-left: -10px;\n border-bottom-width: 0;\n border-top-color: #ffffff;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-left-width: 0;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n}\n.popover.right > .arrow:after {\n content: \" \";\n left: 1px;\n bottom: -10px;\n border-left-width: 0;\n border-right-color: #ffffff;\n}\n.popover.bottom > .arrow {\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n top: -11px;\n}\n.popover.bottom > .arrow:after {\n content: \" \";\n top: 1px;\n margin-left: -10px;\n border-top-width: 0;\n border-bottom-color: #ffffff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: #ffffff;\n bottom: -10px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n}\n.carousel-inner > .item {\n display: none;\n position: relative;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: 15%;\n opacity: 0.5;\n filter: alpha(opacity=50);\n font-size: 20px;\n color: #ffffff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n}\n.carousel-control.right {\n left: auto;\n right: 0;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-repeat: repeat-x;\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n}\n.carousel-control:hover,\n.carousel-control:focus {\n outline: 0;\n color: #ffffff;\n text-decoration: none;\n opacity: 0.9;\n filter: alpha(opacity=90);\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n margin-top: -10px;\n z-index: 5;\n display: inline-block;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n line-height: 1;\n font-family: serif;\n}\n.carousel-control .icon-prev:before {\n content: '\\2039';\n}\n.carousel-control .icon-next:before {\n content: '\\203a';\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid #ffffff;\n border-radius: 10px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n}\n.carousel-indicators .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: #ffffff;\n}\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #ffffff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -15px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -15px;\n }\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-footer:before,\n.modal-footer:after {\n content: \" \";\n display: table;\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// Address styling not present in IE 8/9/10/11, Safari, and Chrome.\n//\n\nabbr[title] {\n border-bottom: 1px dotted;\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n background: transparent !important;\n color: #000 !important; // Black prints faster: h5bp.com/s\n box-shadow: none !important;\n text-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n\n // Bootstrap specific changes end\n}\n","//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// Star\n\n// Import the fonts\n@font-face {\n font-family: 'Glyphicons Halflings';\n src: url('@{icon-font-path}@{icon-font-name}.eot');\n src: url('@{icon-font-path}@{icon-font-name}.eot?#iefix') format('embedded-opentype'),\n url('@{icon-font-path}@{icon-font-name}.woff2') format('woff2'),\n url('@{icon-font-path}@{icon-font-name}.woff') format('woff'),\n url('@{icon-font-path}@{icon-font-name}.ttf') format('truetype'),\n url('@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}') format('svg');\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: 'Glyphicons Halflings';\n font-style: normal;\n font-weight: normal;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\2a\"; } }\n.glyphicon-plus { &:before { content: \"\\2b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// http://getbootstrap.com/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0,0,0,0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: http://a11yproject.com/posts/how-to-hide-content/\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n clip: rect(0,0,0,0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see http://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They will be removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility){\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n word-wrap: break-word;\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // Default\n outline: thin dotted;\n // WebKit\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// Image Mixins\n// - Responsive image\n// - Retina image\n\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: normal;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n background-color: @state-warning-bg;\n padding: .2em;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-left: 5px;\n padding-right: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: bold;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @grid-float-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\nabbr[title],\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[data-original-title] {\n cursor: help;\n border-bottom: 1px dotted @abbr-border-color;\n}\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: '\\2014 \\00A0'; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n text-align: right;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: ''; }\n &:after {\n content: '\\00A0 \\2014'; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0,0,0,.25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: bold;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n word-break: break-all;\n word-wrap: break-word;\n color: @pre-color;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n margin-right: auto;\n margin-left: auto;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-left: ceil((@gutter / -2));\n margin-right: floor((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-left: (@gutter / 2);\n padding-right: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-left: ceil((@grid-gutter-width / 2));\n padding-right: floor((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n}\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table cell sizing\n//\n// Reset default table behavior\n\ntable col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-column;\n}\ntable {\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n float: none;\n display: table-cell;\n }\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n overflow-x: auto;\n min-height: 0.01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * 0.75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n padding: 0;\n margin: 0;\n border: 0;\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: bold;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\n// Override content-box in Normalize (* isn't specific enough)\ninput[type=\"search\"] {\n .box-sizing(border-box);\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n background-color: @input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n }\n\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n\n // Reset height for `textarea`s\n textarea& {\n height: auto;\n }\n}\n\n\n// Search inputs in iOS\n//\n// This overrides the extra rounded corners on search inputs in iOS so that our\n// `.form-control` class can properly style them. Note that this cannot simply\n// be added to `.form-control` as it's not specific enough. For details, see\n// https://github.com/twbs/bootstrap/issues/11586.\n\ninput[type=\"search\"] {\n -webkit-appearance: none;\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 8.3, iOS doesn't support `datetime` or `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n &.form-control {\n line-height: @input-height-base;\n }\n\n &.input-sm,\n .input-group-sm & {\n line-height: @input-height-small;\n }\n\n &.input-lg,\n .input-group-lg & {\n line-height: @input-height-large;\n }\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n label {\n min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: normal;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-left: -20px;\n margin-top: 4px \\9;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n vertical-align: middle;\n font-weight: normal;\n cursor: pointer;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n// Apply same disabled cursor tweak as for inputs\n// Some special care is needed because
    - @Html.DisplayNameFor(model => model.ApplicationID) + @Html.DisplayNameFor(model => model.Active) @Html.DisplayNameFor(model => model.DisplayName) @@ -23,16 +23,22 @@ @Html.DisplayNameFor(model => model.RedirectUri) + @Html.DisplayNameFor(model => model.RefreshTokenLifeTime) + @Html.DisplayNameFor(model => model.Secret) + @Html.DisplayNameFor(model => model.Type) +
    - @Html.DisplayFor(modelItem => item.ApplicationID) + @Html.DisplayFor(modelItem => item.Active) @Html.DisplayFor(modelItem => item.DisplayName) @@ -43,13 +49,19 @@ @Html.DisplayFor(modelItem => item.RedirectUri) + @Html.DisplayFor(modelItem => item.RefreshTokenLifeTime) + @Html.DisplayFor(modelItem => item.Secret) - Edit | - Details | - Delete + @Html.DisplayFor(modelItem => item.Type) + + Edit | + Details | + Delete
    `s and ``s. +@table-cell-padding: 8px; +//** Padding for cells in `.table-condensed`. +@table-condensed-cell-padding: 5px; + +//** Default background color used for all tables. +@table-bg: transparent; +//** Background color used for `.table-striped`. +@table-bg-accent: #f9f9f9; +//** Background color used for `.table-hover`. +@table-bg-hover: #f5f5f5; +@table-bg-active: @table-bg-hover; + +//** Border color for table and cell borders. +@table-border-color: #ddd; + + +//== Buttons +// +//## For each of Bootstrap's buttons, define text, background and border color. + +@btn-font-weight: normal; + +@btn-default-color: #333; +@btn-default-bg: #fff; +@btn-default-border: #ccc; + +@btn-primary-color: #fff; +@btn-primary-bg: @brand-primary; +@btn-primary-border: darken(@btn-primary-bg, 5%); + +@btn-success-color: #fff; +@btn-success-bg: @brand-success; +@btn-success-border: darken(@btn-success-bg, 5%); + +@btn-info-color: #fff; +@btn-info-bg: @brand-info; +@btn-info-border: darken(@btn-info-bg, 5%); + +@btn-warning-color: #fff; +@btn-warning-bg: @brand-warning; +@btn-warning-border: darken(@btn-warning-bg, 5%); + +@btn-danger-color: #fff; +@btn-danger-bg: @brand-danger; +@btn-danger-border: darken(@btn-danger-bg, 5%); + +@btn-link-disabled-color: @gray-light; + +// Allows for customizing button radius independently from global border radius +@btn-border-radius-base: @border-radius-base; +@btn-border-radius-large: @border-radius-large; +@btn-border-radius-small: @border-radius-small; + + +//== Forms +// +//## + +//** `` background color +@input-bg: #fff; +//** `` background color +@input-bg-disabled: @gray-lighter; + +//** Text color for ``s +@input-color: @gray; +//** `` border color +@input-border: #ccc; + +// TODO: Rename `@input-border-radius` to `@input-border-radius-base` in v4 +//** Default `.form-control` border radius +// This has no effect on ``s in CSS. +@input-border-radius: @border-radius-base; +//** Large `.form-control` border radius +@input-border-radius-large: @border-radius-large; +//** Small `.form-control` border radius +@input-border-radius-small: @border-radius-small; + +//** Border color for inputs on focus +@input-border-focus: #66afe9; + +//** Placeholder text color +@input-color-placeholder: #999; + +//** Default `.form-control` height +@input-height-base: (@line-height-computed + (@padding-base-vertical * 2) + 2); +//** Large `.form-control` height +@input-height-large: (ceil(@font-size-large * @line-height-large) + (@padding-large-vertical * 2) + 2); +//** Small `.form-control` height +@input-height-small: (floor(@font-size-small * @line-height-small) + (@padding-small-vertical * 2) + 2); + +//** `.form-group` margin +@form-group-margin-bottom: 15px; + +@legend-color: @gray-dark; +@legend-border-color: #e5e5e5; + +//** Background color for textual input addons +@input-group-addon-bg: @gray-lighter; +//** Border color for textual input addons +@input-group-addon-border-color: @input-border; + +//** Disabled cursor for form controls and buttons. +@cursor-disabled: not-allowed; + + +//== Dropdowns +// +//## Dropdown menu container and contents. + +//** Background for the dropdown menu. +@dropdown-bg: #fff; +//** Dropdown menu `border-color`. +@dropdown-border: rgba(0,0,0,.15); +//** Dropdown menu `border-color` **for IE8**. +@dropdown-fallback-border: #ccc; +//** Divider color for between dropdown items. +@dropdown-divider-bg: #e5e5e5; + +//** Dropdown link text color. +@dropdown-link-color: @gray-dark; +//** Hover color for dropdown links. +@dropdown-link-hover-color: darken(@gray-dark, 5%); +//** Hover background for dropdown links. +@dropdown-link-hover-bg: #f5f5f5; + +//** Active dropdown menu item text color. +@dropdown-link-active-color: @component-active-color; +//** Active dropdown menu item background color. +@dropdown-link-active-bg: @component-active-bg; + +//** Disabled dropdown menu item background color. +@dropdown-link-disabled-color: @gray-light; + +//** Text color for headers within dropdown menus. +@dropdown-header-color: @gray-light; + +//** Deprecated `@dropdown-caret-color` as of v3.1.0 +@dropdown-caret-color: #000; + + +//-- Z-index master list +// +// Warning: Avoid customizing these values. They're used for a bird's eye view +// of components dependent on the z-axis and are designed to all work together. +// +// Note: These variables are not generated into the Customizer. + +@zindex-navbar: 1000; +@zindex-dropdown: 1000; +@zindex-popover: 1060; +@zindex-tooltip: 1070; +@zindex-navbar-fixed: 1030; +@zindex-modal-background: 1040; +@zindex-modal: 1050; + + +//== Media queries breakpoints +// +//## Define the breakpoints at which your layout will change, adapting to different screen sizes. + +// Extra small screen / phone +//** Deprecated `@screen-xs` as of v3.0.1 +@screen-xs: 480px; +//** Deprecated `@screen-xs-min` as of v3.2.0 +@screen-xs-min: @screen-xs; +//** Deprecated `@screen-phone` as of v3.0.1 +@screen-phone: @screen-xs-min; + +// Small screen / tablet +//** Deprecated `@screen-sm` as of v3.0.1 +@screen-sm: 768px; +@screen-sm-min: @screen-sm; +//** Deprecated `@screen-tablet` as of v3.0.1 +@screen-tablet: @screen-sm-min; + +// Medium screen / desktop +//** Deprecated `@screen-md` as of v3.0.1 +@screen-md: 992px; +@screen-md-min: @screen-md; +//** Deprecated `@screen-desktop` as of v3.0.1 +@screen-desktop: @screen-md-min; + +// Large screen / wide desktop +//** Deprecated `@screen-lg` as of v3.0.1 +@screen-lg: 1200px; +@screen-lg-min: @screen-lg; +//** Deprecated `@screen-lg-desktop` as of v3.0.1 +@screen-lg-desktop: @screen-lg-min; + +// So media queries don't overlap when required, provide a maximum +@screen-xs-max: (@screen-sm-min - 1); +@screen-sm-max: (@screen-md-min - 1); +@screen-md-max: (@screen-lg-min - 1); + + +//== Grid system +// +//## Define your custom responsive grid. + +//** Number of columns in the grid. +@grid-columns: 12; +//** Padding between columns. Gets divided in half for the left and right. +@grid-gutter-width: 30px; +// Navbar collapse +//** Point at which the navbar becomes uncollapsed. +@grid-float-breakpoint: @screen-sm-min; +//** Point at which the navbar begins collapsing. +@grid-float-breakpoint-max: (@grid-float-breakpoint - 1); + + +//== Container sizes +// +//## Define the maximum width of `.container` for different screen sizes. + +// Small screen / tablet +@container-tablet: (720px + @grid-gutter-width); +//** For `@screen-sm-min` and up. +@container-sm: @container-tablet; + +// Medium screen / desktop +@container-desktop: (940px + @grid-gutter-width); +//** For `@screen-md-min` and up. +@container-md: @container-desktop; + +// Large screen / wide desktop +@container-large-desktop: (1140px + @grid-gutter-width); +//** For `@screen-lg-min` and up. +@container-lg: @container-large-desktop; + + +//== Navbar +// +//## + +// Basics of a navbar +@navbar-height: 50px; +@navbar-margin-bottom: @line-height-computed; +@navbar-border-radius: @border-radius-base; +@navbar-padding-horizontal: floor((@grid-gutter-width / 2)); +@navbar-padding-vertical: ((@navbar-height - @line-height-computed) / 2); +@navbar-collapse-max-height: 340px; + +@navbar-default-color: #777; +@navbar-default-bg: #f8f8f8; +@navbar-default-border: darken(@navbar-default-bg, 6.5%); + +// Navbar links +@navbar-default-link-color: #777; +@navbar-default-link-hover-color: #333; +@navbar-default-link-hover-bg: transparent; +@navbar-default-link-active-color: #555; +@navbar-default-link-active-bg: darken(@navbar-default-bg, 6.5%); +@navbar-default-link-disabled-color: #ccc; +@navbar-default-link-disabled-bg: transparent; + +// Navbar brand label +@navbar-default-brand-color: @navbar-default-link-color; +@navbar-default-brand-hover-color: darken(@navbar-default-brand-color, 10%); +@navbar-default-brand-hover-bg: transparent; + +// Navbar toggle +@navbar-default-toggle-hover-bg: #ddd; +@navbar-default-toggle-icon-bar-bg: #888; +@navbar-default-toggle-border-color: #ddd; + + +//=== Inverted navbar +// Reset inverted navbar basics +@navbar-inverse-color: lighten(@gray-light, 15%); +@navbar-inverse-bg: #222; +@navbar-inverse-border: darken(@navbar-inverse-bg, 10%); + +// Inverted navbar links +@navbar-inverse-link-color: lighten(@gray-light, 15%); +@navbar-inverse-link-hover-color: #fff; +@navbar-inverse-link-hover-bg: transparent; +@navbar-inverse-link-active-color: @navbar-inverse-link-hover-color; +@navbar-inverse-link-active-bg: darken(@navbar-inverse-bg, 10%); +@navbar-inverse-link-disabled-color: #444; +@navbar-inverse-link-disabled-bg: transparent; + +// Inverted navbar brand label +@navbar-inverse-brand-color: @navbar-inverse-link-color; +@navbar-inverse-brand-hover-color: #fff; +@navbar-inverse-brand-hover-bg: transparent; + +// Inverted navbar toggle +@navbar-inverse-toggle-hover-bg: #333; +@navbar-inverse-toggle-icon-bar-bg: #fff; +@navbar-inverse-toggle-border-color: #333; + + +//== Navs +// +//## + +//=== Shared nav styles +@nav-link-padding: 10px 15px; +@nav-link-hover-bg: @gray-lighter; + +@nav-disabled-link-color: @gray-light; +@nav-disabled-link-hover-color: @gray-light; + +//== Tabs +@nav-tabs-border-color: #ddd; + +@nav-tabs-link-hover-border-color: @gray-lighter; + +@nav-tabs-active-link-hover-bg: @body-bg; +@nav-tabs-active-link-hover-color: @gray; +@nav-tabs-active-link-hover-border-color: #ddd; + +@nav-tabs-justified-link-border-color: #ddd; +@nav-tabs-justified-active-link-border-color: @body-bg; + +//== Pills +@nav-pills-border-radius: @border-radius-base; +@nav-pills-active-link-hover-bg: @component-active-bg; +@nav-pills-active-link-hover-color: @component-active-color; + + +//== Pagination +// +//## + +@pagination-color: @link-color; +@pagination-bg: #fff; +@pagination-border: #ddd; + +@pagination-hover-color: @link-hover-color; +@pagination-hover-bg: @gray-lighter; +@pagination-hover-border: #ddd; + +@pagination-active-color: #fff; +@pagination-active-bg: @brand-primary; +@pagination-active-border: @brand-primary; + +@pagination-disabled-color: @gray-light; +@pagination-disabled-bg: #fff; +@pagination-disabled-border: #ddd; + + +//== Pager +// +//## + +@pager-bg: @pagination-bg; +@pager-border: @pagination-border; +@pager-border-radius: 15px; + +@pager-hover-bg: @pagination-hover-bg; + +@pager-active-bg: @pagination-active-bg; +@pager-active-color: @pagination-active-color; + +@pager-disabled-color: @pagination-disabled-color; + + +//== Jumbotron +// +//## + +@jumbotron-padding: 30px; +@jumbotron-color: inherit; +@jumbotron-bg: @gray-lighter; +@jumbotron-heading-color: inherit; +@jumbotron-font-size: ceil((@font-size-base * 1.5)); +@jumbotron-heading-font-size: ceil((@font-size-base * 4.5)); + + +//== Form states and alerts +// +//## Define colors for form feedback states and, by default, alerts. + +@state-success-text: #3c763d; +@state-success-bg: #dff0d8; +@state-success-border: darken(spin(@state-success-bg, -10), 5%); + +@state-info-text: #31708f; +@state-info-bg: #d9edf7; +@state-info-border: darken(spin(@state-info-bg, -10), 7%); + +@state-warning-text: #8a6d3b; +@state-warning-bg: #fcf8e3; +@state-warning-border: darken(spin(@state-warning-bg, -10), 5%); + +@state-danger-text: #a94442; +@state-danger-bg: #f2dede; +@state-danger-border: darken(spin(@state-danger-bg, -10), 5%); + + +//== Tooltips +// +//## + +//** Tooltip max width +@tooltip-max-width: 200px; +//** Tooltip text color +@tooltip-color: #fff; +//** Tooltip background color +@tooltip-bg: #000; +@tooltip-opacity: .9; + +//** Tooltip arrow width +@tooltip-arrow-width: 5px; +//** Tooltip arrow color +@tooltip-arrow-color: @tooltip-bg; + + +//== Popovers +// +//## + +//** Popover body background color +@popover-bg: #fff; +//** Popover maximum width +@popover-max-width: 276px; +//** Popover border color +@popover-border-color: rgba(0,0,0,.2); +//** Popover fallback border color +@popover-fallback-border-color: #ccc; + +//** Popover title background color +@popover-title-bg: darken(@popover-bg, 3%); + +//** Popover arrow width +@popover-arrow-width: 10px; +//** Popover arrow color +@popover-arrow-color: @popover-bg; + +//** Popover outer arrow width +@popover-arrow-outer-width: (@popover-arrow-width + 1); +//** Popover outer arrow color +@popover-arrow-outer-color: fadein(@popover-border-color, 5%); +//** Popover outer arrow fallback color +@popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%); + + +//== Labels +// +//## + +//** Default label background color +@label-default-bg: @gray-light; +//** Primary label background color +@label-primary-bg: @brand-primary; +//** Success label background color +@label-success-bg: @brand-success; +//** Info label background color +@label-info-bg: @brand-info; +//** Warning label background color +@label-warning-bg: @brand-warning; +//** Danger label background color +@label-danger-bg: @brand-danger; + +//** Default label text color +@label-color: #fff; +//** Default text color of a linked label +@label-link-hover-color: #fff; + + +//== Modals +// +//## + +//** Padding applied to the modal body +@modal-inner-padding: 15px; + +//** Padding applied to the modal title +@modal-title-padding: 15px; +//** Modal title line-height +@modal-title-line-height: @line-height-base; + +//** Background color of modal content area +@modal-content-bg: #fff; +//** Modal content border color +@modal-content-border-color: rgba(0,0,0,.2); +//** Modal content border color **for IE8** +@modal-content-fallback-border-color: #999; + +//** Modal backdrop background color +@modal-backdrop-bg: #000; +//** Modal backdrop opacity +@modal-backdrop-opacity: .5; +//** Modal header border color +@modal-header-border-color: #e5e5e5; +//** Modal footer border color +@modal-footer-border-color: @modal-header-border-color; + +@modal-lg: 900px; +@modal-md: 600px; +@modal-sm: 300px; + + +//== Alerts +// +//## Define alert colors, border radius, and padding. + +@alert-padding: 15px; +@alert-border-radius: @border-radius-base; +@alert-link-font-weight: bold; + +@alert-success-bg: @state-success-bg; +@alert-success-text: @state-success-text; +@alert-success-border: @state-success-border; + +@alert-info-bg: @state-info-bg; +@alert-info-text: @state-info-text; +@alert-info-border: @state-info-border; + +@alert-warning-bg: @state-warning-bg; +@alert-warning-text: @state-warning-text; +@alert-warning-border: @state-warning-border; + +@alert-danger-bg: @state-danger-bg; +@alert-danger-text: @state-danger-text; +@alert-danger-border: @state-danger-border; + + +//== Progress bars +// +//## + +//** Background color of the whole progress component +@progress-bg: #f5f5f5; +//** Progress bar text color +@progress-bar-color: #fff; +//** Variable for setting rounded corners on progress bar. +@progress-border-radius: @border-radius-base; + +//** Default progress bar color +@progress-bar-bg: @brand-primary; +//** Success progress bar color +@progress-bar-success-bg: @brand-success; +//** Warning progress bar color +@progress-bar-warning-bg: @brand-warning; +//** Danger progress bar color +@progress-bar-danger-bg: @brand-danger; +//** Info progress bar color +@progress-bar-info-bg: @brand-info; + + +//== List group +// +//## + +//** Background color on `.list-group-item` +@list-group-bg: #fff; +//** `.list-group-item` border color +@list-group-border: #ddd; +//** List group border radius +@list-group-border-radius: @border-radius-base; + +//** Background color of single list items on hover +@list-group-hover-bg: #f5f5f5; +//** Text color of active list items +@list-group-active-color: @component-active-color; +//** Background color of active list items +@list-group-active-bg: @component-active-bg; +//** Border color of active list elements +@list-group-active-border: @list-group-active-bg; +//** Text color for content within active list items +@list-group-active-text-color: lighten(@list-group-active-bg, 40%); + +//** Text color of disabled list items +@list-group-disabled-color: @gray-light; +//** Background color of disabled list items +@list-group-disabled-bg: @gray-lighter; +//** Text color for content within disabled list items +@list-group-disabled-text-color: @list-group-disabled-color; + +@list-group-link-color: #555; +@list-group-link-hover-color: @list-group-link-color; +@list-group-link-heading-color: #333; + + +//== Panels +// +//## + +@panel-bg: #fff; +@panel-body-padding: 15px; +@panel-heading-padding: 10px 15px; +@panel-footer-padding: @panel-heading-padding; +@panel-border-radius: @border-radius-base; + +//** Border color for elements within panels +@panel-inner-border: #ddd; +@panel-footer-bg: #f5f5f5; + +@panel-default-text: @gray-dark; +@panel-default-border: #ddd; +@panel-default-heading-bg: #f5f5f5; + +@panel-primary-text: #fff; +@panel-primary-border: @brand-primary; +@panel-primary-heading-bg: @brand-primary; + +@panel-success-text: @state-success-text; +@panel-success-border: @state-success-border; +@panel-success-heading-bg: @state-success-bg; + +@panel-info-text: @state-info-text; +@panel-info-border: @state-info-border; +@panel-info-heading-bg: @state-info-bg; + +@panel-warning-text: @state-warning-text; +@panel-warning-border: @state-warning-border; +@panel-warning-heading-bg: @state-warning-bg; + +@panel-danger-text: @state-danger-text; +@panel-danger-border: @state-danger-border; +@panel-danger-heading-bg: @state-danger-bg; + + +//== Thumbnails +// +//## + +//** Padding around the thumbnail image +@thumbnail-padding: 4px; +//** Thumbnail background color +@thumbnail-bg: @body-bg; +//** Thumbnail border color +@thumbnail-border: #ddd; +//** Thumbnail border radius +@thumbnail-border-radius: @border-radius-base; + +//** Custom text color for thumbnail captions +@thumbnail-caption-color: @text-color; +//** Padding around the thumbnail caption +@thumbnail-caption-padding: 9px; + + +//== Wells +// +//## + +@well-bg: #f5f5f5; +@well-border: darken(@well-bg, 7%); + + +//== Badges +// +//## + +@badge-color: #fff; +//** Linked badge text color on hover +@badge-link-hover-color: #fff; +@badge-bg: @gray-light; + +//** Badge text color in active nav link +@badge-active-color: @link-color; +//** Badge background color in active nav link +@badge-active-bg: #fff; + +@badge-font-weight: bold; +@badge-line-height: 1; +@badge-border-radius: 10px; + + +//== Breadcrumbs +// +//## + +@breadcrumb-padding-vertical: 8px; +@breadcrumb-padding-horizontal: 15px; +//** Breadcrumb background color +@breadcrumb-bg: #f5f5f5; +//** Breadcrumb text color +@breadcrumb-color: #ccc; +//** Text color of current page in the breadcrumb +@breadcrumb-active-color: @gray-light; +//** Textual separator for between breadcrumb elements +@breadcrumb-separator: "/"; + + +//== Carousel +// +//## + +@carousel-text-shadow: 0 1px 2px rgba(0,0,0,.6); + +@carousel-control-color: #fff; +@carousel-control-width: 15%; +@carousel-control-opacity: .5; +@carousel-control-font-size: 20px; + +@carousel-indicator-active-bg: #fff; +@carousel-indicator-border-color: #fff; + +@carousel-caption-color: #fff; + + +//== Close +// +//## + +@close-font-weight: bold; +@close-color: #000; +@close-text-shadow: 0 1px 0 #fff; + + +//== Code +// +//## + +@code-color: #c7254e; +@code-bg: #f9f2f4; + +@kbd-color: #fff; +@kbd-bg: #333; + +@pre-bg: #f5f5f5; +@pre-color: @gray-dark; +@pre-border-color: #ccc; +@pre-scrollable-max-height: 340px; + + +//== Type +// +//## + +//** Horizontal offset for forms and lists. +@component-offset-horizontal: 180px; +//** Text muted color +@text-muted: @gray-light; +//** Abbreviations and acronyms border color +@abbr-border-color: @gray-light; +//** Headings small color +@headings-small-color: @gray-light; +//** Blockquote small color +@blockquote-small-color: @gray-light; +//** Blockquote font size +@blockquote-font-size: (@font-size-base * 1.25); +//** Blockquote border color +@blockquote-border-color: @gray-lighter; +//** Page header border color +@page-header-border-color: @gray-lighter; +//** Width of horizontal description list titles +@dl-horizontal-offset: @component-offset-horizontal; +//** Horizontal line color. +@hr-border: @gray-lighter; diff --git a/testOauthClient/wwwroot/lib/bootstrap/less/wells.less b/testOauthClient/wwwroot/lib/bootstrap/less/wells.less new file mode 100644 index 00000000..15d072b0 --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/less/wells.less @@ -0,0 +1,29 @@ +// +// Wells +// -------------------------------------------------- + + +// Base class +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: @well-bg; + border: 1px solid @well-border; + border-radius: @border-radius-base; + .box-shadow(inset 0 1px 1px rgba(0,0,0,.05)); + blockquote { + border-color: #ddd; + border-color: rgba(0,0,0,.15); + } +} + +// Sizes +.well-lg { + padding: 24px; + border-radius: @border-radius-large; +} +.well-sm { + padding: 9px; + border-radius: @border-radius-small; +} diff --git a/testOauthClient/wwwroot/lib/bootstrap/package.js b/testOauthClient/wwwroot/lib/bootstrap/package.js new file mode 100644 index 00000000..81d42a68 --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/package.js @@ -0,0 +1,25 @@ +// package metadata file for Meteor.js + +/* jshint strict:false */ +/* global Package:true */ + +Package.describe({ + name: 'twbs:bootstrap', // http://atmospherejs.com/twbs/bootstrap + summary: 'The most popular front-end framework for developing responsive, mobile first projects on the web.', + version: '3.3.5', + git: 'https://github.com/twbs/bootstrap.git' +}); + +Package.onUse(function (api) { + api.versionsFrom('METEOR@1.0'); + api.use('jquery', 'client'); + api.addFiles([ + 'dist/fonts/glyphicons-halflings-regular.eot', + 'dist/fonts/glyphicons-halflings-regular.svg', + 'dist/fonts/glyphicons-halflings-regular.ttf', + 'dist/fonts/glyphicons-halflings-regular.woff', + 'dist/fonts/glyphicons-halflings-regular.woff2', + 'dist/css/bootstrap.css', + 'dist/js/bootstrap.js' + ], 'client'); +}); diff --git a/testOauthClient/wwwroot/lib/bootstrap/package.json b/testOauthClient/wwwroot/lib/bootstrap/package.json new file mode 100644 index 00000000..380472a0 --- /dev/null +++ b/testOauthClient/wwwroot/lib/bootstrap/package.json @@ -0,0 +1,87 @@ +{ + "name": "bootstrap", + "description": "The most popular front-end framework for developing responsive, mobile first projects on the web.", + "version": "3.3.5", + "keywords": [ + "css", + "less", + "mobile-first", + "responsive", + "front-end", + "framework", + "web" + ], + "homepage": "http://getbootstrap.com", + "author": "Twitter, Inc.", + "scripts": { + "test": "grunt test" + }, + "style": "dist/css/bootstrap.css", + "less": "less/bootstrap.less", + "main": "./dist/js/npm", + "repository": { + "type": "git", + "url": "https://github.com/twbs/bootstrap.git" + }, + "bugs": { + "url": "https://github.com/twbs/bootstrap/issues" + }, + "license": "MIT", + "devDependencies": { + "btoa": "~1.1.2", + "glob": "~5.0.5", + "grunt": "~0.4.5", + "grunt-autoprefixer": "~3.0.0", + "grunt-contrib-clean": "~0.6.0", + "grunt-contrib-compress": "~0.13.0", + "grunt-contrib-concat": "~0.5.1", + "grunt-contrib-connect": "~0.10.1", + "grunt-contrib-copy": "~0.8.0", + "grunt-contrib-csslint": "~0.4.0", + "grunt-contrib-cssmin": "~0.12.3", + "grunt-contrib-htmlmin": "~0.4.0", + "grunt-contrib-jade": "~0.14.1", + "grunt-contrib-jshint": "~0.11.2", + "grunt-contrib-less": "~1.0.1", + "grunt-contrib-qunit": "~0.7.0", + "grunt-contrib-uglify": "~0.9.1", + "grunt-contrib-watch": "~0.6.1", + "grunt-csscomb": "~3.0.0", + "grunt-exec": "~0.4.6", + "grunt-html": "~4.0.3", + "grunt-jekyll": "~0.4.2", + "grunt-jscs": "~1.8.0", + "grunt-saucelabs": "~8.6.1", + "grunt-sed": "twbs/grunt-sed#v0.2.0", + "load-grunt-tasks": "~3.2.0", + "markdown-it": "^4.2.1", + "npm-shrinkwrap": "^200.4.0", + "time-grunt": "^1.2.0" + }, + "engines": { + "node": ">=0.10.1" + }, + "files": [ + "dist", + "fonts", + "grunt", + "js/*.js", + "less/**/*.less", + "Gruntfile.js", + "LICENSE" + ], + "jspm": { + "main": "js/bootstrap", + "shim": { + "js/bootstrap": { + "deps": "jquery", + "exports": "$" + } + }, + "files": [ + "css", + "fonts", + "js" + ] + } +} diff --git a/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/.bower.json b/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/.bower.json new file mode 100644 index 00000000..10891a60 --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/.bower.json @@ -0,0 +1,44 @@ +{ + "name": "jquery-validation-unobtrusive", + "version": "3.2.4", + "homepage": "https://github.com/aspnet/jquery-validation-unobtrusive", + "description": "Add-on to jQuery Validation to enable unobtrusive validation options in data-* attributes.", + "main": [ + "jquery.validate.unobtrusive.js" + ], + "ignore": [ + "**/.*", + "*.json", + "*.md", + "*.txt", + "gulpfile.js" + ], + "keywords": [ + "jquery", + "asp.net", + "mvc", + "validation", + "unobtrusive" + ], + "authors": [ + "Microsoft" + ], + "license": "http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm", + "repository": { + "type": "git", + "url": "git://github.com/aspnet/jquery-validation-unobtrusive.git" + }, + "dependencies": { + "jquery-validation": ">=1.8", + "jquery": ">=1.8" + }, + "_release": "3.2.4", + "_resolution": { + "type": "version", + "tag": "v3.2.4", + "commit": "13386cd1b5947d8a5d23a12b531ce3960be1eba7" + }, + "_source": "https://github.com/aspnet/jquery-validation-unobtrusive.git", + "_target": "3.2.4", + "_originalSource": "jquery-validation-unobtrusive" +} \ No newline at end of file diff --git a/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/bower.json b/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/bower.json new file mode 100644 index 00000000..677fe1bf --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/bower.json @@ -0,0 +1,35 @@ +{ + "name": "jquery-validation-unobtrusive", + "version": "3.2.4", + "homepage": "https://github.com/aspnet/jquery-validation-unobtrusive", + "description": "Add-on to jQuery Validation to enable unobtrusive validation options in data-* attributes.", + "main": [ + "jquery.validate.unobtrusive.js" + ], + "ignore": [ + "**/.*", + "*.json", + "*.md", + "*.txt", + "gulpfile.js" + ], + "keywords": [ + "jquery", + "asp.net", + "mvc", + "validation", + "unobtrusive" + ], + "authors": [ + "Microsoft" + ], + "license": "http://www.microsoft.com/web/webpi/eula/net_library_eula_enu.htm", + "repository": { + "type": "git", + "url": "git://github.com/aspnet/jquery-validation-unobtrusive.git" + }, + "dependencies": { + "jquery-validation": ">=1.8", + "jquery": ">=1.8" + } +} diff --git a/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js b/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js new file mode 100644 index 00000000..1b0de124 --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js @@ -0,0 +1,416 @@ +/*! +** Unobtrusive validation support library for jQuery and jQuery Validate +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ + +/*jslint white: true, browser: true, onevar: true, undef: true, nomen: true, eqeqeq: true, plusplus: true, bitwise: true, regexp: true, newcap: true, immed: true, strict: false */ +/*global document: false, jQuery: false */ + +(function ($) { + var $jQval = $.validator, + adapters, + data_validation = "unobtrusiveValidation"; + + function setValidationValues(options, ruleName, value) { + options.rules[ruleName] = value; + if (options.message) { + options.messages[ruleName] = options.message; + } + } + + function splitAndTrim(value) { + return value.replace(/^\s+|\s+$/g, "").split(/\s*,\s*/g); + } + + function escapeAttributeValue(value) { + // As mentioned on http://api.jquery.com/category/selectors/ + return value.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g, "\\$1"); + } + + function getModelPrefix(fieldName) { + return fieldName.substr(0, fieldName.lastIndexOf(".") + 1); + } + + function appendModelPrefix(value, prefix) { + if (value.indexOf("*.") === 0) { + value = value.replace("*.", prefix); + } + return value; + } + + function onError(error, inputElement) { // 'this' is the form element + var container = $(this).find("[data-valmsg-for='" + escapeAttributeValue(inputElement[0].name) + "']"), + replaceAttrValue = container.attr("data-valmsg-replace"), + replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) !== false : null; + + container.removeClass("field-validation-valid").addClass("field-validation-error"); + error.data("unobtrusiveContainer", container); + + if (replace) { + container.empty(); + error.removeClass("input-validation-error").appendTo(container); + } + else { + error.hide(); + } + } + + function onErrors(event, validator) { // 'this' is the form element + var container = $(this).find("[data-valmsg-summary=true]"), + list = container.find("ul"); + + if (list && list.length && validator.errorList.length) { + list.empty(); + container.addClass("validation-summary-errors").removeClass("validation-summary-valid"); + + $.each(validator.errorList, function () { + $("
  • ").html(this.message).appendTo(list); + }); + } + } + + function onSuccess(error) { // 'this' is the form element + var container = error.data("unobtrusiveContainer"); + + if (container) { + var replaceAttrValue = container.attr("data-valmsg-replace"), + replace = replaceAttrValue ? $.parseJSON(replaceAttrValue) : null; + + container.addClass("field-validation-valid").removeClass("field-validation-error"); + error.removeData("unobtrusiveContainer"); + + if (replace) { + container.empty(); + } + } + } + + function onReset(event) { // 'this' is the form element + var $form = $(this), + key = '__jquery_unobtrusive_validation_form_reset'; + if ($form.data(key)) { + return; + } + // Set a flag that indicates we're currently resetting the form. + $form.data(key, true); + try { + $form.data("validator").resetForm(); + } finally { + $form.removeData(key); + } + + $form.find(".validation-summary-errors") + .addClass("validation-summary-valid") + .removeClass("validation-summary-errors"); + $form.find(".field-validation-error") + .addClass("field-validation-valid") + .removeClass("field-validation-error") + .removeData("unobtrusiveContainer") + .find(">*") // If we were using valmsg-replace, get the underlying error + .removeData("unobtrusiveContainer"); + } + + function validationInfo(form) { + var $form = $(form), + result = $form.data(data_validation), + onResetProxy = $.proxy(onReset, form), + defaultOptions = $jQval.unobtrusive.options || {}, + execInContext = function (name, args) { + var func = defaultOptions[name]; + func && $.isFunction(func) && func.apply(form, args); + } + + if (!result) { + result = { + options: { // options structure passed to jQuery Validate's validate() method + errorClass: defaultOptions.errorClass || "input-validation-error", + errorElement: defaultOptions.errorElement || "span", + errorPlacement: function () { + onError.apply(form, arguments); + execInContext("errorPlacement", arguments); + }, + invalidHandler: function () { + onErrors.apply(form, arguments); + execInContext("invalidHandler", arguments); + }, + messages: {}, + rules: {}, + success: function () { + onSuccess.apply(form, arguments); + execInContext("success", arguments); + } + }, + attachValidation: function () { + $form + .off("reset." + data_validation, onResetProxy) + .on("reset." + data_validation, onResetProxy) + .validate(this.options); + }, + validate: function () { // a validation function that is called by unobtrusive Ajax + $form.validate(); + return $form.valid(); + } + }; + $form.data(data_validation, result); + } + + return result; + } + + $jQval.unobtrusive = { + adapters: [], + + parseElement: function (element, skipAttach) { + /// + /// Parses a single HTML element for unobtrusive validation attributes. + /// + /// The HTML element to be parsed. + /// [Optional] true to skip attaching the + /// validation to the form. If parsing just this single element, you should specify true. + /// If parsing several elements, you should specify false, and manually attach the validation + /// to the form when you are finished. The default is false. + var $element = $(element), + form = $element.parents("form")[0], + valInfo, rules, messages; + + if (!form) { // Cannot do client-side validation without a form + return; + } + + valInfo = validationInfo(form); + valInfo.options.rules[element.name] = rules = {}; + valInfo.options.messages[element.name] = messages = {}; + + $.each(this.adapters, function () { + var prefix = "data-val-" + this.name, + message = $element.attr(prefix), + paramValues = {}; + + if (message !== undefined) { // Compare against undefined, because an empty message is legal (and falsy) + prefix += "-"; + + $.each(this.params, function () { + paramValues[this] = $element.attr(prefix + this); + }); + + this.adapt({ + element: element, + form: form, + message: message, + params: paramValues, + rules: rules, + messages: messages + }); + } + }); + + $.extend(rules, { "__dummy__": true }); + + if (!skipAttach) { + valInfo.attachValidation(); + } + }, + + parse: function (selector) { + /// + /// Parses all the HTML elements in the specified selector. It looks for input elements decorated + /// with the [data-val=true] attribute value and enables validation according to the data-val-* + /// attribute values. + /// + /// Any valid jQuery selector. + + // $forms includes all forms in selector's DOM hierarchy (parent, children and self) that have at least one + // element with data-val=true + var $selector = $(selector), + $forms = $selector.parents() + .addBack() + .filter("form") + .add($selector.find("form")) + .has("[data-val=true]"); + + $selector.find("[data-val=true]").each(function () { + $jQval.unobtrusive.parseElement(this, true); + }); + + $forms.each(function () { + var info = validationInfo(this); + if (info) { + info.attachValidation(); + } + }); + } + }; + + adapters = $jQval.unobtrusive.adapters; + + adapters.add = function (adapterName, params, fn) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation. + /// The name of the adapter to be added. This matches the name used + /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name). + /// [Optional] An array of parameter names (strings) that will + /// be extracted from the data-val-nnnn-mmmm HTML attributes (where nnnn is the adapter name, and + /// mmmm is the parameter name). + /// The function to call, which adapts the values from the HTML + /// attributes into jQuery Validate rules and/or messages. + /// + if (!fn) { // Called with no params, just a function + fn = params; + params = []; + } + this.push({ name: adapterName, params: params, adapt: fn }); + return this; + }; + + adapters.addBool = function (adapterName, ruleName) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where + /// the jQuery Validate validation rule has no parameter values. + /// The name of the adapter to be added. This matches the name used + /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name). + /// [Optional] The name of the jQuery Validate rule. If not provided, the value + /// of adapterName will be used instead. + /// + return this.add(adapterName, function (options) { + setValidationValues(options, ruleName || adapterName, true); + }); + }; + + adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where + /// the jQuery Validate validation has three potential rules (one for min-only, one for max-only, and + /// one for min-and-max). The HTML parameters are expected to be named -min and -max. + /// The name of the adapter to be added. This matches the name used + /// in the data-val-nnnn HTML attribute (where nnnn is the adapter name). + /// The name of the jQuery Validate rule to be used when you only + /// have a minimum value. + /// The name of the jQuery Validate rule to be used when you only + /// have a maximum value. + /// The name of the jQuery Validate rule to be used when you + /// have both a minimum and maximum value. + /// [Optional] The name of the HTML attribute that + /// contains the minimum value. The default is "min". + /// [Optional] The name of the HTML attribute that + /// contains the maximum value. The default is "max". + /// + return this.add(adapterName, [minAttribute || "min", maxAttribute || "max"], function (options) { + var min = options.params.min, + max = options.params.max; + + if (min && max) { + setValidationValues(options, minMaxRuleName, [min, max]); + } + else if (min) { + setValidationValues(options, minRuleName, min); + } + else if (max) { + setValidationValues(options, maxRuleName, max); + } + }); + }; + + adapters.addSingleVal = function (adapterName, attribute, ruleName) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where + /// the jQuery Validate validation rule has a single value. + /// The name of the adapter to be added. This matches the name used + /// in the data-val-nnnn HTML attribute(where nnnn is the adapter name). + /// [Optional] The name of the HTML attribute that contains the value. + /// The default is "val". + /// [Optional] The name of the jQuery Validate rule. If not provided, the value + /// of adapterName will be used instead. + /// + return this.add(adapterName, [attribute || "val"], function (options) { + setValidationValues(options, ruleName || adapterName, options.params[attribute]); + }); + }; + + $jQval.addMethod("__dummy__", function (value, element, params) { + return true; + }); + + $jQval.addMethod("regex", function (value, element, params) { + var match; + if (this.optional(element)) { + return true; + } + + match = new RegExp(params).exec(value); + return (match && (match.index === 0) && (match[0].length === value.length)); + }); + + $jQval.addMethod("nonalphamin", function (value, element, nonalphamin) { + var match; + if (nonalphamin) { + match = value.match(/\W/g); + match = match && match.length >= nonalphamin; + } + return match; + }); + + if ($jQval.methods.extension) { + adapters.addSingleVal("accept", "mimtype"); + adapters.addSingleVal("extension", "extension"); + } else { + // for backward compatibility, when the 'extension' validation method does not exist, such as with versions + // of JQuery Validation plugin prior to 1.10, we should use the 'accept' method for + // validating the extension, and ignore mime-type validations as they are not supported. + adapters.addSingleVal("extension", "extension", "accept"); + } + + adapters.addSingleVal("regex", "pattern"); + adapters.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"); + adapters.addMinMax("length", "minlength", "maxlength", "rangelength").addMinMax("range", "min", "max", "range"); + adapters.addMinMax("minlength", "minlength").addMinMax("maxlength", "minlength", "maxlength"); + adapters.add("equalto", ["other"], function (options) { + var prefix = getModelPrefix(options.element.name), + other = options.params.other, + fullOtherName = appendModelPrefix(other, prefix), + element = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(fullOtherName) + "']")[0]; + + setValidationValues(options, "equalTo", element); + }); + adapters.add("required", function (options) { + // jQuery Validate equates "required" with "mandatory" for checkbox elements + if (options.element.tagName.toUpperCase() !== "INPUT" || options.element.type.toUpperCase() !== "CHECKBOX") { + setValidationValues(options, "required", true); + } + }); + adapters.add("remote", ["url", "type", "additionalfields"], function (options) { + var value = { + url: options.params.url, + type: options.params.type || "GET", + data: {} + }, + prefix = getModelPrefix(options.element.name); + + $.each(splitAndTrim(options.params.additionalfields || options.element.name), function (i, fieldName) { + var paramName = appendModelPrefix(fieldName, prefix); + value.data[paramName] = function () { + var field = $(options.form).find(":input").filter("[name='" + escapeAttributeValue(paramName) + "']"); + // For checkboxes and radio buttons, only pick up values from checked fields. + if (field.is(":checkbox")) { + return field.filter(":checked").val() || field.filter(":hidden").val() || ''; + } + else if (field.is(":radio")) { + return field.filter(":checked").val() || ''; + } + return field.val(); + }; + }); + + setValidationValues(options, "remote", value); + }); + adapters.add("password", ["min", "nonalphamin", "regex"], function (options) { + if (options.params.min) { + setValidationValues(options, "minlength", options.params.min); + } + if (options.params.nonalphamin) { + setValidationValues(options, "nonalphamin", options.params.nonalphamin); + } + if (options.params.regex) { + setValidationValues(options, "regex", options.params.regex); + } + }); + + $(function () { + $jQval.unobtrusive.parse(document); + }); +}(jQuery)); \ No newline at end of file diff --git a/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js b/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js new file mode 100644 index 00000000..be9a38a4 --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js @@ -0,0 +1,5 @@ +/* +** Unobtrusive validation support library for jQuery and jQuery Validate +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ +!function(a){function e(a,e,n){a.rules[e]=n,a.message&&(a.messages[e]=a.message)}function n(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function t(a){return a.replace(/([!"#$%&'()*+,./:;<=>?@\[\\\]^`{|}~])/g,"\\$1")}function r(a){return a.substr(0,a.lastIndexOf(".")+1)}function i(a,e){return 0===a.indexOf("*.")&&(a=a.replace("*.",e)),a}function o(e,n){var r=a(this).find("[data-valmsg-for='"+t(n[0].name)+"']"),i=r.attr("data-valmsg-replace"),o=i?a.parseJSON(i)!==!1:null;r.removeClass("field-validation-valid").addClass("field-validation-error"),e.data("unobtrusiveContainer",r),o?(r.empty(),e.removeClass("input-validation-error").appendTo(r)):e.hide()}function d(e,n){var t=a(this).find("[data-valmsg-summary=true]"),r=t.find("ul");r&&r.length&&n.errorList.length&&(r.empty(),t.addClass("validation-summary-errors").removeClass("validation-summary-valid"),a.each(n.errorList,function(){a("
  • ").html(this.message).appendTo(r)}))}function s(e){var n=e.data("unobtrusiveContainer");if(n){var t=n.attr("data-valmsg-replace"),r=t?a.parseJSON(t):null;n.addClass("field-validation-valid").removeClass("field-validation-error"),e.removeData("unobtrusiveContainer"),r&&n.empty()}}function l(e){var n=a(this),t="__jquery_unobtrusive_validation_form_reset";if(!n.data(t)){n.data(t,!0);try{n.data("validator").resetForm()}finally{n.removeData(t)}n.find(".validation-summary-errors").addClass("validation-summary-valid").removeClass("validation-summary-errors"),n.find(".field-validation-error").addClass("field-validation-valid").removeClass("field-validation-error").removeData("unobtrusiveContainer").find(">*").removeData("unobtrusiveContainer")}}function m(e){var n=a(e),t=n.data(v),r=a.proxy(l,e),i=p.unobtrusive.options||{},m=function(n,t){var r=i[n];r&&a.isFunction(r)&&r.apply(e,t)};return t||(t={options:{errorClass:i.errorClass||"input-validation-error",errorElement:i.errorElement||"span",errorPlacement:function(){o.apply(e,arguments),m("errorPlacement",arguments)},invalidHandler:function(){d.apply(e,arguments),m("invalidHandler",arguments)},messages:{},rules:{},success:function(){s.apply(e,arguments),m("success",arguments)}},attachValidation:function(){n.off("reset."+v,r).on("reset."+v,r).validate(this.options)},validate:function(){return n.validate(),n.valid()}},n.data(v,t)),t}var u,p=a.validator,v="unobtrusiveValidation";p.unobtrusive={adapters:[],parseElement:function(e,n){var t,r,i,o=a(e),d=o.parents("form")[0];d&&(t=m(d),t.options.rules[e.name]=r={},t.options.messages[e.name]=i={},a.each(this.adapters,function(){var n="data-val-"+this.name,t=o.attr(n),s={};void 0!==t&&(n+="-",a.each(this.params,function(){s[this]=o.attr(n+this)}),this.adapt({element:e,form:d,message:t,params:s,rules:r,messages:i}))}),a.extend(r,{__dummy__:!0}),n||t.attachValidation())},parse:function(e){var n=a(e),t=n.parents().addBack().filter("form").add(n.find("form")).has("[data-val=true]");n.find("[data-val=true]").each(function(){p.unobtrusive.parseElement(this,!0)}),t.each(function(){var a=m(this);a&&a.attachValidation()})}},u=p.unobtrusive.adapters,u.add=function(a,e,n){return n||(n=e,e=[]),this.push({name:a,params:e,adapt:n}),this},u.addBool=function(a,n){return this.add(a,function(t){e(t,n||a,!0)})},u.addMinMax=function(a,n,t,r,i,o){return this.add(a,[i||"min",o||"max"],function(a){var i=a.params.min,o=a.params.max;i&&o?e(a,r,[i,o]):i?e(a,n,i):o&&e(a,t,o)})},u.addSingleVal=function(a,n,t){return this.add(a,[n||"val"],function(r){e(r,t||a,r.params[n])})},p.addMethod("__dummy__",function(a,e,n){return!0}),p.addMethod("regex",function(a,e,n){var t;return this.optional(e)?!0:(t=new RegExp(n).exec(a),t&&0===t.index&&t[0].length===a.length)}),p.addMethod("nonalphamin",function(a,e,n){var t;return n&&(t=a.match(/\W/g),t=t&&t.length>=n),t}),p.methods.extension?(u.addSingleVal("accept","mimtype"),u.addSingleVal("extension","extension")):u.addSingleVal("extension","extension","accept"),u.addSingleVal("regex","pattern"),u.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url"),u.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range"),u.addMinMax("minlength","minlength").addMinMax("maxlength","minlength","maxlength"),u.add("equalto",["other"],function(n){var o=r(n.element.name),d=n.params.other,s=i(d,o),l=a(n.form).find(":input").filter("[name='"+t(s)+"']")[0];e(n,"equalTo",l)}),u.add("required",function(a){("INPUT"!==a.element.tagName.toUpperCase()||"CHECKBOX"!==a.element.type.toUpperCase())&&e(a,"required",!0)}),u.add("remote",["url","type","additionalfields"],function(o){var d={url:o.params.url,type:o.params.type||"GET",data:{}},s=r(o.element.name);a.each(n(o.params.additionalfields||o.element.name),function(e,n){var r=i(n,s);d.data[r]=function(){var e=a(o.form).find(":input").filter("[name='"+t(r)+"']");return e.is(":checkbox")?e.filter(":checked").val()||e.filter(":hidden").val()||"":e.is(":radio")?e.filter(":checked").val()||"":e.val()}}),e(o,"remote",d)}),u.add("password",["min","nonalphamin","regex"],function(a){a.params.min&&e(a,"minlength",a.params.min),a.params.nonalphamin&&e(a,"nonalphamin",a.params.nonalphamin),a.params.regex&&e(a,"regex",a.params.regex)}),a(function(){p.unobtrusive.parse(document)})}(jQuery); \ No newline at end of file diff --git a/testOauthClient/wwwroot/lib/jquery-validation/.bower.json b/testOauthClient/wwwroot/lib/jquery-validation/.bower.json new file mode 100644 index 00000000..08d8c5c9 --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation/.bower.json @@ -0,0 +1,40 @@ +{ + "name": "jquery-validation", + "homepage": "http://jqueryvalidation.org/", + "repository": { + "type": "git", + "url": "git://github.com/jzaefferer/jquery-validation.git" + }, + "authors": [ + "Jörn Zaefferer " + ], + "description": "Form validation made easy", + "main": "dist/jquery.validate.js", + "keywords": [ + "forms", + "validation", + "validate" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "demo", + "lib" + ], + "dependencies": { + "jquery": ">= 1.7.2" + }, + "version": "1.14.0", + "_release": "1.14.0", + "_resolution": { + "type": "version", + "tag": "1.14.0", + "commit": "c1343fb9823392aa9acbe1c3ffd337b8c92fed48" + }, + "_source": "https://github.com/jzaefferer/jquery-validation.git", + "_target": "1.14.0", + "_originalSource": "jquery-validation" +} \ No newline at end of file diff --git a/testOauthClient/wwwroot/lib/jquery-validation/CONTRIBUTING.md b/testOauthClient/wwwroot/lib/jquery-validation/CONTRIBUTING.md new file mode 100644 index 00000000..7ff6c61e --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation/CONTRIBUTING.md @@ -0,0 +1,53 @@ +# Contributing to the jQuery Validation Plugin + +## Reporting an Issue + +1. Make sure the problem you're addressing is reproducible. +2. Use http://jsbin.com or http://jsfiddle.net to provide a test page. +3. Indicate what browsers the issue can be reproduced in. **Note: IE Compatibilty mode issues will not be addressed. Make sure you test in a real browser!** +4. What version of the plug-in is the issue reproducible in. Is it reproducible after updating to the latest version. + +Documentation issues are also tracked at the [jQuery Validation](https://github.com/jzaefferer/jquery-validation/issues) issue tracker. +Pull Requests to improve the docs are welcome at the [jQuery Validation docs](https://github.com/jzaefferer/validation-content) repository, though. + +**IMPORTANT NOTE ABOUT EMAIL VALIDATION**. As of version 1.12.0 this plugin is using the same regular expression that the [HTML5 specification suggests for browsers to use](https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address). We will follow their lead and use the same check. If you think the specification is wrong, please report the issue to them. If you have different requirements, consider [using a custom method](http://jqueryvalidation.org/jQuery.validator.addMethod/). + +## Contributing code + +Thanks for contributing! Here's a few guidelines to help your contribution get landed. + +1. Make sure the problem you're addressing is reproducible. Use jsbin.com or jsfiddle.net to provide a test page. +2. Follow the [jQuery style guide](http://contribute.jquery.com/style-guides/js) +3. Add or update unit tests along with your patch. Run the unit tests in at least one browser (see below). +4. Run `grunt` (see below) to check for linting and a few other issues. +5. Describe the change in your commit message and reference the ticket, like this: "Demos: Fixed delegate bug for dynamic-totals demo. Fixes #51". If you're adding a new localization file, use something like this: "Localization: Added croatian (HR) localization" + +## Build setup + +1. Install [NodeJS](http://nodejs.org). +2. Install the Grunt CLI To install by running `npm install -g grunt-cli`. More details are available on their website http://gruntjs.com/getting-started. +3. Install the NPM dependencies by running `npm install`. +4. The build can now be called by running `grunt`. + +## Creating a new Additional Method + +If you've wrote custom methods that you'd like to contribute to additional-methods.js: + +1. Create a branch +2. Add the method as a new file in `src/additional` +3. (Optional) Add translations to `src/localization` +4. Send a pull request to the master branch. + +## Unit Tests + +To run unit tests, just open `test/index.html` within your browser. Make sure you ran `npm install` before so all required dependencies are available. +Start with one browser while developing the fix, then run against others before committing. Usually latest Chrome, Firefox, Safari and Opera and a few IEs. + +## Documentation + +Please report documentation issues at the [jQuery Validation](https://github.com/jzaefferer/jquery-validation/issues) issue tracker. +In case your pull request implements or changes public API it would be a plus you would provide a pull request against the [jQuery Validation docs](https://github.com/jzaefferer/validation-content) repository. + +## Linting + +To run JSHint and other tools, use `grunt`. diff --git a/testOauthClient/wwwroot/lib/jquery-validation/Gruntfile.js b/testOauthClient/wwwroot/lib/jquery-validation/Gruntfile.js new file mode 100644 index 00000000..f6e42d02 --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation/Gruntfile.js @@ -0,0 +1,186 @@ +/*jshint node:true*/ +module.exports = function(grunt) { + +"use strict"; + +var banner, + umdStart, + umdMiddle, + umdEnd, + umdStandardDefine, + umdAdditionalDefine, + umdLocalizationDefine; + +banner = "/*!\n" + + " * jQuery Validation Plugin v<%= pkg.version %>\n" + + " *\n" + + " * <%= pkg.homepage %>\n" + + " *\n" + + " * Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>\n" + + " * Released under the <%= _.pluck(pkg.licenses, 'type').join(', ') %> license\n" + + " */\n"; + +// define UMD wrapper variables + +umdStart = "(function( factory ) {\n" + + "\tif ( typeof define === \"function\" && define.amd ) {\n"; + +umdMiddle = "\t} else {\n" + + "\t\tfactory( jQuery );\n" + + "\t}\n" + + "}(function( $ ) {\n\n"; + +umdEnd = "\n}));"; + +umdStandardDefine = "\t\tdefine( [\"jquery\"], factory );\n"; +umdAdditionalDefine = "\t\tdefine( [\"jquery\", \"./jquery.validate\"], factory );\n"; +umdLocalizationDefine = "\t\tdefine( [\"jquery\", \"../jquery.validate\"], factory );\n"; + +grunt.initConfig({ + pkg: grunt.file.readJSON("package.json"), + concat: { + // used to copy to dist folder + dist: { + options: { + banner: banner + + umdStart + + umdStandardDefine + + umdMiddle, + footer: umdEnd + }, + files: { + "dist/jquery.validate.js": [ "src/core.js", "src/*.js" ] + } + }, + extra: { + options: { + banner: banner + + umdStart + + umdAdditionalDefine + + umdMiddle, + footer: umdEnd + }, + files: { + "dist/additional-methods.js": [ "src/additional/additional.js", "src/additional/*.js" ] + } + } + }, + uglify: { + options: { + preserveComments: false, + banner: "/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - " + + "<%= grunt.template.today('m/d/yyyy') %>\n" + + " * <%= pkg.homepage %>\n" + + " * Copyright (c) <%= grunt.template.today('yyyy') %> <%= pkg.author.name %>;" + + " Licensed <%= _.pluck(pkg.licenses, 'type').join(', ') %> */\n" + }, + dist: { + files: { + "dist/additional-methods.min.js": "dist/additional-methods.js", + "dist/jquery.validate.min.js": "dist/jquery.validate.js" + } + }, + all: { + expand: true, + cwd: "dist/localization", + src: "**/*.js", + dest: "dist/localization", + ext: ".min.js" + } + }, + compress: { + dist: { + options: { + mode: "zip", + level: 1, + archive: "dist/<%= pkg.name %>-<%= pkg.version %>.zip", + pretty: true + }, + src: [ + "changelog.txt", + "demo/**/*.*", + "dist/**/*.js", + "Gruntfile.js", + "lib/**/*.*", + "package.json", + "README.md", + "src/**/*.*", + "test/**/*.*" + ] + } + }, + qunit: { + files: "test/index.html" + }, + jshint: { + options: { + jshintrc: true + }, + core: { + src: "src/**/*.js" + }, + test: { + src: "test/*.js" + }, + grunt: { + src: "Gruntfile.js" + } + }, + watch: { + options: { + atBegin: true + }, + src: { + files: "<%= jshint.core.src %>", + tasks: [ + "concat" + ] + } + }, + jscs: { + all: [ "<%= jshint.core.src %>", "<%= jshint.test.src %>", "<%= jshint.grunt.src %>" ] + }, + copy: { + dist: { + options: { + // append UMD wrapper + process: function( content ) { + return umdStart + umdLocalizationDefine + umdMiddle + content + umdEnd; + } + }, + src: "src/localization/*", + dest: "dist/localization", + expand: true, + flatten: true, + filter: "isFile" + } + }, + replace: { + dist: { + src: "dist/**/*.min.js", + overwrite: true, + replacements: [ + { + from: "./jquery.validate", + to: "./jquery.validate.min" + } + ] + } + } +}); + +grunt.loadNpmTasks("grunt-contrib-jshint"); +grunt.loadNpmTasks("grunt-contrib-qunit"); +grunt.loadNpmTasks("grunt-contrib-uglify"); +grunt.loadNpmTasks("grunt-contrib-concat"); +grunt.loadNpmTasks("grunt-contrib-compress"); +grunt.loadNpmTasks("grunt-contrib-watch"); +grunt.loadNpmTasks("grunt-jscs"); +grunt.loadNpmTasks("grunt-contrib-copy"); +grunt.loadNpmTasks("grunt-text-replace"); + +grunt.registerTask("default", [ "concat", "copy", "jscs", "jshint", "qunit" ]); +grunt.registerTask("release", [ "default", "uglify", "replace", "compress" ]); +grunt.registerTask("start", [ "concat", "watch" ]); + +}; diff --git a/testOauthClient/wwwroot/lib/jquery-validation/LICENSE.md b/testOauthClient/wwwroot/lib/jquery-validation/LICENSE.md new file mode 100644 index 00000000..dc377cc0 --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation/LICENSE.md @@ -0,0 +1,22 @@ +The MIT License (MIT) +===================== + +Copyright Jörn Zaefferer + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/testOauthClient/wwwroot/lib/jquery-validation/README.md b/testOauthClient/wwwroot/lib/jquery-validation/README.md new file mode 100644 index 00000000..4b9a33e8 --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation/README.md @@ -0,0 +1,65 @@ +[jQuery Validation Plugin](http://jqueryvalidation.org/) - Form validation made easy +================================ + +[![Build Status](https://secure.travis-ci.org/jzaefferer/jquery-validation.png)](http://travis-ci.org/jzaefferer/jquery-validation) +[![devDependency Status](https://david-dm.org/jzaefferer/jquery-validation/dev-status.png?theme=shields.io)](https://david-dm.org/jzaefferer/jquery-validation#info=devDependencies) + +The jQuery Validation Plugin provides drop-in validation for your existing forms, while making all kinds of customizations to fit your application really easy. + +## [Help the project](http://pledgie.com/campaigns/18159) + +[![Help the project](http://www.pledgie.com/campaigns/18159.png?skin_name=chrome)](http://pledgie.com/campaigns/18159) + +This project is looking for help! [You can donate to the ongoing pledgie campaign](http://pledgie.com/campaigns/18159) +and help spread the word. If you've used the plugin, or plan to use, consider a donation - any amount will help. + +You can find the plan for how to spend the money on the [pledgie page](http://pledgie.com/campaigns/18159). + +## Getting Started + +### Downloading the prebuilt files + +Prebuilt files can be downloaded from http://jqueryvalidation.org/ + +### Downloading the latest changes + +The unreleased development files can be obtained by: + + 1. [Downloading](https://github.com/jzaefferer/jquery-validation/archive/master.zip) or Forking this repository + 2. [Setup the build](CONTRIBUTING.md#build-setup) + 3. Run `grunt` to create the built files in the "dist" directory + +### Including it on your page + +Include jQuery and the plugin on a page. Then select a form to validate and call the `validate` method. + +```html +
    + +
    + + + +``` + +Alternatively include jQuery and the plugin via requirejs in your module. + +```js +define(["jquery", "jquery.validate"], function( $ ) { + $("form").validate(); +}); +``` + +For more information on how to setup a rules and customizations, [check the documentation](http://jqueryvalidation.org/documentation/). + +## Reporting issues and contributing code + +See the [Contributing Guidelines](CONTRIBUTING.md) for details. + +**IMPORTANT NOTE ABOUT EMAIL VALIDATION**. As of version 1.12.0 this plugin is using the same regular expression that the [HTML5 specification suggests for browsers to use](https://html.spec.whatwg.org/multipage/forms.html#valid-e-mail-address). We will follow their lead and use the same check. If you think the specification is wrong, please report the issue to them. If you have different requirements, consider [using a custom method](http://jqueryvalidation.org/jQuery.validator.addMethod/). + +## License +Copyright © Jörn Zaefferer
    +Licensed under the MIT license. diff --git a/testOauthClient/wwwroot/lib/jquery-validation/bower.json b/testOauthClient/wwwroot/lib/jquery-validation/bower.json new file mode 100644 index 00000000..4b26ae8a --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation/bower.json @@ -0,0 +1,31 @@ +{ + "name": "jquery-validation", + "homepage": "http://jqueryvalidation.org/", + "repository": { + "type": "git", + "url": "git://github.com/jzaefferer/jquery-validation.git" + }, + "authors": [ + "Jörn Zaefferer " + ], + "description": "Form validation made easy", + "main": "dist/jquery.validate.js", + "keywords": [ + "forms", + "validation", + "validate" + ], + "license": "MIT", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "demo", + "lib" + ], + "dependencies": { + "jquery": ">= 1.7.2" + }, + "version": "1.14.0" +} diff --git a/testOauthClient/wwwroot/lib/jquery-validation/changelog.md b/testOauthClient/wwwroot/lib/jquery-validation/changelog.md new file mode 100644 index 00000000..f6a1af3b --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation/changelog.md @@ -0,0 +1,534 @@ +1.14.0 / 2015-06-30 +================== + +## Core + * Remove unused removeAttrs method + * Replace regex for url method + * Remove bad url param in $.ajax, overwritten by $.extend + * Properly handle nested cancel submit button + * Fix indent + * Refactor attributeRules and dataRules to share noramlizer + * dataRules method to convert value to number for number inputs + * Update url method to allow for protocol-relative URLs + * Remove deprecated $.format placeholder + * Use jQuery 1.7+ on/off, add destroy method + * IE8 compatibility changed .indexOf to $.inArray + * Cast NaN value attributes to undefined for Opera Mini + * Stop trimming value inside required method + * Use :disabled selector to match disabled elements + * Exclude some keyboard keys to prevent revalidating the field + * Do not search the whole DOM for radio/checkbox elements + * Throw better errors for bad rule methods + * Fixed number validation error + * Fix reference to whatwg spec + * Focus invalid element when validating a custom set of inputs + * Reset element styles when using custom highlight methods + * Escape dollar sign in error id + * Revert "Ignore readonly as well as disabled fields." + * Update link in comment for Luhn algorithm + +## Additionals + * Update dateITA to address timezone issue + * Fix extension method to only method period + * Fix accept method to match period only + * Update time method to allow single digit hour + * Drop bad test for notEqualTo method + * Add notEqualTo method + * Use correct jQuery reference via `$` + * Remove useless regex check in iban method + * Brazilian CPF number + +## Localization + * Update messages_tr.js + * Update messages_sr_lat.js + * Adding Perú Spanish (ES PE) + * Adding Georgian (ქართული, ge) + * Fixed typo in catalan translation + * Improve Finnish (fi) translation + * Add armenian (hy_AM) locale + * Extend italian (it) translation with currency method + * Add bn_BD locale + * Update zh locale + * Remove full stop at the end of italian messages + +1.13.1 / 2014-10-14 +================== + +## Core + * Allow 0 as value for autoCreateRanges + * Apply ignore setting to all validationTargetFor elements + * Don't trim value in min/max/rangelength methods + * Escape id/name before using it as a selector in errorsFor + * Explicit default for focusCleanup option + * Fix incorrect regexp for describedby matcher + * Ignore readonly as well as disabled fields + * Improve id escaping, store escaped id in describedby + * Use return value of submitHandler to allow or prevent form submit + +## Additionals + * Add postalcodeBR method + * Fix pattern method when parameter is a string + + +1.13.0 / 2014-07-01 +================== + +## All +* Add plugin UMD wrapper + +## Core +* Respect non-error aria-describedby and empty hidden errors +* Improve dateISO RegExp +* Added radio/checkbox to delegate click-event +* Use aria-describedby for non-label elements +* Register focusin, focusout and keyup also on radio/checkbox +* Fix normalization for rangelength attribute value +* Update elementValue method to deal with type="number" fields +* Use charAt instead of array notation on strings, to support IE8(?) + +## Localization +* Fix sk translation of rangelength method +* Add Finnish methods +* Fixed GL number validation message +* Fixed ES number method validation message +* Added galician (GL) +* Fixed French messages for min and max methods + +## Additionals +* Add statesUS method +* Fix dateITA method to deal with DST bug +* Add persian date method +* Add postalCodeCA method +* Add postalcodeIT method + +1.12.0 / 2014-04-01 +================== + +* Add ARIA testing ([3d5658e](https://github.com/jzaefferer/jquery-validation/commit/3d5658e9e4825fab27198c256beed86f0bd12577)) +* Add es-AR localization messages. ([7b30beb](https://github.com/jzaefferer/jquery-validation/commit/7b30beb8ebd218c38a55d26a63d529e16035c7a2)) +* Add missing dots to 'es' and 'es_AR' messages. ([a2a653c](https://github.com/jzaefferer/jquery-validation/commit/a2a653cb68926ca034b4b09d742d275db934d040)) +* Added Indonesian (ID) localization ([1d348bd](https://github.com/jzaefferer/jquery-validation/commit/1d348bdcb65807c71da8d0bfc13a97663631cd3a)) +* Added NIF, NIE and CIF Spanish documents numbers validation ([#830](https://github.com/jzaefferer/jquery-validation/issues/830), [317c20f](https://github.com/jzaefferer/jquery-validation/commit/317c20fa9bb772770bb9b70d46c7081d7cfc6545)) +* Added the current form to the context of the remote ajax request ([0a18ae6](https://github.com/jzaefferer/jquery-validation/commit/0a18ae65b9b6d877e3d15650a5c2617a9d2b11d5)) +* Additionals: Update IBAN method, trim trailing whitespaces ([#970](https://github.com/jzaefferer/jquery-validation/issues/970), [347b04a](https://github.com/jzaefferer/jquery-validation/commit/347b04a7d4e798227405246a5de3fc57451d52e1)) +* BIC method: Improve RegEx, {1} is always redundant. Closes gh-744 ([5cad6b4](https://github.com/jzaefferer/jquery-validation/commit/5cad6b493575e8a9a82470d17e0900c881130873)) +* Bower: Add Bower.json for package registration ([e86ccb0](https://github.com/jzaefferer/jquery-validation/commit/e86ccb06e301613172d472cf15dd4011ff71b398)) +* Changes dollar references to 'jQuery', for compability with jQuery.noConflict. Closes gh-754 ([2049afe](https://github.com/jzaefferer/jquery-validation/commit/2049afe46c1be7b3b89b1d9f0690f5bebf4fbf68)) +* Core: Add "method" field to error list entry ([89a15c7](https://github.com/jzaefferer/jquery-validation/commit/89a15c7a4b17fa2caaf4ff817f09b04c094c3884)) +* Core: Added support for generic messages via data-msg attribute ([5bebaa5](https://github.com/jzaefferer/jquery-validation/commit/5bebaa5c55c73f457c0e0181ec4e3b0c409e2a9d)) +* Core: Allow attributes to have a value of zero (eg min='0') ([#854](https://github.com/jzaefferer/jquery-validation/issues/854), [9dc0d1d](https://github.com/jzaefferer/jquery-validation/commit/9dc0d1dd946b2c6178991fb16df0223c76162579)) +* Core: Disable deprecated $.format ([#755](https://github.com/jzaefferer/jquery-validation/issues/755), [bf3b350](https://github.com/jzaefferer/jquery-validation/commit/bf3b3509140ea8ab5d83d3ec58fd9f1d7822efc5)) +* Core: Fix support for multiple error classes ([c1f0baf](https://github.com/jzaefferer/jquery-validation/commit/c1f0baf36c21ca175bbc05fb9345e5b44b094821)) +* Core: Ignore events on ignored elements ([#700](https://github.com/jzaefferer/jquery-validation/issues/700), [a864211](https://github.com/jzaefferer/jquery-validation/commit/a86421131ea69786ee9e0d23a68a54a7658ccdbf)) +* Core: Improve elementValue method ([6c041ed](https://github.com/jzaefferer/jquery-validation/commit/6c041edd21af1425d12d06cdd1e6e32a78263e82)) +* Core: Make element() handle ignored elements properly. ([3f464a8](https://github.com/jzaefferer/jquery-validation/commit/3f464a8da49dbb0e4881ada04165668e4a63cecb)) +* Core: Switch dataRules parsing to W3C HTML5 spec style ([460fd22](https://github.com/jzaefferer/jquery-validation/commit/460fd22b6c84a74c825ce1fa860c0a9da20b56bb)) +* Core: Trigger success on optional but have other successful validators ([#851](https://github.com/jzaefferer/jquery-validation/issues/851), [f93e1de](https://github.com/jzaefferer/jquery-validation/commit/f93e1deb48ec8b3a8a54e946a37db2de42d3aa2a)) +* Core: Use plain element instead of un-wrapping the element again ([03cd4c9](https://github.com/jzaefferer/jquery-validation/commit/03cd4c93069674db5415a0bf174a5870da47e5d2)) +* Core: make sure remote is executed last ([#711](https://github.com/jzaefferer/jquery-validation/issues/711), [ad91b6f](https://github.com/jzaefferer/jquery-validation/commit/ad91b6f388b7fdfb03b74e78554cbab9fd8fca6f)) +* Demo: Use correct option in multipart demo. ([#1025](https://github.com/jzaefferer/jquery-validation/issues/1025), [070edc7](https://github.com/jzaefferer/jquery-validation/commit/070edc7be4de564cb74cfa9ee4e3f40b6b70b76f)) +* Fix $/jQuery usage in additional methods. Fixes #839 ([#839](https://github.com/jzaefferer/jquery-validation/issues/839), [59bc899](https://github.com/jzaefferer/jquery-validation/commit/59bc899e4586255a4251903712e813c21d25b3e1)) +* Improve Chinese translations ([1a0bfe3](https://github.com/jzaefferer/jquery-validation/commit/1a0bfe32b16f8912ddb57388882aa880fab04ffe)) +* Initial ARIA-Required implementation ([bf3cfb2](https://github.com/jzaefferer/jquery-validation/commit/bf3cfb234ede2891d3f7e19df02894797dd7ba5e)) +* Localization: change accept values to extension. Fixes #771, closes gh-793. ([#771](https://github.com/jzaefferer/jquery-validation/issues/771), [12edec6](https://github.com/jzaefferer/jquery-validation/commit/12edec66eb30dc7e86756222d455d49b34016f65)) +* Messages: Add icelandic localization ([dc88575](https://github.com/jzaefferer/jquery-validation/commit/dc885753c8872044b0eaa1713cecd94c19d4c73d)) +* Messages: Add missing dots to 'bg', 'fr' and 'sr' messages. ([adbc636](https://github.com/jzaefferer/jquery-validation/commit/adbc6361c377bf6b74c35df9782479b1115fbad7)) +* Messages: Create messages_sr_lat.js ([f2f9007](https://github.com/jzaefferer/jquery-validation/commit/f2f90076518014d98495c2a9afb9a35d45d184e6)) +* Messages: Create messages_tj.js ([de830b3](https://github.com/jzaefferer/jquery-validation/commit/de830b3fd8689a7384656c17565ee92c2878d8a5)) +* Messages: Fix sr_lat translation, add missing space ([880ba1c](https://github.com/jzaefferer/jquery-validation/commit/880ba1ca545903a41d8c5332fc4038a7e9a580bd)) +* Messages: Update messages_sr.js, fix missing space ([10313f4](https://github.com/jzaefferer/jquery-validation/commit/10313f418c18ea75f385248468c2d3600f136cfb)) +* Methods: Add additional method for currency ([1a981b4](https://github.com/jzaefferer/jquery-validation/commit/1a981b440346620964c87ebdd0fa03246348390e)) +* Methods: Adding Smart Quotes to stripHTML's punctuation removal ([aa0d624](https://github.com/jzaefferer/jquery-validation/commit/aa0d6241c3ea04663edc1e45ed6e6134630bdd2f)) +* Methods: Fix dateITA method, avoiding summertime errors ([279b932](https://github.com/jzaefferer/jquery-validation/commit/279b932c1267b7238e6652880b7846ba3bbd2084)) +* Methods: Localized methods for chilean culture (es-CL) ([cf36b93](https://github.com/jzaefferer/jquery-validation/commit/cf36b933499e435196d951401221d533a4811810)) +* Methods: Update email to use HTML5 regex, remove email2 method ([#828](https://github.com/jzaefferer/jquery-validation/issues/828), [dd162ae](https://github.com/jzaefferer/jquery-validation/commit/dd162ae360639f73edd2dcf7a256710b2f5a4e64)) +* Pattern method: Remove delimiters, since HTML5 implementations don't include those either. ([37992c1](https://github.com/jzaefferer/jquery-validation/commit/37992c1c9e2e0be8b315ccccc2acb74863439d3e)) +* Restricting credit card validator to include length check. Closes gh-772 ([f5f47c5](https://github.com/jzaefferer/jquery-validation/commit/f5f47c5c661da5b0c0c6d59d169e82230928a804)) +* Update messages_ko.js - closes gh-715 ([5da3085](https://github.com/jzaefferer/jquery-validation/commit/5da3085ff02e0e6ecc955a8bfc3bb9a8d220581b)) +* Update messages_pt_BR.js. Closes gh-782 ([4bf813b](https://github.com/jzaefferer/jquery-validation/commit/4bf813b751ce34fac3c04eaa2e80f75da3461124)) +* Update phonesUK and mobileUK to accept new prefixes. Closes gh-750 ([d447b41](https://github.com/jzaefferer/jquery-validation/commit/d447b41b830dee984be21d8281ec7b87a852001d)) +* Verify nine-digit zip codes. Closes gh-726 ([165005d](https://github.com/jzaefferer/jquery-validation/commit/165005d4b5780e22d13d13189d107940c622a76f)) +* phoneUS: Add N11 exclusions. Closes gh-861 ([519bbc6](https://github.com/jzaefferer/jquery-validation/commit/519bbc656bcb26e8aae5166d7b2e000014e0d12a)) +* resetForm should clear any aria-invalid values ([4f8a631](https://github.com/jzaefferer/jquery-validation/commit/4f8a631cbe84f496ec66260ada52db2aa0bb3733)) +* valid(): Check all elements. Fixes #791 - valid() validates only the first (invalid) element ([#791](https://github.com/jzaefferer/jquery-validation/issues/791), [6f26803](https://github.com/jzaefferer/jquery-validation/commit/6f268031afaf4e155424ee74dd11f6c47fbb8553)) + +1.11.1 / 2013-03-22 +================== + + * Revert to also converting parameters of range method to numbers. Closes gh-702 + * Replace most usage of PHP with mockjax handlers. Do some demo cleanup as well, update to newer masked-input plugin. Keep captcha demo in PHP. Fixes #662 + * Remove inline code highlighting from milk demo. View source works fine. + * Fix dynamic-totals demo by trimming whitespace from template content before passing to jQuery constructor + * Fix min/max validation. Closes gh-666. Fixes #648 + * Fixed 'messages' coming up as a rule and causing an exception after being updated through rules("add"). Closes gh-670, fixes #624 + * Add Korean (ko) localization. Closes gh-671 + * Improved the UK postcode method to filter out more invalid postcodes. Closes #682 + * Update messages_sv.js. Closes #683 + * Change grunt link to the project website. Closes #684 + * Move remote method down the list to run last, after all other methods applied to a field. Fixes #679 + * Update plugin.json description, should include the word 'validate' + * Fix typos + * Fix jQuery loader to use path of itself. Fixes nested demos. + * Update grunt-contrib-qunit to make use of PhantomJS 1.8, when installed through node module 'phantomjs' + * Make valid() return a boolean instead of 0 or 1. Fixes #109 - valid() does not return boolean value + +1.11.0 / 2013-02-04 +================== + + * Remove clearing as numbers of `min`, `max` and `range` rules. Fixes #455. Closes gh-528. + * Update pre-existing labels - fixes #430 closes gh-436 + * Fix $.validator.format to avoid group interpolation, where at least IE8/9 replaces -bash with the match. Fixes #614 + * Fix mimetype regex + * Add plugin manifest and update headers to just MIT license, drop unnecessary dual-licensing (like jQuery). + * Hebrew messages: Removed dots at end of sentences - Fixes gh-568 + * French translation for require_from_group validation. Fixes gh-573. + * Allow groups to be an array or a string - Fixes #479 + * Removed spaces with multiple MIME types + * Fix some date validations, JS syntax errors. + * Remove support for metadata plugin, replace with data-rule- and data-msg- (added in 907467e8) properties. + * Added sftp as a valid url-pattern + * Add Malay (my) localization + * Update localization/messages_hu.js + * Remove focusin/focusout polyfill. Fixes #542 - Inclusion of jquery.validate interfers with focusin and focusout events in IE9 + * Localization: Fixed typo in finnish translation + * Fix RTM demo to show invalid icon when going from valid back to invalid + * Fixed premature return in remote function which prevented ajax call from being made in case an input was entered too quickly. Ensures remote validation always validates the newest value. + * Undo fix for #244. Fixes #521 - E-mail validation fires immediately when text is in the field. + +1.10.0 / 2012-09-07 +=================== + + * Corrected French strings for nowhitespace, phoneUS, phoneUK and mobileUK based upon community feedback. + * rename files for language_REGION according to the standard ISO_3166-1 (http://en.wikipedia.org/wiki/ISO_3166-1), for Taiwan tha language is Chinese (zh) and the region is Taiwan (TW) + * Optimise RegEx patterns, especially for UK phone numbers. + * Add Language Name for each file, rename the language code according to the standard ISO 639 for Estonian, Georgian, Ukrainian and Chinese (http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) + * Added croatian (HR) localization + * Existing French translations were edited and French translations for the additional methods were added. + * Merged in changes for specifying custom error messages in data attributes + * Updated UK Mobile phone number regex for new numbers. Fixes #154 + * Add element to success call with test. Fixes #60 + * Fixed regex for time additional method. Fixes #131 + * resetForm now clears old previousValue on form elements. Fixes #312 + * Added checkbox test to require_from_group and changed require_from_group to use elementValue. Fixes #359 + * Fixed dataFilter response issues in jQuery 1.5.2+. Fixes #405 + * Added jQuery Mobile demo. Fixes #249 + * Deoptimize findByName for correctness. Fixes #82 - $.validator.prototype.findByName breaks in IE7 + * Added US zip code support and test. Fixes #90 + * Changed lastElement to lastActive in keyup, skip validation on tab or empty element. Fixes #244 + * Removed number stripping from stripHtml. Fixes #2 + * Fixed invalid count on invalid to valid remote validation. Fixes #286 + * Add link to file_input to demo index + * Moved old accept method to extension additional-method, added new accept method to handle standard browser mimetype filtering. Fixes #287 and supersedes #369 + * Disables blur event when onfocusout is set to false. Test added. + * Fixed value issue for radio buttons and checkboxes. Fixes #363 + * Added test for rangeWords and fixed regex and bounds in method. Fixes #308 + * Fixed TinyMCE Demo and added link on demo page. Fixes #382 + * Changed localization message for min/max. Fixes #273 + * Added pseudo selector for text input types to fix issue with default empty type attribute. Added tests and some test markup. Fixes #217 + * Fixed delegate bug for dynamic-totals demo. Fixes #51 + * Fix incorrect message for alphanumeric validator + * Removed incorrect false check on required attribute + * required attribute fix for non-html5 browsers. Fixes #301 + * Added methods "require_from_group" and "skip_or_fill_minimum" + * Use correct iso code for swedish + * Updated demo HTML files to use HTML5 doctype + * Fixed regex issue for decimals without leading zeroes. Added new methods test. Fixes #41 + * Introduce a elementValue method that normalizes only string values (don't touch array value of multi-select). Fixes #116 + * Support for dynamically added submit buttons, and updated test case. Uses validateDelegate. Code from PR #9 + * Fix bad double quote in test fixtures + * Fix maxWords method to include the upper bound, not exclude it. Fixes #284 + * Fixed grammar error in german range validator message. Fixes #315 + * Fixed handling of multiple class names for errorClass option. Test by Max Lynch. Fixes #280 + * Fix jQuery.format usage, should be $.validator.format. Fixes #329 + * Methods for 'all' UK phone numbers + UK postcodes + * Pattern method: Convert string param to RegExp. Fixes issue #223 + * grammar error in german localization file + * Added Estonian localization for messages + * Improve tooltip handling on themerollered demo + * Add type="text" to input fields without type attribute to please qSA + * Update themerollered demo to use tooltip to show errors as overlay. + * Update themerollered demo to use latest jQuery UI (along with newer jQuery version). Move code around to speed up page load. + * Fixed min error message broken in Japanese. + * Update form plugin to latest version. Enhance the ajaxSubmit demo. + * Drop dateDE and numberDE methods from classRuleSettings, leftover from moving those to localized methods + * Passing submit event to submitHandler callback + * Fixed #219 - Fix valid() on elements with dependency-callback or dependency-expression. + * Improve build to remove dist dir to ensure only the current release gets zipped up + +1.9.0 +--- +* Added Basque (EU) localization +* Added Slovenian (SL) localization +* Fixed issue #127 - Finnish translations has one : instead of ; +* Fixed Russian localization, minor syntax issue +* Added in support for HTML5 input types, fixes #97 +* Improved HTML5 support by setting novalidate attribute on the form, and reading the type attribute. +* Fixed showLabel() removing all classes from error element. Remove only settings.validClass. Fixes #151. +* Added 'pattern' to additional-methods to validate against arbitrary regular expressions. +* Improved email method to not allow the dot at the end (valid by RFC, but unwanted here). Fixes #143 +* Fixed swedish and norwegian translations, min/max messages got switched. Fixes #181 +* Fixed #184 - resetForm: should unset lastElement +* Fixed #71 - improve existing time method and add time12h method for 12h am/pm time format +* Fixed #177 - Fix validation of a single radio or checkbox input +* Fixed #189 - :hidden elements are now ignored by default +* Fixed #194 - Required as attribute fails if jQuery>=1.6 - Use .prop instead of .attr +* Fixed #47, #39, #32 - Allowed credit card numbers to contain spaces as well as dashes (spaces are commonly input by users). + +1.8.1 +--- +* Added Thai (TH) localization, fixes #85 +* Added Vietnamese (VI) localization, thanks Ngoc +* Fixed issue #78. Error/Valid styling applies to all radio buttons of same group for required validation. +* Don't use form.elements as that isn't supported in jQuery 1.6 anymore. Its buggy as hell anyway (IE6-8: form.elements === form). + +1.8.0 +--- +* Improved NL localization (http://plugins.jquery.com/node/14120) +* Added Georgian (GE) localization, thanks Avtandil Kikabidze +* Added Serbian (SR) localization, thanks Aleksandar Milovac +* Added ipv4 and ipv6 to additional methods, thanks Natal Ngétal +* Added Japanese (JA) localization, thanks Bryan Meyerovich +* Added Catalan (CA) localization, thanks Xavier de Pedro +* Fixed missing var statements within for-in loops +* Fix for remote validation, where a formatted message got messed up (https://github.com/jzaefferer/jquery-validation/issues/11) +* Bugfixes for compatibility with jQuery 1.5.1, while maintaining backwards-compatibility + +1.7 +--- +* Added Lithuanian (LT) localization +* Added Greek (EL) localization (http://plugins.jquery.com/node/12319) +* Added Latvian (LV) localization (http://plugins.jquery.com/node/12349) +* Added Hebrew (HE) localization (http://plugins.jquery.com/node/12039) +* Fixed Spanish (ES) localization (http://plugins.jquery.com/node/12696) +* Added jQuery UI themerolled demo +* Removed cmxform.js +* Fixed four missing semicolons (http://plugins.jquery.com/node/12639) +* Renamed phone-method in additional-methods.js to phoneUS +* Added phoneUK and mobileUK methods to additional-methods.js (http://plugins.jquery.com/node/12359) +* Deep extend options to avoid modifying multiple forms when using the rules-method on a single element (http://plugins.jquery.com/node/12411) +* Bugfixes for compatibility with jQuery 1.4.2, while maintaining backwards-compatibility + +1.6 +--- +* Added Arabic (AR), Portuguese (PTPT), Persian (FA), Finnish (FI) and Bulgarian (BR) localization +* Updated Swedish (SE) localization (some missing html iso characters) +* Fixed $.validator.addMethod to properly handle empty string vs. undefined for the message argument +* Fixed two accidental global variables +* Enhanced min/max/rangeWords (in additional-methods.js) to strip html before counting; good when counting words in a richtext editor +* Added localized methods for DE, NL and PT, removing the dateDE and numberDE methods (use messages_de.js and methods_de.js with date and number methods instead) +* Fixed remote form submit synchronization, kudos to Matas Petrikas +* Improved interactive select validation, now validating also on click (via option or select, inconsistent across browsers); doesn't work in Safari, which doesn't trigger a click event at all on select elements; fixes http://plugins.jquery.com/node/11520 +* Updated to latest form plugin (2.36), fixing http://plugins.jquery.com/node/11487 +* Bind to blur event for equalTo target to revalidate when that target changes, fixes http://plugins.jquery.com/node/11450 +* Simplified select validation, delegating to jQuery's val() method to get the select value; should fix http://plugins.jquery.com/node/11239 +* Fixed default message for digits (http://plugins.jquery.com/node/9853) +* Fixed issue with cached remote message (http://plugins.jquery.com/node/11029 and http://plugins.jquery.com/node/9351) +* Fixed a missing semicolon in additional-methods.js (http://plugins.jquery.com/node/9233) +* Added automatic detection of substitution parameters in messages, removing the need to provide format functions (http://plugins.jquery.com/node/11195) +* Fixed an issue with :filled/:blank somewhat caused by Sizzle (http://plugins.jquery.com/node/11144) +* Added an integer method to additional-methods.js (http://plugins.jquery.com/node/9612) +* Fixed errorsFor method where the for-attribute contains characters that need escaping to be valid inside a selector (http://plugins.jquery.com/node/9611) + +1.5.5 +--- +* Fix for http://plugins.jquery.com/node/8659 +* Fixed trailing comma in messages_cs.js + +1.5.4 +--- +* Fixed remote method bug (http://plugins.jquery.com/node/8658) + +1.5.3 +--- +* Fixed a bug related to the wrapper-option, where all ancestor-elements that matched the wrapper-option where selected (http://plugins.jquery.com/node/7624) +* Updated multipart demo to use latest jQuery UI accordion +* Added dateNL and time methods to additionalMethods.js +* Added Traditional Chinese (Taiwan, tw) and Kazakhstan (KK) localization +* Moved jQuery.format (formerly String.format) to jQuery.validator.format, jQuery.format is deprecated and will be removed in 1.6 (see http://code.google.com/p/jquery-utils/issues/detail?id=15 for details) +* Cleaned up messages_pl.js and messages_ptbr.js (still defined messages for max/min/rangeValue, which were removed in 1.4) +* Fixed flawed boolean logic in valid-plugin-method for multiple elements; now all elements need to be valid for a boolean-true result (http://plugins.jquery.com/node/8481) +* Enhancement $.validator.addMethod: An undefined third message-argument won't overwrite an existing message (http://plugins.jquery.com/node/8443) +* Enhancement to submitHandler option: When used, click events on submit buttons are captured and the submitting button is inserted into the form before calling submitHandler, and removed afterwards; keeps submit buttons intact (http://plugins.jquery.com/node/7183#comment-3585) +* Added option validClass, default "valid", which adds that class to all valid elements, after validation (http://dev.jquery.com/ticket/2205) +* Added creditcardtypes method to additionalMethods.js, including tests (via http://dev.jquery.com/ticket/3635) +* Improved remote method to allow serverside message as a string, or true for valid, or false for invalid using the clientside defined message (http://dev.jquery.com/ticket/3807) +* Improved accept method to also accept a Drupal-style comma-separated list of values (http://plugins.jquery.com/node/8580) + +1.5.2 +--- +* Fixed messages in additional-methods.js for maxWords, minWords, and rangeWords to include call to $.format +* Fixed value passed to methods to exclude carriage return (\r), same as jQuery's val() does +* Added slovak (sk) localization +* Added demo for integration with jQuery UI tabs +* Added selects-grouping example to tabs demo (see second tab, birthdate field) + +1.5.1 +--- +* Updated marketo demo to use invalidHandler option instead of binding invalid-form event +* Added TinyMCE integration example +* Added ukrainian (ua) localization +* Fixed length validation to work with trimmed value (regression from 1.5 where general trimming before validation was removed) +* Various small fixes for compatibility with both 1.2.6 and 1.3 + +1.5 +--- +* Improved basic demo, validating confirm-password field after password changed +* Fixed basic validation to pass the untrimmed input value as the first parameter to validation methods, changed required accordingly; breaks existing custom method that rely on the trimming +* Added norwegian (no), italian (it), hungarian (hu) and romanian (ro) localization +* Fixed #3195: Two flaws in swedish localization +* Fixed #3503: Extended rules("add") to accept messages property: use to specify add custom messages to an element via rules("add", { messages: { required: "Required! " } }); +* Fixed #3356: Regression from #2908 when using meta-option +* Fixed #3370: Added ignoreTitle option, set to skip reading messages from the title attribute, helps to avoid issues with Google Toolbar; default is false for compatibility +* Fixed #3516: Trigger invalid-form event even when remote validation is involved +* Added invalidHandler option as a shortcut to bind("invalid-form", function() {}) +* Fixed Safari issue for loading indicator in ajaxSubmit-integration-demo (append to body first, then hide) +* Added test for creditcard validation and improved default message +* Enhanced remote validation, accepting options to passthrough to $.ajax as parameter (either url string or options, including url property plus everything else that $.ajax supports) + +1.4 +--- +* Fixed #2931, validate elements in document order and ignore type=image inputs +* Fixed usage of $ and jQuery variables, now fully compatible with all variations of noConflict usage +* Implemented #2908, enabling custom messages via metadata ala class="{required:true,messages:{required:'required field'}}", added demo/custom-messages-metadata-demo.html +* Removed deprecated methods minValue (min), maxValue (max), rangeValue (rangevalue), minLength (minlength), maxLength (maxlength), rangeLength (rangelength) +* Fixed #2215 regression: Call unhighlight only for current elements, not everything +* Implemented #2989, enabling image button to cancel validation +* Fixed issue where IE incorrectly validates against maxlength=0 +* Added czech (cs) localization +* Reset validator.submitted on validator.resetForm(), enabling a full reset when necessary +* Fixed #3035, skipping all falsy attributes when reading rules (0, undefined, empty string), removed part of the maxlength workaround (for 0) +* Added dutch (nl) localization (#3201) + +1.3 +--- +* Fixed invalid-form event, now only triggered when form is invalid +* Added spanish (es), russian (ru), portuguese brazilian (ptbr), turkish (tr), and polish (pl) localization +* Added removeAttrs plugin to facilitate adding and removing multiple attributes +* Added groups option to display a single message for multiple elements, via groups: { arbitraryGroupName: "fieldName1 fieldName2[, fieldNameN" } +* Enhanced rules() for adding and removing (static) rules: rules("add", "method1[, methodN]"/{method1:param[, method_n:param]}) and rules("remove"[, "method1[, method_n]") +* Enhanced rules-option, accepts space-separated string-list of methods, eg. {birthdate: "required date"} +* Fixed checkbox group validation with inline rules: As long as the rules are specified on the first element, the group is now properly validated on click +* Fixed #2473, ignoring all rules with an explicit parameter of boolean-false, eg. required:false is the same as not specifying required at all (it was handled as required:true so far) +* Fixed #2424, with a modified patch from #2473: Methods returning a dependency-mismatch don't stop other rules from being evaluated anymore; still, success isn't applied for optional fields +* Fixed url and email validation to not use trimmed values +* Fixed creditcard validation to accept only digits and dashes ("asdf" is not a valid creditcard number) +* Allow both button and input elements for cancel buttons (via class="cancel") +* Fixed #2215: Fixed message display to call unhighlight as part of showing and hiding messages, no more visual side-effects while checking an element and extracted validator.checkForm to validate a form without UI sideeffects +* Rewrote custom selectors (:blank, :filled, :unchecked) with functions for compatibility with AIR + +1.2.1 +----- + +* Bundled delegate plugin with validate plugin - its always required anyway +* Improved remote validation to include parts from the ajaxQueue plugin for proper synchronization (no additional plugin necessary) +* Fixed stopRequest to prevent pendingRequest < 0 +* Added jQuery.validator.autoCreateRanges property, defaults to false, enable to convert min/max to range and minlength/maxlength to rangelength; this basically fixes the issue introduced by automatically creating ranges in 1.2 +* Fixed optional-methods to not highlight anything at all if the field is blank, that is, don't trigger success +* Allow false/null for highlight/unhighlight options instead of forcing a do-nothing-callback even when nothing needs to be highlighted +* Fixed validate() call with no elements selected, returning undefined instead of throwing an error +* Improved demo, replacing metadata with classes/attributes for specifying rules +* Fixed error when no custom message is used for remote validation +* Modified email and url validation to require domain label and top label +* Fixed url and email validation to require TLD (actually to require domain label); 1.2 version (TLD is optional) is moved to additions as url2 and email2 +* Fixed dynamic-totals demo in IE6/7 and improved templating, using textarea to store multiline template and string interpolation +* Added login form example with "Email password" link that makes the password field optional +* Enhanced dynamic-totals demo with an example of a single message for two fields + +1.2 +--- + +* Added AJAX-captcha validation example (based on http://psyrens.com/captcha/) +* Added remember-the-milk-demo (thanks RTM team for the permission!) +* Added marketo-demo (thanks Glen Lipka!) +* Added support for ajax-validation, see method "remote"; serverside returns JSON, true for valid elements, false or a String for invalid, String is used as message +* Added highlight and unhighlight options, by default toggles errorClass on element, allows custom highlighting +* Added valid() plugin method for easy programmatic checking of forms and fields without the need to use the validator API +* Added rules() plugin method to read and write rules for an element (currently read only) +* Replaced regex for email method, thanks to the contribution by Scott Gonzalez, see http://projects.scottsplayground.com/email_address_validation/ +* Restructured event architecture to rely solely on delegation, both improving performance, and ease-of-use for the developer (requires jquery.delegate.js) +* Moved documentation from inline to http://docs.jquery.com/Plugins/Validation - including interactive examples for all methods +* Removed validator.refresh(), validation is now completely dynamic +* Renamed minValue to min, maxValue to max and rangeValue to range, deprecating the previous names (to be removed in 1.3) +* Renamed minLength to minlength, maxLength to maxlength and rangeLength to rangelength, deprecating the previous names (to be removed in 1.3) +* Added feature to merge min + max into and range and minlength + maxlength into rangelength +* Added support for dynamic rule parameters, allowing to specify a function as a parameter eg. for minlength, called when validating the element +* Allow to specify null or an empty string as a message to display nothing (see marketo demo) +* Rules overhaul: Now supports combination of rules-option, metadata, classes (new) and attributes (new), see rules() for details + +1.1.2 +--- + +* Replaced regex for URL method, thanks to the contribution by Scott Gonzalez, see http://projects.scottsplayground.com/iri/ +* Improved email method to better handle unicode characters +* Fixed error container to hide when all elements are valid, not only on form submit +* Fixed String.format to jQuery.format (moving into jQuery namespace) +* Fixed accept method to accept both upper and lowercase extensions +* Fixed validate() plugin method to create only one validator instance for a given form and always return that one instance (avoids binding events multiple times) +* Changed debug-mode console log from "error" to "warn" level + +1.1.1 +----- + +* Fixed invalid XHTML, preventing error label creation in IE since jQuery 1.1.4 +* Fixed and improved String.format: Global search & replace, better handling of array arguments +* Fixed cancel-button handling to use validator-object for storing state instead of form element +* Fixed name selectors to handle "complex" names, eg. containing brackets ("list[]") +* Added button and disabled elements to exclude from validation +* Moved element event handlers to refresh to be able to add handlers to new elements +* Fixed email validation to allow long top level domains (eg. ".travel") +* Moved showErrors() from valid() to form() +* Added validator.size(): returns the number of current errors +* Call submitHandler with validator as scope for easier access of it's methods, eg. to find error labels using errorsFor(Element) +* Compatible with jQuery 1.1.x and 1.2.x + +1.1 +--- + +* Added validation on blur, keyup and click (for checkboxes and radiobutton). Replaces event-option. +* Fixed resetForm +* Fixed custom-methods-demo + +1.0 +--- + +* Improved number and numberDE methods to check for correct decimal numbers with delimiters +* Only elements that have rules are checked (otherwise success-option is applied to all elements) +* Added creditcard number method (thanks to Brian Klug) +* Added ignore-option, eg. ignore: "[@type=hidden]", using that expression to exclude elements to validate. Default: none, though submit and reset buttons are always ignored +* Heavily enhanced Functions-as-messages by providing a flexible String.format helper +* Accept Functions as messages, providing runtime-custom-messages +* Fixed exclusion of elements without rules from successList +* Fixed custom-method-demo, replaced the alert with message displaying the number of errors +* Fixed form-submit-prevention when using submitHandler +* Completely removed dependency on element IDs, though they are still used (when present) to link error labels to inputs. Achieved by using + an array with {name, message, element} instead of an object with id:message pairs for the internal errorList. +* Added support for specifying simple rules as simple strings, eg. "required" is equivalent to {required: true} +* Added feature: Add errorClass to invalid field�s parent element, making it easy to style the label/field container or the label for the field. +* Added feature: focusCleanup - If enabled, removes the errorClass from the invalid elements and hides all errors messages whenever the element is focused. +* Added success option to show the a field was validated successfully +* Fixed Opera select-issue (avoiding a attribute-collision) +* Fixed problems with focussing hidden elements in IE +* Added feature to skip validation for submit buttons with class "cancel" +* Fixed potential issues with Google Toolbar by preferring plugin option messages over title attribute +* submitHandler is only called when an actual submit event was handled, validator.form() returns false only for invalid forms +* Invalid elements are now focused only on submit or via validator.focusInvalid(), avoiding all trouble with focus-on-blur +* IE6 error container layout issue is solved +* Customize error element via errorElement option +* Added validator.refresh() to find new inputs in the form +* Added accept validation method, checks file extensions +* Improved dependency feature by adding two custom expressions: ":blank" to select elements with an empty value and �:filled� to select elements with a value, both excluding whitespace +* Added a resetForm() method to the validator: Resets each form element (using the form plugin, if available), removes classes on invalid elements and hides all error messages +* Fixed docs for validator.showErrors() +* Fixed error label creation to always use html() instead of text(), allowing arbitrary HTML passed in as messages +* Fixed error label creation to use specified error class +* Added dependency feature: The requires method accepts both String (jQuery expressions) and Functions as the argument +* Heavily improved customizing of error message display: Use normal messages and show/hide an additional container; Completely replace message display with own mechanism (while being able to delegate to the default handler; Customize placing of generated labels (instead of default below-element) +* Fixed two major bugs in IE (error containers) and Opera (metadata) +* Modified validation methods to accept empty fields as valid (exception: of course �required� and also �equalTo� methods) +* Renamed "min" to "minLength", "max" to "maxLength", "length" to "rangeLength" +* Added "minValue", "maxValue" and "rangeValue" +* Streamlined API for support of different events. The default, submit, can be disabled. If any event is specified, that is applied to each element (instead of the entire form). Combining keyup-validation with submit-validation is now extremely easy to setup +* Added support for one-message-per-rule when defining messages via plugin settings +* Added support to wrap metadata in some parent element. Useful when metadata is used for other plugins, too. +* Refactored tests and demos: Less files, better demos +* Improved documentation: More examples for methods, more reference texts explaining some basics diff --git a/testOauthClient/wwwroot/lib/jquery-validation/dist/additional-methods.js b/testOauthClient/wwwroot/lib/jquery-validation/dist/additional-methods.js new file mode 100644 index 00000000..df41fbd4 --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation/dist/additional-methods.js @@ -0,0 +1,998 @@ +/*! + * jQuery Validation Plugin v1.14.0 + * + * http://jqueryvalidation.org/ + * + * Copyright (c) 2015 Jörn Zaefferer + * Released under the MIT license + */ +(function( factory ) { + if ( typeof define === "function" && define.amd ) { + define( ["jquery", "./jquery.validate"], factory ); + } else { + factory( jQuery ); + } +}(function( $ ) { + +(function() { + + function stripHtml(value) { + // remove html tags and space chars + return value.replace(/<.[^<>]*?>/g, " ").replace(/ | /gi, " ") + // remove punctuation + .replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g, ""); + } + + $.validator.addMethod("maxWords", function(value, element, params) { + return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length <= params; + }, $.validator.format("Please enter {0} words or less.")); + + $.validator.addMethod("minWords", function(value, element, params) { + return this.optional(element) || stripHtml(value).match(/\b\w+\b/g).length >= params; + }, $.validator.format("Please enter at least {0} words.")); + + $.validator.addMethod("rangeWords", function(value, element, params) { + var valueStripped = stripHtml(value), + regex = /\b\w+\b/g; + return this.optional(element) || valueStripped.match(regex).length >= params[0] && valueStripped.match(regex).length <= params[1]; + }, $.validator.format("Please enter between {0} and {1} words.")); + +}()); + +// Accept a value from a file input based on a required mimetype +$.validator.addMethod("accept", function(value, element, param) { + // Split mime on commas in case we have multiple types we can accept + var typeParam = typeof param === "string" ? param.replace(/\s/g, "").replace(/,/g, "|") : "image/*", + optionalValue = this.optional(element), + i, file; + + // Element is optional + if (optionalValue) { + return optionalValue; + } + + if ($(element).attr("type") === "file") { + // If we are using a wildcard, make it regex friendly + typeParam = typeParam.replace(/\*/g, ".*"); + + // Check if the element has a FileList before checking each file + if (element.files && element.files.length) { + for (i = 0; i < element.files.length; i++) { + file = element.files[i]; + + // Grab the mimetype from the loaded file, verify it matches + if (!file.type.match(new RegExp( "\\.?(" + typeParam + ")$", "i"))) { + return false; + } + } + } + } + + // Either return true because we've validated each file, or because the + // browser does not support element.files and the FileList feature + return true; +}, $.validator.format("Please enter a value with a valid mimetype.")); + +$.validator.addMethod("alphanumeric", function(value, element) { + return this.optional(element) || /^\w+$/i.test(value); +}, "Letters, numbers, and underscores only please"); + +/* + * Dutch bank account numbers (not 'giro' numbers) have 9 digits + * and pass the '11 check'. + * We accept the notation with spaces, as that is common. + * acceptable: 123456789 or 12 34 56 789 + */ +$.validator.addMethod("bankaccountNL", function(value, element) { + if (this.optional(element)) { + return true; + } + if (!(/^[0-9]{9}|([0-9]{2} ){3}[0-9]{3}$/.test(value))) { + return false; + } + // now '11 check' + var account = value.replace(/ /g, ""), // remove spaces + sum = 0, + len = account.length, + pos, factor, digit; + for ( pos = 0; pos < len; pos++ ) { + factor = len - pos; + digit = account.substring(pos, pos + 1); + sum = sum + factor * digit; + } + return sum % 11 === 0; +}, "Please specify a valid bank account number"); + +$.validator.addMethod("bankorgiroaccountNL", function(value, element) { + return this.optional(element) || + ($.validator.methods.bankaccountNL.call(this, value, element)) || + ($.validator.methods.giroaccountNL.call(this, value, element)); +}, "Please specify a valid bank or giro account number"); + +/** + * BIC is the business identifier code (ISO 9362). This BIC check is not a guarantee for authenticity. + * + * BIC pattern: BBBBCCLLbbb (8 or 11 characters long; bbb is optional) + * + * BIC definition in detail: + * - First 4 characters - bank code (only letters) + * - Next 2 characters - ISO 3166-1 alpha-2 country code (only letters) + * - Next 2 characters - location code (letters and digits) + * a. shall not start with '0' or '1' + * b. second character must be a letter ('O' is not allowed) or one of the following digits ('0' for test (therefore not allowed), '1' for passive participant and '2' for active participant) + * - Last 3 characters - branch code, optional (shall not start with 'X' except in case of 'XXX' for primary office) (letters and digits) + */ +$.validator.addMethod("bic", function(value, element) { + return this.optional( element ) || /^([A-Z]{6}[A-Z2-9][A-NP-Z1-2])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test( value ); +}, "Please specify a valid BIC code"); + +/* + * Código de identificación fiscal ( CIF ) is the tax identification code for Spanish legal entities + * Further rules can be found in Spanish on http://es.wikipedia.org/wiki/C%C3%B3digo_de_identificaci%C3%B3n_fiscal + */ +$.validator.addMethod( "cifES", function( value ) { + "use strict"; + + var num = [], + controlDigit, sum, i, count, tmp, secondDigit; + + value = value.toUpperCase(); + + // Quick format test + if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { + return false; + } + + for ( i = 0; i < 9; i++ ) { + num[ i ] = parseInt( value.charAt( i ), 10 ); + } + + // Algorithm for checking CIF codes + sum = num[ 2 ] + num[ 4 ] + num[ 6 ]; + for ( count = 1; count < 8; count += 2 ) { + tmp = ( 2 * num[ count ] ).toString(); + secondDigit = tmp.charAt( 1 ); + + sum += parseInt( tmp.charAt( 0 ), 10 ) + ( secondDigit === "" ? 0 : parseInt( secondDigit, 10 ) ); + } + + /* The first (position 1) is a letter following the following criteria: + * A. Corporations + * B. LLCs + * C. General partnerships + * D. Companies limited partnerships + * E. Communities of goods + * F. Cooperative Societies + * G. Associations + * H. Communities of homeowners in horizontal property regime + * J. Civil Societies + * K. Old format + * L. Old format + * M. Old format + * N. Nonresident entities + * P. Local authorities + * Q. Autonomous bodies, state or not, and the like, and congregations and religious institutions + * R. Congregations and religious institutions (since 2008 ORDER EHA/451/2008) + * S. Organs of State Administration and regions + * V. Agrarian Transformation + * W. Permanent establishments of non-resident in Spain + */ + if ( /^[ABCDEFGHJNPQRSUVW]{1}/.test( value ) ) { + sum += ""; + controlDigit = 10 - parseInt( sum.charAt( sum.length - 1 ), 10 ); + value += controlDigit; + return ( num[ 8 ].toString() === String.fromCharCode( 64 + controlDigit ) || num[ 8 ].toString() === value.charAt( value.length - 1 ) ); + } + + return false; + +}, "Please specify a valid CIF number." ); + +/* + * Brazillian CPF number (Cadastrado de Pessoas Físicas) is the equivalent of a Brazilian tax registration number. + * CPF numbers have 11 digits in total: 9 numbers followed by 2 check numbers that are being used for validation. + */ +$.validator.addMethod("cpfBR", function(value) { + // Removing special characters from value + value = value.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g, ""); + + // Checking value to have 11 digits only + if (value.length !== 11) { + return false; + } + + var sum = 0, + firstCN, secondCN, checkResult, i; + + firstCN = parseInt(value.substring(9, 10), 10); + secondCN = parseInt(value.substring(10, 11), 10); + + checkResult = function(sum, cn) { + var result = (sum * 10) % 11; + if ((result === 10) || (result === 11)) {result = 0;} + return (result === cn); + }; + + // Checking for dump data + if (value === "" || + value === "00000000000" || + value === "11111111111" || + value === "22222222222" || + value === "33333333333" || + value === "44444444444" || + value === "55555555555" || + value === "66666666666" || + value === "77777777777" || + value === "88888888888" || + value === "99999999999" + ) { + return false; + } + + // Step 1 - using first Check Number: + for ( i = 1; i <= 9; i++ ) { + sum = sum + parseInt(value.substring(i - 1, i), 10) * (11 - i); + } + + // If first Check Number (CN) is valid, move to Step 2 - using second Check Number: + if ( checkResult(sum, firstCN) ) { + sum = 0; + for ( i = 1; i <= 10; i++ ) { + sum = sum + parseInt(value.substring(i - 1, i), 10) * (12 - i); + } + return checkResult(sum, secondCN); + } + return false; + +}, "Please specify a valid CPF number"); + +/* NOTICE: Modified version of Castle.Components.Validator.CreditCardValidator + * Redistributed under the the Apache License 2.0 at http://www.apache.org/licenses/LICENSE-2.0 + * Valid Types: mastercard, visa, amex, dinersclub, enroute, discover, jcb, unknown, all (overrides all other settings) + */ +$.validator.addMethod("creditcardtypes", function(value, element, param) { + if (/[^0-9\-]+/.test(value)) { + return false; + } + + value = value.replace(/\D/g, ""); + + var validTypes = 0x0000; + + if (param.mastercard) { + validTypes |= 0x0001; + } + if (param.visa) { + validTypes |= 0x0002; + } + if (param.amex) { + validTypes |= 0x0004; + } + if (param.dinersclub) { + validTypes |= 0x0008; + } + if (param.enroute) { + validTypes |= 0x0010; + } + if (param.discover) { + validTypes |= 0x0020; + } + if (param.jcb) { + validTypes |= 0x0040; + } + if (param.unknown) { + validTypes |= 0x0080; + } + if (param.all) { + validTypes = 0x0001 | 0x0002 | 0x0004 | 0x0008 | 0x0010 | 0x0020 | 0x0040 | 0x0080; + } + if (validTypes & 0x0001 && /^(5[12345])/.test(value)) { //mastercard + return value.length === 16; + } + if (validTypes & 0x0002 && /^(4)/.test(value)) { //visa + return value.length === 16; + } + if (validTypes & 0x0004 && /^(3[47])/.test(value)) { //amex + return value.length === 15; + } + if (validTypes & 0x0008 && /^(3(0[012345]|[68]))/.test(value)) { //dinersclub + return value.length === 14; + } + if (validTypes & 0x0010 && /^(2(014|149))/.test(value)) { //enroute + return value.length === 15; + } + if (validTypes & 0x0020 && /^(6011)/.test(value)) { //discover + return value.length === 16; + } + if (validTypes & 0x0040 && /^(3)/.test(value)) { //jcb + return value.length === 16; + } + if (validTypes & 0x0040 && /^(2131|1800)/.test(value)) { //jcb + return value.length === 15; + } + if (validTypes & 0x0080) { //unknown + return true; + } + return false; +}, "Please enter a valid credit card number."); + +/** + * Validates currencies with any given symbols by @jameslouiz + * Symbols can be optional or required. Symbols required by default + * + * Usage examples: + * currency: ["£", false] - Use false for soft currency validation + * currency: ["$", false] + * currency: ["RM", false] - also works with text based symbols such as "RM" - Malaysia Ringgit etc + * + * + * + * Soft symbol checking + * currencyInput: { + * currency: ["$", false] + * } + * + * Strict symbol checking (default) + * currencyInput: { + * currency: "$" + * //OR + * currency: ["$", true] + * } + * + * Multiple Symbols + * currencyInput: { + * currency: "$,£,¢" + * } + */ +$.validator.addMethod("currency", function(value, element, param) { + var isParamString = typeof param === "string", + symbol = isParamString ? param : param[0], + soft = isParamString ? true : param[1], + regex; + + symbol = symbol.replace(/,/g, ""); + symbol = soft ? symbol + "]" : symbol + "]?"; + regex = "^[" + symbol + "([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$"; + regex = new RegExp(regex); + return this.optional(element) || regex.test(value); + +}, "Please specify a valid currency"); + +$.validator.addMethod("dateFA", function(value, element) { + return this.optional(element) || /^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(value); +}, $.validator.messages.date); + +/** + * Return true, if the value is a valid date, also making this formal check dd/mm/yyyy. + * + * @example $.validator.methods.date("01/01/1900") + * @result true + * + * @example $.validator.methods.date("01/13/1990") + * @result false + * + * @example $.validator.methods.date("01.01.1900") + * @result false + * + * @example + * @desc Declares an optional input element whose value must be a valid date. + * + * @name $.validator.methods.dateITA + * @type Boolean + * @cat Plugins/Validate/Methods + */ +$.validator.addMethod("dateITA", function(value, element) { + var check = false, + re = /^\d{1,2}\/\d{1,2}\/\d{4}$/, + adata, gg, mm, aaaa, xdata; + if ( re.test(value)) { + adata = value.split("/"); + gg = parseInt(adata[0], 10); + mm = parseInt(adata[1], 10); + aaaa = parseInt(adata[2], 10); + xdata = new Date(Date.UTC(aaaa, mm - 1, gg, 12, 0, 0, 0)); + if ( ( xdata.getUTCFullYear() === aaaa ) && ( xdata.getUTCMonth () === mm - 1 ) && ( xdata.getUTCDate() === gg ) ) { + check = true; + } else { + check = false; + } + } else { + check = false; + } + return this.optional(element) || check; +}, $.validator.messages.date); + +$.validator.addMethod("dateNL", function(value, element) { + return this.optional(element) || /^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(value); +}, $.validator.messages.date); + +// Older "accept" file extension method. Old docs: http://docs.jquery.com/Plugins/Validation/Methods/accept +$.validator.addMethod("extension", function(value, element, param) { + param = typeof param === "string" ? param.replace(/,/g, "|") : "png|jpe?g|gif"; + return this.optional(element) || value.match(new RegExp("\\.(" + param + ")$", "i")); +}, $.validator.format("Please enter a value with a valid extension.")); + +/** + * Dutch giro account numbers (not bank numbers) have max 7 digits + */ +$.validator.addMethod("giroaccountNL", function(value, element) { + return this.optional(element) || /^[0-9]{1,7}$/.test(value); +}, "Please specify a valid giro account number"); + +/** + * IBAN is the international bank account number. + * It has a country - specific format, that is checked here too + */ +$.validator.addMethod("iban", function(value, element) { + // some quick simple tests to prevent needless work + if (this.optional(element)) { + return true; + } + + // remove spaces and to upper case + var iban = value.replace(/ /g, "").toUpperCase(), + ibancheckdigits = "", + leadingZeroes = true, + cRest = "", + cOperator = "", + countrycode, ibancheck, charAt, cChar, bbanpattern, bbancountrypatterns, ibanregexp, i, p; + + // check the country code and find the country specific format + countrycode = iban.substring(0, 2); + bbancountrypatterns = { + "AL": "\\d{8}[\\dA-Z]{16}", + "AD": "\\d{8}[\\dA-Z]{12}", + "AT": "\\d{16}", + "AZ": "[\\dA-Z]{4}\\d{20}", + "BE": "\\d{12}", + "BH": "[A-Z]{4}[\\dA-Z]{14}", + "BA": "\\d{16}", + "BR": "\\d{23}[A-Z][\\dA-Z]", + "BG": "[A-Z]{4}\\d{6}[\\dA-Z]{8}", + "CR": "\\d{17}", + "HR": "\\d{17}", + "CY": "\\d{8}[\\dA-Z]{16}", + "CZ": "\\d{20}", + "DK": "\\d{14}", + "DO": "[A-Z]{4}\\d{20}", + "EE": "\\d{16}", + "FO": "\\d{14}", + "FI": "\\d{14}", + "FR": "\\d{10}[\\dA-Z]{11}\\d{2}", + "GE": "[\\dA-Z]{2}\\d{16}", + "DE": "\\d{18}", + "GI": "[A-Z]{4}[\\dA-Z]{15}", + "GR": "\\d{7}[\\dA-Z]{16}", + "GL": "\\d{14}", + "GT": "[\\dA-Z]{4}[\\dA-Z]{20}", + "HU": "\\d{24}", + "IS": "\\d{22}", + "IE": "[\\dA-Z]{4}\\d{14}", + "IL": "\\d{19}", + "IT": "[A-Z]\\d{10}[\\dA-Z]{12}", + "KZ": "\\d{3}[\\dA-Z]{13}", + "KW": "[A-Z]{4}[\\dA-Z]{22}", + "LV": "[A-Z]{4}[\\dA-Z]{13}", + "LB": "\\d{4}[\\dA-Z]{20}", + "LI": "\\d{5}[\\dA-Z]{12}", + "LT": "\\d{16}", + "LU": "\\d{3}[\\dA-Z]{13}", + "MK": "\\d{3}[\\dA-Z]{10}\\d{2}", + "MT": "[A-Z]{4}\\d{5}[\\dA-Z]{18}", + "MR": "\\d{23}", + "MU": "[A-Z]{4}\\d{19}[A-Z]{3}", + "MC": "\\d{10}[\\dA-Z]{11}\\d{2}", + "MD": "[\\dA-Z]{2}\\d{18}", + "ME": "\\d{18}", + "NL": "[A-Z]{4}\\d{10}", + "NO": "\\d{11}", + "PK": "[\\dA-Z]{4}\\d{16}", + "PS": "[\\dA-Z]{4}\\d{21}", + "PL": "\\d{24}", + "PT": "\\d{21}", + "RO": "[A-Z]{4}[\\dA-Z]{16}", + "SM": "[A-Z]\\d{10}[\\dA-Z]{12}", + "SA": "\\d{2}[\\dA-Z]{18}", + "RS": "\\d{18}", + "SK": "\\d{20}", + "SI": "\\d{15}", + "ES": "\\d{20}", + "SE": "\\d{20}", + "CH": "\\d{5}[\\dA-Z]{12}", + "TN": "\\d{20}", + "TR": "\\d{5}[\\dA-Z]{17}", + "AE": "\\d{3}\\d{16}", + "GB": "[A-Z]{4}\\d{14}", + "VG": "[\\dA-Z]{4}\\d{16}" + }; + + bbanpattern = bbancountrypatterns[countrycode]; + // As new countries will start using IBAN in the + // future, we only check if the countrycode is known. + // This prevents false negatives, while almost all + // false positives introduced by this, will be caught + // by the checksum validation below anyway. + // Strict checking should return FALSE for unknown + // countries. + if (typeof bbanpattern !== "undefined") { + ibanregexp = new RegExp("^[A-Z]{2}\\d{2}" + bbanpattern + "$", ""); + if (!(ibanregexp.test(iban))) { + return false; // invalid country specific format + } + } + + // now check the checksum, first convert to digits + ibancheck = iban.substring(4, iban.length) + iban.substring(0, 4); + for (i = 0; i < ibancheck.length; i++) { + charAt = ibancheck.charAt(i); + if (charAt !== "0") { + leadingZeroes = false; + } + if (!leadingZeroes) { + ibancheckdigits += "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(charAt); + } + } + + // calculate the result of: ibancheckdigits % 97 + for (p = 0; p < ibancheckdigits.length; p++) { + cChar = ibancheckdigits.charAt(p); + cOperator = "" + cRest + "" + cChar; + cRest = cOperator % 97; + } + return cRest === 1; +}, "Please specify a valid IBAN"); + +$.validator.addMethod("integer", function(value, element) { + return this.optional(element) || /^-?\d+$/.test(value); +}, "A positive or negative non-decimal number please"); + +$.validator.addMethod("ipv4", function(value, element) { + return this.optional(element) || /^(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)\.(25[0-5]|2[0-4]\d|[01]?\d\d?)$/i.test(value); +}, "Please enter a valid IP v4 address."); + +$.validator.addMethod("ipv6", function(value, element) { + return this.optional(element) || /^((([0-9A-Fa-f]{1,4}:){7}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}:[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){5}:([0-9A-Fa-f]{1,4}:)?[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){4}:([0-9A-Fa-f]{1,4}:){0,2}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){3}:([0-9A-Fa-f]{1,4}:){0,3}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){2}:([0-9A-Fa-f]{1,4}:){0,4}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){6}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(([0-9A-Fa-f]{1,4}:){0,5}:((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|(::([0-9A-Fa-f]{1,4}:){0,5}((\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b)\.){3}(\b((25[0-5])|(1\d{2})|(2[0-4]\d)|(\d{1,2}))\b))|([0-9A-Fa-f]{1,4}::([0-9A-Fa-f]{1,4}:){0,5}[0-9A-Fa-f]{1,4})|(::([0-9A-Fa-f]{1,4}:){0,6}[0-9A-Fa-f]{1,4})|(([0-9A-Fa-f]{1,4}:){1,7}:))$/i.test(value); +}, "Please enter a valid IP v6 address."); + +$.validator.addMethod("lettersonly", function(value, element) { + return this.optional(element) || /^[a-z]+$/i.test(value); +}, "Letters only please"); + +$.validator.addMethod("letterswithbasicpunc", function(value, element) { + return this.optional(element) || /^[a-z\-.,()'"\s]+$/i.test(value); +}, "Letters or punctuation only please"); + +$.validator.addMethod("mobileNL", function(value, element) { + return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)6((\s|\s?\-\s?)?[0-9]){8}$/.test(value); +}, "Please specify a valid mobile number"); + +/* For UK phone functions, do the following server side processing: + * Compare original input with this RegEx pattern: + * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ + * Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' + * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. + * A number of very detailed GB telephone number RegEx patterns can also be found at: + * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers + */ +$.validator.addMethod("mobileUK", function(phone_number, element) { + phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); + return this.optional(element) || phone_number.length > 9 && + phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/); +}, "Please specify a valid mobile number"); + +/* + * The número de identidad de extranjero ( NIE )is a code used to identify the non-nationals in Spain + */ +$.validator.addMethod( "nieES", function( value ) { + "use strict"; + + value = value.toUpperCase(); + + // Basic format test + if ( !value.match( "((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)" ) ) { + return false; + } + + // Test NIE + //T + if ( /^[T]{1}/.test( value ) ) { + return ( value[ 8 ] === /^[T]{1}[A-Z0-9]{8}$/.test( value ) ); + } + + //XYZ + if ( /^[XYZ]{1}/.test( value ) ) { + return ( + value[ 8 ] === "TRWAGMYFPDXBNJZSQVHLCKE".charAt( + value.replace( "X", "0" ) + .replace( "Y", "1" ) + .replace( "Z", "2" ) + .substring( 0, 8 ) % 23 + ) + ); + } + + return false; + +}, "Please specify a valid NIE number." ); + +/* + * The Número de Identificación Fiscal ( NIF ) is the way tax identification used in Spain for individuals + */ +$.validator.addMethod( "nifES", function( value ) { + "use strict"; + + value = value.toUpperCase(); + + // Basic format test + if ( !value.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)") ) { + return false; + } + + // Test NIF + if ( /^[0-9]{8}[A-Z]{1}$/.test( value ) ) { + return ( "TRWAGMYFPDXBNJZSQVHLCKE".charAt( value.substring( 8, 0 ) % 23 ) === value.charAt( 8 ) ); + } + // Test specials NIF (starts with K, L or M) + if ( /^[KLM]{1}/.test( value ) ) { + return ( value[ 8 ] === String.fromCharCode( 64 ) ); + } + + return false; + +}, "Please specify a valid NIF number." ); + +jQuery.validator.addMethod( "notEqualTo", function( value, element, param ) { + return this.optional(element) || !$.validator.methods.equalTo.call( this, value, element, param ); +}, "Please enter a different value, values must not be the same." ); + +$.validator.addMethod("nowhitespace", function(value, element) { + return this.optional(element) || /^\S+$/i.test(value); +}, "No white space please"); + +/** +* Return true if the field value matches the given format RegExp +* +* @example $.validator.methods.pattern("AR1004",element,/^AR\d{4}$/) +* @result true +* +* @example $.validator.methods.pattern("BR1004",element,/^AR\d{4}$/) +* @result false +* +* @name $.validator.methods.pattern +* @type Boolean +* @cat Plugins/Validate/Methods +*/ +$.validator.addMethod("pattern", function(value, element, param) { + if (this.optional(element)) { + return true; + } + if (typeof param === "string") { + param = new RegExp("^(?:" + param + ")$"); + } + return param.test(value); +}, "Invalid format."); + +/** + * Dutch phone numbers have 10 digits (or 11 and start with +31). + */ +$.validator.addMethod("phoneNL", function(value, element) { + return this.optional(element) || /^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(value); +}, "Please specify a valid phone number."); + +/* For UK phone functions, do the following server side processing: + * Compare original input with this RegEx pattern: + * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ + * Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' + * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. + * A number of very detailed GB telephone number RegEx patterns can also be found at: + * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers + */ +$.validator.addMethod("phoneUK", function(phone_number, element) { + phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); + return this.optional(element) || phone_number.length > 9 && + phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/); +}, "Please specify a valid phone number"); + +/** + * matches US phone number format + * + * where the area code may not start with 1 and the prefix may not start with 1 + * allows '-' or ' ' as a separator and allows parens around area code + * some people may want to put a '1' in front of their number + * + * 1(212)-999-2345 or + * 212 999 2344 or + * 212-999-0983 + * + * but not + * 111-123-5434 + * and not + * 212 123 4567 + */ +$.validator.addMethod("phoneUS", function(phone_number, element) { + phone_number = phone_number.replace(/\s+/g, ""); + return this.optional(element) || phone_number.length > 9 && + phone_number.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/); +}, "Please specify a valid phone number"); + +/* For UK phone functions, do the following server side processing: + * Compare original input with this RegEx pattern: + * ^\(?(?:(?:00\)?[\s\-]?\(?|\+)(44)\)?[\s\-]?\(?(?:0\)?[\s\-]?\(?)?|0)([1-9]\d{1,4}\)?[\s\d\-]+)$ + * Extract $1 and set $prefix to '+44' if $1 is '44', otherwise set $prefix to '0' + * Extract $2 and remove hyphens, spaces and parentheses. Phone number is combined $prefix and $2. + * A number of very detailed GB telephone number RegEx patterns can also be found at: + * http://www.aa-asterisk.org.uk/index.php/Regular_Expressions_for_Validating_and_Formatting_GB_Telephone_Numbers + */ +//Matches UK landline + mobile, accepting only 01-3 for landline or 07 for mobile to exclude many premium numbers +$.validator.addMethod("phonesUK", function(phone_number, element) { + phone_number = phone_number.replace(/\(|\)|\s+|-/g, ""); + return this.optional(element) || phone_number.length > 9 && + phone_number.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/); +}, "Please specify a valid uk phone number"); + +/** + * Matches a valid Canadian Postal Code + * + * @example jQuery.validator.methods.postalCodeCA( "H0H 0H0", element ) + * @result true + * + * @example jQuery.validator.methods.postalCodeCA( "H0H0H0", element ) + * @result false + * + * @name jQuery.validator.methods.postalCodeCA + * @type Boolean + * @cat Plugins/Validate/Methods + */ +$.validator.addMethod( "postalCodeCA", function( value, element ) { + return this.optional( element ) || /^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test( value ); +}, "Please specify a valid postal code" ); + +/* +* Valida CEPs do brasileiros: +* +* Formatos aceitos: +* 99999-999 +* 99.999-999 +* 99999999 +*/ +$.validator.addMethod("postalcodeBR", function(cep_value, element) { + return this.optional(element) || /^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test( cep_value ); +}, "Informe um CEP válido."); + +/* Matches Italian postcode (CAP) */ +$.validator.addMethod("postalcodeIT", function(value, element) { + return this.optional(element) || /^\d{5}$/.test(value); +}, "Please specify a valid postal code"); + +$.validator.addMethod("postalcodeNL", function(value, element) { + return this.optional(element) || /^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(value); +}, "Please specify a valid postal code"); + +// Matches UK postcode. Does not match to UK Channel Islands that have their own postcodes (non standard UK) +$.validator.addMethod("postcodeUK", function(value, element) { + return this.optional(element) || /^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(value); +}, "Please specify a valid UK postcode"); + +/* + * Lets you say "at least X inputs that match selector Y must be filled." + * + * The end result is that neither of these inputs: + * + * + * + * + * ...will validate unless at least one of them is filled. + * + * partnumber: {require_from_group: [1,".productinfo"]}, + * description: {require_from_group: [1,".productinfo"]} + * + * options[0]: number of fields that must be filled in the group + * options[1]: CSS selector that defines the group of conditionally required fields + */ +$.validator.addMethod("require_from_group", function(value, element, options) { + var $fields = $(options[1], element.form), + $fieldsFirst = $fields.eq(0), + validator = $fieldsFirst.data("valid_req_grp") ? $fieldsFirst.data("valid_req_grp") : $.extend({}, this), + isValid = $fields.filter(function() { + return validator.elementValue(this); + }).length >= options[0]; + + // Store the cloned validator for future validation + $fieldsFirst.data("valid_req_grp", validator); + + // If element isn't being validated, run each require_from_group field's validation rules + if (!$(element).data("being_validated")) { + $fields.data("being_validated", true); + $fields.each(function() { + validator.element(this); + }); + $fields.data("being_validated", false); + } + return isValid; +}, $.validator.format("Please fill at least {0} of these fields.")); + +/* + * Lets you say "either at least X inputs that match selector Y must be filled, + * OR they must all be skipped (left blank)." + * + * The end result, is that none of these inputs: + * + * + * + * + * + * ...will validate unless either at least two of them are filled, + * OR none of them are. + * + * partnumber: {skip_or_fill_minimum: [2,".productinfo"]}, + * description: {skip_or_fill_minimum: [2,".productinfo"]}, + * color: {skip_or_fill_minimum: [2,".productinfo"]} + * + * options[0]: number of fields that must be filled in the group + * options[1]: CSS selector that defines the group of conditionally required fields + * + */ +$.validator.addMethod("skip_or_fill_minimum", function(value, element, options) { + var $fields = $(options[1], element.form), + $fieldsFirst = $fields.eq(0), + validator = $fieldsFirst.data("valid_skip") ? $fieldsFirst.data("valid_skip") : $.extend({}, this), + numberFilled = $fields.filter(function() { + return validator.elementValue(this); + }).length, + isValid = numberFilled === 0 || numberFilled >= options[0]; + + // Store the cloned validator for future validation + $fieldsFirst.data("valid_skip", validator); + + // If element isn't being validated, run each skip_or_fill_minimum field's validation rules + if (!$(element).data("being_validated")) { + $fields.data("being_validated", true); + $fields.each(function() { + validator.element(this); + }); + $fields.data("being_validated", false); + } + return isValid; +}, $.validator.format("Please either skip these fields or fill at least {0} of them.")); + +/* Validates US States and/or Territories by @jdforsythe + * Can be case insensitive or require capitalization - default is case insensitive + * Can include US Territories or not - default does not + * Can include US Military postal abbreviations (AA, AE, AP) - default does not + * + * Note: "States" always includes DC (District of Colombia) + * + * Usage examples: + * + * This is the default - case insensitive, no territories, no military zones + * stateInput: { + * caseSensitive: false, + * includeTerritories: false, + * includeMilitary: false + * } + * + * Only allow capital letters, no territories, no military zones + * stateInput: { + * caseSensitive: false + * } + * + * Case insensitive, include territories but not military zones + * stateInput: { + * includeTerritories: true + * } + * + * Only allow capital letters, include territories and military zones + * stateInput: { + * caseSensitive: true, + * includeTerritories: true, + * includeMilitary: true + * } + * + * + * + */ + +$.validator.addMethod("stateUS", function(value, element, options) { + var isDefault = typeof options === "undefined", + caseSensitive = ( isDefault || typeof options.caseSensitive === "undefined" ) ? false : options.caseSensitive, + includeTerritories = ( isDefault || typeof options.includeTerritories === "undefined" ) ? false : options.includeTerritories, + includeMilitary = ( isDefault || typeof options.includeMilitary === "undefined" ) ? false : options.includeMilitary, + regex; + + if (!includeTerritories && !includeMilitary) { + regex = "^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$"; + } else if (includeTerritories && includeMilitary) { + regex = "^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$"; + } else if (includeTerritories) { + regex = "^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$"; + } else { + regex = "^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$"; + } + + regex = caseSensitive ? new RegExp(regex) : new RegExp(regex, "i"); + return this.optional(element) || regex.test(value); +}, +"Please specify a valid state"); + +// TODO check if value starts with <, otherwise don't try stripping anything +$.validator.addMethod("strippedminlength", function(value, element, param) { + return $(value).text().length >= param; +}, $.validator.format("Please enter at least {0} characters")); + +$.validator.addMethod("time", function(value, element) { + return this.optional(element) || /^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(value); +}, "Please enter a valid time, between 00:00 and 23:59"); + +$.validator.addMethod("time12h", function(value, element) { + return this.optional(element) || /^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(value); +}, "Please enter a valid time in 12-hour am/pm format"); + +// same as url, but TLD is optional +$.validator.addMethod("url2", function(value, element) { + return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); +}, $.validator.messages.url); + +/** + * Return true, if the value is a valid vehicle identification number (VIN). + * + * Works with all kind of text inputs. + * + * @example + * @desc Declares a required input element whose value must be a valid vehicle identification number. + * + * @name $.validator.methods.vinUS + * @type Boolean + * @cat Plugins/Validate/Methods + */ +$.validator.addMethod("vinUS", function(v) { + if (v.length !== 17) { + return false; + } + + var LL = [ "A", "B", "C", "D", "E", "F", "G", "H", "J", "K", "L", "M", "N", "P", "R", "S", "T", "U", "V", "W", "X", "Y", "Z" ], + VL = [ 1, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, 4, 5, 7, 9, 2, 3, 4, 5, 6, 7, 8, 9 ], + FL = [ 8, 7, 6, 5, 4, 3, 2, 10, 0, 9, 8, 7, 6, 5, 4, 3, 2 ], + rs = 0, + i, n, d, f, cd, cdv; + + for (i = 0; i < 17; i++) { + f = FL[i]; + d = v.slice(i, i + 1); + if (i === 8) { + cdv = d; + } + if (!isNaN(d)) { + d *= f; + } else { + for (n = 0; n < LL.length; n++) { + if (d.toUpperCase() === LL[n]) { + d = VL[n]; + d *= f; + if (isNaN(cdv) && n === 8) { + cdv = LL[n]; + } + break; + } + } + } + rs += d; + } + cd = rs % 11; + if (cd === 10) { + cd = "X"; + } + if (cd === cdv) { + return true; + } + return false; +}, "The specified vehicle identification number (VIN) is invalid."); + +$.validator.addMethod("zipcodeUS", function(value, element) { + return this.optional(element) || /^\d{5}(-\d{4})?$/.test(value); +}, "The specified US ZIP Code is invalid"); + +$.validator.addMethod("ziprange", function(value, element) { + return this.optional(element) || /^90[2-5]\d\{2\}-\d{4}$/.test(value); +}, "Your ZIP-code must be in the range 902xx-xxxx to 905xx-xxxx"); + +})); \ No newline at end of file diff --git a/testOauthClient/wwwroot/lib/jquery-validation/dist/additional-methods.min.js b/testOauthClient/wwwroot/lib/jquery-validation/dist/additional-methods.min.js new file mode 100644 index 00000000..b63c3ca1 --- /dev/null +++ b/testOauthClient/wwwroot/lib/jquery-validation/dist/additional-methods.min.js @@ -0,0 +1,4 @@ +/*! jQuery Validation Plugin - v1.14.0 - 6/30/2015 + * http://jqueryvalidation.org/ + * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */ +!function(a){"function"==typeof define&&define.amd?define(["jquery","./jquery.validate.min"],a):a(jQuery)}(function(a){!function(){function b(a){return a.replace(/<.[^<>]*?>/g," ").replace(/ | /gi," ").replace(/[.(),;:!?%#$'\"_+=\/\-“”’]*/g,"")}a.validator.addMethod("maxWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length<=d},a.validator.format("Please enter {0} words or less.")),a.validator.addMethod("minWords",function(a,c,d){return this.optional(c)||b(a).match(/\b\w+\b/g).length>=d},a.validator.format("Please enter at least {0} words.")),a.validator.addMethod("rangeWords",function(a,c,d){var e=b(a),f=/\b\w+\b/g;return this.optional(c)||e.match(f).length>=d[0]&&e.match(f).length<=d[1]},a.validator.format("Please enter between {0} and {1} words."))}(),a.validator.addMethod("accept",function(b,c,d){var e,f,g="string"==typeof d?d.replace(/\s/g,"").replace(/,/g,"|"):"image/*",h=this.optional(c);if(h)return h;if("file"===a(c).attr("type")&&(g=g.replace(/\*/g,".*"),c.files&&c.files.length))for(e=0;ec;c++)d=h-c,e=f.substring(c,c+1),g+=d*e;return g%11===0},"Please specify a valid bank account number"),a.validator.addMethod("bankorgiroaccountNL",function(b,c){return this.optional(c)||a.validator.methods.bankaccountNL.call(this,b,c)||a.validator.methods.giroaccountNL.call(this,b,c)},"Please specify a valid bank or giro account number"),a.validator.addMethod("bic",function(a,b){return this.optional(b)||/^([A-Z]{6}[A-Z2-9][A-NP-Z1-2])(X{3}|[A-WY-Z0-9][A-Z0-9]{2})?$/.test(a)},"Please specify a valid BIC code"),a.validator.addMethod("cifES",function(a){"use strict";var b,c,d,e,f,g,h=[];if(a=a.toUpperCase(),!a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)"))return!1;for(d=0;9>d;d++)h[d]=parseInt(a.charAt(d),10);for(c=h[2]+h[4]+h[6],e=1;8>e;e+=2)f=(2*h[e]).toString(),g=f.charAt(1),c+=parseInt(f.charAt(0),10)+(""===g?0:parseInt(g,10));return/^[ABCDEFGHJNPQRSUVW]{1}/.test(a)?(c+="",b=10-parseInt(c.charAt(c.length-1),10),a+=b,h[8].toString()===String.fromCharCode(64+b)||h[8].toString()===a.charAt(a.length-1)):!1},"Please specify a valid CIF number."),a.validator.addMethod("cpfBR",function(a){if(a=a.replace(/([~!@#$%^&*()_+=`{}\[\]\-|\\:;'<>,.\/? ])+/g,""),11!==a.length)return!1;var b,c,d,e,f=0;if(b=parseInt(a.substring(9,10),10),c=parseInt(a.substring(10,11),10),d=function(a,b){var c=10*a%11;return(10===c||11===c)&&(c=0),c===b},""===a||"00000000000"===a||"11111111111"===a||"22222222222"===a||"33333333333"===a||"44444444444"===a||"55555555555"===a||"66666666666"===a||"77777777777"===a||"88888888888"===a||"99999999999"===a)return!1;for(e=1;9>=e;e++)f+=parseInt(a.substring(e-1,e),10)*(11-e);if(d(f,b)){for(f=0,e=1;10>=e;e++)f+=parseInt(a.substring(e-1,e),10)*(12-e);return d(f,c)}return!1},"Please specify a valid CPF number"),a.validator.addMethod("creditcardtypes",function(a,b,c){if(/[^0-9\-]+/.test(a))return!1;a=a.replace(/\D/g,"");var d=0;return c.mastercard&&(d|=1),c.visa&&(d|=2),c.amex&&(d|=4),c.dinersclub&&(d|=8),c.enroute&&(d|=16),c.discover&&(d|=32),c.jcb&&(d|=64),c.unknown&&(d|=128),c.all&&(d=255),1&d&&/^(5[12345])/.test(a)?16===a.length:2&d&&/^(4)/.test(a)?16===a.length:4&d&&/^(3[47])/.test(a)?15===a.length:8&d&&/^(3(0[012345]|[68]))/.test(a)?14===a.length:16&d&&/^(2(014|149))/.test(a)?15===a.length:32&d&&/^(6011)/.test(a)?16===a.length:64&d&&/^(3)/.test(a)?16===a.length:64&d&&/^(2131|1800)/.test(a)?15===a.length:128&d?!0:!1},"Please enter a valid credit card number."),a.validator.addMethod("currency",function(a,b,c){var d,e="string"==typeof c,f=e?c:c[0],g=e?!0:c[1];return f=f.replace(/,/g,""),f=g?f+"]":f+"]?",d="^["+f+"([1-9]{1}[0-9]{0,2}(\\,[0-9]{3})*(\\.[0-9]{0,2})?|[1-9]{1}[0-9]{0,}(\\.[0-9]{0,2})?|0(\\.[0-9]{0,2})?|(\\.[0-9]{1,2})?)$",d=new RegExp(d),this.optional(b)||d.test(a)},"Please specify a valid currency"),a.validator.addMethod("dateFA",function(a,b){return this.optional(b)||/^[1-4]\d{3}\/((0?[1-6]\/((3[0-1])|([1-2][0-9])|(0?[1-9])))|((1[0-2]|(0?[7-9]))\/(30|([1-2][0-9])|(0?[1-9]))))$/.test(a)},a.validator.messages.date),a.validator.addMethod("dateITA",function(a,b){var c,d,e,f,g,h=!1,i=/^\d{1,2}\/\d{1,2}\/\d{4}$/;return i.test(a)?(c=a.split("/"),d=parseInt(c[0],10),e=parseInt(c[1],10),f=parseInt(c[2],10),g=new Date(Date.UTC(f,e-1,d,12,0,0,0)),h=g.getUTCFullYear()===f&&g.getUTCMonth()===e-1&&g.getUTCDate()===d?!0:!1):h=!1,this.optional(b)||h},a.validator.messages.date),a.validator.addMethod("dateNL",function(a,b){return this.optional(b)||/^(0?[1-9]|[12]\d|3[01])[\.\/\-](0?[1-9]|1[012])[\.\/\-]([12]\d)?(\d\d)$/.test(a)},a.validator.messages.date),a.validator.addMethod("extension",function(a,b,c){return c="string"==typeof c?c.replace(/,/g,"|"):"png|jpe?g|gif",this.optional(b)||a.match(new RegExp("\\.("+c+")$","i"))},a.validator.format("Please enter a value with a valid extension.")),a.validator.addMethod("giroaccountNL",function(a,b){return this.optional(b)||/^[0-9]{1,7}$/.test(a)},"Please specify a valid giro account number"),a.validator.addMethod("iban",function(a,b){if(this.optional(b))return!0;var c,d,e,f,g,h,i,j,k,l=a.replace(/ /g,"").toUpperCase(),m="",n=!0,o="",p="";if(c=l.substring(0,2),h={AL:"\\d{8}[\\dA-Z]{16}",AD:"\\d{8}[\\dA-Z]{12}",AT:"\\d{16}",AZ:"[\\dA-Z]{4}\\d{20}",BE:"\\d{12}",BH:"[A-Z]{4}[\\dA-Z]{14}",BA:"\\d{16}",BR:"\\d{23}[A-Z][\\dA-Z]",BG:"[A-Z]{4}\\d{6}[\\dA-Z]{8}",CR:"\\d{17}",HR:"\\d{17}",CY:"\\d{8}[\\dA-Z]{16}",CZ:"\\d{20}",DK:"\\d{14}",DO:"[A-Z]{4}\\d{20}",EE:"\\d{16}",FO:"\\d{14}",FI:"\\d{14}",FR:"\\d{10}[\\dA-Z]{11}\\d{2}",GE:"[\\dA-Z]{2}\\d{16}",DE:"\\d{18}",GI:"[A-Z]{4}[\\dA-Z]{15}",GR:"\\d{7}[\\dA-Z]{16}",GL:"\\d{14}",GT:"[\\dA-Z]{4}[\\dA-Z]{20}",HU:"\\d{24}",IS:"\\d{22}",IE:"[\\dA-Z]{4}\\d{14}",IL:"\\d{19}",IT:"[A-Z]\\d{10}[\\dA-Z]{12}",KZ:"\\d{3}[\\dA-Z]{13}",KW:"[A-Z]{4}[\\dA-Z]{22}",LV:"[A-Z]{4}[\\dA-Z]{13}",LB:"\\d{4}[\\dA-Z]{20}",LI:"\\d{5}[\\dA-Z]{12}",LT:"\\d{16}",LU:"\\d{3}[\\dA-Z]{13}",MK:"\\d{3}[\\dA-Z]{10}\\d{2}",MT:"[A-Z]{4}\\d{5}[\\dA-Z]{18}",MR:"\\d{23}",MU:"[A-Z]{4}\\d{19}[A-Z]{3}",MC:"\\d{10}[\\dA-Z]{11}\\d{2}",MD:"[\\dA-Z]{2}\\d{18}",ME:"\\d{18}",NL:"[A-Z]{4}\\d{10}",NO:"\\d{11}",PK:"[\\dA-Z]{4}\\d{16}",PS:"[\\dA-Z]{4}\\d{21}",PL:"\\d{24}",PT:"\\d{21}",RO:"[A-Z]{4}[\\dA-Z]{16}",SM:"[A-Z]\\d{10}[\\dA-Z]{12}",SA:"\\d{2}[\\dA-Z]{18}",RS:"\\d{18}",SK:"\\d{20}",SI:"\\d{15}",ES:"\\d{20}",SE:"\\d{20}",CH:"\\d{5}[\\dA-Z]{12}",TN:"\\d{20}",TR:"\\d{5}[\\dA-Z]{17}",AE:"\\d{3}\\d{16}",GB:"[A-Z]{4}\\d{14}",VG:"[\\dA-Z]{4}\\d{16}"},g=h[c],"undefined"!=typeof g&&(i=new RegExp("^[A-Z]{2}\\d{2}"+g+"$",""),!i.test(l)))return!1;for(d=l.substring(4,l.length)+l.substring(0,4),j=0;j9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)7(?:[1345789]\d{2}|624)\s?\d{3}\s?\d{3})$/)},"Please specify a valid mobile number"),a.validator.addMethod("nieES",function(a){"use strict";return a=a.toUpperCase(),a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")?/^[T]{1}/.test(a)?a[8]===/^[T]{1}[A-Z0-9]{8}$/.test(a):/^[XYZ]{1}/.test(a)?a[8]==="TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.replace("X","0").replace("Y","1").replace("Z","2").substring(0,8)%23):!1:!1},"Please specify a valid NIE number."),a.validator.addMethod("nifES",function(a){"use strict";return a=a.toUpperCase(),a.match("((^[A-Z]{1}[0-9]{7}[A-Z0-9]{1}$|^[T]{1}[A-Z0-9]{8}$)|^[0-9]{8}[A-Z]{1}$)")?/^[0-9]{8}[A-Z]{1}$/.test(a)?"TRWAGMYFPDXBNJZSQVHLCKE".charAt(a.substring(8,0)%23)===a.charAt(8):/^[KLM]{1}/.test(a)?a[8]===String.fromCharCode(64):!1:!1},"Please specify a valid NIF number."),jQuery.validator.addMethod("notEqualTo",function(b,c,d){return this.optional(c)||!a.validator.methods.equalTo.call(this,b,c,d)},"Please enter a different value, values must not be the same."),a.validator.addMethod("nowhitespace",function(a,b){return this.optional(b)||/^\S+$/i.test(a)},"No white space please"),a.validator.addMethod("pattern",function(a,b,c){return this.optional(b)?!0:("string"==typeof c&&(c=new RegExp("^(?:"+c+")$")),c.test(a))},"Invalid format."),a.validator.addMethod("phoneNL",function(a,b){return this.optional(b)||/^((\+|00(\s|\s?\-\s?)?)31(\s|\s?\-\s?)?(\(0\)[\-\s]?)?|0)[1-9]((\s|\s?\-\s?)?[0-9]){8}$/.test(a)},"Please specify a valid phone number."),a.validator.addMethod("phoneUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?)|(?:\(?0))(?:\d{2}\)?\s?\d{4}\s?\d{4}|\d{3}\)?\s?\d{3}\s?\d{3,4}|\d{4}\)?\s?(?:\d{5}|\d{3}\s?\d{3})|\d{5}\)?\s?\d{4,5})$/)},"Please specify a valid phone number"),a.validator.addMethod("phoneUS",function(a,b){return a=a.replace(/\s+/g,""),this.optional(b)||a.length>9&&a.match(/^(\+?1-?)?(\([2-9]([02-9]\d|1[02-9])\)|[2-9]([02-9]\d|1[02-9]))-?[2-9]([02-9]\d|1[02-9])-?\d{4}$/)},"Please specify a valid phone number"),a.validator.addMethod("phonesUK",function(a,b){return a=a.replace(/\(|\)|\s+|-/g,""),this.optional(b)||a.length>9&&a.match(/^(?:(?:(?:00\s?|\+)44\s?|0)(?:1\d{8,9}|[23]\d{9}|7(?:[1345789]\d{8}|624\d{6})))$/)},"Please specify a valid uk phone number"),a.validator.addMethod("postalCodeCA",function(a,b){return this.optional(b)||/^[ABCEGHJKLMNPRSTVXY]\d[A-Z] \d[A-Z]\d$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeBR",function(a,b){return this.optional(b)||/^\d{2}.\d{3}-\d{3}?$|^\d{5}-?\d{3}?$/.test(a)},"Informe um CEP válido."),a.validator.addMethod("postalcodeIT",function(a,b){return this.optional(b)||/^\d{5}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postalcodeNL",function(a,b){return this.optional(b)||/^[1-9][0-9]{3}\s?[a-zA-Z]{2}$/.test(a)},"Please specify a valid postal code"),a.validator.addMethod("postcodeUK",function(a,b){return this.optional(b)||/^((([A-PR-UWYZ][0-9])|([A-PR-UWYZ][0-9][0-9])|([A-PR-UWYZ][A-HK-Y][0-9])|([A-PR-UWYZ][A-HK-Y][0-9][0-9])|([A-PR-UWYZ][0-9][A-HJKSTUW])|([A-PR-UWYZ][A-HK-Y][0-9][ABEHMNPRVWXY]))\s?([0-9][ABD-HJLNP-UW-Z]{2})|(GIR)\s?(0AA))$/i.test(a)},"Please specify a valid UK postcode"),a.validator.addMethod("require_from_group",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_req_grp")?f.data("valid_req_grp"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length>=d[0];return f.data("valid_req_grp",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),h},a.validator.format("Please fill at least {0} of these fields.")),a.validator.addMethod("skip_or_fill_minimum",function(b,c,d){var e=a(d[1],c.form),f=e.eq(0),g=f.data("valid_skip")?f.data("valid_skip"):a.extend({},this),h=e.filter(function(){return g.elementValue(this)}).length,i=0===h||h>=d[0];return f.data("valid_skip",g),a(c).data("being_validated")||(e.data("being_validated",!0),e.each(function(){g.element(this)}),e.data("being_validated",!1)),i},a.validator.format("Please either skip these fields or fill at least {0} of them.")),a.validator.addMethod("stateUS",function(a,b,c){var d,e="undefined"==typeof c,f=e||"undefined"==typeof c.caseSensitive?!1:c.caseSensitive,g=e||"undefined"==typeof c.includeTerritories?!1:c.includeTerritories,h=e||"undefined"==typeof c.includeMilitary?!1:c.includeMilitary;return d=g||h?g&&h?"^(A[AEKLPRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":g?"^(A[KLRSZ]|C[AOT]|D[CE]|FL|G[AU]|HI|I[ADLN]|K[SY]|LA|M[ADEINOPST]|N[CDEHJMVY]|O[HKR]|P[AR]|RI|S[CD]|T[NX]|UT|V[AIT]|W[AIVY])$":"^(A[AEKLPRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$":"^(A[KLRZ]|C[AOT]|D[CE]|FL|GA|HI|I[ADLN]|K[SY]|LA|M[ADEINOST]|N[CDEHJMVY]|O[HKR]|PA|RI|S[CD]|T[NX]|UT|V[AT]|W[AIVY])$",d=f?new RegExp(d):new RegExp(d,"i"),this.optional(b)||d.test(a)},"Please specify a valid state"),a.validator.addMethod("strippedminlength",function(b,c,d){return a(b).text().length>=d},a.validator.format("Please enter at least {0} characters")),a.validator.addMethod("time",function(a,b){return this.optional(b)||/^([01]\d|2[0-3]|[0-9])(:[0-5]\d){1,2}$/.test(a)},"Please enter a valid time, between 00:00 and 23:59"),a.validator.addMethod("time12h",function(a,b){return this.optional(b)||/^((0?[1-9]|1[012])(:[0-5]\d){1,2}(\ ?[AP]M))$/i.test(a)},"Please enter a valid time in 12-hour am/pm format"),a.validator.addMethod("url2",function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)*(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)},a.validator.messages.url),a.validator.addMethod("vinUS",function(a){if(17!==a.length)return!1;var b,c,d,e,f,g,h=["A","B","C","D","E","F","G","H","J","K","L","M","N","P","R","S","T","U","V","W","X","Y","Z"],i=[1,2,3,4,5,6,7,8,1,2,3,4,5,7,9,2,3,4,5,6,7,8,9],j=[8,7,6,5,4,3,2,10,0,9,8,7,6,5,4,3,2],k=0;for(b=0;17>b;b++){if(e=j[b],d=a.slice(b,b+1),8===b&&(g=d),isNaN(d)){for(c=0;c