Browse Source

optimised assets

js is 844kb
css is 138kb
Rafał Pitoń 10 years ago
parent
commit
09848738cd
88 changed files with 11282 additions and 7797 deletions
  1. 5 1
      misago/emberapp/Brocfile.js
  2. 0 89
      misago/emberapp/app/styles/_misago/alerts.less
  3. 0 168
      misago/emberapp/app/styles/_misago/buttons.less
  4. 0 61
      misago/emberapp/app/styles/_misago/datepicker.less
  5. 0 203
      misago/emberapp/app/styles/_misago/dropdowns.less
  6. 0 108
      misago/emberapp/app/styles/_misago/editor.less
  7. 0 42
      misago/emberapp/app/styles/_misago/errorpages.less
  8. 0 88
      misago/emberapp/app/styles/_misago/events.less
  9. 0 109
      misago/emberapp/app/styles/_misago/footer.less
  10. 0 284
      misago/emberapp/app/styles/_misago/forms.less
  11. 0 184
      misago/emberapp/app/styles/_misago/forums.less
  12. 0 246
      misago/emberapp/app/styles/_misago/header.less
  13. 0 66
      misago/emberapp/app/styles/_misago/index.less
  14. 0 82
      misago/emberapp/app/styles/_misago/inputs.less
  15. 0 8
      misago/emberapp/app/styles/_misago/jumbotron.less
  16. 0 55
      misago/emberapp/app/styles/_misago/loader.less
  17. 0 88
      misago/emberapp/app/styles/_misago/markup.less
  18. 0 43
      misago/emberapp/app/styles/_misago/misago.less
  19. 0 47
      misago/emberapp/app/styles/_misago/modals.less
  20. 0 493
      misago/emberapp/app/styles/_misago/navbar.less
  21. 0 233
      misago/emberapp/app/styles/_misago/navs.less
  22. 0 153
      misago/emberapp/app/styles/_misago/notifications.less
  23. 0 76
      misago/emberapp/app/styles/_misago/pager.less
  24. 0 233
      misago/emberapp/app/styles/_misago/panels.less
  25. 0 179
      misago/emberapp/app/styles/_misago/participants.less
  26. 0 140
      misago/emberapp/app/styles/_misago/posting.less
  27. 0 249
      misago/emberapp/app/styles/_misago/posts.less
  28. 0 192
      misago/emberapp/app/styles/_misago/profile.less
  29. 0 20
      misago/emberapp/app/styles/_misago/progressbars.less
  30. 0 29
      misago/emberapp/app/styles/_misago/signin.less
  31. 0 32
      misago/emberapp/app/styles/_misago/states.less
  32. 0 238
      misago/emberapp/app/styles/_misago/tables.less
  33. 0 78
      misago/emberapp/app/styles/_misago/threadmap.less
  34. 0 240
      misago/emberapp/app/styles/_misago/threadslists.less
  35. 0 68
      misago/emberapp/app/styles/_misago/typography.less
  36. 0 215
      misago/emberapp/app/styles/_misago/usercp.less
  37. 0 140
      misago/emberapp/app/styles/_misago/userslists.less
  38. 0 391
      misago/emberapp/app/styles/_misago/variables.less
  39. 0 42
      misago/emberapp/app/styles/_misago/warnings.less
  40. 0 36
      misago/emberapp/app/styles/_misago/yesnoswitch.less
  41. 9 9
      misago/emberapp/app/styles/bootstrap/bootstrap.less
  42. 0 2317
      misago/emberapp/vendor/bootstrap.js
  43. 36 0
      misago/emberapp/vendor/bootstrap/.jscsrc
  44. 15 0
      misago/emberapp/vendor/bootstrap/.jshintrc
  45. 162 0
      misago/emberapp/vendor/bootstrap/affix.js
  46. 94 0
      misago/emberapp/vendor/bootstrap/alert.js
  47. 116 0
      misago/emberapp/vendor/bootstrap/button.js
  48. 237 0
      misago/emberapp/vendor/bootstrap/carousel.js
  49. 211 0
      misago/emberapp/vendor/bootstrap/collapse.js
  50. 161 0
      misago/emberapp/vendor/bootstrap/dropdown.js
  51. 339 0
      misago/emberapp/vendor/bootstrap/modal.js
  52. 108 0
      misago/emberapp/vendor/bootstrap/popover.js
  53. 172 0
      misago/emberapp/vendor/bootstrap/scrollspy.js
  54. 153 0
      misago/emberapp/vendor/bootstrap/tab.js
  55. 61 0
      misago/emberapp/vendor/bootstrap/tests/README.md
  56. 166 0
      misago/emberapp/vendor/bootstrap/tests/index.html
  57. 6 0
      misago/emberapp/vendor/bootstrap/tests/unit/.jshintrc
  58. 107 0
      misago/emberapp/vendor/bootstrap/tests/unit/affix.js
  59. 78 0
      misago/emberapp/vendor/bootstrap/tests/unit/alert.js
  60. 181 0
      misago/emberapp/vendor/bootstrap/tests/unit/button.js
  61. 718 0
      misago/emberapp/vendor/bootstrap/tests/unit/carousel.js
  62. 443 0
      misago/emberapp/vendor/bootstrap/tests/unit/collapse.js
  63. 353 0
      misago/emberapp/vendor/bootstrap/tests/unit/dropdown.js
  64. 405 0
      misago/emberapp/vendor/bootstrap/tests/unit/modal.js
  65. 72 0
      misago/emberapp/vendor/bootstrap/tests/unit/phantom.js
  66. 262 0
      misago/emberapp/vendor/bootstrap/tests/unit/popover.js
  67. 278 0
      misago/emberapp/vendor/bootstrap/tests/unit/scrollspy.js
  68. 216 0
      misago/emberapp/vendor/bootstrap/tests/unit/tab.js
  69. 1183 0
      misago/emberapp/vendor/bootstrap/tests/unit/tooltip.js
  70. 5 0
      misago/emberapp/vendor/bootstrap/tests/vendor/jquery.min.js
  71. 280 0
      misago/emberapp/vendor/bootstrap/tests/vendor/qunit.css
  72. 2875 0
      misago/emberapp/vendor/bootstrap/tests/vendor/qunit.js
  73. 306 0
      misago/emberapp/vendor/bootstrap/tests/visual/affix.html
  74. 48 0
      misago/emberapp/vendor/bootstrap/tests/visual/alert.html
  75. 74 0
      misago/emberapp/vendor/bootstrap/tests/visual/button.html
  76. 58 0
      misago/emberapp/vendor/bootstrap/tests/visual/carousel.html
  77. 78 0
      misago/emberapp/vendor/bootstrap/tests/visual/collapse.html
  78. 108 0
      misago/emberapp/vendor/bootstrap/tests/visual/dropdown.html
  79. 162 0
      misago/emberapp/vendor/bootstrap/tests/visual/modal.html
  80. 54 0
      misago/emberapp/vendor/bootstrap/tests/visual/popover.html
  81. 109 0
      misago/emberapp/vendor/bootstrap/tests/visual/scrollspy.html
  82. 172 0
      misago/emberapp/vendor/bootstrap/tests/visual/tab.html
  83. 50 0
      misago/emberapp/vendor/bootstrap/tests/visual/tooltip.html
  84. 476 0
      misago/emberapp/vendor/bootstrap/tooltip.js
  85. 59 0
      misago/emberapp/vendor/bootstrap/transition.js
  86. 1 1
      misago/static/misago/css/misago.css
  87. 0 0
      misago/static/misago/css/vendor.css
  88. 20 21
      misago/static/misago/js/vendor.js

+ 5 - 1
misago/emberapp/Brocfile.js

@@ -38,7 +38,11 @@ var app = new EmberApp({
 // please specify an object with the list of modules as keys
 // along with the exports of each module as its value.
 
-app.import('vendor/bootstrap.js');
+
+app.import('vendor/bootstrap/transition.js');
+app.import('vendor/bootstrap/affix.js');
+app.import('vendor/bootstrap/dropdown.js');
+app.import('vendor/bootstrap/modal.js');
 
 if (app.env === 'production') {
   app.import('bower_components/moment/moment.js');

+ 0 - 89
misago/emberapp/app/styles/_misago/alerts.less

@@ -1,89 +0,0 @@
-//
-// Alerts
-// --------------------------------------------------
-
-
-.misago-alert-close(@text, @bg) {
-  background-color: lighten(@bg, 10%);
-  border: 1px solid lighten(@bg, 10%);
-  border-radius: @border-radius-small;
-  .box-shadow(none);
-  float: none;
-  margin-left: @alert-padding;
-  padding: 6px 8px;
-  .opacity(1);
-
-  color: @text;
-  font-size: @font-size-base;
-  text-shadow: none;
-
-  &:hover {
-    background-color: darken(@bg, 15%);
-    border-color: darken(@bg, 15%);
-
-    color: @text;
-  }
-
-  &:active, &:focus {
-    background-color: @text;
-    border: 1px solid @text;
-
-    color: @bg;
-  }
-}
-
-
-.misago-alerts {
-  margin-bottom: @line-height-computed;
-
-  .alerts-list {
-    width: 100%;
-
-    text-align: center;
-
-    &.affix {
-      top: 0;
-      z-index: @zindex-navbar-fixed;
-    }
-
-    .alert {
-      border: none;
-      border-radius: 0;
-      margin-bottom: 0px;
-      padding: @alert-padding;
-
-      .alert-icon {
-        margin: -@alert-padding 0px;
-        margin-right: @alert-padding * .7;
-        position: relative;
-        top: ((@font-size-base * 1.8) - @line-height-computed) / 2;
-
-        font-size: @font-size-base * 1.8;
-      }
-
-      &.alert-success {
-        .close {
-          .misago-alert-close(@alert-success-text, @alert-success-bg);
-        }
-      }
-
-      &.alert-info {
-        .close {
-          .misago-alert-close(@alert-info-text, @alert-info-bg);
-        }
-      }
-
-      &.alert-warning {
-        .close {
-          .misago-alert-close(@alert-warning-text, @alert-warning-bg);
-        }
-      }
-
-      &.alert-danger {
-        .close {
-          .misago-alert-close(@alert-danger-text, @alert-danger-bg);
-        }
-      }
-    }
-  }
-}

+ 0 - 168
misago/emberapp/app/styles/_misago/buttons.less

@@ -1,168 +0,0 @@
-//
-// Forum Buttons
-// --------------------------------------------------
-
-
-.misago-button-active-flavour(@btn-color, @btn-bg, @btn-border) {
-  background: darken(@btn-bg, 15%);
-  border-color: darken(@btn-bg, 15%);
-  box-shadow: none;
-  outline: none;
-  position: relative;
-  top: 2px;
-
-  color: darken(@btn-color, 10%);
-}
-
-
-.misago-button-flavour(@btn-color, @btn-bg, @btn-border) {
-  background: @btn-bg;
-  border-color: @btn-bg;
-  box-shadow: 0px 2px 0px @btn-border;
-
-  color: @btn-color;
-
-  &:hover {
-    background: darken(@btn-bg, 10%);
-    border-color: darken(@btn-bg, 10%);
-    box-shadow: 0px 2px 0px darken(@btn-border, 10%);
-    transition-duration: 0.5s;
-
-    color: @btn-color;
-  }
-
-  &:active {
-    transition-duration: 0.05s;
-  }
-
-  &.active, &:active {
-    .misago-button-active-flavour(@btn-color, @btn-bg, @btn-border);
-  }
-
-  .glyphicon-chevron-down {
-    position: relative;
-    top: 2px;
-
-    font-size: @font-size-small;
-  }
-
-  &.btn-flat {
-    background: none;
-    border: transparent;
-    .box-shadow(none);
-    position: static;
-
-    color: @btn-default-color;
-    font-weight: bold;
-
-    &:hover {
-      background-color: fadeOut(@btn-bg, 90%);
-      transition-duration: 0.1s;
-
-      color: @btn-bg;
-      text-shadow: none;
-    }
-
-    &:active {
-      background: fadeOut(@btn-bg, 40%);
-
-      color: lighten(@btn-bg, 50%);
-      text-shadow: none;
-    }
-  }
-}
-
-
-.btn {
-  &.btn-default {
-    .misago-button-flavour(@btn-default-color, @btn-default-bg, @btn-default-border);
-
-    &.btn-flat {
-      &:hover {
-        background-color: fadeOut(@btn-default-color, 90%);
-
-        color: @btn-default-color;
-      }
-
-      &:active {
-        background: fadeOut(@btn-default-color, 40%);
-
-        color: lighten(@btn-default-color, 50%);
-      }
-    }
-
-    &.text-success {
-      color: @brand-success;
-    }
-
-    &.text-primary {
-      color: @brand-primary;
-    }
-
-    &.text-danger {
-      color: @brand-danger;
-    }
-
-    &.text-warning {
-      color: @brand-warning;
-    }
-  }
-
-  &.btn-primary {
-    .misago-button-flavour(@btn-primary-color, @btn-primary-bg, @btn-primary-border);
-  }
-
-  &.btn-info {
-    .misago-button-flavour(@btn-info-color, @btn-info-bg, @btn-info-border);
-  }
-
-  &.btn-success {
-    .misago-button-flavour(@btn-success-color, @btn-success-bg, @btn-success-border);
-  }
-
-  &.btn-warning {
-    .misago-button-flavour(@btn-warning-color, @btn-warning-bg, @btn-warning-border);
-  }
-
-  &.btn-danger {
-    .misago-button-flavour(@btn-danger-color, @btn-danger-bg, @btn-danger-border);
-  }
-}
-
-.open .dropdown-toggle {
-  &.btn-default {
-    &, &:link, &:visited, &:hover , &:active {
-      .misago-button-active-flavour(@btn-default-color, @btn-default-bg, @btn-default-border);
-    }
-  }
-
-  &.btn-primary {
-    &, &:link, &:visited, &:hover , &:active {
-      .misago-button-active-flavour(@btn-primary-color, @btn-primary-bg, @btn-primary-border);
-    }
-  }
-
-  &.btn-info {
-    &, &:link, &:visited, &:hover , &:active {
-      .misago-button-active-flavour(@btn-info-color, @btn-info-bg, @btn-info-border);
-    }
-  }
-
-  &.btn-success {
-    &, &:link, &:visited, &:hover , &:active {
-      .misago-button-active-flavour(@btn-success-color, @btn-success-bg, @btn-success-border);
-    }
-  }
-
-  &.btn-warning {
-    &, &:link, &:visited, &:hover , &:active {
-      .misago-button-active-flavour(@btn-warning-color, @btn-warning-bg, @btn-warning-border);
-    }
-  }
-
-  &.btn-danger {
-    &, &:link, &:visited, &:hover , &:active {
-      .misago-button-active-flavour(@btn-danger-color, @btn-danger-bg, @btn-danger-border);
-    }
-  }
-}

+ 0 - 61
misago/emberapp/app/styles/_misago/datepicker.less

@@ -1,61 +0,0 @@
-//
-// Date and time picker
-// --------------------------------------------------
-
-
-.bootstrap-datetimepicker-widget {
-  padding: @line-height-computed / 2;
-  width: auto;
-
-  &.top:after, &.top:before, &.bottom:after, &.bottom:before {
-    display: none;
-  }
-
-  .timepicker-picker {
-    table.table-condensed {
-      margin: 0px;
-
-      tr {
-        td {
-          padding: 0px;
-          height: auto;
-
-          text-align: center;
-
-          &.separator {
-            width: @line-height-computed / 2;
-            height: auto;
-            line-height: @line-height-computed * 1.5;
-          }
-
-          .btn {
-            border: none;
-            display: block;
-            margin: 0px;
-            padding: 0px;
-            position: static;
-            width: 100%;
-
-            .glyphicon {
-              margin: 0px;
-              height: @line-height-computed * 1.5;
-              width: 100%;
-              position: static;
-
-              line-height: @line-height-computed * 1.5;
-            }
-          }
-
-          .timepicker-hour, .timepicker-minute {
-            margin: 0px;
-            float: none;
-            height: auto;
-            width: auto;
-
-            line-height: @line-height-computed * 1.5;
-          }
-        }
-      }
-    }
-  }
-}

+ 0 - 203
misago/emberapp/app/styles/_misago/dropdowns.less

@@ -1,203 +0,0 @@
-//
-// Dropdown menus
-// --------------------------------------------------
-
-
-/* All Displays */
-.dropdown-menu {
-  border: none;
-  border-radius: @border-radius-base !important;
-  box-shadow: 0px 0px 0px 6px @dropdown-shadow;
-  margin-top: 12px;
-
-  max-height: 310px;
-
-  &:after {
-    border: solid transparent;
-    border-bottom-color: @dropdown-bg;
-    border-width: 6px;
-    content: "";
-    height: 0;
-    position: absolute;
-    pointer-events: none;
-    left: 12px;
-    top: -11px;
-    width: 0;
-  }
-
-  li {
-    /* Links */
-    a {
-      padding: @padding-base-vertical @padding-large-horizontal;
-    }
-
-    /* Buttons */
-    button {
-      background: none;
-      border: none;
-      border-radius: 0px;
-      padding: @padding-base-vertical @padding-large-horizontal;
-      width: 100%;
-
-      color: @dropdown-link-color;
-      text-align: left;
-      white-space: nowrap;
-    }
-
-    /* Colors */
-    a, button {
-      &:hover {
-        background-color: @dropdown-link-hover-bg;
-        transition-timing-function: ease;
-        transition-duration: 0.15s;
-
-        color: @dropdown-link-hover-color;
-      }
-
-      &:active, &:focus {
-        background-color: @dropdown-link-active-bg;
-        outline: none;
-        transition-duration: 0.07s;
-
-        color: @dropdown-link-active-color;
-      }
-    }
-
-    /* Icons */
-    a, button {
-      .glyphicon, .fa {
-        display: inline-block;
-        margin-right: 4px;
-        width: 16px;
-
-        text-align: center;
-      }
-    }
-
-    /* Badges */
-    a {
-      .badge {
-        border-radius: @border-radius-small;
-        position: relative;
-        top: 1px;
-      }
-
-      &:link, &:visited {
-        .badge {
-          background-color: @brand-danger;
-
-          color: @dropdown-bg;
-        }
-      }
-
-      &:hover {
-        .badge {
-          background-color: @dropdown-bg;
-
-          color: @dropdown-link-hover-bg;
-        }
-      }
-
-      &:active {
-        .badge {
-          background-color: @dropdown-bg;
-
-          color: @dropdown-link-active-bg;
-        }
-      }
-    }
-  }
-}
-
-/* Move arrow to right on pull-right dropdowns */
-.pull-right {
-  .dropdown-menu:after {
-    left: auto;
-    right: 12px;
-  }
-}
-
-
-/* Big displays */
-@media (min-width: @screen-sm-min) {
-  .dropdown-menu {
-    &.width-medium {
-      max-width: 200px;
-    }
-
-    &.width-large {
-      max-width: 300px;
-    }
-
-    .dropdown-title {
-      background-color: @dropdown-title-bg;
-      border-bottom: 1px solid @dropdown-title-border;
-      border-radius: @border-radius-base @border-radius-base 0px 0px;
-      margin-top: -5px;
-      margin-bottom: 5px;
-      padding: @padding-base-vertical @padding-base-horizontal;
-
-      color: @dropdown-title-color;
-      font-weight: bold;
-
-      .badge {
-        background-color: darken(@brand-danger, 10%);
-        border-radius: @border-radius-small;
-      }
-    }
-
-    .dropdown-footer {
-      background-color: @dropdown-title-bg;
-      border-top: 1px solid @dropdown-title-border;
-      .box-shadow(0px -3px 3px -1px darken(@dropdown-title-bg, 5%));
-      border-radius: 0px 0px @border-radius-base @border-radius-base;
-      margin-bottom: -5px;
-      padding: @padding-base-vertical @padding-base-horizontal;
-
-      color: @dropdown-title-color;
-      font-weight: bold;
-    }
-
-    &>li {
-      .badge {
-        margin-left: @line-height-computed / 2;
-      }
-
-      button {
-        background: none;
-        border: none;
-        width: 100%;
-
-        color: @dropdown-link-color;
-        text-align: left;
-
-        &:hover {
-          background-color: @dropdown-link-hover-bg;
-
-          color: @dropdown-link-hover-color;
-        }
-
-        &:active, &:focus {
-          background-color: @dropdown-link-active-bg;
-
-          color: @dropdown-link-active-color;
-        }
-      }
-    }
-  }
-}
-
-
-// Dropup tweak
-.dropup {
-  .dropdown-menu {
-    margin-top: 0px;
-    margin-bottom: 8px;
-  }
-}
-
-
-// Utility class for js scroll handling
-.scrollable {
-  overflow-y: auto;
-}

+ 0 - 108
misago/emberapp/app/styles/_misago/editor.less

@@ -1,108 +0,0 @@
-//
-// Misago Editor
-// --------------------------------------------------
-
-
-//== Toolbar
-//
-//**
-.misago-editor {
-  border: 2px solid @form-panel-border;
-  border-radius: @border-radius-large;
-  overflow: hidden;
-  margin-bottom: @line-height-computed;
-
-  .editor-toolbar {
-    background: @form-panel-footer-bg;
-    border-bottom: 1px solid @form-panel-border;
-    padding: @padding-small-vertical @padding-small-horizontal;
-
-    &>ul {
-      margin: 0px;
-      padding: 0px;
-      overflow: auto;
-
-      &>li {
-        padding: @padding-xs-vertical @padding-xs-horizontal;
-        float: left;
-
-        .btn-default {
-          background-color: transparent;
-          border: none;
-          .box-shadow(none);
-          padding: 4px 0px;
-
-          color: @state-default;
-          font-size: @font-size-base + 1px;
-          text-align: center;
-
-          &:hover {
-            border-color: @state-default;
-            top: 0px;
-
-            color: @state-hover;
-            outline: none;
-            text-shadow: none;
-          }
-
-          &.active, &:active {
-            border-color: @state-clicked;
-            top: 0px;
-
-            color: @state-clicked;
-            outline: none;
-            text-shadow: none;
-          }
-
-          &:focus {
-            top: 0px;
-            outline: none;
-          }
-        }
-      }
-    }
-  }
-}
-
-
-//== Textarea
-//
-//**
-.misago-editor {
-  .editor-textarea {
-    padding: 4px 0px;
-
-    textarea {
-      border: 0px;
-      width: 100%;
-      margin: 0px;
-      padding: @padding-large-vertical @padding-large-horizontal;
-
-      font-family: @font-family-monospace;
-      font-size: @font-size-small;
-      resize: none;
-      outline: none;
-    }
-  }
-}
-
-
-//== Footer
-//
-//**
-.misago-editor {
-  .editor-footer {
-
-  }
-}
-
-
-//== File uploads
-//
-//**
-.misago-editor {
-  .editor-upload {
-    position: fixed;
-    top: -1000px;
-  }
-}

+ 0 - 42
misago/emberapp/app/styles/_misago/errorpages.less

@@ -1,42 +0,0 @@
-//
-// Error pages
-// --------------------------------------------------
-
-
-.error-message {
-  text-align: center;
-
-  .error-icon {
-    .opacity(.75);
-
-    font-size: @font-size-large * 8;
-  }
-
-  h1 {
-    font-size: @font-size-large * 1.5;
-  }
-
-  p {
-    margin: 0px;
-
-    font-size: @font-size-large;
-  }
-}
-
-
-/* Big displays */
-@media (min-width: @screen-sm-min) {
-  .error-message {
-    margin: (@line-height-computed * 2) 0px;
-
-    .error-icon {
-      margin: @line-height-computed 0px;
-
-      font-size: @font-size-large * 7;
-    }
-
-    h1 {
-      margin-top: 0px;
-    }
-  }
-}

+ 0 - 88
misago/emberapp/app/styles/_misago/events.less

@@ -1,88 +0,0 @@
-//
-// Posts Events Styles
-// --------------------------------------------------
-
-
-// Events list
-//
-//==
-.posts-list {
-  .post-events {
-    .event {
-      color: @text-muted;
-
-      .fa-stack {
-        margin-right: @line-height-computed / 3;
-
-        &>.fa-stack-2x {
-          color: @post-panel-border;
-        }
-
-        &>.fa-inverse {
-          position: relative;
-          bottom: 1px;
-        }
-      }
-
-      img {
-        border-radius: @border-radius-small;
-        height: 18px;
-        width: 18px;
-      }
-
-      a {
-        &:link, &:visited {
-          color: @state-hover;
-          font-weight: bold;
-        }
-
-        &:hover {
-          color: @state-hover;
-          text-decoration: underline;
-        }
-
-        &:active, &:focus {
-          color: @state-clicked;
-          text-decoration: underline;
-        }
-      }
-
-      form {
-        display: inline-block;
-        margin: 0px;
-        margin-left: @line-height-computed / 2;
-        padding: 0px;
-        .opacity(0.2);
-        transition-duration: 100ms;
-        position: relative;
-      }
-
-      &:hover, &:active {
-        form {
-          .opacity(1);
-        }
-      }
-    }
-
-    .divider {
-      padding-left: @line-height-computed / 4;
-      color: @post-panel-border;
-
-      div {
-        display: inline-block;
-        margin-left: @line-height-computed / 2;
-        position: relative;
-        left: 1px;
-        bottom: 2px;
-
-        font-size: @font-size-small;
-
-        abbr {
-          &:hover {
-            color: @text-muted;
-          }
-        }
-      }
-    }
-  }
-}

+ 0 - 109
misago/emberapp/app/styles/_misago/footer.less

@@ -1,109 +0,0 @@
-//
-// Forum Footer
-// --------------------------------------------------
-
-
-//== Footer container
-//
-//**
-.main-footer {
-  margin-top: @line-height-computed * 1.5;
-  margin-bottom: @line-height-computed * 1.5;
-
-  text-align: center;
-}
-
-
-//== Footer menu
-//
-//**
-.main-footer {
-  .footer-nav {
-    margin: 0px;
-    overflow: auto;
-    padding: 0px;
-
-    text-align: center;
-
-    li {
-      display: inline-block;
-      padding: @padding-large-vertical @padding-xs-horizontal;
-      padding-bottom: @padding-small-vertical;
-
-      a {
-        &:link, &:visited {
-          color: @footer-link-color;
-          text-decoration: none;
-        }
-
-        &:hover {
-          color: @footer-link-hover-color;
-          text-decoration: underline;
-        }
-
-        &:active {
-          color: @footer-link-active-color;
-          text-decoration: underline;
-        }
-      }
-    }
-  }
-}
-
-//== Misago branding
-//
-//**
-.main-footer {
-  .misago-branding {
-    a {
-      display: inline-block;
-
-      color: @text-color;
-      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
-      font-size: @misago-branding-size;
-
-      .brand-border {
-        background: @text-color;
-        border: none;
-        border-radius: @misago-branding-size * 0.15;
-        display: inline-block;
-        margin-right: @misago-branding-size * 0.1;
-        position: relative;
-        top: @misago-branding-size * 0.18;
-        overflow: hidden;
-        width: @misago-branding-size + 3px;
-        height: @misago-branding-size + 3px;
-
-        &>span {
-          display: inline-block;
-          position: absolute;
-          bottom: -20%;
-          right: -18%;
-          .rotate(-45deg);
-
-          color: @body-bg;
-          font-size: @misago-branding-size * 1.2;
-          font-weight: bold;
-        }
-      }
-
-      .subscript {
-        display: inline-block;
-        position: relative;
-        bottom: (@misago-branding-size  - (@misago-branding-size * 0.6)) / 2 - 1px;
-
-        font-size: @misago-branding-size * 0.6;
-      }
-
-      &, &:link, &:visited {
-        .opacity(0.4);
-      }
-
-      &:active, &:hover {
-        .opacity(0.8);
-
-        text-decoration: none;
-      }
-    }
-  }
-}

+ 0 - 284
misago/emberapp/app/styles/_misago/forms.less

@@ -1,284 +0,0 @@
-//
-// Form page
-// --------------------------------------------------
-
-
-//== Form container
-//
-//**
-.form-panel {
-  background: @form-panel-bg;
-  border: 1px solid @form-panel-border;
-  border-radius: @border-radius-large;
-  box-shadow: 0px 0px 0px 3px @form-panel-shadow;
-  overflow: hidden;
-
-  form {
-    margin: 0px;
-    padding: 0px;
-  }
-}
-
-
-//== Form header
-//
-//**
-.form-panel {
-  .form-header {
-    padding: @form-panel-padding;
-
-    h1, h2, h3 {
-      margin: 0px;
-    }
-
-    h1 {
-      font-size: @font-size-large * 1.6;
-    }
-
-    h2 {
-      font-size: @font-size-large * 1.2;
-    }
-
-    h3 {
-      font-size: @font-size-large;
-    }
-
-    p {
-      margin: (@line-height-computed / 2) 0px 0px 0px;
-    }
-  }
-}
-
-
-//== Form non-field errors
-//
-//**
-.form-panel {
-  .form-errors-block {
-    background-color: @state-danger-bg;
-    border-radius: 0;
-    margin-bottom: 0px;
-    padding: (@form-panel-padding-vertical / 2) @form-panel-padding-horizontal;
-    overflow: auto;
-
-    color: @state-danger-text-contrast;
-    font-size: @font-size-large;
-
-    .fa {
-      position: relative;
-      top: 4px;
-
-      float: right;
-      font-size: 26px;
-    }
-
-    ul {
-      margin-right: 56px;
-      margin-bottom: 0px;
-      padding: 0px;
-
-      li {
-        margin: 0px;
-        padding: (@line-height-computed / 5) 0px;
-      }
-    }
-  }
-}
-
-
-//== Form alerts
-//
-//**
-.form-panel {
-  .misago-alerts {
-    margin: 0px @form-panel-padding-vertical;
-
-    .alert.lead {
-      font-size: @font-size-large;
-    }
-  }
-}
-
-
-//== Form body
-//
-//**
-.form-panel {
-  .form-body {
-    fieldset, &.no-fieldsets {
-      margin: 0px;
-      padding-bottom: @line-height-computed * .25;
-
-      legend {
-        border-top: 1px solid @form-panel-border;
-        border-bottom: 0px;
-        padding: @form-panel-padding;
-        padding-bottom: 0px;
-        margin-bottom: @line-height-computed * .6;
-
-        font-size: @font-size-large;
-      }
-
-      .form-group {
-        margin-left: @form-panel-padding-horizontal;
-        margin-right: @form-panel-padding-horizontal;
-      }
-
-      .control-checkboxselect, .control-radioselect {
-        label.checkbox, label.radio {
-          font-weight: normal;
-
-          &:first-child {
-            margin-top: 0px;
-          }
-        }
-      }
-
-      .misago-editor {
-        margin: @form-panel-padding;
-        margin-top: 0px;
-      }
-
-      .help-block {
-        color: @field-help-block-color;
-        margin-bottom: 0px;
-        padding-bottom: 0px;
-      }
-
-      .control-errors {
-        &, & .help-block {
-          color: @state-danger-text;
-          font-weight: bold;
-        }
-      }
-
-      .control-success {
-        &, & .help-block {
-          color: @state-success-text;
-          font-weight: bold;
-        }
-      }
-
-      .gallery {
-        padding: @form-panel-padding;
-        padding-top: 0px;
-        padding-bottom: 0px;
-      }
-
-      .extra-padding {
-        padding: @form-panel-padding;
-        padding-top: 0px;
-      }
-    }
-
-    &.no-fieldsets {
-      border-top: 1px solid @form-panel-border;
-      padding: 0px;
-      padding-top: @line-height-computed;
-      padding-bottom: @line-height-computed * .25;
-    }
-
-    &.form-markup-preview {
-      border-top: 1px solid @form-panel-border;
-      padding: @form-panel-padding;
-      padding-top: @line-height-computed;
-      padding-bottom: @line-height-computed * .5;
-
-      .misago-markdown {
-        margin-bottom: @line-height-computed;
-      }
-    }
-
-    &.form-text {
-      border-top: 1px solid @form-panel-border;
-      padding: @form-panel-padding;
-      padding-top: @line-height-computed;
-      padding-bottom: 0px;
-    }
-  }
-}
-
-
-//== Form footer
-//
-//**
-.form-panel {
-  .form-footer {
-    background-color: @form-panel-footer-bg;
-    border-radius: 0px 0px (@border-radius-large - 1px) (@border-radius-large - 1px);
-    border-top: 1px solid @form-panel-border;
-    padding: @form-panel-padding;
-
-    &>.row>div {
-      padding: 0px @padding-base-horizontal * 2;
-    }
-
-    a.extra, p.extra {
-      margin-top: @line-height-computed;
-    }
-
-    a.extra {
-      display: inline-block;
-    }
-
-    div.extra {
-      margin-top: @line-height-computed + @form-panel-padding-vertical / 2;
-    }
-
-    p, div {
-      &.extra {
-        a {
-          color: @state-hover;
-          text-decoration: underline;
-
-          &:hover {
-            color: @state-hover;
-          }
-
-          &:active {
-            color: @state-clicked;
-          }
-        }
-      }
-    }
-  }
-}
-
-
-/* Big displays */
-@media (min-width: @screen-sm-min) {
-  .form-panel {
-    .form-footer {
-      p.extra {
-        display: inline-block;
-      }
-
-      a.extra, p.extra {
-        margin-top: 0px;
-        margin-bottom: 0px;
-        margin-left: @padding-base-horizontal;
-      }
-    }
-  }
-}
-
-
-// Form side panel
-.form-panel{
-  &.form-side-panel {
-    .form-body {
-      &:first-child {
-        legend {
-          border-top: none;
-        }
-      }
-
-      fieldset {
-        legend {
-          font-size: @font-size-base;
-          font-weight: bold;
-        }
-      }
-    }
-  }
-}

+ 0 - 184
misago/emberapp/app/styles/_misago/forums.less

@@ -1,184 +0,0 @@
-//
-// Forums lists
-// --------------------------------------------------
-
-
-// Panel header
-//
-//==
-.forums-list {
-  .panel-forums {
-    .panel-heading {
-      border: 1px solid @panel-default-border;
-      margin: -1px;
-      margin-bottom: 0px;
-      padding-top: @padding-base-vertical;
-      padding-bottom: @padding-base-vertical;
-
-      h3 {
-        font-size: @font-size-small;
-        font-weight: bold;
-      }
-    }
-  }
-}
-
-
-// Panel forums
-//
-//==
-.forums-list {
-  .panel-forums {
-    .list-group {
-      .forum-icon {
-        padding-right: @line-height-computed;
-
-        color: @state-default;
-        font-size: @font-size-large * 1.3;
-
-        &.new {
-          color: @state-active;
-        }
-
-        &.fa-link {
-          position: relative;
-          top: 3px;
-
-          color: @brand-success;
-        }
-      }
-
-      .forum-name {
-        font-size: @font-size-large;
-      }
-
-      .dropdown {
-        .btn {
-          .box-shadow(none);
-          position: static;
-          margin: 0px;
-          margin-top: -2px;
-        }
-
-        .dropdown-menu {
-          a {
-            .forum-icon {
-              padding-right: 0px;
-              position: relative;
-              bottom: 2px;
-
-              font-size: @font-size-base;
-            }
-
-            &:hover, &:active, &:focus {
-              .fa {
-                color: @dropdown-bg;
-              }
-            }
-          }
-        }
-      }
-
-      footer {
-        border-left: 1px dotted @panel-inner-border;
-        float: right;
-        margin-top: -4px;
-        margin-left: @line-height-computed / 2;
-        padding-left: @line-height-computed / 2;
-        width: 33%;
-
-        &>em.text-muted {
-          display: block;
-          padding: ((@font-size-base / 2) + 1px) 0px;
-
-          font-size: @font-size-small;
-        }
-
-        &>a {
-          display: block;
-          overflow: hidden;
-
-          font-size: @font-size-small;
-          font-weight: bold;
-          text-overflow: ellipsis;
-          white-space: nowrap;
-        }
-
-        .text-muted {
-          overflow: hidden;
-
-          font-size: @font-size-small - 1px;
-          text-overflow: ellipsis;
-          white-space: nowrap;
-
-          .item-title {
-            font-weight: normal;
-          }
-        }
-      }
-    }
-  }
-}
-
-
-// Forum description tooltip
-//
-//==
-.tooltip.forum-description {
-  .tooltip-inner {
-    padding: @padding-base-vertical @padding-base-horizontal;
-
-    max-width: 300px;
-    text-align: left;
-
-    p {
-      margin-top: 0px;
-
-      font-size: @font-size-base;
-    }
-
-    ul {
-      margin: 0px;
-      overflow: auto;
-
-      li {
-        float: left;
-        margin-right: @line-height-computed;
-
-        color: darken(#fff, 15%);
-
-        strong {
-          color: #fff;
-        }
-
-        &:last-child {
-          margin-right: 0px;
-        }
-      }
-    }
-  }
-}
-
-
-// Few predefined CSS classes for block styling
-//
-//==
-.forum-panel-flavour(@color) {
-  .panel-heading {
-    background: desaturate(darken(@color, 3%), 7%);
-    border-color: desaturate(darken(@color, 14%), 7%);
-
-    h3 {
-      color: #fff;
-      text-shadow: 1px 1px 0px darken(@color, 25%);
-    }
-  }
-}
-
-.panel-forums {
-  &.primary {.forum-panel-flavour(@brand-primary);}
-  &.accent {.forum-panel-flavour(darken(@brand-accent, 7%));}
-  &.success {.forum-panel-flavour(@brand-success);}
-  &.warning {.forum-panel-flavour(@brand-warning);}
-  &.danger {.forum-panel-flavour(@brand-danger);}
-}

+ 0 - 246
misago/emberapp/app/styles/_misago/header.less

@@ -1,246 +0,0 @@
-//
-// Page Header
-// --------------------------------------------------
-
-
-// Generic spacing and stuff
-//
-//##
-.page-header {
-  border-bottom-width: 1px;
-  margin: 0px;
-  margin-top: @line-height-computed * -1;
-  margin-bottom: @line-height-computed;
-  padding: @line-height-computed 0px;
-
-  &.append-tabs {
-    border-bottom: 0px;
-    padding-bottom: @line-height-computed / 2;
-  }
-
-  &>.container {
-    h1 {
-      margin: 0px;
-      padding: 0px;
-      overflow: visible;
-
-      font-size: @font-size-large * 1.5;
-
-      img {
-        border-radius: @border-radius-base;
-        margin-top: -7px;
-        margin-bottom: -1px;
-        width: 32px;
-      }
-
-      .main, .sub {
-        float: left;
-
-        font-weight: normal;
-      }
-
-      .main {
-        a {
-          color: @text-color;
-        }
-
-        a:active {
-          color: @state-clicked;
-          text-decoration: underline;
-        }
-      }
-
-      .sub {
-        margin-left: @line-height-computed / 2;
-
-        color: lighten(@text-color, 25%);
-      }
-    }
-  }
-}
-
-
-// Breadcrumb
-//
-//##
-.page-header {
-  &>.container {
-    .breadcrumb {
-      margin-top: @line-height-computed * -0.8;
-      margin-bottom: 0px;
-
-      color: @breadcrumb-color;
-      font-size: @font-size-small;
-
-      &>li {
-        + li:before {
-          /* Tinysh hack to remove BS3's style */
-          display: none;
-        }
-
-        a:link, a:visited {
-          color: @state-default;
-        }
-
-        a:hover {
-          color: @state-hover;
-        }
-
-        a:active, a:focus {
-          color: @state-clicked;
-        }
-
-        span {
-          margin: 0px 4px 0px 6px;
-        }
-      }
-    }
-  }
-}
-
-
-// Actions
-//
-//##
-.page-header {
-  &>.container {
-    .page-actions {
-      float: right;
-      margin: -3px 0px;
-
-      &>form {
-        margin: 0px;
-        padding: 0px;
-      }
-
-      .pull-left {
-        margin-left: @line-height-computed / 2;
-      }
-
-      &.path-fix {
-        margin: -2px 0px;
-        margin-bottom: -3px;
-      }
-
-      &.middle-fix {
-        margin-top: (@line-height-computed * @headings-line-height) * -1 - (@line-height-computed * 1.5) + @padding-base-vertical - 1;
-      }
-
-      .dropdown-menu {
-        left: auto;
-        right: 0px;
-
-        &:after {
-          left: auto;
-          right: 12px;
-        }
-      }
-    }
-  }
-}
-
-/* Small displays */
-@media (max-width: @screen-sm-min) {
-  .page-header {
-    &>.container {
-      .page-actions {
-        clear: both;
-        float: none;
-        margin-top: @line-height-computed;
-
-        .pull-left {
-          margin-left: 0px;
-          margin-right: @line-height-computed / 2;
-        }
-      }
-    }
-  }
-}
-
-
-// Details
-//
-//##
-.page-header {
-  &>.container {
-    .page-details {
-      display: block;
-      clear: both;
-      margin-bottom: 0;
-      position: relative;
-      top: @line-height-computed * 0.6;
-
-      color: @text-muted;
-
-      &>li {
-        &>img {
-          border-radius: @border-radius-small;
-          position: relative;
-          bottom: 1px;
-        }
-
-        &>button {
-          background: none;
-          border: none;
-        }
-
-        &>a:link, &>a:visited, &>button {
-          color: @text-muted;
-        }
-
-        &>a:hover, &>button:hover {
-          color: @state-hover;
-          text-decoration: none;
-        }
-
-        &>a:active, &>button:active {
-          color: @state-clicked;
-          text-decoration: none;
-        }
-      }
-    }
-  }
-}
-
-/* Small displays */
-@media (max-width: @screen-sm-min) {
-  .page-header {
-    &>.container {
-      .page-details {
-        margin-top: @line-height-computed;
-      }
-    }
-  }
-}
-
-
-// Pills and Tabs
-//
-//##
-.page-pills {
-  border-bottom: 1px solid @page-header-border-color;
-  margin: @line-height-computed * -1 0px @line-height-computed;
-  padding: (@line-height-computed / 2) 0px;
-
-  .nav-pills {
-    margin: 0px;
-  }
-}
-
-.page-tabs {
-  border-bottom: 3px solid @page-header-border-color;
-  margin: @line-height-computed * -1 0px @line-height-computed;
-  padding: 0px;
-
-  &.solo-right {
-    .nav-tabs {
-      margin-top: @line-height-computed * -1.5;
-      float: right;
-    }
-  }
-
-  .nav-tabs {
-    margin: 0px;
-    margin-bottom: -3px;
-  }
-}

+ 0 - 66
misago/emberapp/app/styles/_misago/index.less

@@ -1,66 +0,0 @@
-//
-// Forum Index
-// --------------------------------------------------
-
-
-// Ranks online list
-//
-//==
-.ranks-online {
-  .rank-online {
-    margin-bottom: @line-height-computed;
-
-    h3 {
-      margin-top: 0px;
-
-      color: @text-muted;
-      font-size: @font-size-large;
-    }
-
-    ul {
-      background-color: @panel-bg;
-      border: 1px solid @panel-default-border;
-      border-radius: @border-radius-base;
-
-      li {
-        a {
-          border-bottom: solid 1px @panel-inner-border;
-          display: block;
-          padding: @padding-small-vertical @padding-small-horizontal;
-
-          font-size: @font-size-large;
-
-          img {
-            border-radius: @border-radius-small;
-            height: 25px;
-            margin-top: -3px;
-            margin-right: @padding-small-vertical * 0.7;
-          }
-
-          span {
-            position: relative;
-            bottom: 1px;
-          }
-
-          small {
-            background-color: @panel-bg;
-            border-radius: @border-radius-small;
-            float: right;
-            padding: @padding-xs-vertical @padding-xs-horizontal;
-            position: relative;
-            top: 2px;
-
-            color: @panel-bg;
-            font-size: @font-size-base;
-          }
-        }
-
-        &:last-child {
-          a {
-            border-bottom: none;
-          }
-        }
-      }
-    }
-  }
-}

+ 0 - 82
misago/emberapp/app/styles/_misago/inputs.less

@@ -1,82 +0,0 @@
-//
-// Inputs
-// --------------------------------------------------
-
-
-// Flatten inputs
-input.form-control, textarea.form-control {
-  border-width: 2px;
-  .box-shadow(none);
-
-  &.diabled {
-    .opacity(50);
-  }
-}
-
-
-// Form feedback
-.input-group-addon {
-  background-color: @input-border;
-}
-
-.form-control-feedback {
-  color: @input-border;
-}
-
-.has-success {
-  .input-group-addon {
-    background-color: @state-success-bg;
-
-    color: @state-success-text-contrast;
-  }
-
-  .form-control-feedback {
-    color: @state-success-text;
-  }
-}
-
-.has-warning {
-  .input-group-addon {
-    background-color: @state-warning-bg;
-
-    color: @state-warning-text-contrast;
-  }
-
-  .form-control-feedback {
-    color: @state-warning-text;
-  }
-}
-
-.has-error {
-  .input-group-addon {
-    background-color: @state-danger-bg;
-
-    color: @state-danger-text-contrast;
-  }
-
-  .form-control-feedback {
-    color: @state-danger-text;
-  }
-}
-
-
-// Generic inputs
-textarea {
-  resize: vertical;
-}
-
-.checkbox {
-  label {
-    font-weight: bold;
-
-    .help-block {
-      font-weight: normal;
-    }
-  }
-}
-
-.form-control-static {
-  .progress {
-    margin-top: 0px;
-  }
-}

+ 0 - 8
misago/emberapp/app/styles/_misago/jumbotron.less

@@ -1,8 +0,0 @@
-//
-// Forum Jumbotron
-// --------------------------------------------------
-
-
-.jumbotron {
-  margin-top: @line-height-computed * -1;
-}

+ 0 - 55
misago/emberapp/app/styles/_misago/loader.less

@@ -1,55 +0,0 @@
-//
-// Ajax loader
-// --------------------------------------------------
-
-
-.loader {
-  margin: @line-height-computed auto;
-  width: auto;
-  text-align: center;
-
-  p {
-    margin-top: @line-height-computed / 2;
-    color: @loader-text-color;
-    font-size: @font-size-small;
-  }
-
-  &>div {
-    width: 18px;
-    height: 18px;
-    background-color: @loader-color;
-
-    border-radius: 100%;
-    display: inline-block;
-    -webkit-animation: bouncedelay 1.4s infinite ease-in-out;
-    animation: bouncedelay 1.4s infinite ease-in-out;
-    /* Prevent first frame from flickering when animation starts */
-    -webkit-animation-fill-mode: both;
-    animation-fill-mode: both;
-  }
-
-  .bounce1 {
-    -webkit-animation-delay: -0.32s;
-    animation-delay: -0.32s;
-  }
-
-  .bounce2 {
-    -webkit-animation-delay: -0.16s;
-    animation-delay: -0.16s;
-  }
-}
-
-@-webkit-keyframes bouncedelay {
-  0%, 80%, 100% { -webkit-transform: scale(0.0) }
-  40% { -webkit-transform: scale(1.0) }
-}
-
-@keyframes bouncedelay {
-  0%, 80%, 100% {
-    transform: scale(0.0);
-    -webkit-transform: scale(0.0);
-  } 40% {
-    transform: scale(1.0);
-    -webkit-transform: scale(1.0);
-  }
-}

+ 0 - 88
misago/emberapp/app/styles/_misago/markup.less

@@ -1,88 +0,0 @@
-//
-// Markup Styles
-// --------------------------------------------------
-
-
-// Markup elements
-//
-//==
-.misago-markup {
-
-}
-
-
-// Media
-//
-//==
-.misago-markup {
-  .post-media {
-    background-color: @gray-darker;
-    margin: (@line-height-computed / 2) 0px;
-    overflow: hidden;
-    text-align: center;
-  }
-
-  .media-border {
-    background-color: @gray-darker;
-    .box-shadow(0px 0px 8px #000);
-    display: inline-block;
-    overflow: hidden;
-    margin: 0px;
-    padding: 0px;
-    margin-bottom: -5px;
-
-    iframe {
-      margin: 0px;
-      margin-bottom: -5px;
-    }
-
-    .media-thumbnail {
-      background-color: @gray-darker;
-      background-position: center center;
-      background-repeat: no-repeat;
-      background-size: cover;
-      width: 853px;
-      height: 480px;
-
-      text-align: center;
-
-      a {
-        background-color: fadeOut(@gray-darker, 20%);
-        border-radius: @border-radius-base;
-        display: inline-block;
-        margin-top: 159px;
-        padding: @font-size-base (@font-size-base * 1.5);
-
-        color: @gray-lighter;
-        text-align: center;
-        text-shadow: 0px 1px 1px @gray-darker;
-
-        &:hover, &:active {
-          color: @gray-lighter;
-          text-decoration: none;
-          text-shadow: 0px 0px 5px @gray-lighter,
-                       0px 1px 1px @gray-darker;
-        }
-
-        .fa {
-          display: block;
-          clear: both;
-
-          font-size: @font-size-base * 8;
-          text-decoration: none;
-        }
-
-        &.movie-title {
-          margin-top: 164px - @font-size-base - 4px;
-
-          strong {
-            display: block;
-            margin-top: 6px;
-
-            font-size: @font-size-large;
-          }
-        }
-      }
-    }
-  }
-}

+ 0 - 43
misago/emberapp/app/styles/_misago/misago.less

@@ -1,43 +0,0 @@
-// Components
-@import "alerts.less";
-@import "buttons.less";
-@import "dropdowns.less";
-@import "editor.less";
-@import "inputs.less";
-@import "loader.less";
-@import "navs.less";
-@import "modals.less";
-@import "markup.less";
-@import "pager.less";
-@import "panels.less";
-@import "progressbars.less";
-@import "states.less";
-@import "tables.less";
-@import "threadslists.less";
-@import "typography.less";
-@import "datepicker.less";
-@import "yesnoswitch.less";
-
-// Layout elements
-@import "navbar.less";
-@import "jumbotron.less";
-@import "header.less";
-@import "footer.less";
-
-@import "forms.less";
-@import "posting.less";
-@import "forums.less";
-@import "notifications.less";
-@import "userslists.less";
-@import "participants.less";
-
-// Pages
-@import "errorpages.less";
-@import "index.less";
-@import "profile.less";
-@import "signin.less";
-@import "warnings.less";
-@import "usercp.less";
-@import "posts.less";
-@import "events.less";
-@import "threadmap.less";

+ 0 - 47
misago/emberapp/app/styles/_misago/modals.less

@@ -1,47 +0,0 @@
-//
-// Modals
-// --------------------------------------------------
-
-
-.modal {
-  .modal-dialog {
-    border-radius: @border-radius-large;
-    box-shadow: 0px 0px 0px 6px @dropdown-shadow;
-
-    .modal-content {
-      .modal-header {
-        background: @modal-header-bg-color;
-        border-radius: @border-radius-large @border-radius-large 0px 0px;
-
-        .modal-title {
-          color: @modal-title-color;
-        }
-      }
-
-      .modal-form {
-        padding-bottom: @line-height-computed / 5;
-      }
-
-      .modal-footer {
-        background: @modal-footer-bg-color;
-        border-radius: 0px 0px @border-radius-large @border-radius-large;
-
-        &.text-center {
-          text-align: center;
-
-          &>* {
-            float: none;
-          }
-        }
-
-        &.text-left {
-          text-align: left;
-
-          &>* {
-            float: none;
-          }
-        }
-      }
-    }
-  }
-}

+ 0 - 493
misago/emberapp/app/styles/_misago/navbar.less

@@ -1,493 +0,0 @@
-//
-// Forum Navbar
-// --------------------------------------------------
-
-
-//== Brand
-//
-//**
-.navbar {
-  margin-bottom: 0px;
-
-  .navbar-brand {
-    .navbar-vertical-align(@navbar-height - (@navbar-brand-size - @font-size-large) / 2 + 2);
-    margin-top: -1px;
-    position: relative;
-    top: 3px;
-
-    font-size: @navbar-brand-size;
-  }
-}
-
-
-//== Primary menu
-//
-//**
-.navbar-nav-primary {
-  &>li {
-    &>a {
-      font-size: @font-size-large;
-
-      &>.badge {
-        background-color: darken(@brand-danger, 10%);
-        border-radius: @border-radius-base;
-        padding: 2px 3px;
-        padding-left: 4px;
-      }
-    }
-  }
-}
-
-
-/* Big displays */
-@media (min-width: @screen-sm-min) {
-  .navbar-nav-primary {
-    .navbar-vertical-align(@navbar-icon-size * 1.7 - 2px);
-    margin-bottom: 0px;
-    margin-left: @navbar-icon-size + @navbar-padding-horizontal;
-    margin-right: @navbar-icon-size;
-
-    &>li {
-      margin: 0px;
-      padding: 0px;
-
-      &>a {
-        /* Make button blocky */
-        clear: both;
-        border: 1px solid @navbar-icon-link-border;
-        border-radius: @border-radius-base;
-        margin: 0px;
-        padding: 0px;
-        padding-top: 6px;
-        height: @navbar-icon-size * 1.7;
-        width: @navbar-icon-size * 1.7;
-
-        text-align: center;
-
-        /* Hide item labels on big displays */
-        .item-label {
-          display: none;
-        }
-
-        .glyphicon, .fa {
-          font-size: @navbar-icon-size;
-
-          &.fa-search {
-            position: relative;
-            bottom: 1px;
-          }
-        }
-
-        &>.badge {
-          border-radius: @border-radius-small;
-          position: absolute;
-          right: 1px;
-          bottom: 1px;
-          padding: 1px 3px;
-          padding-left: 4px;
-          padding-top: 2px;
-
-          font-size: @font-size-base * 0.8;
-          font-weight: normal;
-        }
-
-        /* Primary styles */
-        &, &:link, &:visited {
-          background-color: @navbar-icon-link-bg;
-
-          color: @navbar-icon-link-color !important;
-        }
-
-        &:hover {
-          background-color: @navbar-icon-link-hover-bg !important;
-          border-color: @navbar-icon-link-hover-border;
-          transition-duration: 0.3ms;
-
-          color: @navbar-icon-link-hover-color !important;
-        }
-
-        &:active {
-          background-color: @navbar-icon-link-active-bg !important;
-          border-color: @navbar-icon-link-active-border;
-          transition-duration: 0.05ms;
-
-          color: @navbar-icon-link-active-color !important;
-        }
-      }
-
-      &.open {
-        &>a {
-          &:link, &:active, &:visited, &:hover {
-            background-color: @navbar-icon-link-open-bg !important;
-            border-color: @navbar-icon-link-open-border !important;
-            box-shadow: none;
-
-            color: @navbar-icon-link-open-color !important;
-
-            &>.badge {
-              background-color: @navbar-icon-link-open-color;
-
-              color: @navbar-icon-link-open-border;
-            }
-          }
-        }
-      }
-    }
-
-    .dropdown-menu {
-      top: @navbar-height - (@navbar-icon-size / 2) - 1px;
-
-      &:after {
-        right: @navbar-icon-size / 2;
-      }
-    }
-  }
-}
-
-
-//== User menu
-//
-//**
-.navbar-nav-user {
-  &>li {
-    &>a.user-toggle {
-      overflow: auto;
-
-      font-size: @font-size-large;
-
-      img {
-        border-radius: @border-radius-base;
-        height: 32px;
-      }
-
-      .glyphicon-chevron-down {
-        position: relative;
-        top: 4px;
-        margin-right: 6px;
-
-        color: @navbar-user-caret-color;
-      }
-
-      &:hover {
-        .glyphicon-chevron-down {
-          color: @navbar-user-caret-hover-color;
-        }
-      }
-
-      &:active, &:focus {
-        .glyphicon-chevron-down {
-          color: @navbar-user-caret-active-color;
-        }
-      }
-    }
-  }
-}
-
-/* Big displays */
-@media (min-width: @screen-sm-min) {
-  /* Put some distance between user menu and primary nav */
-  .navbar-nav-user {
-    padding-right: @navbar-padding-horizontal;
-  }
-
-  /* Change way switch and dropdown appears */
-  .navbar-nav-user {
-    .dropdown-toggle.user-toggle {
-      padding-top: ((@navbar-height - @font-size-large) / 2) + 1px;
-      padding-left: 0px;
-      padding-right: 0px;
-
-      img {
-        float: right;
-        height: 32px;
-        margin: (@font-size-base / 2 * -1) 0px;
-        margin-bottom: (@font-size-base / 2 * -1) + 1px;
-        margin-left: 8px;
-      }
-
-      .glyphicon-chevron-down {
-        float: right;
-        margin: 0px;
-        margin-left: 8px;
-
-        font-size: @font-size-small;
-      }
-
-      &:link, &:visited {
-        color: @navbar-user-name-color;
-      }
-
-      &:hover {
-        color: @navbar-user-name-hover-color;
-      }
-
-      &:active, &:focus {
-        color: @navbar-user-name-active-color;
-      }
-
-      &, &:visited, &:hover, &:active, &:focus {
-        background: transparent;
-      }
-    }
-
-    .dropdown-menu {
-      min-width: 256px;
-      right: -8px;
-      top: auto;
-      bottom: auto;
-
-      &:after {
-        right: 7px;
-        top: -11px;
-      }
-    }
-
-    &>li.open {
-      .dropdown-toggle.user-toggle {
-        &, &:visited, &:hover, &:active, &:focus {
-          background: transparent;
-
-          color: @navbar-user-name-active-color;
-        }
-      }
-    }
-  }
-}
-
-
-//== Guest buttons
-//
-//**
-.navbar-nav-guest {
-  .navbar-vertical-align(@font-size-large + 12px);
-
-  .btn-sign-in, .btn-register {
-    margin: 0px;
-
-    &:hover {
-      transition-timing-function: ease;
-      transition-duration: 0.3s;
-     }
-
-    &:active {
-      .box-shadow(none);
-      transition-timing-function: ease;
-      transition-duration: 0.1s;
-    }
-  }
-
-  .btn-sign-in {
-    &, &:visited, &:link {
-      background: @btn-sign-in-bg;
-      border-color: @btn-sign-in-border;
-
-      color: @btn-sign-in-color;
-    }
-
-    &:hover {
-      background: @btn-sign-in-hover-bg;
-      border-color: @btn-sign-in-hover-border;
-
-      color: @btn-sign-in-hover-color;
-
-    }
-
-    &:active {
-      background: @btn-sign-in-active-bg;
-      border-color: @btn-sign-in-active-border;
-
-      color: @btn-sign-in-active-color;
-    }
-  }
-
-  .btn-register {
-    &, &:visited, &:link {
-      background: @btn-register-bg;
-      border-color: @btn-register-border;
-
-      color: @btn-register-color;
-    }
-
-    &:hover {
-      background: @btn-register-hover-bg;
-      border-color: @btn-register-hover-border;
-
-      color: @btn-register-hover-color;
-    }
-
-    &:active {
-      background: @btn-register-active-bg;
-      border-color: @btn-register-active-border;
-
-      color: @btn-register-active-color;
-    }
-  }
-}
-
-/* On big displays put some distance between guest nav and other nav */
-@media (min-width: @screen-sm-min) {
-  .navbar-nav-guest {
-    padding-right: @navbar-padding-horizontal;
-    margin-left: @navbar-padding-horizontal * 2;
-  }
-}
-
-
-//== Navbar dropdowns
-//
-//**
-
-/* Small displays */
-@media (max-width: @screen-sm-min) {
-  /* Hide carets */
-  .navbar {
-    .dropdown-menu {
-      &:after {
-        display: none;
-      }
-    }
-  }
-
-  /* Dropdown title */
-  .navbar-default {
-    .dropdown-menu {
-      .dropdown-title {
-        margin-top: -5px;
-        margin-bottom: 5px;
-        padding: @padding-base-vertical @padding-base-horizontal;
-
-        .badge {
-          background-color: darken(@brand-danger, 10%);
-          border-radius: @border-radius-small;
-
-          color: #fff;
-        }
-      }
-    }
-  }
-
-  .navbar-default {
-    .dropdown-menu {
-      .dropdown-title {
-        background-color: darken(@navbar-default-bg, 15%);
-      }
-    }
-  }
-
-  .navbar-inverse {
-    .dropdown-menu {
-      .dropdown-title {
-        background-color: lighten(@navbar-inverse-bg, 15%);
-      }
-    }
-  }
-
-  /* Make buttons size equal to that of links */
-  .navbar {
-    .dropdown-menu {
-      li {
-        form {
-          button {
-            padding: 3px 25px;
-          }
-        }
-      }
-    }
-  }
-
-  /* Color badges in red and white */
-  .navbar {
-    .dropdown-menu {
-      li {
-        a {
-          &, &:link, &:visited, &:hover, &:active {
-            .badge {
-              background-color: @brand-danger;
-              border-radius: @border-radius-base;
-
-              color: @dropdown-bg;
-            }
-          }
-        }
-      }
-    }
-  }
-
-  /* Dropdown links and buttons */
-  .navbar {
-    .dropdown-menu {
-      li {
-        form {
-          button {
-            color: @navbar-default-link-color;
-
-            &:hover {
-              background: none;
-
-              color: @navbar-default-link-hover-color;
-            }
-
-            &:active, &:focus {
-              background: none;
-
-              color: @navbar-default-link-active-color;
-            }
-          }
-        }
-      }
-    }
-  }
-
-  .navbar-inverse {
-    .dropdown-menu {
-      button {
-        color: @navbar-inverse-link-color;
-
-        &:hover {
-          background: none;
-
-          color: @navbar-inverse-link-hover-color;
-        }
-
-        &:active, &:focus {
-          background: none;
-
-          color: @navbar-inverse-link-active-color;
-        }
-      }
-    }
-  }
-
-  /* Make open dropdowns differ*/
-  .navbar {
-    .dropdown.open {
-      background: darken(@navbar-default-bg, 3%);
-      border-bottom: 2px solid darken(@navbar-default-bg, 6%);
-
-      .dropdown-toggle {
-        &:link, &:active, &:visited, &:hover {
-          background: darken(@navbar-default-bg, 6%);
-        }
-      }
-
-      .dropdown-menu {
-        li.divider {
-          background-color: darken(@navbar-default-bg, 9%);
-        }
-      }
-    }
-  }
-
-  .navbar-inverse {
-    .dropdown.open {
-      background: lighten(@navbar-inverse-bg, 3%);
-      border-bottom: 2px solid lighten(@navbar-inverse-bg, 6%);
-
-      .dropdown-menu {
-        li.divider {
-          background-color: lighten(@navbar-inverse-bg, 9%);
-        }
-      }
-    }
-  }
-}

+ 0 - 233
misago/emberapp/app/styles/_misago/navs.less

@@ -1,233 +0,0 @@
-//
-// Navs
-// --------------------------------------------------
-
-
-/* Tabs */
-.nav-tabs {
-  border-bottom-width:3px;
-
-  &>li {
-    &>a {
-      &:link, &:active, &:visited {
-        border: none;
-        border-bottom: 3px solid transparent;
-        border-radius: 0px;
-        margin-bottom: -2px;
-        padding: @nav-tabs-padding;
-
-        color: @nav-link-color;
-      }
-
-      &:hover {
-        border: none;
-        border-bottom: 3px solid @nav-tabs-link-hover-border-color;
-        margin-bottom: -2px;
-        padding: @nav-tabs-padding;
-        transition-timing-function: ease;
-        transition-duration: 0.3s;
-
-        color: @nav-link-hover-color;
-      }
-
-      &:active {
-        background: @nav-tabs-link-clicked-bg;
-        border-bottom-color: @nav-tabs-link-clicked-border-color;
-        transition-timing-function: ease;
-        transition-duration: 0.1s;
-
-        color: @nav-tabs-link-clicked-color;
-      }
-    }
-  }
-
-  &>li.active {
-    &>a {
-      &:link, &:active, a:hover, &:visited {
-        border: none;
-        border-radius: 0px;
-        border-bottom: 3px solid @nav-tabs-active-link-border-color;
-        margin-bottom: -2px;
-        padding: @nav-link-padding;
-
-        color: @nav-tabs-active-link-color;
-        cursor: pointer;
-        font-weight: bold;
-      }
-    }
-  }
-}
-
-
-/* Pills */
-.nav-pills {
-  &>li {
-    &>a {
-      &:link, &:active, &:visited {
-        padding: @nav-pills-padding;
-
-        color: @nav-link-color;
-      }
-
-      &:hover {
-        color: @nav-link-hover-color;
-      }
-
-      &:active {
-      }
-    }
-  }
-
-  &>li.active {
-    &>a {
-      &:link, &:active, a:hover, &:visited {
-        background: @nav-pills-active-link-hover-bg;
-
-        color: @nav-pills-active-link-hover-color;
-      }
-    }
-  }
-}
-
-
-/* Sidenav */
-.nav-side {
-  margin-bottom: @line-height-computed;
-
-  li {
-    .fa, .glyphicon {
-      margin-left: -8px;
-      width: 30px;
-
-      text-align: center;
-    }
-
-    &.title {
-      h3 {
-        border-bottom: 1px solid @nav-side-border;
-        margin: 0px;
-        padding: @nav-side-padding;
-
-        font-size: @font-size-base;
-      }
-    }
-
-    a {
-      &, &:link, &:visited {
-        border-bottom: 1px solid @nav-side-border;
-        padding: @nav-side-padding;
-
-        color: @nav-side-color;
-      }
-
-      &:hover {
-        color: @nav-side-hover-color;
-      }
-
-      &:active {
-        color: @nav-side-active-color;
-      }
-    }
-
-    &:last-child {
-      a {
-        border-bottom: none;
-      }
-    }
-
-    &.active {
-      a {
-        &, &:link, &:visited, &:active, &:hover {
-          background: @nav-side-active-bg;
-          border: none;
-          border-radius: @border-radius-base;
-
-          color: @nav-side-active-text-color;
-        }
-      }
-    }
-
-    .badge {
-      float: right;
-    }
-  }
-
-  &.large {
-    a {
-      font-size: @font-size-large;
-    }
-
-    .badge {
-      position: relative;
-      top: 2px;
-
-      font-size: @font-size-base;
-    }
-  }
-}
-
-
-/* Badges */
-.nav-pills, .nav-tabs {
-  &>li {
-    .badge {
-      padding: 2px 3px;
-      padding-top: 3px;
-      padding-right: 4px;
-      position: relative;
-      bottom: 1px;
-    }
-  }
-}
-
-.nav-side {
-  li {
-    a {
-      &, &:link, &:visited {
-        .badge {
-          background: transparent;
-          float: right;
-          margin-top: 1px;
-
-          color: @text-color;
-        }
-      }
-    }
-
-    &.active {
-      a {
-        &, &:link, &:visited, &:active, &:hover {
-          .badge {
-            background: @nav-side-active-text-color;
-
-            color: @nav-side-active-bg;
-          }
-        }
-      }
-    }
-  }
-}
-
-
-/* Label */
-.nav-pills, .nav-tabs, .nav-side {
-  &>li {
-    .label {
-      padding: 2px 3px;
-      padding-top: 1px;
-      padding-right: 4px;
-      position: relative;
-      bottom: 1px;
-    }
-  }
-}
-
-.nav-pills {
-  &>li.active {
-    .label-default, .badge {
-      background-color: @component-active-color;
-
-      color: @nav-pills-active-link-hover-bg;
-    }
-  }
-}

+ 0 - 153
misago/emberapp/app/styles/_misago/notifications.less

@@ -1,153 +0,0 @@
-//
-// Notifications
-// --------------------------------------------------
-
-
-// Notifications dropdowned list
-//
-//==
-.user-notifications-nav {
-  .dropdown-menu {
-    width: 320px;
-
-    .dropdown-title {
-      margin-bottom: 0px;
-    }
-
-    ul {
-      margin: 0px;
-      max-height: @line-height-computed * 8.75;
-
-      li {
-        border-bottom: 1px solid @dropdown-divider-bg;
-        padding: @padding-base-vertical @padding-base-horizontal;
-
-        &.new {
-          .state-icon {
-            color: @state-active;
-          }
-        }
-
-        .state-icon {
-          float: left;
-          width: @font-size-base * 1.5;
-
-          color: @state-default;
-        }
-
-        a {
-          display: block;
-          margin: 0px;
-          padding: 0px;
-
-          color: @text-color;
-
-          &:hover {
-            background: none;
-
-            text-decoration: none;
-          }
-
-          &:active {
-            background: none;
-
-            color: @state-clicked;
-          }
-        }
-
-        footer {
-          padding-left: @font-size-base * 1.5;
-
-          font-size: @font-size-small;
-
-          a {
-            display: inline;
-            margin-right: @line-height-computed / 4;
-          }
-        }
-
-        &.empty {
-          border-bottom: none;
-          padding: @padding-large-vertical @padding-base-horizontal;
-          padding-bottom: @line-height-computed;
-
-          text-align: center;
-
-          .fa {
-            display: block;
-
-            font-size: @font-size-large * 3;
-          }
-        }
-      }
-    }
-  }
-}
-
-
-// Full notifications list
-//
-//==
-.notifications-list {
-  li {
-    border-bottom: 1px solid @hr-border;
-    overflow: auto;
-    padding: (@line-height-computed / 2) 0px;
-
-    &.new {
-      .state-icon {
-        color: @state-active;
-      }
-    }
-
-    &:last-child {
-      border-bottom: none;
-    }
-
-    .state-icon {
-      float: left;
-      margin-top: 2px;
-      margin-right: @line-height-computed / 2;
-
-      color: @state-default;
-      font-size: @font-size-large;
-    }
-
-    .message {
-      float: left;
-      margin-top: 2px;
-
-      font-size: @font-size-large;
-
-      &:link, &:active, &:visited {
-        color: @text-color;
-      }
-
-      &:hover {
-        background: none;
-
-        text-decoration: none;
-      }
-
-      &:active {
-        background: none;
-
-        color: @state-clicked;
-      }
-    }
-
-    footer {
-      margin-top: 5px;
-      float: right;
-
-      a {
-        margin-right: @line-height-computed / 3;
-      }
-    }
-
-    .read-form {
-      float: right;
-      margin-left: @line-height-computed;
-    }
-  }
-}

+ 0 - 76
misago/emberapp/app/styles/_misago/pager.less

@@ -1,76 +0,0 @@
-//
-// Pager
-// --------------------------------------------------
-
-
-// Default pager
-//
-//==
-.pager {
-  margin: 0px;
-  padding-bottom: 2px;
-
-  &>li {
-    &.page {
-      display: inline-block;
-      padding: 7px 0px;
-      padding-right: @line-height-computed / 3;
-    }
-
-    a {
-      &, &:link, &:visited {
-        background-color: @btn-default-bg;
-        border-color: @btn-default-bg;
-        border-radius: @border-radius-base;
-        box-shadow: 0px 2px 0px 0px @btn-default-border;
-        padding: 6px 9px;
-
-        color: @btn-default-color;
-      }
-
-      &:hover {
-        background-color: darken(@btn-default-bg, 10%);
-        border-color: darken(@btn-default-bg, 10%);
-        box-shadow: 0px 2px 0px 0px darken(@btn-default-border, 10%);
-
-        color: @btn-default-color;
-      }
-
-      &:active, &:focus {
-        background-color: darken(@btn-default-bg, 15%);
-        border-color: darken(@btn-default-bg, 15%);
-        box-shadow: none;
-        position: relative;
-        top: 2px;
-
-        color: darken(@btn-default-color, 10%);
-      }
-    }
-  }
-}
-
-
-// Wide pager
-//
-//==
-.pager {
-  &.pager-wide {
-    overflow: auto;
-  }
-}
-
-
-/* Big displays */
-@media (min-width: @screen-sm-min) {
-  .pager {
-    &.pager-wide {
-      .pull-left {
-        margin-right: @line-height-computed / 3;
-      }
-
-      .pull-right {
-        margin-left: @line-height-computed / 3;
-      }
-    }
-  }
-}

+ 0 - 233
misago/emberapp/app/styles/_misago/panels.less

@@ -1,233 +0,0 @@
-//
-// Panels
-// --------------------------------------------------
-
-
-// Shared styles
-//
-//==
-.panel {
-  box-shadow: none;
-
-  &.panel-shadow {
-    box-shadow: 0px 0px 0px 3px @panel-shadow;
-  }
-}
-
-
-// Bodies
-//
-//==
-.panel-body {
-  &.thin {
-    padding-top: @line-height-computed / 6;
-    padding-bottom: 0px;
-  }
-
-  &.large {
-    padding-top: 0px;
-    padding-bottom: 0px;
-
-    font-size: @font-size-large;
-  }
-}
-
-
-// Footers
-//
-//==
-.panel-footer {
-  overflow: auto;
-
-  &>ul {
-    overflow: auto;
-    margin: 0px;
-    padding: 0px;
-
-    &>li {
-      float: left;
-    }
-
-    &.pull-left {
-      &>li {
-        margin-right: @line-height-computed;
-      }
-    }
-
-    &.pull-right {
-      &>li {
-        margin-left: @line-height-computed;
-      }
-    }
-
-    &.stats {
-      &>li {
-        img {
-          border-radius: @border-radius-small;
-          height: 20px;
-        }
-
-        a {
-          color: @state-hover;
-          font-weight: bold;
-        }
-
-        a:hover {
-          color: @state-hover;
-          text-decoration: underline;
-        }
-
-        a:active {
-          color: @state-clicked;
-          text-decoration: underline;
-        }
-      }
-    }
-
-    &.actions {
-      margin: -6px 0px;
-
-      &>li {
-        &>form {
-          margin: 0px;
-          padding: 0px;
-        }
-
-        &>form>.btn, &>.btn {
-          border-color: transparent;
-          background: transparent;
-          .box-shadow(none);
-          position: static;
-          margin: 0px;
-          padding: 5px 7px;
-
-          color: @state-default;
-
-          &:hover {
-            background-color: darken(@panel-footer-bg, 5%);
-            transition-timing-function: ease;
-
-            color: @state-hover;
-          }
-
-          &:active {
-            background-color: darken(@panel-footer-bg, 5%);
-            outline: none;
-
-            color: @state-clicked;
-          }
-
-          .fa {
-            position: relative;
-            bottom: 1px;
-          }
-
-          &.btn-primary {
-            background: transparent;
-
-            color: @state-info-text;
-
-            &:hover {
-              background: fadeOut(@state-info-bg, 90%);
-
-              color: @state-info-text;
-            }
-
-            &:active {
-              background: @state-info-bg;
-
-              color: @state-info-text-contrast;
-            }
-          }
-
-          &.btn-success {
-            background: transparent;
-
-            color: @state-success-text;
-
-            &:hover {
-              background: fadeOut(@state-success-bg, 90%);
-
-              color: @state-success-text;
-            }
-
-            &:active {
-              background: @state-success-bg;
-
-              color: @state-success-text-contrast;
-            }
-          }
-
-          &.btn-warning {
-            background: transparent;
-
-            color: @state-warning-text;
-
-            &:hover {
-              background: fadeOut(@state-warning-bg, 90%);
-
-              color: @state-warning-text;
-            }
-
-            &:active {
-              background: @state-warning-bg;
-
-              color: @state-warning-text-contrast;
-            }
-          }
-
-          &.btn-danger {
-            background: transparent;
-
-            color: @state-danger-text;
-
-            &:hover {
-              background: fadeOut(@state-danger-bg, 90%);
-
-              color: @state-danger-text;
-            }
-
-            &:active {
-              background: @state-danger-bg;
-
-              color: @state-danger-text-contrast;
-            }
-          }
-        }
-      }
-
-      &.pull-left {
-        &>li {
-          margin-right: @line-height-computed / 2;
-        }
-      }
-
-      &.pull-right {
-        &>li {
-          margin-left: @line-height-computed / 2;
-        }
-      }
-    }
-  }
-}
-
-
-// Opacity
-.panel {
-  .opaque {
-    .opacity(0.5);
-    transition-property: opacity;
-    transition-timing-function: ease;
-    transition-duration: 0.3s;
-  }
-
-  &:hover, &:focus {
-    .opaque {
-      .opacity(1);
-
-      transition-property: opacity;
-      transition-timing-function: ease;
-      transition-duration: 0.7s;
-    }
-  }
-}

+ 0 - 179
misago/emberapp/app/styles/_misago/participants.less

@@ -1,179 +0,0 @@
-//
-// Participants Lists
-// --------------------------------------------------
-
-
-// Participants popover
-//
-//==
-.participants-popover {
-  margin: -4px -2px;
-
-  &>li {
-    margin: 0px;
-    padding: @line-height-computed / 3 0px;
-    min-width: 120px;
-
-    img {
-      border-radius: @border-radius-small;
-      position: relative;
-      bottom: 1px;
-    }
-
-    a {
-      font-weight: bold;
-    }
-  }
-}
-
-
-// Participants field
-//
-//==
-.thread-participants-input {
-  background: @input-bg;
-  border: 2px solid @input-border;
-  border-radius: @border-radius-large;
-
-  input {
-    border: none;
-    .box-shadow(none);
-    margin: 0px;
-  }
-
-  ul {
-    float: left;
-    margin: 0px;
-
-    li {
-      background: darken(@input-bg, 5%);
-      border-radius: @border-radius-small;
-      float: left;
-      margin-left: 2px;
-      margin-right: @line-height-computed / 2;
-      margin-top: 2px;
-      padding: @padding-small-vertical @padding-small-horizontal;
-      padding-left: @padding-small-vertical + 1px;
-
-      font-weight: bold;
-
-      img {
-        border-radius: @border-radius-small;
-        height: 20px;
-        margin-right: @line-height-computed / 5;
-        margin-bottom: -2px;
-        position: relative;
-        bottom: 2px;
-      }
-
-      .btn {
-        background: transparent;
-        border-color: transparent;
-        margin-left: @line-height-computed / 4;
-        height: 17px;
-        width: 17px;
-        padding: 0px;
-        position: relative;
-        bottom: 2px;
-
-        text-align: center;
-
-        .fa {
-          position: relative;
-          left: 0px;
-          bottom: 1px;
-
-          font-size: 14px;
-        }
-      }
-    }
-  }
-
-  .user-input {
-    float: left;
-    border: none;
-    .box-shadow(none);
-  }
-
-  .twitter-typeahead {
-    margin-bottom: -5px;
-
-    .tt-dropdown-menu {
-      background-color: @dropdown-bg;
-      border-radius: @border-radius-base;
-      box-shadow: 0px 0px 0px 4px @dropdown-shadow;
-      min-width: 160px;
-      padding: @padding-base-vertical 0px;
-
-      &:after {
-        border: solid transparent;
-        border-bottom-color: @dropdown-bg;
-        border-width: 4px;
-        content: "";
-        height: 0;
-        position: absolute;
-        pointer-events: none;
-        left: 12px;
-        top: -8px;
-        width: 0;
-      }
-
-      .tt-suggestion {
-        display: block;
-        padding: @padding-base-vertical @padding-large-horizontal;
-
-        color: @dropdown-link-color;
-        font-weight: bold;
-
-        cursor: pointer;
-
-        img {
-          border-radius: @border-radius-small;
-          position: relative;
-          bottom: 1px;
-        }
-
-        &.tt-cursor {
-          &, a:hover, a:active {
-            background-color: darken(@dropdown-bg, 10%);
-
-            color: @dropdown-link-color;
-          }
-        }
-      }
-    }
-  }
-}
-
-// Edit thread participants
-//
-//==
-.modal-edit-participants {
-  .users-list-compact {
-    margin-bottom: @line-height-computed * 1.5;
-  }
-
-  .invite-form {
-    display: table;
-    width: 100%;
-
-    .input {
-      display: table-cell;
-      width: 100%;
-
-      .thread-participants-input {
-        margin: 0px;
-      }
-    }
-
-    .button {
-      display: table-cell;
-      padding-left: @line-height-computed / 3;
-      vertical-align: top;
-
-      .btn {
-        margin: 0px;
-      }
-    }
-  }
-}

+ 0 - 140
misago/emberapp/app/styles/_misago/posting.less

@@ -1,140 +0,0 @@
-//
-// Post editor
-// --------------------------------------------------
-
-
-.posting-container {
-  background: @form-panel-bg;
-  border-top: 1px solid darken(@form-panel-border, 8%);
-  border-width: 1px 0px;
-  box-shadow: 0px 0px 0px 5px darken(@form-panel-shadow, 8%);
-  padding: @form-panel-padding;
-  padding-bottom: 0px;
-  padding-left: 0px;
-  padding-right: 0px;
-
-  position: fixed;
-  bottom: -100%;
-  width: 100%;
-  z-index: 2;
-
-  &.fixed {
-    transition-duration: 0.5s;
-    bottom: 0px;
-  }
-
-  .container {
-    position: relative;
-  }
-
-  .lefthand {
-    margin: 0px;
-    position: absolute;
-    left: @grid-gutter-width * -1;
-    width: @grid-gutter-width;
-
-    li {
-      text-align: center;
-
-      a {
-        color: @state-default;
-
-        &:hover, &:focus {
-          color: @state-hover;
-        }
-
-        &:active, &.active {
-          color: @state-clicked;
-        }
-      }
-
-      button {
-        background: none;
-        border: none;
-
-        color: @state-default;
-
-        &:hover, &:focus {
-          color: @state-hover;
-        }
-
-        &:active {
-          color: @state-clicked;
-        }
-      }
-    }
-  }
-
-  .thread-title {
-    background: @input-bg;
-    border: 2px solid @input-border;
-    border-radius: @border-radius-large;
-    margin-bottom: @line-height-computed / 2;
-
-    input, select {
-      border: none;
-      .box-shadow(none);
-
-      .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);
-    }
-  }
-
-  .thread-participants-input {
-    margin-bottom: @line-height-computed / 2;
-  }
-
-  .editor-preview {
-    border: 2px dashed @form-panel-border;
-    border-radius: @border-radius-large;
-    padding: 0px;
-
-    .empty-message {
-      padding: @padding-base-vertical @padding-base-horizontal;
-    }
-
-    .misago-markup {
-      padding: @padding-base-vertical @padding-base-horizontal;
-    }
-
-    .preview-footer  {
-      margin: 0px;
-      padding: @padding-base-vertical @padding-base-horizontal;
-    }
-  }
-
-  .form-main {
-    padding: 0px;
-
-    &>.form-control {
-      margin-bottom: @line-height-computed / 2;
-    }
-  }
-
-  .form-side {
-    h3 {
-      padding: 0px;
-      margin: 0px;
-      margin-bottom: @line-height-computed / 2;
-
-      color: @text-muted;
-      font-size: @font-size-base;
-      font-weight: bold;
-    }
-
-    .supporting-form {
-      margin-bottom: @line-height-computed / 2;
-    }
-  }
-
-  .form-footer {
-    background-color: @form-panel-footer-bg;
-    border-top: 1px solid @form-panel-border;
-    padding: @form-panel-padding;
-    padding-left: 0px;
-    padding-right: 0px;
-
-    strong {
-      margin-left: @line-height-computed / 2;
-    }
-  }
-}

+ 0 - 249
misago/emberapp/app/styles/_misago/posts.less

@@ -1,249 +0,0 @@
-//
-// Thread Posts
-// --------------------------------------------------
-
-
-// Posts list
-//
-//==
-.posts-list {
-  .post-fragment {
-    float: left;
-    position: relative;
-    bottom: @line-height-computed * 1.9;
-  }
-
-  .post {
-    .user-avatar {
-      img {
-        border-radius: @border-radius-base;
-      }
-    }
-
-    .media-body {
-      padding-left: @line-height-computed / 2;
-
-      .panel-default {
-        position: relative;
-
-        &:after, &:before {
-          right: 100%;
-          border: solid transparent;
-          content: "";
-          height: 0; width: 0;
-          position: absolute;
-          pointer-events: none;
-        }
-
-        &:after {
-          border-color: transparent;
-          border-right-color: @post-panel-bg;
-          border-width: @font-size-small - 2;
-          top: @line-height-computed / 2;
-          margin-top: (@font-size-small * -1) + @font-size-small;
-        }
-
-        &:before {
-           border-color: transparent;
-           border-right-color: @post-panel-border;
-           border-width: @font-size-small;
-           top: @line-height-computed / 2 - 1;
-           margin-top: (@font-size-small * -1) + @font-size-small - 1px;
-        }
-      }
-    }
-
-    &.focus {
-      .media-body {
-        .panel-default {
-          background: @post-active-panel-bg;
-          border-color: @post-active-panel-border;
-
-          &:after {
-            border-right-color: @post-active-panel-bg;
-          }
-
-          &:before {
-            border-right-color: @post-active-panel-border;
-          }
-        }
-      }
-    }
-  }
-}
-
-
-// Post panel
-//
-//==
-.posts-list {
-  .panel {
-    background: @post-panel-bg;
-    border-color: @post-panel-border;
-  }
-}
-
-
-// Post header
-//
-//==
-.posts-list {
-  .panel {
-    .panel-heading {
-      background: none;
-      border-bottom: none;
-      margin-bottom: @line-height-computed * -0.5;
-
-      color: @text-muted;
-
-      .user-name {
-        color: @state-default;
-        font-weight: bold;
-      }
-
-      a.user-name {
-        &:link, &:visited {
-          color: @state-hover;
-        }
-
-        &:hover {
-          color: @state-hover;
-          text-decoration: text-underline;
-        }
-
-        &:active, &:focus {
-          color: @state-clicked;
-          text-decoration: text-underline;
-        }
-      }
-
-      .separator {
-        margin-left: @font-size-base / 3;
-        margin-right: @font-size-base / 3;
-      }
-
-      .post-date {
-        &:link, &:visited {
-          color: @state-default;
-        }
-
-        &:hover, &:focus {
-          color: @state-hover;
-          text-decoration: underline;
-        }
-
-        &:active {
-          color: @state-clicked;
-          text-decoration: underline;
-        }
-      }
-
-      .label {
-        position: relative;
-        bottom: 2px;
-      }
-
-      .post-check {
-        float: right;
-        margin: 0px;
-        margin-left: @line-height-computed / 2;
-
-        color: @text-muted;
-        font-size: 20px;
-        text-decoration: none;
-        line-height: 19px;
-
-        cursor: pointer;
-
-
-        &.active {
-          color: @brand-success;
-        }
-
-        input {
-          position: absolute;
-          top: -9999px;
-          left: -9999px;
-        }
-      }
-    }
-  }
-}
-
-
-// Post alert
-//
-//==
-.posts-list {
-  .panel {
-    .alert {
-      border: none;
-      border-radius: 0px;
-      margin-top: @line-height-computed / 2;
-      margin-bottom: 0;
-
-      font-size: @font-size-base + 2px;
-      text-align: center;
-
-      &.alert-default {
-        background-color: @alert-default-bg;
-
-        color: @alert-default-text;
-      }
-
-      .user-avatar {
-        &, &:link, &:active, &:hover {
-          text-decoration: none;
-        }
-
-        img {
-          height: 20px;
-          position: relative;
-          bottom: 2px;
-        }
-      }
-    }
-  }
-}
-
-
-// Post body
-//
-//==
-.posts-list {
-  .panel {
-    .panel-body {
-      .corrupted-message {
-        margin: 0px;
-      }
-
-      .hidden-message {
-        margin: (@line-height-computed * .25) 0px;
-
-        img {
-          height: 32px;
-          position: relative;
-          bottom: 2px;
-        }
-
-        a, strong {
-          font-weight: normal;
-        }
-      }
-    }
-  }
-}
-
-
-// Post footer
-//
-//==
-.posts-list {
-  .panel {
-    .panel-footer {
-      background: none;
-      border-top: none;
-      margin-top: @line-height-computed * -1.25;
-    }
-  }
-}

+ 0 - 192
misago/emberapp/app/styles/_misago/profile.less

@@ -1,192 +0,0 @@
-//
-// User Profile
-// --------------------------------------------------
-
-
-// Profile header
-//
-//==
-.user-profile {
-  .profile-header {
-    padding: 0px;
-    padding-top: @line-height-computed;
-    border-bottom-width: 1px;
-
-    h1 {
-      &>small {
-        &>a, &>a:link, &>a:visited, &>span {
-          background-color: fadeOut(@text-muted, 50%);
-          border-radius: @border-radius-base;
-          display: inline-block;
-          padding: @padding-small-vertical @padding-small-horizontal;
-          position: relative;
-          top: -4px;
-
-          color: @body-bg;
-        }
-
-        &>a {
-          &:hover {
-            background-color: fadeOut(@text-muted, 15%);
-
-            text-decoration: none;
-          }
-
-          &:active {
-            background-color: @state-clicked;
-
-            text-decoration: none;
-          }
-        }
-      }
-    }
-
-    .page-actions {
-      .btn {
-        .btn-sm();
-
-        &.btn-follow {
-          color: @brand-follow;
-
-          &.active {
-            .misago-button-active-flavour(#fff, @brand-follow, darken(@brand-follow, 13%));
-          }
-        }
-
-        &.btn-ban {
-          color: @brand-danger;
-
-          &.active {
-            .misago-button-active-flavour(#fff, @brand-danger, darken(@brand-danger, 13%));
-          }
-        }
-      }
-    }
-  }
-}
-
-
-// Avatar
-//
-//==
-.user-profile {
-  .profile-side {
-    .user-avatar {
-      background-color: #fff;
-      border-radius: @border-radius-large;
-      .box-shadow(0px 0px 0px 2px darken(@body-bg, 5%));
-      padding: 4px;
-      margin-top: @line-height-computed;
-      margin-bottom: @line-height-computed;
-    }
-  }
-}
-
-
-/* Big displays */
-@media (min-width: @screen-sm-min) {
-  .user-profile {
-    .profile-side {
-      .user-avatar {
-        margin-top: (@line-height-computed * 4.75) * -1;
-      }
-    }
-  }
-}
-
-
-// Username
-//
-//==
-/* Big displays */
-@media (min-width: @screen-sm-min) {
-  .user-profile {
-    .profile-header {
-      .user-name {
-        float: left;
-      }
-    }
-  }
-}
-
-
-// Details
-//
-//==
-.user-profile {
-  .profile-header {
-    .user-details {
-      padding-top: @line-height-computed / 3;
-      clear: both;
-
-      ul {
-        overflow: auto;
-
-        li {
-          margin-right: @line-height-computed;
-
-          color: fadeOut(@text-color, 40%);
-
-          a:link, a:visited {
-            color: fadeOut(@text-color, 40%);
-          }
-
-          a:hover {
-            color: @state-hover;
-            text-decoration: none;
-          }
-
-          a:active {
-            color: @state-clicked;
-          }
-        }
-      }
-    }
-  }
-}
-
-
-// Username history
-//
-//==
-.user-profile {
-  .username-history {
-    p {
-      margin: 0px;
-      margin-top: 3px;
-
-      a {
-        &:link, &:visited {
-          color: @state-hover;
-          font-weight: bold;
-        }
-
-        &:hover {
-          color: @state-hover;
-          text-decoration: underline;
-        }
-
-        &:active {
-          color: @state-clicked;
-        }
-      }
-
-      img {
-        border-radius: @border-radius-small;
-        margin-top: -1px;
-        margin-right: @line-height-computed / 5;
-        height: 22px;
-        width: 22px;
-      }
-
-      abbr {
-        text-decoration: none;
-        border-bottom: none;
-      }
-    }
-
-    hr {
-      margin: (@line-height-computed / 2) 0px;
-    }
-  }
-}

+ 0 - 20
misago/emberapp/app/styles/_misago/progressbars.less

@@ -1,20 +0,0 @@
-//
-// Progress bars
-// --------------------------------------------------
-
-
-.progress {
-  background-color: darken(@body-bg, 7%);
-  .box-shadow(none);
-  border-radius: 20px;
-  margin-top: 0px;
-
-  .progress-bar {
-    .box-shadow(none);
-  }
-
-  &.thin {
-    border-radius: 2px;
-    height: 6px;
-  }
-}

+ 0 - 29
misago/emberapp/app/styles/_misago/signin.less

@@ -1,29 +0,0 @@
-//
-// Sign in page
-// --------------------------------------------------
-
-
-.signin-help {
-  li {
-    h5 {
-      margin-bottom: @line-height-computed / 4;
-
-      font-size: large;
-    }
-
-    a {
-      &:link, &:visited {
-        color: @state-default;
-      }
-
-      &:hover {
-        color: @state-hover;
-        text-decoration: none;
-      }
-
-      &:active {
-        color: @state-clicked;
-      }
-    }
-  }
-}

+ 0 - 32
misago/emberapp/app/styles/_misago/states.less

@@ -1,32 +0,0 @@
-//
-// Activity States
-// --------------------------------------------------
-
-
-.user-online {
-  color: @state-online;
-}
-
-.user-offline {
-  color: @state-offline;
-}
-
-.user-banned {
-  color: @state-banned;
-}
-
-
-// Icon states
-.fa, .glyphicon {
-  &.text-success {
-    color: @brand-success;
-  }
-
-  &.text-danger {
-    color: @brand-danger;
-  }
-
-  &.text-warning {
-    color: @brand-warning;
-  }
-}

+ 0 - 238
misago/emberapp/app/styles/_misago/tables.less

@@ -1,238 +0,0 @@
-//
-// Tables
-// --------------------------------------------------
-
-
-//== Table actions
-//
-//**
-.table-actions {
-  margin-bottom: @line-height-computed;
-  height: 36px;
-  overflow: visible;
-
-  &>.pull-left {
-    margin-right: @line-height-computed / 2;
-  }
-
-  &>.pull-right {
-    margin-left: @line-height-computed / 2;
-
-    &.master-checkbox {
-      background: none;
-      border-color: transparent;
-      .box-shadow(none);
-      margin-right: @padding-small-horizontal - 1px;
-      padding: 0px 6px;
-      transition: 0s;
-
-      color: @text-muted;
-      font-size: 25px;
-      line-height: 32px;
-
-      &.active, &:active {
-        top: 0px;
-      }
-
-      &.active {
-        color: @brand-success;
-      }
-    }
-
-    .dropdown-menu {
-      left: auto;
-      right: 0px;
-    }
-  }
-}
-
-
-//== Table panel
-//
-//**
-.table-panel {
-  border: 1px solid @table-panel-border;
-  border-radius: @border-radius-base;
-  box-shadow: 0px 0px 0px 3px @table-panel-shadow;
-  margin-bottom: @line-height-computed;
-}
-
-
-//== Panel table
-//
-//**
-.table-panel {
-  table.table {
-    margin: 0px;
-  }
-}
-
-
-//== Table row
-//
-//**
-.table-panel {
-  table.table {
-    tr {
-      &.message-row {
-        td {
-          padding: @line-height-computed;
-
-          p {
-            margin: 0px;
-
-            font-size: @font-size-large;
-          }
-        }
-      }
-
-      th {
-        background: @table-header-bg;
-        border: none;
-        padding: @table-condensed-cell-padding @table-cell-padding;
-
-        color: @table-header-color;
-        font-size: @font-size-small;
-      }
-
-      td {
-        background-color: #fff;
-        vertical-align: middle;
-
-        img {
-          border-radius: @border-radius-base;
-          max-width: 30px;
-          max-height: 30px;
-        }
-
-        &.item-name {
-          color: @text-color;
-          font-size: @font-size-large;
-
-          a:link, a:visited {
-            color: @text-color;
-          }
-        }
-      }
-
-      &:first-child {
-        &>:first-child {
-          border-top-left-radius: (@border-radius-base - 1);
-        }
-
-        &>:last-child {
-          border-top-right-radius: (@border-radius-base - 1);
-        }
-      }
-
-      &:last-child {
-        &>:first-child {
-          border-bottom-left-radius: (@border-radius-base - 1);
-        }
-
-        &>:last-child {
-          border-bottom-right-radius: (@border-radius-base - 1);
-        }
-      }
-    }
-  }
-}
-
-
-//== Row action
-//
-//**
-.table-panel {
-  table.table {
-    tr {
-      td.row-action {
-        vertical-align: middle;
-        width: 1%;
-
-        .btn, &>form .btn, .dropdown-toggle {
-          background: none;
-          border-color: transparent;
-          .box-shadow(none);
-          padding: 0px 4px;
-          position: relative;
-          top: 0px;
-          bottom: 0px;
-
-          color: @gray-light;
-          font-size: @font-size-base * 1.6;
-
-          &:hover {
-            top: 0px;
-            bottom: 0px;
-
-            &.btn-default {
-              color: @gray;
-            }
-
-            &.btn-primary {
-              color: @brand-primary;
-            }
-
-            &.btn-danger {
-              color: @brand-danger;
-            }
-
-            &.btn-warning {
-              color: @brand-warning;
-            }
-
-            &.btn-success {
-              color: @brand-success;
-            }
-          }
-
-          &:active {
-            top: 0px;
-            bottom: 0px;
-
-            &.btn-default {
-              color: @gray-dark;
-            }
-
-            &.btn-primary {
-              color: darken(@brand-primary, 20%);
-            }
-
-            &.btn-danger {
-              color: darken(@brand-danger, 20%);
-            }
-
-            &.btn-warning {
-              color: darken(@brand-warning, 20%);
-            }
-
-            &.btn-success {
-              color: darken(@brand-success, 20%);
-            }
-          }
-        }
-      }
-    }
-  }
-}
-
-
-//== Table footer
-//
-//**
-.table-panel {
-  .table-footer {
-    background-color: @form-panel-footer-bg;
-    border-radius: 0px 0px (@border-radius-large - 1px) (@border-radius-large - 1px);
-    border-top: 1px solid @form-panel-border;
-    padding: @form-panel-padding;
-    padding-left: @table-cell-padding;
-    padding-right: @table-cell-padding;
-
-    &>.row {
-      position: relative;
-      left: -2px;
-      margin-left: @table-cell-padding;
-    }
-  }
-}

+ 0 - 78
misago/emberapp/app/styles/_misago/threadmap.less

@@ -1,78 +0,0 @@
-//
-// Thread Map
-// --------------------------------------------------
-
-
-.thread-map {
-  .user-avatar {
-    img {
-      border-radius: @border-radius-small;
-      width: 32px;
-    }
-  }
-
-  .media-heading {
-    background: none;
-    border-bottom: none;
-    margin-bottom: 0px;
-
-    color: @text-muted;
-
-    .user-name {
-      color: @state-default;
-      font-weight: bold;
-    }
-
-    a.user-name {
-      &:link, &:visited {
-        color: @state-hover;
-      }
-
-      &:hover {
-        color: @state-hover;
-        text-decoration: text-underline;
-      }
-
-      &:active, &:focus {
-        color: @state-clicked;
-        text-decoration: text-underline;
-      }
-    }
-
-    .separator {
-      margin-left: @font-size-base / 3;
-      margin-right: @font-size-base / 3;
-    }
-
-    .post-date {
-      &:link, &:visited {
-        color: @state-default;
-      }
-
-      &:hover, &:focus {
-        color: @state-hover;
-        text-decoration: underline;
-      }
-
-      &:active {
-        color: @state-clicked;
-        text-decoration: underline;
-      }
-    }
-  }
-
-  .post-preview {
-    display: block;
-
-    font-size: @font-size-small;
-
-    &:link, &:active, &:visited, &:hover {
-      color: @text-color;
-      text-decoration: none;
-    }
-  }
-
-  .map-tail {
-    margin-bottom: 0px;
-  }
-}

+ 0 - 240
misago/emberapp/app/styles/_misago/threadslists.less

@@ -1,240 +0,0 @@
-//
-// Threads lists
-// --------------------------------------------------
-
-
-.threads-list {
-  .table-panel {
-    border: none;
-
-    .list-group {
-      margin: 0px;
-
-      .list-group-item {
-        padding-top: @padding-base-vertical + 1px;
-        padding-bottom: @padding-base-vertical + 1px;
-
-        &.active {
-          background-color: @table-row-highlight;
-        }
-
-
-        // Thread icon
-        //
-        //==
-        .thread-icon {
-          display: block;
-          float: left;
-          position: relative;
-          right: 5px;
-          top: 6px;
-
-          color: @state-default;
-        }
-
-        &.new {
-          .thread-icon {
-            color: @state-active;
-          }
-        }
-
-
-        // Thread title
-        //
-        //==
-        .thread-title {
-          display: block;
-          margin-left: @font-size-large * 1.5;
-          font-size: @font-size-large;
-
-          .opacity(0.7);
-        }
-
-        &.new {
-          .thread-title {
-            .opacity(1);
-          }
-        }
-
-
-        // Thread last reply
-        //
-        //==
-        .thread-stats {
-          &>* {
-            float: right;
-          }
-
-          .thread-flags {
-            margin-right: @font-size-large;
-            position: relative;
-            top: 2px;
-
-            &>li {
-              float: left;
-              overflow: visible;
-
-              button {
-                background: none;
-                border: none;
-                margin: 0px;
-                padding: 0px;
-
-                color: @text-color;
-              }
-
-              .label {
-                border-radius: @border-radius-small;
-                margin-left: @line-height-computed / 3;
-
-                font-weight: normal;
-              }
-
-              .fa, .glyphicon {
-                .opacity(0.5);
-                transition-duration: 0.5s;
-
-                &:hover, &:focus {
-                  .opacity(0.9);
-                  transition-duration: 0.05s;
-                }
-              }
-            }
-          }
-
-          .thread-replies {
-            display: inline-block;
-            margin: 0px;
-            margin-right: @font-size-large;
-            margin-top: -2px;
-            .opacity(0.6);
-            transition-duration: 0.5s;
-            width: @font-size-large * 4.5;
-
-            font-size: @font-size-large;
-
-            a {
-              color: @text-color;
-            }
-
-            .label {
-              display: inline;
-              padding-left: 4px;
-
-              color: #fff;
-              font-size: @font-size-base;
-              font-weight: normal !important;
-            }
-
-            &.new-replies {
-              .opacity(1);
-            }
-
-            &.thread-read {
-              padding-top: 2px;
-            }
-          }
-
-          .thread-location {
-            display: inline-block;
-            margin-right: @font-size-large * 1.5;
-            overflow: hidden;
-            position: relative;
-            top: 5px;
-            width: @font-size-large * 4.5;
-
-            font-size: @font-size-small;
-            text-overflow: ellipsis;
-            white-space: nowrap;
-
-            span {
-              position: relative;
-              bottom: 2px;
-
-              color: @state-default;
-              font-size: @font-size-base * 0.75;
-            }
-
-            a:link, a:visited {
-              color: @state-default;
-            }
-
-            a:hover, a:focus {
-              color: @state-hover;
-            }
-
-            a:active {
-              color: @state-clicked;
-            }
-          }
-
-          .thread-author {
-            margin-right: @font-size-large / 2;
-
-            img {
-              border-radius: @border-radius-small;
-              width: 25px;
-              margin: -3px 0px;
-              position: relative;
-              top: 1px;
-            }
-
-            &:hover {
-              text-decoration: none;
-            }
-          }
-
-          a.last-post {
-            display: block;
-            width: 64px;
-            position: relative;
-            top: 3px;
-
-            color: @state-default;
-
-            &:hover {
-              color: @state-hover;
-            }
-
-            &:active {
-              color: @state-clicked;
-            }
-          }
-
-          .thread-check {
-            margin: 0px;
-
-            color: @text-muted;
-            font-size: 25px;
-            text-decoration: none;
-            line-height: 24px;
-
-            cursor: pointer;
-
-
-            &.active {
-              color: @brand-success;
-            }
-
-            input {
-              position: absolute;
-              top: -9999px;
-              left: -9999px;
-            }
-          }
-        }
-
-
-        // Empty list message
-        //
-        //==
-        &.message-row {
-          padding-top: @line-height-computed;
-          padding-bottom: @line-height-computed;
-
-          font-size: @font-size-large;
-        }
-      }
-    }
-  }
-}

+ 0 - 68
misago/emberapp/app/styles/_misago/typography.less

@@ -1,68 +0,0 @@
-//
-// Typography
-// --------------------------------------------------
-
-
-.item-title {
-  color: @state-hover;
-
-  &:link, &:hover, &:visited {
-    color: @state-hover;
-  }
-
-  &:active {
-    color: @state-clicked;
-  }
-
-  &.combined {
-    &:hover {
-      text-decoration: none;
-
-      &>span {
-        text-decoration: underline;
-      }
-    }
-
-    &:active {
-      text-decoration: none;
-
-      &>span {
-        text-decoration: underline;
-      }
-    }
-  }
-}
-
-
-.text-muted {
-  strong {
-    color: darken(@text-muted, 20%);
-    font-weight: normal;
-  }
-
-  a:link, a:visited, a:active, a:hover {
-    color: @link-muted-color;
-  }
-
-  .item-title {
-    color: darken(@text-muted, 20%);
-    font-weight: bold;
-
-    &:link, &:visited {
-      color: darken(@text-muted, 20%);
-    }
-
-    &:hover {
-      color: @state-hover;
-    }
-
-    &:active {
-      color: @state-clicked;
-    }
-  }
-}
-
-
-.label-solo {
-  font-size: @font-size-base;
-}

+ 0 - 215
misago/emberapp/app/styles/_misago/usercp.less

@@ -1,215 +0,0 @@
-//
-// User CP
-// --------------------------------------------------
-
-
-// Avatar CP home
-//
-//==
-.form-avatar-home {
-  border-top: 1px solid @form-panel-border;
-  padding: @form-panel-padding;
-  padding-top: @line-height-computed;
-  padding-bottom: @line-height-computed;
-
-  .avatar-preview {
-    max-width: 200px;
-  }
-
-  .usercp-avatar-options {
-    ul {
-      li {
-        a, .btn-link {
-          display: inline-block;
-          margin: 0px;
-          padding: 0px 0px;
-
-          color: @state-default;
-          line-height: @line-height-computed * 1.2;
-
-          &:hover, &:focus {
-            outline: none;
-
-            color: @state-hover;
-            text-decoration: none;
-          }
-
-          &:active {
-            outline: none;
-
-            color: @state-clicked;
-            text-decoration: none;
-          }
-        }
-
-        a {
-          padding: 1px;
-        }
-      }
-    }
-  }
-}
-
-
-/* Big displays */
-@media (min-width: @screen-sm-min) {
-  .usercp-avatar-options {
-    padding-top: @line-height-computed / 2;
-    padding-left: @line-height-computed / 2;
-  }
-}
-
-
-// Uploaded avatar preview
-//
-//==
-.form-avatar-preview {
-  overflow: auto;
-
-  .preview-image {
-    border-radius: @border-radius-base;
-    margin-bottom: @line-height-computed;
-    overflow: auto;
-    width: 100%;
-
-    text-align: center;
-
-    img {
-      border-radius: @border-radius-large;
-      width: 90%;
-    }
-  }
-
-  p {
-    text-align: center;
-  }
-
-  .btn {
-    display: block;
-    margin-bottom: @line-height-computed;
-    width: 100%;
-  }
-}
-
-
-@media (min-width: @screen-sm-min) {
-  .form-avatar-preview {
-    .preview-image {
-      float: left;
-      width: auto;
-
-      img {
-        border-radius: @border-radius-base;
-        margin-right: @line-height-computed;
-        max-height: 36px;
-        width: auto;
-      }
-    }
-
-    p {
-      position: relative;
-      top: 4px;
-
-      text-align: left;
-    }
-
-    .btn {
-      width: auto;
-    }
-  }
-}
-
-
-// Drag and drop upload
-//
-//==
-.form-avatar-upload {
-  border-top: 1px solid @form-panel-border;
-  padding: @form-panel-padding;
-  padding-top: @line-height-computed;
-  padding-bottom: @line-height-computed;
-
-  .drag-drop-area {
-    background-color: @form-panel-bg;
-    border: 6px dashed @state-default;
-    border-radius: @border-radius-large;
-    display: block;
-    padding: (@line-height-computed * 2) @line-height-computed;
-
-    color: @state-default;
-    cursor: pointer;
-    text-align: center;
-
-    .fa {
-      font-size: @line-height-computed * 3;
-      margin-bottom: @line-height-computed;
-    }
-
-    p {
-      margin-bottom: 0px;
-    }
-
-    &:hover {
-      border-color: @state-hover;
-
-      color: @state-hover;
-      text-decoration: none;
-    }
-
-    &:active {
-      border-color: @state-clicked;
-
-      color: @state-clicked;
-      text-decoration: none;
-    }
-  }
-}
-
-
-// Crop avatar
-.form-crop-avatar {
-  border-top: 1px solid @form-panel-border;
-  padding: @form-panel-padding;
-  padding-top: @line-height-computed;
-  padding-bottom: @line-height-computed;
-
-  .crop-form-container {
-    margin-left: auto;
-    margin-right: auto;
-
-    text-align: center;
-
-    .cropped-image-border {
-      background-color: @form-panel-bg;
-      border-radius: @border-radius-small;
-      .box-shadow(0px 0px 4px @gray);
-      padding: 4px;
-      margin-bottom: @line-height-computed / 2;
-    }
-
-    .btn-primary {
-      display: inline-block;
-      margin-left: auto;
-      margin-right: auto;
-    }
-  }
-}
-
-
-// Avatar gallery
-//
-//==
-.avatar-gallery {
-  .thumbnail {
-    &:hover, &:focus {
-      border-color: @state-hover;
-      outline: none;
-    }
-
-    &:active {
-      border-color: @state-clicked;
-      outline: none;
-      transition: border 0s;
-    }
-  }
-}

+ 0 - 140
misago/emberapp/app/styles/_misago/userslists.less

@@ -1,140 +0,0 @@
-//
-// Users Lists
-// --------------------------------------------------
-
-
-// Fancy Web 9000.0 users cards list
-//
-//==
-.users-cards {
-  .row {
-    margin-bottom: @line-height-computed;
-
-    .user-card {
-      background: @user-card-bg;
-      border-radius: @border-radius-large;
-      .box-shadow(@user-card-shadow 0px 0px 0px 2px);
-      display: block;
-      overflow: hidden;
-      padding: 3px;
-      position: relative;
-
-      color: @text-color;
-
-      img {
-        border-radius: @border-radius-base;
-        width: 100%;
-      }
-
-      .card-footer {
-        background: fadeOut(@user-card-bg, 15%);
-        position: absolute;
-        bottom: 0px;
-        padding: @padding-base-vertical @padding-base-horizontal;
-        width: 100%;
-
-        h4, small {
-          word-wrap: break-word;
-        }
-
-        small {
-          display: block;
-          margin-top: @line-height-computed / -3;
-          margin-bottom: @line-height-computed / 3;
-
-          color: @text-color;
-          font-size: @font-size-base;
-        }
-      }
-    }
-
-    .col-md-2, .col-md-1 {
-      .user-card {
-        .card-footer {
-          background: fadeOut(@user-card-bg, 7%);
-          padding: @padding-xs-vertical @padding-small-horizontal;
-
-          h4 {
-            font-size: @font-size-base;
-          }
-
-          small {
-            font-size: @font-size-small;
-          }
-        }
-      }
-    }
-  }
-
-  a.user-card {
-    &:hover {
-      .box-shadow(@user-card-hover-shadow 0px 0px 0px 2px);
-
-    }
-
-    &:active {
-      .box-shadow(@user-card-active-shadow 0px 0px 0px 2px);
-    }
-  }
-}
-
-
-// Users ranking
-//
-//==
-.users-ranking {
-  &>tbody {
-    &>tr {
-      &>td {
-        vertical-align: middle;
-
-        .avatar {
-          border-radius: @border-radius-base;
-        }
-
-        .item-title {
-          font-size: @font-size-large;
-        }
-      }
-
-      &.highlight {
-        color: @brand-accent;
-
-        .item-title {
-          &:link, &:visited {
-            color: @brand-accent;
-          }
-        }
-      }
-    }
-  }
-}
-
-
-// Compact users list for use in modals and stuff
-//
-//==
-.users-list-compact {
-  &>li {
-    border-bottom: 1px solid @hr-border;
-    padding: @line-height-computed / 2 0px;
-
-    &:last-child {
-      border-bottom: none;
-    }
-
-    img {
-      border-radius: @border-radius-small;
-      height: 24px;
-    }
-
-    .item-title {
-      font-weight: bold;
-    }
-
-    .btn {
-      margin-left: @line-height-computed / 2;
-      margin-top: -3px;
-    }
-  }
-}

+ 0 - 391
misago/emberapp/app/styles/_misago/variables.less

@@ -1,391 +0,0 @@
-//
-// Misago Variables
-// --------------------------------------------------
-
-
-//== Colors
-//
-//## Basic colors for use in this flavor
-
-@brand-primary:         #3498db;
-@brand-accent:          #e74c3c;
-@brand-success:         #2ecc71;
-@brand-info:            #5bc0de;
-@brand-warning:         #f0ad4e;
-@brand-danger:          #e74c3c;
-
-@brand-follow:          #EB5BCC;
-@brand-block:           @brand-danger;
-
-
-// Background color for `<body>`.
-@body-bg:               #fff;
-
-// Global text color on `<body>`.
-@text-color:            #333;
-
-// Global state colors
-@state-default:         @gray-light;
-@state-hover:           @text-color;
-@state-clicked:         @brand-primary;
-@state-active:          @brand-accent;
-
-@state-online:                #2ecc71;
-@state-offline:               #95a5a6;
-@state-banned:                #e74c3c;
-
-
-// Headings color
-@headings-small-color:  darken(@body-bg, 30%);
-
-// Global textual link color.
-@link-color:            @brand-primary;
-@link-hover-color:      darken(@link-color, 15%);
-
-// Text muted color
-@text-muted:            darken(@body-bg, 40%);
-
-@link-muted-color:            @gray-darker;
-
-// Components
-@component-active-bg:         @state-active;
-@component-active-color:      #fff;
-
-@loader-color:                @brand-accent;
-@loader-text-color:           @text-muted;
-
-//== Navbar
-//
-//## Navbar style
-
-@navbar-default-bg:                lighten(#ecf0f1, 3%);
-@navbar-default-border:            #ecf0f1;
-
-
-// Navbar brand
-@navbar-brand-size:                        @font-size-large * 1.6;
-
-@navbar-default-brand-color:               #555;
-@navbar-default-brand-hover-color:         #555;
-
-
-// Navbar icon-based menu
-@navbar-icon-size:                      @navbar-height / 2.5;
-@navbar-icon-link-bg:                   transparent;
-@navbar-icon-link-border:               transparent;
-@navbar-icon-link-color:                @state-default;
-
-@navbar-icon-link-hover-bg:             darken(@navbar-default-border, 2%);
-@navbar-icon-link-hover-border:         darken(@navbar-default-border, 2%);
-@navbar-icon-link-hover-color:          @state-hover;
-
-@navbar-icon-link-active-bg:            darken(@navbar-default-border, 2%);
-@navbar-icon-link-active-border:        darken(@navbar-default-border, 2%);
-@navbar-icon-link-active-color:         @state-clicked;
-
-@navbar-icon-link-open-bg:              @state-active;
-@navbar-icon-link-open-border:          @state-active;
-@navbar-icon-link-open-color:           #fff;
-
-
-// Only User dropdown switch uses those colors
-@navbar-user-name-color:                @gray;
-@navbar-user-name-hover-color:          @navbar-user-name-color;
-@navbar-user-name-active-color:         @state-clicked;
-
-@navbar-user-caret-color:              @state-default;
-@navbar-user-caret-hover-color:        @state-hover;
-@navbar-user-caret-active-color:       @state-clicked;
-
-
-// Guest Sign in button
-@btn-sign-in-color:                    @brand-primary;
-@btn-sign-in-bg:                       @navbar-default-bg;
-@btn-sign-in-border:                   transparent;
-
-@btn-sign-in-hover-color:              @brand-primary;
-@btn-sign-in-hover-bg:                 fadeOut(@brand-primary, 90%);
-@btn-sign-in-hover-border:             transparent;
-
-@btn-sign-in-active-color:             #fff;
-@btn-sign-in-active-bg:                @brand-primary;
-@btn-sign-in-active-border:            @brand-primary;
-
-
-// Guest Register button
-@btn-register-color:                   fadeOut(@brand-accent, 30%);
-@btn-register-bg:                      @navbar-default-bg;
-@btn-register-border:                  fadeOut(@brand-accent, 70%);
-
-@btn-register-hover-color:             @brand-accent;
-@btn-register-hover-bg:                fadeOut(@brand-accent, 90%);
-@btn-register-hover-border:            transparent;
-
-@btn-register-active-color:            #fff;
-@btn-register-active-bg:               @brand-accent;
-@btn-register-active-border:           @brand-accent;
-
-
-//== Dropdowns
-//
-//## Misago dropdowns flavor
-
-// Dropdown title
-@dropdown-title-color:           @text-color;
-@dropdown-title-bg:              @navbar-default-bg;
-@dropdown-title-border:          darken(@navbar-default-border, 5%);
-
-// Dropdown link text color.
-@dropdown-link-color:            @text-color;
-
-@dropdown-link-hover-color:      #fff;
-@dropdown-link-hover-bg:         lighten(@state-hover, 15%);
-
-@dropdown-link-active-color:     #fff;
-@dropdown-link-active-bg:        @state-clicked;
-
-// Open dropdown shadow color.
-@dropdown-shadow:                fadeOut(#333, 50%);
-
-
-//== Navs
-//
-//##
-
-//=== Shared nav styles
-@nav-link-hover-bg:                         transparent;
-
-@nav-link-color:                            @gray-light;
-@nav-link-hover-color:                      @text-color;
-
-//== Tabs
-@nav-tabs-padding:                          10px 12px;
-@nav-tabs-border-color:                     #ddd;
-
-@nav-tabs-link-hover-border-color:          darken(@nav-tabs-border-color, 40%);
-@nav-tabs-link-active-border-color:         @state-active;
-
-@nav-tabs-link-clicked-bg:                  transparent;
-@nav-tabs-link-clicked-color:               @state-clicked;
-@nav-tabs-link-clicked-border-color:        @state-clicked;
-
-@nav-tabs-active-link-bg:                   transparent;
-@nav-tabs-active-link-color:                @state-hover;
-@nav-tabs-active-link-border-color:         @state-active;
-
-@nav-tabs-justified-link-border-color:            #ddd;
-@nav-tabs-justified-active-link-border-color:     @body-bg;
-
-//== Pills
-@nav-pills-padding:                         6px 7px;
-@nav-pills-border-radius:                   @border-radius-base;
-@nav-pills-active-link-hover-bg:            #666;
-@nav-pills-active-link-hover-color:         #fff;
-
-//==Sidenav
-@nav-side-border:                           @gray-lighter;
-@nav-side-padding:                          6px 10px;
-
-@nav-side-color:                            @gray-light;
-@nav-side-hover-color:                      @text-color;
-@nav-side-active-color:                     @brand-primary;
-
-@nav-side-active-bg:                        @gray-dark;
-@nav-side-active-text-color:                #fff;
-
-//== Page header
-@page-header-border-color:       darken(@body-bg, 9%);
-
-
-//== Breadcrumbs
-//
-//##
-
-@breadcrumb-padding-vertical:   8px;
-@breadcrumb-padding-horizontal: 0px;
-
-@breadcrumb-bg:                 transparent;
-@breadcrumb-color:              darken(@body-bg, 40%);
-@breadcrumb-active-color:       @text-color;
-
-
-//== Page footer
-//
-//## Footer appearance
-
-@footer-color:                   darken(@body-bg, 35%);
-
-// Size of Misago's branding in footer
-@misago-branding-size:           @font-size-large * 1.6;
-
-// Footer links
-@footer-link-color:              @state-default;
-@footer-link-hover-color:        @state-hover;
-@footer-link-active-color:       @state-clicked;
-
-
-//== Buttons
-//
-//## For each of Bootstrap's buttons, define text, background and border color.
-
-@btn-font-weight:                normal;
-
-
-@btn-default-color:              #777;
-@btn-default-bg:                 darken(@body-bg, 5%);
-@btn-default-border:             darken(@btn-default-bg, 10%);
-
-@btn-default-hover-color:        @text-color;
-@btn-default-hover-bg:           darken(@body-bg, 2%);
-@btn-default-hover-border:       #999;
-
-@btn-default-active-color:       @text-color;
-@btn-default-active-bg:          darken(@body-bg, 6%);
-@btn-default-active-border:      #999;
-
-@btn-primary-color:              #fff;
-@btn-primary-bg:                 @brand-primary;
-@btn-primary-border:             darken(@btn-primary-bg, 15%);
-
-@btn-success-color:              #fff;
-@btn-success-bg:                 @brand-success;
-@btn-success-border:             darken(@btn-success-bg, 15%);
-
-@btn-warning-color:              #fff;
-@btn-warning-bg:                 @brand-warning;
-@btn-warning-border:             darken(@btn-warning-bg, 15%);
-
-@btn-danger-color:               #fff;
-@btn-danger-bg:                  @brand-danger;
-@btn-danger-border:              darken(@btn-danger-bg, 15%);
-
-
-//== Forms
-//
-@legend-color:                          darken(@body-bg, 40%);
-@field-help-block-color:                darken(@body-bg, 50%);
-
-//## Misago wraps forms into panels
-@form-panel-bg:                         #fff;
-@form-panel-border:                     darken(@body-bg, 15%);
-@form-panel-shadow:                     darken(@body-bg, 5%);
-@form-panel-footer-bg:                  darken(@body-bg, 1%);
-@form-panel-padding-vertical:           (@padding-large-vertical * 1.5);
-@form-panel-padding-horizontal:         @padding-large-horizontal;
-@form-panel-padding:                    @form-panel-padding-vertical @form-panel-padding-horizontal;
-
-//## Misago Yes-No switch
-@yesno-switch-default:                  lighten(@gray-light, 25%);
-@yesno-switch-active:                   @brand-primary;
-
-
-//== Panels
-//
-//##
-
-@panel-bg:                    #fff;
-@panel-shadow:                darken(@body-bg, 5%);
-@panel-body-padding:          15px;
-
-@panel-default-border:        darken(@body-bg, 15%);
-
-//** Border color for elements within panels
-@panel-inner-border:          darken(@body-bg, 8%);
-@panel-footer-bg:             @panel-bg;
-
-//** Table panels
-@table-panel-bg:                        @panel-bg;
-@table-panel-border:                    @panel-default-border;
-@table-panel-shadow:                    @panel-shadow;
-
-@table-row-highlight:                   fadeOut(@brand-warning, 90%);
-
-@table-header-color:                    @gray;
-@table-header-bg:                       darken(@body-bg, 5%);
-@table-header-border:                   darken(@body-bg, 15%);
-
-//** User cards
-@user-card-bg:                         @body-bg;
-@user-card-border:                     darken(@body-bg, 15%);
-@user-card-shadow:                     darken(@body-bg, 15%);
-
-@user-card-hover-border:               fadeOut(@state-hover, 50%);
-@user-card-hover-shadow:               fadeOut(@state-hover, 50%);
-
-@user-card-active-border:              @state-clicked;
-@user-card-active-shadow:              @state-clicked;
-
-//** Post panels
-@post-panel-bg:                        @panel-bg;
-@post-panel-border:                    @panel-default-border;
-
-@post-active-panel-bg:                 lighten(#3498db, 44%);
-@post-active-panel-border:             lighten(#3498db, 38%);
-
-
-//== Form states and alerts
-//
-//## Define colors for form feedback states and, by default, alerts.
-
-@state-success-text:             #27ae60;
-@state-success-text-contrast:    #fff;
-@state-success-bg:               #2ecc71;
-
-@state-info-text:                @brand-primary;
-@state-info-text-contrast:       #fff;
-@state-info-bg:                  @brand-primary;
-
-@state-warning-text:             #e67e22;
-@state-warning-text-contrast:    #fff;
-@state-warning-bg:               #e67e22;
-
-@state-danger-text:              #c0392b;
-@state-danger-text-contrast:     #fff;
-@state-danger-bg:                darken(#e74c3c, 12%);
-
-
-//== Alerts
-//
-//## Define alert colors, border radius, and padding.
-
-@alert-padding:               14px;
-@alert-border-radius:         @border-radius-large;
-
-@alert-success-bg:            @state-success-bg;
-@alert-success-text:          @state-success-text-contrast;
-
-@alert-info-bg:               @state-info-bg;
-@alert-info-text:             @state-info-text-contrast;
-
-@alert-warning-bg:            @state-warning-bg;
-@alert-warning-text:          @state-warning-text-contrast;
-
-@alert-danger-bg:             @state-danger-bg;
-@alert-danger-text:           @state-danger-text-contrast;
-
-@alert-default-bg:            @gray-lighter;
-@alert-default-text:          @gray;
-
-
-//== Modals
-//
-//##
-
-@modal-title-color:                  @gray;
-
-@modal-header-bg-color:              darken(@body-bg, 1%);
-@modal-header-border-color:          darken(@modal-header-bg-color, 5%);
-
-@modal-footer-bg-color:              darken(@body-bg, 2%);
-@modal-footer-border-color:          darken(@modal-footer-bg-color, 5%);
-
-
-//== Miscellaneous
-//
-//##
-
-//** Horizontal line color.
-@hr-border:                   darken(@body-bg, 10%);
-
-//** Badge radius
-@badge-border-radius:         @border-radius-small;

+ 0 - 42
misago/emberapp/app/styles/_misago/warnings.less

@@ -1,42 +0,0 @@
-//
-// User Warnings
-// --------------------------------------------------
-
-
-// Warning summary
-//
-//==
-.warning-summary {
-  p.lead {
-    margin-bottom: @line-height-computed / 3;
-  }
-
-  ul {
-    overflow: auto;
-
-    li {
-      margin-right: @line-height-computed;
-      float: left;
-    }
-  }
-}
-
-
-// Warnings list
-//
-//==
-.warnings-list {
-  .panel-footer {
-    .state-valid {
-      color: @brand-danger;
-    }
-
-    .state-canceled {
-      color: @brand-warning;
-    }
-
-    .state-expired {
-      color: fadeOut(@text-color, 40);
-    }
-  }
-}

+ 0 - 36
misago/emberapp/app/styles/_misago/yesnoswitch.less

@@ -1,36 +0,0 @@
-//
-// Misago yes-no switch
-// --------------------------------------------------
-
-
-// Css class added to original input, that hides it outside viewport
-.hidden-original-switch {
-  position: absolute;
-  top: -9999px;
-  left: -9999px;
-}
-
-
-// Real input
-.yes-no-switch {
-  margin-top: 5px;
-  margin-bottom: 0px;
-
-  cursor: pointer;
-
-  .fa {
-    color: @yesno-switch-default;
-  }
-
-  &.active {
-    .fa {
-      color: @yesno-switch-active;
-    }
-  }
-
-  .yes-no-label {
-    margin-left: @font-size-base / 2;
-    position: relative;
-    bottom: 5px;
-  }
-}

+ 9 - 9
misago/emberapp/app/styles/bootstrap/bootstrap.less

@@ -19,21 +19,21 @@
 // Components
 @import "component-animations.less";
 @import "dropdowns.less";
-@import "button-groups.less";
-@import "input-groups.less";
+//@import "button-groups.less";
+//@import "input-groups.less";
 @import "navs.less";
 @import "navbar.less";
-@import "breadcrumbs.less";
-@import "pagination.less";
+//@import "breadcrumbs.less";
+//@import "pagination.less";
 @import "pager.less";
 @import "labels.less";
 @import "badges.less";
-@import "jumbotron.less";
+//@import "jumbotron.less";
 @import "thumbnails.less";
 @import "alerts.less";
 @import "progress-bars.less";
 @import "media.less";
-@import "list-group.less";
+//@import "list-group.less";
 @import "panels.less";
 @import "responsive-embed.less";
 @import "wells.less";
@@ -41,9 +41,9 @@
 
 // Components w/ JavaScript
 @import "modals.less";
-@import "tooltip.less";
-@import "popovers.less";
-@import "carousel.less";
+//@import "tooltip.less";
+//@import "popovers.less";
+//@import "carousel.less";
 
 // Utility classes
 @import "utilities.less";

+ 0 - 2317
misago/emberapp/vendor/bootstrap.js

@@ -1,2317 +0,0 @@
-/*!
- * Bootstrap v3.3.4 (http://getbootstrap.com)
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-if (typeof jQuery === 'undefined') {
-  throw new Error('Bootstrap\'s JavaScript requires jQuery')
-}
-
-+function ($) {
-  'use strict';
-  var version = $.fn.jquery.split(' ')[0].split('.')
-  if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
-    throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
-  }
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: transition.js v3.3.4
- * http://getbootstrap.com/javascript/#transitions
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
-  // ============================================================
-
-  function transitionEnd() {
-    var el = document.createElement('bootstrap')
-
-    var transEndEventNames = {
-      WebkitTransition : 'webkitTransitionEnd',
-      MozTransition    : 'transitionend',
-      OTransition      : 'oTransitionEnd otransitionend',
-      transition       : 'transitionend'
-    }
-
-    for (var name in transEndEventNames) {
-      if (el.style[name] !== undefined) {
-        return { end: transEndEventNames[name] }
-      }
-    }
-
-    return false // explicit for ie8 (  ._.)
-  }
-
-  // http://blog.alexmaccaw.com/css-transitions
-  $.fn.emulateTransitionEnd = function (duration) {
-    var called = false
-    var $el = this
-    $(this).one('bsTransitionEnd', function () { called = true })
-    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
-    setTimeout(callback, duration)
-    return this
-  }
-
-  $(function () {
-    $.support.transition = transitionEnd()
-
-    if (!$.support.transition) return
-
-    $.event.special.bsTransitionEnd = {
-      bindType: $.support.transition.end,
-      delegateType: $.support.transition.end,
-      handle: function (e) {
-        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
-      }
-    }
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: alert.js v3.3.4
- * http://getbootstrap.com/javascript/#alerts
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // ALERT CLASS DEFINITION
-  // ======================
-
-  var dismiss = '[data-dismiss="alert"]'
-  var Alert   = function (el) {
-    $(el).on('click', dismiss, this.close)
-  }
-
-  Alert.VERSION = '3.3.4'
-
-  Alert.TRANSITION_DURATION = 150
-
-  Alert.prototype.close = function (e) {
-    var $this    = $(this)
-    var selector = $this.attr('data-target')
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
-
-    var $parent = $(selector)
-
-    if (e) e.preventDefault()
-
-    if (!$parent.length) {
-      $parent = $this.closest('.alert')
-    }
-
-    $parent.trigger(e = $.Event('close.bs.alert'))
-
-    if (e.isDefaultPrevented()) return
-
-    $parent.removeClass('in')
-
-    function removeElement() {
-      // detach from parent, fire event then clean up data
-      $parent.detach().trigger('closed.bs.alert').remove()
-    }
-
-    $.support.transition && $parent.hasClass('fade') ?
-      $parent
-        .one('bsTransitionEnd', removeElement)
-        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
-      removeElement()
-  }
-
-
-  // ALERT PLUGIN DEFINITION
-  // =======================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.alert')
-
-      if (!data) $this.data('bs.alert', (data = new Alert(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  var old = $.fn.alert
-
-  $.fn.alert             = Plugin
-  $.fn.alert.Constructor = Alert
-
-
-  // ALERT NO CONFLICT
-  // =================
-
-  $.fn.alert.noConflict = function () {
-    $.fn.alert = old
-    return this
-  }
-
-
-  // ALERT DATA-API
-  // ==============
-
-  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: button.js v3.3.4
- * http://getbootstrap.com/javascript/#buttons
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // BUTTON PUBLIC CLASS DEFINITION
-  // ==============================
-
-  var Button = function (element, options) {
-    this.$element  = $(element)
-    this.options   = $.extend({}, Button.DEFAULTS, options)
-    this.isLoading = false
-  }
-
-  Button.VERSION  = '3.3.4'
-
-  Button.DEFAULTS = {
-    loadingText: 'loading...'
-  }
-
-  Button.prototype.setState = function (state) {
-    var d    = 'disabled'
-    var $el  = this.$element
-    var val  = $el.is('input') ? 'val' : 'html'
-    var data = $el.data()
-
-    state = state + 'Text'
-
-    if (data.resetText == null) $el.data('resetText', $el[val]())
-
-    // push to event loop to allow forms to submit
-    setTimeout($.proxy(function () {
-      $el[val](data[state] == null ? this.options[state] : data[state])
-
-      if (state == 'loadingText') {
-        this.isLoading = true
-        $el.addClass(d).attr(d, d)
-      } else if (this.isLoading) {
-        this.isLoading = false
-        $el.removeClass(d).removeAttr(d)
-      }
-    }, this), 0)
-  }
-
-  Button.prototype.toggle = function () {
-    var changed = true
-    var $parent = this.$element.closest('[data-toggle="buttons"]')
-
-    if ($parent.length) {
-      var $input = this.$element.find('input')
-      if ($input.prop('type') == 'radio') {
-        if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
-        else $parent.find('.active').removeClass('active')
-      }
-      if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
-    } else {
-      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
-    }
-
-    if (changed) this.$element.toggleClass('active')
-  }
-
-
-  // BUTTON PLUGIN DEFINITION
-  // ========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.button')
-      var options = typeof option == 'object' && option
-
-      if (!data) $this.data('bs.button', (data = new Button(this, options)))
-
-      if (option == 'toggle') data.toggle()
-      else if (option) data.setState(option)
-    })
-  }
-
-  var old = $.fn.button
-
-  $.fn.button             = Plugin
-  $.fn.button.Constructor = Button
-
-
-  // BUTTON NO CONFLICT
-  // ==================
-
-  $.fn.button.noConflict = function () {
-    $.fn.button = old
-    return this
-  }
-
-
-  // BUTTON DATA-API
-  // ===============
-
-  $(document)
-    .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
-      var $btn = $(e.target)
-      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
-      Plugin.call($btn, 'toggle')
-      e.preventDefault()
-    })
-    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
-      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
-    })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: carousel.js v3.3.4
- * http://getbootstrap.com/javascript/#carousel
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // CAROUSEL CLASS DEFINITION
-  // =========================
-
-  var Carousel = function (element, options) {
-    this.$element    = $(element)
-    this.$indicators = this.$element.find('.carousel-indicators')
-    this.options     = options
-    this.paused      = null
-    this.sliding     = null
-    this.interval    = null
-    this.$active     = null
-    this.$items      = null
-
-    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
-
-    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
-      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
-      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
-  }
-
-  Carousel.VERSION  = '3.3.4'
-
-  Carousel.TRANSITION_DURATION = 600
-
-  Carousel.DEFAULTS = {
-    interval: 5000,
-    pause: 'hover',
-    wrap: true,
-    keyboard: true
-  }
-
-  Carousel.prototype.keydown = function (e) {
-    if (/input|textarea/i.test(e.target.tagName)) return
-    switch (e.which) {
-      case 37: this.prev(); break
-      case 39: this.next(); break
-      default: return
-    }
-
-    e.preventDefault()
-  }
-
-  Carousel.prototype.cycle = function (e) {
-    e || (this.paused = false)
-
-    this.interval && clearInterval(this.interval)
-
-    this.options.interval
-      && !this.paused
-      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
-
-    return this
-  }
-
-  Carousel.prototype.getItemIndex = function (item) {
-    this.$items = item.parent().children('.item')
-    return this.$items.index(item || this.$active)
-  }
-
-  Carousel.prototype.getItemForDirection = function (direction, active) {
-    var activeIndex = this.getItemIndex(active)
-    var willWrap = (direction == 'prev' && activeIndex === 0)
-                || (direction == 'next' && activeIndex == (this.$items.length - 1))
-    if (willWrap && !this.options.wrap) return active
-    var delta = direction == 'prev' ? -1 : 1
-    var itemIndex = (activeIndex + delta) % this.$items.length
-    return this.$items.eq(itemIndex)
-  }
-
-  Carousel.prototype.to = function (pos) {
-    var that        = this
-    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
-
-    if (pos > (this.$items.length - 1) || pos < 0) return
-
-    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
-    if (activeIndex == pos) return this.pause().cycle()
-
-    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
-  }
-
-  Carousel.prototype.pause = function (e) {
-    e || (this.paused = true)
-
-    if (this.$element.find('.next, .prev').length && $.support.transition) {
-      this.$element.trigger($.support.transition.end)
-      this.cycle(true)
-    }
-
-    this.interval = clearInterval(this.interval)
-
-    return this
-  }
-
-  Carousel.prototype.next = function () {
-    if (this.sliding) return
-    return this.slide('next')
-  }
-
-  Carousel.prototype.prev = function () {
-    if (this.sliding) return
-    return this.slide('prev')
-  }
-
-  Carousel.prototype.slide = function (type, next) {
-    var $active   = this.$element.find('.item.active')
-    var $next     = next || this.getItemForDirection(type, $active)
-    var isCycling = this.interval
-    var direction = type == 'next' ? 'left' : 'right'
-    var that      = this
-
-    if ($next.hasClass('active')) return (this.sliding = false)
-
-    var relatedTarget = $next[0]
-    var slideEvent = $.Event('slide.bs.carousel', {
-      relatedTarget: relatedTarget,
-      direction: direction
-    })
-    this.$element.trigger(slideEvent)
-    if (slideEvent.isDefaultPrevented()) return
-
-    this.sliding = true
-
-    isCycling && this.pause()
-
-    if (this.$indicators.length) {
-      this.$indicators.find('.active').removeClass('active')
-      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
-      $nextIndicator && $nextIndicator.addClass('active')
-    }
-
-    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
-    if ($.support.transition && this.$element.hasClass('slide')) {
-      $next.addClass(type)
-      $next[0].offsetWidth // force reflow
-      $active.addClass(direction)
-      $next.addClass(direction)
-      $active
-        .one('bsTransitionEnd', function () {
-          $next.removeClass([type, direction].join(' ')).addClass('active')
-          $active.removeClass(['active', direction].join(' '))
-          that.sliding = false
-          setTimeout(function () {
-            that.$element.trigger(slidEvent)
-          }, 0)
-        })
-        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
-    } else {
-      $active.removeClass('active')
-      $next.addClass('active')
-      this.sliding = false
-      this.$element.trigger(slidEvent)
-    }
-
-    isCycling && this.cycle()
-
-    return this
-  }
-
-
-  // CAROUSEL PLUGIN DEFINITION
-  // ==========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.carousel')
-      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
-      var action  = typeof option == 'string' ? option : options.slide
-
-      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
-      if (typeof option == 'number') data.to(option)
-      else if (action) data[action]()
-      else if (options.interval) data.pause().cycle()
-    })
-  }
-
-  var old = $.fn.carousel
-
-  $.fn.carousel             = Plugin
-  $.fn.carousel.Constructor = Carousel
-
-
-  // CAROUSEL NO CONFLICT
-  // ====================
-
-  $.fn.carousel.noConflict = function () {
-    $.fn.carousel = old
-    return this
-  }
-
-
-  // CAROUSEL DATA-API
-  // =================
-
-  var clickHandler = function (e) {
-    var href
-    var $this   = $(this)
-    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
-    if (!$target.hasClass('carousel')) return
-    var options = $.extend({}, $target.data(), $this.data())
-    var slideIndex = $this.attr('data-slide-to')
-    if (slideIndex) options.interval = false
-
-    Plugin.call($target, options)
-
-    if (slideIndex) {
-      $target.data('bs.carousel').to(slideIndex)
-    }
-
-    e.preventDefault()
-  }
-
-  $(document)
-    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
-    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
-
-  $(window).on('load', function () {
-    $('[data-ride="carousel"]').each(function () {
-      var $carousel = $(this)
-      Plugin.call($carousel, $carousel.data())
-    })
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: collapse.js v3.3.4
- * http://getbootstrap.com/javascript/#collapse
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // COLLAPSE PUBLIC CLASS DEFINITION
-  // ================================
-
-  var Collapse = function (element, options) {
-    this.$element      = $(element)
-    this.options       = $.extend({}, Collapse.DEFAULTS, options)
-    this.$trigger      = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
-                           '[data-toggle="collapse"][data-target="#' + element.id + '"]')
-    this.transitioning = null
-
-    if (this.options.parent) {
-      this.$parent = this.getParent()
-    } else {
-      this.addAriaAndCollapsedClass(this.$element, this.$trigger)
-    }
-
-    if (this.options.toggle) this.toggle()
-  }
-
-  Collapse.VERSION  = '3.3.4'
-
-  Collapse.TRANSITION_DURATION = 350
-
-  Collapse.DEFAULTS = {
-    toggle: true
-  }
-
-  Collapse.prototype.dimension = function () {
-    var hasWidth = this.$element.hasClass('width')
-    return hasWidth ? 'width' : 'height'
-  }
-
-  Collapse.prototype.show = function () {
-    if (this.transitioning || this.$element.hasClass('in')) return
-
-    var activesData
-    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
-
-    if (actives && actives.length) {
-      activesData = actives.data('bs.collapse')
-      if (activesData && activesData.transitioning) return
-    }
-
-    var startEvent = $.Event('show.bs.collapse')
-    this.$element.trigger(startEvent)
-    if (startEvent.isDefaultPrevented()) return
-
-    if (actives && actives.length) {
-      Plugin.call(actives, 'hide')
-      activesData || actives.data('bs.collapse', null)
-    }
-
-    var dimension = this.dimension()
-
-    this.$element
-      .removeClass('collapse')
-      .addClass('collapsing')[dimension](0)
-      .attr('aria-expanded', true)
-
-    this.$trigger
-      .removeClass('collapsed')
-      .attr('aria-expanded', true)
-
-    this.transitioning = 1
-
-    var complete = function () {
-      this.$element
-        .removeClass('collapsing')
-        .addClass('collapse in')[dimension]('')
-      this.transitioning = 0
-      this.$element
-        .trigger('shown.bs.collapse')
-    }
-
-    if (!$.support.transition) return complete.call(this)
-
-    var scrollSize = $.camelCase(['scroll', dimension].join('-'))
-
-    this.$element
-      .one('bsTransitionEnd', $.proxy(complete, this))
-      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
-  }
-
-  Collapse.prototype.hide = function () {
-    if (this.transitioning || !this.$element.hasClass('in')) return
-
-    var startEvent = $.Event('hide.bs.collapse')
-    this.$element.trigger(startEvent)
-    if (startEvent.isDefaultPrevented()) return
-
-    var dimension = this.dimension()
-
-    this.$element[dimension](this.$element[dimension]())[0].offsetHeight
-
-    this.$element
-      .addClass('collapsing')
-      .removeClass('collapse in')
-      .attr('aria-expanded', false)
-
-    this.$trigger
-      .addClass('collapsed')
-      .attr('aria-expanded', false)
-
-    this.transitioning = 1
-
-    var complete = function () {
-      this.transitioning = 0
-      this.$element
-        .removeClass('collapsing')
-        .addClass('collapse')
-        .trigger('hidden.bs.collapse')
-    }
-
-    if (!$.support.transition) return complete.call(this)
-
-    this.$element
-      [dimension](0)
-      .one('bsTransitionEnd', $.proxy(complete, this))
-      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
-  }
-
-  Collapse.prototype.toggle = function () {
-    this[this.$element.hasClass('in') ? 'hide' : 'show']()
-  }
-
-  Collapse.prototype.getParent = function () {
-    return $(this.options.parent)
-      .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
-      .each($.proxy(function (i, element) {
-        var $element = $(element)
-        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
-      }, this))
-      .end()
-  }
-
-  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
-    var isOpen = $element.hasClass('in')
-
-    $element.attr('aria-expanded', isOpen)
-    $trigger
-      .toggleClass('collapsed', !isOpen)
-      .attr('aria-expanded', isOpen)
-  }
-
-  function getTargetFromTrigger($trigger) {
-    var href
-    var target = $trigger.attr('data-target')
-      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
-
-    return $(target)
-  }
-
-
-  // COLLAPSE PLUGIN DEFINITION
-  // ==========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.collapse')
-      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
-      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
-      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.collapse
-
-  $.fn.collapse             = Plugin
-  $.fn.collapse.Constructor = Collapse
-
-
-  // COLLAPSE NO CONFLICT
-  // ====================
-
-  $.fn.collapse.noConflict = function () {
-    $.fn.collapse = old
-    return this
-  }
-
-
-  // COLLAPSE DATA-API
-  // =================
-
-  $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
-    var $this   = $(this)
-
-    if (!$this.attr('data-target')) e.preventDefault()
-
-    var $target = getTargetFromTrigger($this)
-    var data    = $target.data('bs.collapse')
-    var option  = data ? 'toggle' : $this.data()
-
-    Plugin.call($target, option)
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: dropdown.js v3.3.4
- * http://getbootstrap.com/javascript/#dropdowns
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // DROPDOWN CLASS DEFINITION
-  // =========================
-
-  var backdrop = '.dropdown-backdrop'
-  var toggle   = '[data-toggle="dropdown"]'
-  var Dropdown = function (element) {
-    $(element).on('click.bs.dropdown', this.toggle)
-  }
-
-  Dropdown.VERSION = '3.3.4'
-
-  Dropdown.prototype.toggle = function (e) {
-    var $this = $(this)
-
-    if ($this.is('.disabled, :disabled')) return
-
-    var $parent  = getParent($this)
-    var isActive = $parent.hasClass('open')
-
-    clearMenus()
-
-    if (!isActive) {
-      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
-        // if mobile we use a backdrop because click events don't delegate
-        $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
-      }
-
-      var relatedTarget = { relatedTarget: this }
-      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
-
-      if (e.isDefaultPrevented()) return
-
-      $this
-        .trigger('focus')
-        .attr('aria-expanded', 'true')
-
-      $parent
-        .toggleClass('open')
-        .trigger('shown.bs.dropdown', relatedTarget)
-    }
-
-    return false
-  }
-
-  Dropdown.prototype.keydown = function (e) {
-    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
-
-    var $this = $(this)
-
-    e.preventDefault()
-    e.stopPropagation()
-
-    if ($this.is('.disabled, :disabled')) return
-
-    var $parent  = getParent($this)
-    var isActive = $parent.hasClass('open')
-
-    if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
-      if (e.which == 27) $parent.find(toggle).trigger('focus')
-      return $this.trigger('click')
-    }
-
-    var desc = ' li:not(.disabled):visible a'
-    var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
-
-    if (!$items.length) return
-
-    var index = $items.index(e.target)
-
-    if (e.which == 38 && index > 0)                 index--                        // up
-    if (e.which == 40 && index < $items.length - 1) index++                        // down
-    if (!~index)                                      index = 0
-
-    $items.eq(index).trigger('focus')
-  }
-
-  function clearMenus(e) {
-    if (e && e.which === 3) return
-    $(backdrop).remove()
-    $(toggle).each(function () {
-      var $this         = $(this)
-      var $parent       = getParent($this)
-      var relatedTarget = { relatedTarget: this }
-
-      if (!$parent.hasClass('open')) return
-
-      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
-
-      if (e.isDefaultPrevented()) return
-
-      $this.attr('aria-expanded', 'false')
-      $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
-    })
-  }
-
-  function getParent($this) {
-    var selector = $this.attr('data-target')
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
-
-    var $parent = selector && $(selector)
-
-    return $parent && $parent.length ? $parent : $this.parent()
-  }
-
-
-  // DROPDOWN PLUGIN DEFINITION
-  // ==========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.dropdown')
-
-      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
-      if (typeof option == 'string') data[option].call($this)
-    })
-  }
-
-  var old = $.fn.dropdown
-
-  $.fn.dropdown             = Plugin
-  $.fn.dropdown.Constructor = Dropdown
-
-
-  // DROPDOWN NO CONFLICT
-  // ====================
-
-  $.fn.dropdown.noConflict = function () {
-    $.fn.dropdown = old
-    return this
-  }
-
-
-  // APPLY TO STANDARD DROPDOWN ELEMENTS
-  // ===================================
-
-  $(document)
-    .on('click.bs.dropdown.data-api', clearMenus)
-    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
-    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
-    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
-    .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
-    .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: modal.js v3.3.4
- * http://getbootstrap.com/javascript/#modals
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // MODAL CLASS DEFINITION
-  // ======================
-
-  var Modal = function (element, options) {
-    this.options             = options
-    this.$body               = $(document.body)
-    this.$element            = $(element)
-    this.$dialog             = this.$element.find('.modal-dialog')
-    this.$backdrop           = null
-    this.isShown             = null
-    this.originalBodyPad     = null
-    this.scrollbarWidth      = 0
-    this.ignoreBackdropClick = false
-
-    if (this.options.remote) {
-      this.$element
-        .find('.modal-content')
-        .load(this.options.remote, $.proxy(function () {
-          this.$element.trigger('loaded.bs.modal')
-        }, this))
-    }
-  }
-
-  Modal.VERSION  = '3.3.4'
-
-  Modal.TRANSITION_DURATION = 300
-  Modal.BACKDROP_TRANSITION_DURATION = 150
-
-  Modal.DEFAULTS = {
-    backdrop: true,
-    keyboard: true,
-    show: true
-  }
-
-  Modal.prototype.toggle = function (_relatedTarget) {
-    return this.isShown ? this.hide() : this.show(_relatedTarget)
-  }
-
-  Modal.prototype.show = function (_relatedTarget) {
-    var that = this
-    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
-
-    this.$element.trigger(e)
-
-    if (this.isShown || e.isDefaultPrevented()) return
-
-    this.isShown = true
-
-    this.checkScrollbar()
-    this.setScrollbar()
-    this.$body.addClass('modal-open')
-
-    this.escape()
-    this.resize()
-
-    this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
-
-    this.$dialog.on('mousedown.dismiss.bs.modal', function () {
-      that.$element.one('mouseup.dismiss.bs.modal', function (e) {
-        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
-      })
-    })
-
-    this.backdrop(function () {
-      var transition = $.support.transition && that.$element.hasClass('fade')
-
-      if (!that.$element.parent().length) {
-        that.$element.appendTo(that.$body) // don't move modals dom position
-      }
-
-      that.$element
-        .show()
-        .scrollTop(0)
-
-      that.adjustDialog()
-
-      if (transition) {
-        that.$element[0].offsetWidth // force reflow
-      }
-
-      that.$element
-        .addClass('in')
-        .attr('aria-hidden', false)
-
-      that.enforceFocus()
-
-      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
-
-      transition ?
-        that.$dialog // wait for modal to slide in
-          .one('bsTransitionEnd', function () {
-            that.$element.trigger('focus').trigger(e)
-          })
-          .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
-        that.$element.trigger('focus').trigger(e)
-    })
-  }
-
-  Modal.prototype.hide = function (e) {
-    if (e) e.preventDefault()
-
-    e = $.Event('hide.bs.modal')
-
-    this.$element.trigger(e)
-
-    if (!this.isShown || e.isDefaultPrevented()) return
-
-    this.isShown = false
-
-    this.escape()
-    this.resize()
-
-    $(document).off('focusin.bs.modal')
-
-    this.$element
-      .removeClass('in')
-      .attr('aria-hidden', true)
-      .off('click.dismiss.bs.modal')
-      .off('mouseup.dismiss.bs.modal')
-
-    this.$dialog.off('mousedown.dismiss.bs.modal')
-
-    $.support.transition && this.$element.hasClass('fade') ?
-      this.$element
-        .one('bsTransitionEnd', $.proxy(this.hideModal, this))
-        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
-      this.hideModal()
-  }
-
-  Modal.prototype.enforceFocus = function () {
-    $(document)
-      .off('focusin.bs.modal') // guard against infinite focus loop
-      .on('focusin.bs.modal', $.proxy(function (e) {
-        if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
-          this.$element.trigger('focus')
-        }
-      }, this))
-  }
-
-  Modal.prototype.escape = function () {
-    if (this.isShown && this.options.keyboard) {
-      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
-        e.which == 27 && this.hide()
-      }, this))
-    } else if (!this.isShown) {
-      this.$element.off('keydown.dismiss.bs.modal')
-    }
-  }
-
-  Modal.prototype.resize = function () {
-    if (this.isShown) {
-      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
-    } else {
-      $(window).off('resize.bs.modal')
-    }
-  }
-
-  Modal.prototype.hideModal = function () {
-    var that = this
-    this.$element.hide()
-    this.backdrop(function () {
-      that.$body.removeClass('modal-open')
-      that.resetAdjustments()
-      that.resetScrollbar()
-      that.$element.trigger('hidden.bs.modal')
-    })
-  }
-
-  Modal.prototype.removeBackdrop = function () {
-    this.$backdrop && this.$backdrop.remove()
-    this.$backdrop = null
-  }
-
-  Modal.prototype.backdrop = function (callback) {
-    var that = this
-    var animate = this.$element.hasClass('fade') ? 'fade' : ''
-
-    if (this.isShown && this.options.backdrop) {
-      var doAnimate = $.support.transition && animate
-
-      this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
-        .appendTo(this.$body)
-
-      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
-        if (this.ignoreBackdropClick) {
-          this.ignoreBackdropClick = false
-          return
-        }
-        if (e.target !== e.currentTarget) return
-        this.options.backdrop == 'static'
-          ? this.$element[0].focus()
-          : this.hide()
-      }, this))
-
-      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
-
-      this.$backdrop.addClass('in')
-
-      if (!callback) return
-
-      doAnimate ?
-        this.$backdrop
-          .one('bsTransitionEnd', callback)
-          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
-        callback()
-
-    } else if (!this.isShown && this.$backdrop) {
-      this.$backdrop.removeClass('in')
-
-      var callbackRemove = function () {
-        that.removeBackdrop()
-        callback && callback()
-      }
-      $.support.transition && this.$element.hasClass('fade') ?
-        this.$backdrop
-          .one('bsTransitionEnd', callbackRemove)
-          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
-        callbackRemove()
-
-    } else if (callback) {
-      callback()
-    }
-  }
-
-  // these following methods are used to handle overflowing modals
-
-  Modal.prototype.handleUpdate = function () {
-    this.adjustDialog()
-  }
-
-  Modal.prototype.adjustDialog = function () {
-    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
-
-    this.$element.css({
-      paddingLeft:  !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
-      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
-    })
-  }
-
-  Modal.prototype.resetAdjustments = function () {
-    this.$element.css({
-      paddingLeft: '',
-      paddingRight: ''
-    })
-  }
-
-  Modal.prototype.checkScrollbar = function () {
-    var fullWindowWidth = window.innerWidth
-    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
-      var documentElementRect = document.documentElement.getBoundingClientRect()
-      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
-    }
-    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
-    this.scrollbarWidth = this.measureScrollbar()
-  }
-
-  Modal.prototype.setScrollbar = function () {
-    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
-    this.originalBodyPad = document.body.style.paddingRight || ''
-    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
-  }
-
-  Modal.prototype.resetScrollbar = function () {
-    this.$body.css('padding-right', this.originalBodyPad)
-  }
-
-  Modal.prototype.measureScrollbar = function () { // thx walsh
-    var scrollDiv = document.createElement('div')
-    scrollDiv.className = 'modal-scrollbar-measure'
-    this.$body.append(scrollDiv)
-    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
-    this.$body[0].removeChild(scrollDiv)
-    return scrollbarWidth
-  }
-
-
-  // MODAL PLUGIN DEFINITION
-  // =======================
-
-  function Plugin(option, _relatedTarget) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.modal')
-      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
-
-      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
-      if (typeof option == 'string') data[option](_relatedTarget)
-      else if (options.show) data.show(_relatedTarget)
-    })
-  }
-
-  var old = $.fn.modal
-
-  $.fn.modal             = Plugin
-  $.fn.modal.Constructor = Modal
-
-
-  // MODAL NO CONFLICT
-  // =================
-
-  $.fn.modal.noConflict = function () {
-    $.fn.modal = old
-    return this
-  }
-
-
-  // MODAL DATA-API
-  // ==============
-
-  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
-    var $this   = $(this)
-    var href    = $this.attr('href')
-    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
-    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
-
-    if ($this.is('a')) e.preventDefault()
-
-    $target.one('show.bs.modal', function (showEvent) {
-      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
-      $target.one('hidden.bs.modal', function () {
-        $this.is(':visible') && $this.trigger('focus')
-      })
-    })
-    Plugin.call($target, option, this)
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tooltip.js v3.3.4
- * http://getbootstrap.com/javascript/#tooltip
- * Inspired by the original jQuery.tipsy by Jason Frame
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // TOOLTIP PUBLIC CLASS DEFINITION
-  // ===============================
-
-  var Tooltip = function (element, options) {
-    this.type       = null
-    this.options    = null
-    this.enabled    = null
-    this.timeout    = null
-    this.hoverState = null
-    this.$element   = null
-
-    this.init('tooltip', element, options)
-  }
-
-  Tooltip.VERSION  = '3.3.4'
-
-  Tooltip.TRANSITION_DURATION = 150
-
-  Tooltip.DEFAULTS = {
-    animation: true,
-    placement: 'top',
-    selector: false,
-    template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
-    trigger: 'hover focus',
-    title: '',
-    delay: 0,
-    html: false,
-    container: false,
-    viewport: {
-      selector: 'body',
-      padding: 0
-    }
-  }
-
-  Tooltip.prototype.init = function (type, element, options) {
-    this.enabled   = true
-    this.type      = type
-    this.$element  = $(element)
-    this.options   = this.getOptions(options)
-    this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
-
-    if (this.$element[0] instanceof document.constructor && !this.options.selector) {
-      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
-    }
-
-    var triggers = this.options.trigger.split(' ')
-
-    for (var i = triggers.length; i--;) {
-      var trigger = triggers[i]
-
-      if (trigger == 'click') {
-        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
-      } else if (trigger != 'manual') {
-        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'
-        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
-
-        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
-        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
-      }
-    }
-
-    this.options.selector ?
-      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
-      this.fixTitle()
-  }
-
-  Tooltip.prototype.getDefaults = function () {
-    return Tooltip.DEFAULTS
-  }
-
-  Tooltip.prototype.getOptions = function (options) {
-    options = $.extend({}, this.getDefaults(), this.$element.data(), options)
-
-    if (options.delay && typeof options.delay == 'number') {
-      options.delay = {
-        show: options.delay,
-        hide: options.delay
-      }
-    }
-
-    return options
-  }
-
-  Tooltip.prototype.getDelegateOptions = function () {
-    var options  = {}
-    var defaults = this.getDefaults()
-
-    this._options && $.each(this._options, function (key, value) {
-      if (defaults[key] != value) options[key] = value
-    })
-
-    return options
-  }
-
-  Tooltip.prototype.enter = function (obj) {
-    var self = obj instanceof this.constructor ?
-      obj : $(obj.currentTarget).data('bs.' + this.type)
-
-    if (self && self.$tip && self.$tip.is(':visible')) {
-      self.hoverState = 'in'
-      return
-    }
-
-    if (!self) {
-      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
-      $(obj.currentTarget).data('bs.' + this.type, self)
-    }
-
-    clearTimeout(self.timeout)
-
-    self.hoverState = 'in'
-
-    if (!self.options.delay || !self.options.delay.show) return self.show()
-
-    self.timeout = setTimeout(function () {
-      if (self.hoverState == 'in') self.show()
-    }, self.options.delay.show)
-  }
-
-  Tooltip.prototype.leave = function (obj) {
-    var self = obj instanceof this.constructor ?
-      obj : $(obj.currentTarget).data('bs.' + this.type)
-
-    if (!self) {
-      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
-      $(obj.currentTarget).data('bs.' + this.type, self)
-    }
-
-    clearTimeout(self.timeout)
-
-    self.hoverState = 'out'
-
-    if (!self.options.delay || !self.options.delay.hide) return self.hide()
-
-    self.timeout = setTimeout(function () {
-      if (self.hoverState == 'out') self.hide()
-    }, self.options.delay.hide)
-  }
-
-  Tooltip.prototype.show = function () {
-    var e = $.Event('show.bs.' + this.type)
-
-    if (this.hasContent() && this.enabled) {
-      this.$element.trigger(e)
-
-      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
-      if (e.isDefaultPrevented() || !inDom) return
-      var that = this
-
-      var $tip = this.tip()
-
-      var tipId = this.getUID(this.type)
-
-      this.setContent()
-      $tip.attr('id', tipId)
-      this.$element.attr('aria-describedby', tipId)
-
-      if (this.options.animation) $tip.addClass('fade')
-
-      var placement = typeof this.options.placement == 'function' ?
-        this.options.placement.call(this, $tip[0], this.$element[0]) :
-        this.options.placement
-
-      var autoToken = /\s?auto?\s?/i
-      var autoPlace = autoToken.test(placement)
-      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
-
-      $tip
-        .detach()
-        .css({ top: 0, left: 0, display: 'block' })
-        .addClass(placement)
-        .data('bs.' + this.type, this)
-
-      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
-
-      var pos          = this.getPosition()
-      var actualWidth  = $tip[0].offsetWidth
-      var actualHeight = $tip[0].offsetHeight
-
-      if (autoPlace) {
-        var orgPlacement = placement
-        var $container   = this.options.container ? $(this.options.container) : this.$element.parent()
-        var containerDim = this.getPosition($container)
-
-        placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top'    :
-                    placement == 'top'    && pos.top    - actualHeight < containerDim.top    ? 'bottom' :
-                    placement == 'right'  && pos.right  + actualWidth  > containerDim.width  ? 'left'   :
-                    placement == 'left'   && pos.left   - actualWidth  < containerDim.left   ? 'right'  :
-                    placement
-
-        $tip
-          .removeClass(orgPlacement)
-          .addClass(placement)
-      }
-
-      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
-
-      this.applyPlacement(calculatedOffset, placement)
-
-      var complete = function () {
-        var prevHoverState = that.hoverState
-        that.$element.trigger('shown.bs.' + that.type)
-        that.hoverState = null
-
-        if (prevHoverState == 'out') that.leave(that)
-      }
-
-      $.support.transition && this.$tip.hasClass('fade') ?
-        $tip
-          .one('bsTransitionEnd', complete)
-          .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
-        complete()
-    }
-  }
-
-  Tooltip.prototype.applyPlacement = function (offset, placement) {
-    var $tip   = this.tip()
-    var width  = $tip[0].offsetWidth
-    var height = $tip[0].offsetHeight
-
-    // manually read margins because getBoundingClientRect includes difference
-    var marginTop = parseInt($tip.css('margin-top'), 10)
-    var marginLeft = parseInt($tip.css('margin-left'), 10)
-
-    // we must check for NaN for ie 8/9
-    if (isNaN(marginTop))  marginTop  = 0
-    if (isNaN(marginLeft)) marginLeft = 0
-
-    offset.top  = offset.top  + marginTop
-    offset.left = offset.left + marginLeft
-
-    // $.fn.offset doesn't round pixel values
-    // so we use setOffset directly with our own function B-0
-    $.offset.setOffset($tip[0], $.extend({
-      using: function (props) {
-        $tip.css({
-          top: Math.round(props.top),
-          left: Math.round(props.left)
-        })
-      }
-    }, offset), 0)
-
-    $tip.addClass('in')
-
-    // check to see if placing tip in new offset caused the tip to resize itself
-    var actualWidth  = $tip[0].offsetWidth
-    var actualHeight = $tip[0].offsetHeight
-
-    if (placement == 'top' && actualHeight != height) {
-      offset.top = offset.top + height - actualHeight
-    }
-
-    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
-
-    if (delta.left) offset.left += delta.left
-    else offset.top += delta.top
-
-    var isVertical          = /top|bottom/.test(placement)
-    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
-    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
-
-    $tip.offset(offset)
-    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
-  }
-
-  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
-    this.arrow()
-      .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
-      .css(isVertical ? 'top' : 'left', '')
-  }
-
-  Tooltip.prototype.setContent = function () {
-    var $tip  = this.tip()
-    var title = this.getTitle()
-
-    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
-    $tip.removeClass('fade in top bottom left right')
-  }
-
-  Tooltip.prototype.hide = function (callback) {
-    var that = this
-    var $tip = $(this.$tip)
-    var e    = $.Event('hide.bs.' + this.type)
-
-    function complete() {
-      if (that.hoverState != 'in') $tip.detach()
-      that.$element
-        .removeAttr('aria-describedby')
-        .trigger('hidden.bs.' + that.type)
-      callback && callback()
-    }
-
-    this.$element.trigger(e)
-
-    if (e.isDefaultPrevented()) return
-
-    $tip.removeClass('in')
-
-    $.support.transition && $tip.hasClass('fade') ?
-      $tip
-        .one('bsTransitionEnd', complete)
-        .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
-      complete()
-
-    this.hoverState = null
-
-    return this
-  }
-
-  Tooltip.prototype.fixTitle = function () {
-    var $e = this.$element
-    if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
-      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
-    }
-  }
-
-  Tooltip.prototype.hasContent = function () {
-    return this.getTitle()
-  }
-
-  Tooltip.prototype.getPosition = function ($element) {
-    $element   = $element || this.$element
-
-    var el     = $element[0]
-    var isBody = el.tagName == 'BODY'
-
-    var elRect    = el.getBoundingClientRect()
-    if (elRect.width == null) {
-      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
-      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
-    }
-    var elOffset  = isBody ? { top: 0, left: 0 } : $element.offset()
-    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
-    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
-
-    return $.extend({}, elRect, scroll, outerDims, elOffset)
-  }
-
-  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
-    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :
-           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
-           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
-        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
-
-  }
-
-  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
-    var delta = { top: 0, left: 0 }
-    if (!this.$viewport) return delta
-
-    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
-    var viewportDimensions = this.getPosition(this.$viewport)
-
-    if (/right|left/.test(placement)) {
-      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll
-      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
-      if (topEdgeOffset < viewportDimensions.top) { // top overflow
-        delta.top = viewportDimensions.top - topEdgeOffset
-      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
-        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
-      }
-    } else {
-      var leftEdgeOffset  = pos.left - viewportPadding
-      var rightEdgeOffset = pos.left + viewportPadding + actualWidth
-      if (leftEdgeOffset < viewportDimensions.left) { // left overflow
-        delta.left = viewportDimensions.left - leftEdgeOffset
-      } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
-        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
-      }
-    }
-
-    return delta
-  }
-
-  Tooltip.prototype.getTitle = function () {
-    var title
-    var $e = this.$element
-    var o  = this.options
-
-    title = $e.attr('data-original-title')
-      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
-
-    return title
-  }
-
-  Tooltip.prototype.getUID = function (prefix) {
-    do prefix += ~~(Math.random() * 1000000)
-    while (document.getElementById(prefix))
-    return prefix
-  }
-
-  Tooltip.prototype.tip = function () {
-    return (this.$tip = this.$tip || $(this.options.template))
-  }
-
-  Tooltip.prototype.arrow = function () {
-    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
-  }
-
-  Tooltip.prototype.enable = function () {
-    this.enabled = true
-  }
-
-  Tooltip.prototype.disable = function () {
-    this.enabled = false
-  }
-
-  Tooltip.prototype.toggleEnabled = function () {
-    this.enabled = !this.enabled
-  }
-
-  Tooltip.prototype.toggle = function (e) {
-    var self = this
-    if (e) {
-      self = $(e.currentTarget).data('bs.' + this.type)
-      if (!self) {
-        self = new this.constructor(e.currentTarget, this.getDelegateOptions())
-        $(e.currentTarget).data('bs.' + this.type, self)
-      }
-    }
-
-    self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
-  }
-
-  Tooltip.prototype.destroy = function () {
-    var that = this
-    clearTimeout(this.timeout)
-    this.hide(function () {
-      that.$element.off('.' + that.type).removeData('bs.' + that.type)
-    })
-  }
-
-
-  // TOOLTIP PLUGIN DEFINITION
-  // =========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.tooltip')
-      var options = typeof option == 'object' && option
-
-      if (!data && /destroy|hide/.test(option)) return
-      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.tooltip
-
-  $.fn.tooltip             = Plugin
-  $.fn.tooltip.Constructor = Tooltip
-
-
-  // TOOLTIP NO CONFLICT
-  // ===================
-
-  $.fn.tooltip.noConflict = function () {
-    $.fn.tooltip = old
-    return this
-  }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: popover.js v3.3.4
- * http://getbootstrap.com/javascript/#popovers
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // POPOVER PUBLIC CLASS DEFINITION
-  // ===============================
-
-  var Popover = function (element, options) {
-    this.init('popover', element, options)
-  }
-
-  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
-
-  Popover.VERSION  = '3.3.4'
-
-  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
-    placement: 'right',
-    trigger: 'click',
-    content: '',
-    template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
-  })
-
-
-  // NOTE: POPOVER EXTENDS tooltip.js
-  // ================================
-
-  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
-
-  Popover.prototype.constructor = Popover
-
-  Popover.prototype.getDefaults = function () {
-    return Popover.DEFAULTS
-  }
-
-  Popover.prototype.setContent = function () {
-    var $tip    = this.tip()
-    var title   = this.getTitle()
-    var content = this.getContent()
-
-    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
-    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
-      this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
-    ](content)
-
-    $tip.removeClass('fade top bottom left right in')
-
-    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
-    // this manually by checking the contents.
-    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
-  }
-
-  Popover.prototype.hasContent = function () {
-    return this.getTitle() || this.getContent()
-  }
-
-  Popover.prototype.getContent = function () {
-    var $e = this.$element
-    var o  = this.options
-
-    return $e.attr('data-content')
-      || (typeof o.content == 'function' ?
-            o.content.call($e[0]) :
-            o.content)
-  }
-
-  Popover.prototype.arrow = function () {
-    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
-  }
-
-
-  // POPOVER PLUGIN DEFINITION
-  // =========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.popover')
-      var options = typeof option == 'object' && option
-
-      if (!data && /destroy|hide/.test(option)) return
-      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.popover
-
-  $.fn.popover             = Plugin
-  $.fn.popover.Constructor = Popover
-
-
-  // POPOVER NO CONFLICT
-  // ===================
-
-  $.fn.popover.noConflict = function () {
-    $.fn.popover = old
-    return this
-  }
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: scrollspy.js v3.3.4
- * http://getbootstrap.com/javascript/#scrollspy
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // SCROLLSPY CLASS DEFINITION
-  // ==========================
-
-  function ScrollSpy(element, options) {
-    this.$body          = $(document.body)
-    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
-    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)
-    this.selector       = (this.options.target || '') + ' .nav li > a'
-    this.offsets        = []
-    this.targets        = []
-    this.activeTarget   = null
-    this.scrollHeight   = 0
-
-    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
-    this.refresh()
-    this.process()
-  }
-
-  ScrollSpy.VERSION  = '3.3.4'
-
-  ScrollSpy.DEFAULTS = {
-    offset: 10
-  }
-
-  ScrollSpy.prototype.getScrollHeight = function () {
-    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
-  }
-
-  ScrollSpy.prototype.refresh = function () {
-    var that          = this
-    var offsetMethod  = 'offset'
-    var offsetBase    = 0
-
-    this.offsets      = []
-    this.targets      = []
-    this.scrollHeight = this.getScrollHeight()
-
-    if (!$.isWindow(this.$scrollElement[0])) {
-      offsetMethod = 'position'
-      offsetBase   = this.$scrollElement.scrollTop()
-    }
-
-    this.$body
-      .find(this.selector)
-      .map(function () {
-        var $el   = $(this)
-        var href  = $el.data('target') || $el.attr('href')
-        var $href = /^#./.test(href) && $(href)
-
-        return ($href
-          && $href.length
-          && $href.is(':visible')
-          && [[$href[offsetMethod]().top + offsetBase, href]]) || null
-      })
-      .sort(function (a, b) { return a[0] - b[0] })
-      .each(function () {
-        that.offsets.push(this[0])
-        that.targets.push(this[1])
-      })
-  }
-
-  ScrollSpy.prototype.process = function () {
-    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset
-    var scrollHeight = this.getScrollHeight()
-    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()
-    var offsets      = this.offsets
-    var targets      = this.targets
-    var activeTarget = this.activeTarget
-    var i
-
-    if (this.scrollHeight != scrollHeight) {
-      this.refresh()
-    }
-
-    if (scrollTop >= maxScroll) {
-      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
-    }
-
-    if (activeTarget && scrollTop < offsets[0]) {
-      this.activeTarget = null
-      return this.clear()
-    }
-
-    for (i = offsets.length; i--;) {
-      activeTarget != targets[i]
-        && scrollTop >= offsets[i]
-        && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
-        && this.activate(targets[i])
-    }
-  }
-
-  ScrollSpy.prototype.activate = function (target) {
-    this.activeTarget = target
-
-    this.clear()
-
-    var selector = this.selector +
-      '[data-target="' + target + '"],' +
-      this.selector + '[href="' + target + '"]'
-
-    var active = $(selector)
-      .parents('li')
-      .addClass('active')
-
-    if (active.parent('.dropdown-menu').length) {
-      active = active
-        .closest('li.dropdown')
-        .addClass('active')
-    }
-
-    active.trigger('activate.bs.scrollspy')
-  }
-
-  ScrollSpy.prototype.clear = function () {
-    $(this.selector)
-      .parentsUntil(this.options.target, '.active')
-      .removeClass('active')
-  }
-
-
-  // SCROLLSPY PLUGIN DEFINITION
-  // ===========================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.scrollspy')
-      var options = typeof option == 'object' && option
-
-      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.scrollspy
-
-  $.fn.scrollspy             = Plugin
-  $.fn.scrollspy.Constructor = ScrollSpy
-
-
-  // SCROLLSPY NO CONFLICT
-  // =====================
-
-  $.fn.scrollspy.noConflict = function () {
-    $.fn.scrollspy = old
-    return this
-  }
-
-
-  // SCROLLSPY DATA-API
-  // ==================
-
-  $(window).on('load.bs.scrollspy.data-api', function () {
-    $('[data-spy="scroll"]').each(function () {
-      var $spy = $(this)
-      Plugin.call($spy, $spy.data())
-    })
-  })
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: tab.js v3.3.4
- * http://getbootstrap.com/javascript/#tabs
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // TAB CLASS DEFINITION
-  // ====================
-
-  var Tab = function (element) {
-    this.element = $(element)
-  }
-
-  Tab.VERSION = '3.3.4'
-
-  Tab.TRANSITION_DURATION = 150
-
-  Tab.prototype.show = function () {
-    var $this    = this.element
-    var $ul      = $this.closest('ul:not(.dropdown-menu)')
-    var selector = $this.data('target')
-
-    if (!selector) {
-      selector = $this.attr('href')
-      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
-    }
-
-    if ($this.parent('li').hasClass('active')) return
-
-    var $previous = $ul.find('.active:last a')
-    var hideEvent = $.Event('hide.bs.tab', {
-      relatedTarget: $this[0]
-    })
-    var showEvent = $.Event('show.bs.tab', {
-      relatedTarget: $previous[0]
-    })
-
-    $previous.trigger(hideEvent)
-    $this.trigger(showEvent)
-
-    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
-
-    var $target = $(selector)
-
-    this.activate($this.closest('li'), $ul)
-    this.activate($target, $target.parent(), function () {
-      $previous.trigger({
-        type: 'hidden.bs.tab',
-        relatedTarget: $this[0]
-      })
-      $this.trigger({
-        type: 'shown.bs.tab',
-        relatedTarget: $previous[0]
-      })
-    })
-  }
-
-  Tab.prototype.activate = function (element, container, callback) {
-    var $active    = container.find('> .active')
-    var transition = callback
-      && $.support.transition
-      && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
-
-    function next() {
-      $active
-        .removeClass('active')
-        .find('> .dropdown-menu > .active')
-          .removeClass('active')
-        .end()
-        .find('[data-toggle="tab"]')
-          .attr('aria-expanded', false)
-
-      element
-        .addClass('active')
-        .find('[data-toggle="tab"]')
-          .attr('aria-expanded', true)
-
-      if (transition) {
-        element[0].offsetWidth // reflow for transition
-        element.addClass('in')
-      } else {
-        element.removeClass('fade')
-      }
-
-      if (element.parent('.dropdown-menu').length) {
-        element
-          .closest('li.dropdown')
-            .addClass('active')
-          .end()
-          .find('[data-toggle="tab"]')
-            .attr('aria-expanded', true)
-      }
-
-      callback && callback()
-    }
-
-    $active.length && transition ?
-      $active
-        .one('bsTransitionEnd', next)
-        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
-      next()
-
-    $active.removeClass('in')
-  }
-
-
-  // TAB PLUGIN DEFINITION
-  // =====================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this = $(this)
-      var data  = $this.data('bs.tab')
-
-      if (!data) $this.data('bs.tab', (data = new Tab(this)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.tab
-
-  $.fn.tab             = Plugin
-  $.fn.tab.Constructor = Tab
-
-
-  // TAB NO CONFLICT
-  // ===============
-
-  $.fn.tab.noConflict = function () {
-    $.fn.tab = old
-    return this
-  }
-
-
-  // TAB DATA-API
-  // ============
-
-  var clickHandler = function (e) {
-    e.preventDefault()
-    Plugin.call($(this), 'show')
-  }
-
-  $(document)
-    .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
-    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
-
-}(jQuery);
-
-/* ========================================================================
- * Bootstrap: affix.js v3.3.4
- * http://getbootstrap.com/javascript/#affix
- * ========================================================================
- * Copyright 2011-2015 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * ======================================================================== */
-
-
-+function ($) {
-  'use strict';
-
-  // AFFIX CLASS DEFINITION
-  // ======================
-
-  var Affix = function (element, options) {
-    this.options = $.extend({}, Affix.DEFAULTS, options)
-
-    this.$target = $(this.options.target)
-      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
-      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))
-
-    this.$element     = $(element)
-    this.affixed      = null
-    this.unpin        = null
-    this.pinnedOffset = null
-
-    this.checkPosition()
-  }
-
-  Affix.VERSION  = '3.3.4'
-
-  Affix.RESET    = 'affix affix-top affix-bottom'
-
-  Affix.DEFAULTS = {
-    offset: 0,
-    target: window
-  }
-
-  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
-    var scrollTop    = this.$target.scrollTop()
-    var position     = this.$element.offset()
-    var targetHeight = this.$target.height()
-
-    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
-
-    if (this.affixed == 'bottom') {
-      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
-      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
-    }
-
-    var initializing   = this.affixed == null
-    var colliderTop    = initializing ? scrollTop : position.top
-    var colliderHeight = initializing ? targetHeight : height
-
-    if (offsetTop != null && scrollTop <= offsetTop) return 'top'
-    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
-
-    return false
-  }
-
-  Affix.prototype.getPinnedOffset = function () {
-    if (this.pinnedOffset) return this.pinnedOffset
-    this.$element.removeClass(Affix.RESET).addClass('affix')
-    var scrollTop = this.$target.scrollTop()
-    var position  = this.$element.offset()
-    return (this.pinnedOffset = position.top - scrollTop)
-  }
-
-  Affix.prototype.checkPositionWithEventLoop = function () {
-    setTimeout($.proxy(this.checkPosition, this), 1)
-  }
-
-  Affix.prototype.checkPosition = function () {
-    if (!this.$element.is(':visible')) return
-
-    var height       = this.$element.height()
-    var offset       = this.options.offset
-    var offsetTop    = offset.top
-    var offsetBottom = offset.bottom
-    var scrollHeight = $(document.body).height()
-
-    if (typeof offset != 'object')         offsetBottom = offsetTop = offset
-    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)
-    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
-
-    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
-
-    if (this.affixed != affix) {
-      if (this.unpin != null) this.$element.css('top', '')
-
-      var affixType = 'affix' + (affix ? '-' + affix : '')
-      var e         = $.Event(affixType + '.bs.affix')
-
-      this.$element.trigger(e)
-
-      if (e.isDefaultPrevented()) return
-
-      this.affixed = affix
-      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
-
-      this.$element
-        .removeClass(Affix.RESET)
-        .addClass(affixType)
-        .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
-    }
-
-    if (affix == 'bottom') {
-      this.$element.offset({
-        top: scrollHeight - height - offsetBottom
-      })
-    }
-  }
-
-
-  // AFFIX PLUGIN DEFINITION
-  // =======================
-
-  function Plugin(option) {
-    return this.each(function () {
-      var $this   = $(this)
-      var data    = $this.data('bs.affix')
-      var options = typeof option == 'object' && option
-
-      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
-      if (typeof option == 'string') data[option]()
-    })
-  }
-
-  var old = $.fn.affix
-
-  $.fn.affix             = Plugin
-  $.fn.affix.Constructor = Affix
-
-
-  // AFFIX NO CONFLICT
-  // =================
-
-  $.fn.affix.noConflict = function () {
-    $.fn.affix = old
-    return this
-  }
-
-
-  // AFFIX DATA-API
-  // ==============
-
-  $(window).on('load', function () {
-    $('[data-spy="affix"]').each(function () {
-      var $spy = $(this)
-      var data = $spy.data()
-
-      data.offset = data.offset || {}
-
-      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
-      if (data.offsetTop    != null) data.offset.top    = data.offsetTop
-
-      Plugin.call($spy, data)
-    })
-  })
-
-}(jQuery);

+ 36 - 0
misago/emberapp/vendor/bootstrap/.jscsrc

@@ -0,0 +1,36 @@
+{
+  "disallowEmptyBlocks": true,
+  "disallowKeywords": ["with"],
+  "disallowMixedSpacesAndTabs": true,
+  "disallowMultipleLineStrings": true,
+  "disallowMultipleVarDecl": true,
+  "disallowQuotedKeysInObjects": "allButReserved",
+  "disallowSpaceAfterPrefixUnaryOperators": ["++", "--", "+", "-", "~", "!"],
+  "disallowSpaceBeforeBinaryOperators": [","],
+  "disallowSpaceBeforePostfixUnaryOperators": ["++", "--"],
+  "disallowSpacesInNamedFunctionExpression": { "beforeOpeningRoundBrace": true },
+  "disallowSpacesInsideArrayBrackets": true,
+  "disallowSpacesInsideParentheses": true,
+  "disallowTrailingComma": true,
+  "disallowTrailingWhitespace": true,
+  "requireCamelCaseOrUpperCaseIdentifiers": true,
+  "requireCapitalizedConstructors": true,
+  "requireCommaBeforeLineBreak": true,
+  "requireDotNotation": true,
+  "requireLineFeedAtFileEnd": true,
+  "requireSpaceAfterBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
+  "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return", "try", "catch"],
+  "requireSpaceAfterLineComment": true,
+  "requireSpaceBeforeBinaryOperators": ["+", "-", "/", "*", "=", "==", "===", "!=", "!==", ">", "<", ">=", "<="],
+  "requireSpaceBetweenArguments": true,
+  "requireSpacesInAnonymousFunctionExpression": { "beforeOpeningCurlyBrace": true, "beforeOpeningRoundBrace": true },
+  "requireSpacesInConditionalExpression": true,
+  "requireSpacesInForStatement": true,
+  "requireSpacesInFunctionDeclaration": { "beforeOpeningCurlyBrace": true },
+  "requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
+  "requireSpacesInNamedFunctionExpression": { "beforeOpeningCurlyBrace": true },
+  "requireSpacesInsideObjectBrackets": "allButNested",
+  "validateIndentation": 2,
+  "validateLineBreaks": "LF",
+  "validateQuoteMarks": "'"
+}

+ 15 - 0
misago/emberapp/vendor/bootstrap/.jshintrc

@@ -0,0 +1,15 @@
+{
+  "asi"      : true,
+  "browser"  : true,
+  "eqeqeq"   : false,
+  "eqnull"   : true,
+  "es3"      : true,
+  "expr"     : true,
+  "jquery"   : true,
+  "latedef"  : true,
+  "laxbreak" : true,
+  "nonbsp"   : true,
+  "strict"   : true,
+  "undef"    : true,
+  "unused"   : true
+}

+ 162 - 0
misago/emberapp/vendor/bootstrap/affix.js

@@ -0,0 +1,162 @@
+/* ========================================================================
+ * Bootstrap: affix.js v3.3.4
+ * http://getbootstrap.com/javascript/#affix
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // AFFIX CLASS DEFINITION
+  // ======================
+
+  var Affix = function (element, options) {
+    this.options = $.extend({}, Affix.DEFAULTS, options)
+
+    this.$target = $(this.options.target)
+      .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
+      .on('click.bs.affix.data-api',  $.proxy(this.checkPositionWithEventLoop, this))
+
+    this.$element     = $(element)
+    this.affixed      = null
+    this.unpin        = null
+    this.pinnedOffset = null
+
+    this.checkPosition()
+  }
+
+  Affix.VERSION  = '3.3.4'
+
+  Affix.RESET    = 'affix affix-top affix-bottom'
+
+  Affix.DEFAULTS = {
+    offset: 0,
+    target: window
+  }
+
+  Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
+    var scrollTop    = this.$target.scrollTop()
+    var position     = this.$element.offset()
+    var targetHeight = this.$target.height()
+
+    if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
+
+    if (this.affixed == 'bottom') {
+      if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
+      return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
+    }
+
+    var initializing   = this.affixed == null
+    var colliderTop    = initializing ? scrollTop : position.top
+    var colliderHeight = initializing ? targetHeight : height
+
+    if (offsetTop != null && scrollTop <= offsetTop) return 'top'
+    if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
+
+    return false
+  }
+
+  Affix.prototype.getPinnedOffset = function () {
+    if (this.pinnedOffset) return this.pinnedOffset
+    this.$element.removeClass(Affix.RESET).addClass('affix')
+    var scrollTop = this.$target.scrollTop()
+    var position  = this.$element.offset()
+    return (this.pinnedOffset = position.top - scrollTop)
+  }
+
+  Affix.prototype.checkPositionWithEventLoop = function () {
+    setTimeout($.proxy(this.checkPosition, this), 1)
+  }
+
+  Affix.prototype.checkPosition = function () {
+    if (!this.$element.is(':visible')) return
+
+    var height       = this.$element.height()
+    var offset       = this.options.offset
+    var offsetTop    = offset.top
+    var offsetBottom = offset.bottom
+    var scrollHeight = $(document.body).height()
+
+    if (typeof offset != 'object')         offsetBottom = offsetTop = offset
+    if (typeof offsetTop == 'function')    offsetTop    = offset.top(this.$element)
+    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
+
+    var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
+
+    if (this.affixed != affix) {
+      if (this.unpin != null) this.$element.css('top', '')
+
+      var affixType = 'affix' + (affix ? '-' + affix : '')
+      var e         = $.Event(affixType + '.bs.affix')
+
+      this.$element.trigger(e)
+
+      if (e.isDefaultPrevented()) return
+
+      this.affixed = affix
+      this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
+
+      this.$element
+        .removeClass(Affix.RESET)
+        .addClass(affixType)
+        .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
+    }
+
+    if (affix == 'bottom') {
+      this.$element.offset({
+        top: scrollHeight - height - offsetBottom
+      })
+    }
+  }
+
+
+  // AFFIX PLUGIN DEFINITION
+  // =======================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.affix')
+      var options = typeof option == 'object' && option
+
+      if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.affix
+
+  $.fn.affix             = Plugin
+  $.fn.affix.Constructor = Affix
+
+
+  // AFFIX NO CONFLICT
+  // =================
+
+  $.fn.affix.noConflict = function () {
+    $.fn.affix = old
+    return this
+  }
+
+
+  // AFFIX DATA-API
+  // ==============
+
+  $(window).on('load', function () {
+    $('[data-spy="affix"]').each(function () {
+      var $spy = $(this)
+      var data = $spy.data()
+
+      data.offset = data.offset || {}
+
+      if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
+      if (data.offsetTop    != null) data.offset.top    = data.offsetTop
+
+      Plugin.call($spy, data)
+    })
+  })
+
+}(jQuery);

+ 94 - 0
misago/emberapp/vendor/bootstrap/alert.js

@@ -0,0 +1,94 @@
+/* ========================================================================
+ * Bootstrap: alert.js v3.3.4
+ * http://getbootstrap.com/javascript/#alerts
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // ALERT CLASS DEFINITION
+  // ======================
+
+  var dismiss = '[data-dismiss="alert"]'
+  var Alert   = function (el) {
+    $(el).on('click', dismiss, this.close)
+  }
+
+  Alert.VERSION = '3.3.4'
+
+  Alert.TRANSITION_DURATION = 150
+
+  Alert.prototype.close = function (e) {
+    var $this    = $(this)
+    var selector = $this.attr('data-target')
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+    }
+
+    var $parent = $(selector)
+
+    if (e) e.preventDefault()
+
+    if (!$parent.length) {
+      $parent = $this.closest('.alert')
+    }
+
+    $parent.trigger(e = $.Event('close.bs.alert'))
+
+    if (e.isDefaultPrevented()) return
+
+    $parent.removeClass('in')
+
+    function removeElement() {
+      // detach from parent, fire event then clean up data
+      $parent.detach().trigger('closed.bs.alert').remove()
+    }
+
+    $.support.transition && $parent.hasClass('fade') ?
+      $parent
+        .one('bsTransitionEnd', removeElement)
+        .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
+      removeElement()
+  }
+
+
+  // ALERT PLUGIN DEFINITION
+  // =======================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data('bs.alert')
+
+      if (!data) $this.data('bs.alert', (data = new Alert(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  var old = $.fn.alert
+
+  $.fn.alert             = Plugin
+  $.fn.alert.Constructor = Alert
+
+
+  // ALERT NO CONFLICT
+  // =================
+
+  $.fn.alert.noConflict = function () {
+    $.fn.alert = old
+    return this
+  }
+
+
+  // ALERT DATA-API
+  // ==============
+
+  $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close)
+
+}(jQuery);

+ 116 - 0
misago/emberapp/vendor/bootstrap/button.js

@@ -0,0 +1,116 @@
+/* ========================================================================
+ * Bootstrap: button.js v3.3.4
+ * http://getbootstrap.com/javascript/#buttons
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // BUTTON PUBLIC CLASS DEFINITION
+  // ==============================
+
+  var Button = function (element, options) {
+    this.$element  = $(element)
+    this.options   = $.extend({}, Button.DEFAULTS, options)
+    this.isLoading = false
+  }
+
+  Button.VERSION  = '3.3.4'
+
+  Button.DEFAULTS = {
+    loadingText: 'loading...'
+  }
+
+  Button.prototype.setState = function (state) {
+    var d    = 'disabled'
+    var $el  = this.$element
+    var val  = $el.is('input') ? 'val' : 'html'
+    var data = $el.data()
+
+    state = state + 'Text'
+
+    if (data.resetText == null) $el.data('resetText', $el[val]())
+
+    // push to event loop to allow forms to submit
+    setTimeout($.proxy(function () {
+      $el[val](data[state] == null ? this.options[state] : data[state])
+
+      if (state == 'loadingText') {
+        this.isLoading = true
+        $el.addClass(d).attr(d, d)
+      } else if (this.isLoading) {
+        this.isLoading = false
+        $el.removeClass(d).removeAttr(d)
+      }
+    }, this), 0)
+  }
+
+  Button.prototype.toggle = function () {
+    var changed = true
+    var $parent = this.$element.closest('[data-toggle="buttons"]')
+
+    if ($parent.length) {
+      var $input = this.$element.find('input')
+      if ($input.prop('type') == 'radio') {
+        if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
+        else $parent.find('.active').removeClass('active')
+      }
+      if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
+    } else {
+      this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
+    }
+
+    if (changed) this.$element.toggleClass('active')
+  }
+
+
+  // BUTTON PLUGIN DEFINITION
+  // ========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.button')
+      var options = typeof option == 'object' && option
+
+      if (!data) $this.data('bs.button', (data = new Button(this, options)))
+
+      if (option == 'toggle') data.toggle()
+      else if (option) data.setState(option)
+    })
+  }
+
+  var old = $.fn.button
+
+  $.fn.button             = Plugin
+  $.fn.button.Constructor = Button
+
+
+  // BUTTON NO CONFLICT
+  // ==================
+
+  $.fn.button.noConflict = function () {
+    $.fn.button = old
+    return this
+  }
+
+
+  // BUTTON DATA-API
+  // ===============
+
+  $(document)
+    .on('click.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+      var $btn = $(e.target)
+      if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
+      Plugin.call($btn, 'toggle')
+      e.preventDefault()
+    })
+    .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+      $(e.target).closest('.btn').toggleClass('focus', /^focus(in)?$/.test(e.type))
+    })
+
+}(jQuery);

+ 237 - 0
misago/emberapp/vendor/bootstrap/carousel.js

@@ -0,0 +1,237 @@
+/* ========================================================================
+ * Bootstrap: carousel.js v3.3.4
+ * http://getbootstrap.com/javascript/#carousel
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // CAROUSEL CLASS DEFINITION
+  // =========================
+
+  var Carousel = function (element, options) {
+    this.$element    = $(element)
+    this.$indicators = this.$element.find('.carousel-indicators')
+    this.options     = options
+    this.paused      = null
+    this.sliding     = null
+    this.interval    = null
+    this.$active     = null
+    this.$items      = null
+
+    this.options.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
+
+    this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
+      .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
+      .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
+  }
+
+  Carousel.VERSION  = '3.3.4'
+
+  Carousel.TRANSITION_DURATION = 600
+
+  Carousel.DEFAULTS = {
+    interval: 5000,
+    pause: 'hover',
+    wrap: true,
+    keyboard: true
+  }
+
+  Carousel.prototype.keydown = function (e) {
+    if (/input|textarea/i.test(e.target.tagName)) return
+    switch (e.which) {
+      case 37: this.prev(); break
+      case 39: this.next(); break
+      default: return
+    }
+
+    e.preventDefault()
+  }
+
+  Carousel.prototype.cycle = function (e) {
+    e || (this.paused = false)
+
+    this.interval && clearInterval(this.interval)
+
+    this.options.interval
+      && !this.paused
+      && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
+
+    return this
+  }
+
+  Carousel.prototype.getItemIndex = function (item) {
+    this.$items = item.parent().children('.item')
+    return this.$items.index(item || this.$active)
+  }
+
+  Carousel.prototype.getItemForDirection = function (direction, active) {
+    var activeIndex = this.getItemIndex(active)
+    var willWrap = (direction == 'prev' && activeIndex === 0)
+                || (direction == 'next' && activeIndex == (this.$items.length - 1))
+    if (willWrap && !this.options.wrap) return active
+    var delta = direction == 'prev' ? -1 : 1
+    var itemIndex = (activeIndex + delta) % this.$items.length
+    return this.$items.eq(itemIndex)
+  }
+
+  Carousel.prototype.to = function (pos) {
+    var that        = this
+    var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
+
+    if (pos > (this.$items.length - 1) || pos < 0) return
+
+    if (this.sliding)       return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
+    if (activeIndex == pos) return this.pause().cycle()
+
+    return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
+  }
+
+  Carousel.prototype.pause = function (e) {
+    e || (this.paused = true)
+
+    if (this.$element.find('.next, .prev').length && $.support.transition) {
+      this.$element.trigger($.support.transition.end)
+      this.cycle(true)
+    }
+
+    this.interval = clearInterval(this.interval)
+
+    return this
+  }
+
+  Carousel.prototype.next = function () {
+    if (this.sliding) return
+    return this.slide('next')
+  }
+
+  Carousel.prototype.prev = function () {
+    if (this.sliding) return
+    return this.slide('prev')
+  }
+
+  Carousel.prototype.slide = function (type, next) {
+    var $active   = this.$element.find('.item.active')
+    var $next     = next || this.getItemForDirection(type, $active)
+    var isCycling = this.interval
+    var direction = type == 'next' ? 'left' : 'right'
+    var that      = this
+
+    if ($next.hasClass('active')) return (this.sliding = false)
+
+    var relatedTarget = $next[0]
+    var slideEvent = $.Event('slide.bs.carousel', {
+      relatedTarget: relatedTarget,
+      direction: direction
+    })
+    this.$element.trigger(slideEvent)
+    if (slideEvent.isDefaultPrevented()) return
+
+    this.sliding = true
+
+    isCycling && this.pause()
+
+    if (this.$indicators.length) {
+      this.$indicators.find('.active').removeClass('active')
+      var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
+      $nextIndicator && $nextIndicator.addClass('active')
+    }
+
+    var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
+    if ($.support.transition && this.$element.hasClass('slide')) {
+      $next.addClass(type)
+      $next[0].offsetWidth // force reflow
+      $active.addClass(direction)
+      $next.addClass(direction)
+      $active
+        .one('bsTransitionEnd', function () {
+          $next.removeClass([type, direction].join(' ')).addClass('active')
+          $active.removeClass(['active', direction].join(' '))
+          that.sliding = false
+          setTimeout(function () {
+            that.$element.trigger(slidEvent)
+          }, 0)
+        })
+        .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
+    } else {
+      $active.removeClass('active')
+      $next.addClass('active')
+      this.sliding = false
+      this.$element.trigger(slidEvent)
+    }
+
+    isCycling && this.cycle()
+
+    return this
+  }
+
+
+  // CAROUSEL PLUGIN DEFINITION
+  // ==========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.carousel')
+      var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option)
+      var action  = typeof option == 'string' ? option : options.slide
+
+      if (!data) $this.data('bs.carousel', (data = new Carousel(this, options)))
+      if (typeof option == 'number') data.to(option)
+      else if (action) data[action]()
+      else if (options.interval) data.pause().cycle()
+    })
+  }
+
+  var old = $.fn.carousel
+
+  $.fn.carousel             = Plugin
+  $.fn.carousel.Constructor = Carousel
+
+
+  // CAROUSEL NO CONFLICT
+  // ====================
+
+  $.fn.carousel.noConflict = function () {
+    $.fn.carousel = old
+    return this
+  }
+
+
+  // CAROUSEL DATA-API
+  // =================
+
+  var clickHandler = function (e) {
+    var href
+    var $this   = $(this)
+    var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+    if (!$target.hasClass('carousel')) return
+    var options = $.extend({}, $target.data(), $this.data())
+    var slideIndex = $this.attr('data-slide-to')
+    if (slideIndex) options.interval = false
+
+    Plugin.call($target, options)
+
+    if (slideIndex) {
+      $target.data('bs.carousel').to(slideIndex)
+    }
+
+    e.preventDefault()
+  }
+
+  $(document)
+    .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
+    .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
+
+  $(window).on('load', function () {
+    $('[data-ride="carousel"]').each(function () {
+      var $carousel = $(this)
+      Plugin.call($carousel, $carousel.data())
+    })
+  })
+
+}(jQuery);

+ 211 - 0
misago/emberapp/vendor/bootstrap/collapse.js

@@ -0,0 +1,211 @@
+/* ========================================================================
+ * Bootstrap: collapse.js v3.3.4
+ * http://getbootstrap.com/javascript/#collapse
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // COLLAPSE PUBLIC CLASS DEFINITION
+  // ================================
+
+  var Collapse = function (element, options) {
+    this.$element      = $(element)
+    this.options       = $.extend({}, Collapse.DEFAULTS, options)
+    this.$trigger      = $('[data-toggle="collapse"][href="#' + element.id + '"],' +
+                           '[data-toggle="collapse"][data-target="#' + element.id + '"]')
+    this.transitioning = null
+
+    if (this.options.parent) {
+      this.$parent = this.getParent()
+    } else {
+      this.addAriaAndCollapsedClass(this.$element, this.$trigger)
+    }
+
+    if (this.options.toggle) this.toggle()
+  }
+
+  Collapse.VERSION  = '3.3.4'
+
+  Collapse.TRANSITION_DURATION = 350
+
+  Collapse.DEFAULTS = {
+    toggle: true
+  }
+
+  Collapse.prototype.dimension = function () {
+    var hasWidth = this.$element.hasClass('width')
+    return hasWidth ? 'width' : 'height'
+  }
+
+  Collapse.prototype.show = function () {
+    if (this.transitioning || this.$element.hasClass('in')) return
+
+    var activesData
+    var actives = this.$parent && this.$parent.children('.panel').children('.in, .collapsing')
+
+    if (actives && actives.length) {
+      activesData = actives.data('bs.collapse')
+      if (activesData && activesData.transitioning) return
+    }
+
+    var startEvent = $.Event('show.bs.collapse')
+    this.$element.trigger(startEvent)
+    if (startEvent.isDefaultPrevented()) return
+
+    if (actives && actives.length) {
+      Plugin.call(actives, 'hide')
+      activesData || actives.data('bs.collapse', null)
+    }
+
+    var dimension = this.dimension()
+
+    this.$element
+      .removeClass('collapse')
+      .addClass('collapsing')[dimension](0)
+      .attr('aria-expanded', true)
+
+    this.$trigger
+      .removeClass('collapsed')
+      .attr('aria-expanded', true)
+
+    this.transitioning = 1
+
+    var complete = function () {
+      this.$element
+        .removeClass('collapsing')
+        .addClass('collapse in')[dimension]('')
+      this.transitioning = 0
+      this.$element
+        .trigger('shown.bs.collapse')
+    }
+
+    if (!$.support.transition) return complete.call(this)
+
+    var scrollSize = $.camelCase(['scroll', dimension].join('-'))
+
+    this.$element
+      .one('bsTransitionEnd', $.proxy(complete, this))
+      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])
+  }
+
+  Collapse.prototype.hide = function () {
+    if (this.transitioning || !this.$element.hasClass('in')) return
+
+    var startEvent = $.Event('hide.bs.collapse')
+    this.$element.trigger(startEvent)
+    if (startEvent.isDefaultPrevented()) return
+
+    var dimension = this.dimension()
+
+    this.$element[dimension](this.$element[dimension]())[0].offsetHeight
+
+    this.$element
+      .addClass('collapsing')
+      .removeClass('collapse in')
+      .attr('aria-expanded', false)
+
+    this.$trigger
+      .addClass('collapsed')
+      .attr('aria-expanded', false)
+
+    this.transitioning = 1
+
+    var complete = function () {
+      this.transitioning = 0
+      this.$element
+        .removeClass('collapsing')
+        .addClass('collapse')
+        .trigger('hidden.bs.collapse')
+    }
+
+    if (!$.support.transition) return complete.call(this)
+
+    this.$element
+      [dimension](0)
+      .one('bsTransitionEnd', $.proxy(complete, this))
+      .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
+  }
+
+  Collapse.prototype.toggle = function () {
+    this[this.$element.hasClass('in') ? 'hide' : 'show']()
+  }
+
+  Collapse.prototype.getParent = function () {
+    return $(this.options.parent)
+      .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
+      .each($.proxy(function (i, element) {
+        var $element = $(element)
+        this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
+      }, this))
+      .end()
+  }
+
+  Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
+    var isOpen = $element.hasClass('in')
+
+    $element.attr('aria-expanded', isOpen)
+    $trigger
+      .toggleClass('collapsed', !isOpen)
+      .attr('aria-expanded', isOpen)
+  }
+
+  function getTargetFromTrigger($trigger) {
+    var href
+    var target = $trigger.attr('data-target')
+      || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+
+    return $(target)
+  }
+
+
+  // COLLAPSE PLUGIN DEFINITION
+  // ==========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.collapse')
+      var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+      if (!data && options.toggle && /show|hide/.test(option)) options.toggle = false
+      if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.collapse
+
+  $.fn.collapse             = Plugin
+  $.fn.collapse.Constructor = Collapse
+
+
+  // COLLAPSE NO CONFLICT
+  // ====================
+
+  $.fn.collapse.noConflict = function () {
+    $.fn.collapse = old
+    return this
+  }
+
+
+  // COLLAPSE DATA-API
+  // =================
+
+  $(document).on('click.bs.collapse.data-api', '[data-toggle="collapse"]', function (e) {
+    var $this   = $(this)
+
+    if (!$this.attr('data-target')) e.preventDefault()
+
+    var $target = getTargetFromTrigger($this)
+    var data    = $target.data('bs.collapse')
+    var option  = data ? 'toggle' : $this.data()
+
+    Plugin.call($target, option)
+  })
+
+}(jQuery);

+ 161 - 0
misago/emberapp/vendor/bootstrap/dropdown.js

@@ -0,0 +1,161 @@
+/* ========================================================================
+ * Bootstrap: dropdown.js v3.3.4
+ * http://getbootstrap.com/javascript/#dropdowns
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // DROPDOWN CLASS DEFINITION
+  // =========================
+
+  var backdrop = '.dropdown-backdrop'
+  var toggle   = '[data-toggle="dropdown"]'
+  var Dropdown = function (element) {
+    $(element).on('click.bs.dropdown', this.toggle)
+  }
+
+  Dropdown.VERSION = '3.3.4'
+
+  Dropdown.prototype.toggle = function (e) {
+    var $this = $(this)
+
+    if ($this.is('.disabled, :disabled')) return
+
+    var $parent  = getParent($this)
+    var isActive = $parent.hasClass('open')
+
+    clearMenus()
+
+    if (!isActive) {
+      if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) {
+        // if mobile we use a backdrop because click events don't delegate
+        $('<div class="dropdown-backdrop"/>').insertAfter($(this)).on('click', clearMenus)
+      }
+
+      var relatedTarget = { relatedTarget: this }
+      $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
+
+      if (e.isDefaultPrevented()) return
+
+      $this
+        .trigger('focus')
+        .attr('aria-expanded', 'true')
+
+      $parent
+        .toggleClass('open')
+        .trigger('shown.bs.dropdown', relatedTarget)
+    }
+
+    return false
+  }
+
+  Dropdown.prototype.keydown = function (e) {
+    if (!/(38|40|27|32)/.test(e.which) || /input|textarea/i.test(e.target.tagName)) return
+
+    var $this = $(this)
+
+    e.preventDefault()
+    e.stopPropagation()
+
+    if ($this.is('.disabled, :disabled')) return
+
+    var $parent  = getParent($this)
+    var isActive = $parent.hasClass('open')
+
+    if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
+      if (e.which == 27) $parent.find(toggle).trigger('focus')
+      return $this.trigger('click')
+    }
+
+    var desc = ' li:not(.disabled):visible a'
+    var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
+
+    if (!$items.length) return
+
+    var index = $items.index(e.target)
+
+    if (e.which == 38 && index > 0)                 index--                        // up
+    if (e.which == 40 && index < $items.length - 1) index++                        // down
+    if (!~index)                                      index = 0
+
+    $items.eq(index).trigger('focus')
+  }
+
+  function clearMenus(e) {
+    if (e && e.which === 3) return
+    $(backdrop).remove()
+    $(toggle).each(function () {
+      var $this         = $(this)
+      var $parent       = getParent($this)
+      var relatedTarget = { relatedTarget: this }
+
+      if (!$parent.hasClass('open')) return
+
+      $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
+
+      if (e.isDefaultPrevented()) return
+
+      $this.attr('aria-expanded', 'false')
+      $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
+    })
+  }
+
+  function getParent($this) {
+    var selector = $this.attr('data-target')
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+    }
+
+    var $parent = selector && $(selector)
+
+    return $parent && $parent.length ? $parent : $this.parent()
+  }
+
+
+  // DROPDOWN PLUGIN DEFINITION
+  // ==========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data('bs.dropdown')
+
+      if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
+      if (typeof option == 'string') data[option].call($this)
+    })
+  }
+
+  var old = $.fn.dropdown
+
+  $.fn.dropdown             = Plugin
+  $.fn.dropdown.Constructor = Dropdown
+
+
+  // DROPDOWN NO CONFLICT
+  // ====================
+
+  $.fn.dropdown.noConflict = function () {
+    $.fn.dropdown = old
+    return this
+  }
+
+
+  // APPLY TO STANDARD DROPDOWN ELEMENTS
+  // ===================================
+
+  $(document)
+    .on('click.bs.dropdown.data-api', clearMenus)
+    .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
+    .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+    .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
+    .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
+    .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
+
+}(jQuery);

+ 339 - 0
misago/emberapp/vendor/bootstrap/modal.js

@@ -0,0 +1,339 @@
+/* ========================================================================
+ * Bootstrap: modal.js v3.3.4
+ * http://getbootstrap.com/javascript/#modals
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // MODAL CLASS DEFINITION
+  // ======================
+
+  var Modal = function (element, options) {
+    this.options             = options
+    this.$body               = $(document.body)
+    this.$element            = $(element)
+    this.$dialog             = this.$element.find('.modal-dialog')
+    this.$backdrop           = null
+    this.isShown             = null
+    this.originalBodyPad     = null
+    this.scrollbarWidth      = 0
+    this.ignoreBackdropClick = false
+
+    if (this.options.remote) {
+      this.$element
+        .find('.modal-content')
+        .load(this.options.remote, $.proxy(function () {
+          this.$element.trigger('loaded.bs.modal')
+        }, this))
+    }
+  }
+
+  Modal.VERSION  = '3.3.4'
+
+  Modal.TRANSITION_DURATION = 300
+  Modal.BACKDROP_TRANSITION_DURATION = 150
+
+  Modal.DEFAULTS = {
+    backdrop: true,
+    keyboard: true,
+    show: true
+  }
+
+  Modal.prototype.toggle = function (_relatedTarget) {
+    return this.isShown ? this.hide() : this.show(_relatedTarget)
+  }
+
+  Modal.prototype.show = function (_relatedTarget) {
+    var that = this
+    var e    = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
+
+    this.$element.trigger(e)
+
+    if (this.isShown || e.isDefaultPrevented()) return
+
+    this.isShown = true
+
+    this.checkScrollbar()
+    this.setScrollbar()
+    this.$body.addClass('modal-open')
+
+    this.escape()
+    this.resize()
+
+    this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
+
+    this.$dialog.on('mousedown.dismiss.bs.modal', function () {
+      that.$element.one('mouseup.dismiss.bs.modal', function (e) {
+        if ($(e.target).is(that.$element)) that.ignoreBackdropClick = true
+      })
+    })
+
+    this.backdrop(function () {
+      var transition = $.support.transition && that.$element.hasClass('fade')
+
+      if (!that.$element.parent().length) {
+        that.$element.appendTo(that.$body) // don't move modals dom position
+      }
+
+      that.$element
+        .show()
+        .scrollTop(0)
+
+      that.adjustDialog()
+
+      if (transition) {
+        that.$element[0].offsetWidth // force reflow
+      }
+
+      that.$element
+        .addClass('in')
+        .attr('aria-hidden', false)
+
+      that.enforceFocus()
+
+      var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
+
+      transition ?
+        that.$dialog // wait for modal to slide in
+          .one('bsTransitionEnd', function () {
+            that.$element.trigger('focus').trigger(e)
+          })
+          .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+        that.$element.trigger('focus').trigger(e)
+    })
+  }
+
+  Modal.prototype.hide = function (e) {
+    if (e) e.preventDefault()
+
+    e = $.Event('hide.bs.modal')
+
+    this.$element.trigger(e)
+
+    if (!this.isShown || e.isDefaultPrevented()) return
+
+    this.isShown = false
+
+    this.escape()
+    this.resize()
+
+    $(document).off('focusin.bs.modal')
+
+    this.$element
+      .removeClass('in')
+      .attr('aria-hidden', true)
+      .off('click.dismiss.bs.modal')
+      .off('mouseup.dismiss.bs.modal')
+
+    this.$dialog.off('mousedown.dismiss.bs.modal')
+
+    $.support.transition && this.$element.hasClass('fade') ?
+      this.$element
+        .one('bsTransitionEnd', $.proxy(this.hideModal, this))
+        .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+      this.hideModal()
+  }
+
+  Modal.prototype.enforceFocus = function () {
+    $(document)
+      .off('focusin.bs.modal') // guard against infinite focus loop
+      .on('focusin.bs.modal', $.proxy(function (e) {
+        if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
+          this.$element.trigger('focus')
+        }
+      }, this))
+  }
+
+  Modal.prototype.escape = function () {
+    if (this.isShown && this.options.keyboard) {
+      this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
+        e.which == 27 && this.hide()
+      }, this))
+    } else if (!this.isShown) {
+      this.$element.off('keydown.dismiss.bs.modal')
+    }
+  }
+
+  Modal.prototype.resize = function () {
+    if (this.isShown) {
+      $(window).on('resize.bs.modal', $.proxy(this.handleUpdate, this))
+    } else {
+      $(window).off('resize.bs.modal')
+    }
+  }
+
+  Modal.prototype.hideModal = function () {
+    var that = this
+    this.$element.hide()
+    this.backdrop(function () {
+      that.$body.removeClass('modal-open')
+      that.resetAdjustments()
+      that.resetScrollbar()
+      that.$element.trigger('hidden.bs.modal')
+    })
+  }
+
+  Modal.prototype.removeBackdrop = function () {
+    this.$backdrop && this.$backdrop.remove()
+    this.$backdrop = null
+  }
+
+  Modal.prototype.backdrop = function (callback) {
+    var that = this
+    var animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+    if (this.isShown && this.options.backdrop) {
+      var doAnimate = $.support.transition && animate
+
+      this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
+        .appendTo(this.$body)
+
+      this.$element.on('click.dismiss.bs.modal', $.proxy(function (e) {
+        if (this.ignoreBackdropClick) {
+          this.ignoreBackdropClick = false
+          return
+        }
+        if (e.target !== e.currentTarget) return
+        this.options.backdrop == 'static'
+          ? this.$element[0].focus()
+          : this.hide()
+      }, this))
+
+      if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+      this.$backdrop.addClass('in')
+
+      if (!callback) return
+
+      doAnimate ?
+        this.$backdrop
+          .one('bsTransitionEnd', callback)
+          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+        callback()
+
+    } else if (!this.isShown && this.$backdrop) {
+      this.$backdrop.removeClass('in')
+
+      var callbackRemove = function () {
+        that.removeBackdrop()
+        callback && callback()
+      }
+      $.support.transition && this.$element.hasClass('fade') ?
+        this.$backdrop
+          .one('bsTransitionEnd', callbackRemove)
+          .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+        callbackRemove()
+
+    } else if (callback) {
+      callback()
+    }
+  }
+
+  // these following methods are used to handle overflowing modals
+
+  Modal.prototype.handleUpdate = function () {
+    this.adjustDialog()
+  }
+
+  Modal.prototype.adjustDialog = function () {
+    var modalIsOverflowing = this.$element[0].scrollHeight > document.documentElement.clientHeight
+
+    this.$element.css({
+      paddingLeft:  !this.bodyIsOverflowing && modalIsOverflowing ? this.scrollbarWidth : '',
+      paddingRight: this.bodyIsOverflowing && !modalIsOverflowing ? this.scrollbarWidth : ''
+    })
+  }
+
+  Modal.prototype.resetAdjustments = function () {
+    this.$element.css({
+      paddingLeft: '',
+      paddingRight: ''
+    })
+  }
+
+  Modal.prototype.checkScrollbar = function () {
+    var fullWindowWidth = window.innerWidth
+    if (!fullWindowWidth) { // workaround for missing window.innerWidth in IE8
+      var documentElementRect = document.documentElement.getBoundingClientRect()
+      fullWindowWidth = documentElementRect.right - Math.abs(documentElementRect.left)
+    }
+    this.bodyIsOverflowing = document.body.clientWidth < fullWindowWidth
+    this.scrollbarWidth = this.measureScrollbar()
+  }
+
+  Modal.prototype.setScrollbar = function () {
+    var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
+    this.originalBodyPad = document.body.style.paddingRight || ''
+    if (this.bodyIsOverflowing) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
+  }
+
+  Modal.prototype.resetScrollbar = function () {
+    this.$body.css('padding-right', this.originalBodyPad)
+  }
+
+  Modal.prototype.measureScrollbar = function () { // thx walsh
+    var scrollDiv = document.createElement('div')
+    scrollDiv.className = 'modal-scrollbar-measure'
+    this.$body.append(scrollDiv)
+    var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
+    this.$body[0].removeChild(scrollDiv)
+    return scrollbarWidth
+  }
+
+
+  // MODAL PLUGIN DEFINITION
+  // =======================
+
+  function Plugin(option, _relatedTarget) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.modal')
+      var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+      if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
+      if (typeof option == 'string') data[option](_relatedTarget)
+      else if (options.show) data.show(_relatedTarget)
+    })
+  }
+
+  var old = $.fn.modal
+
+  $.fn.modal             = Plugin
+  $.fn.modal.Constructor = Modal
+
+
+  // MODAL NO CONFLICT
+  // =================
+
+  $.fn.modal.noConflict = function () {
+    $.fn.modal = old
+    return this
+  }
+
+
+  // MODAL DATA-API
+  // ==============
+
+  $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
+    var $this   = $(this)
+    var href    = $this.attr('href')
+    var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
+    var option  = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
+
+    if ($this.is('a')) e.preventDefault()
+
+    $target.one('show.bs.modal', function (showEvent) {
+      if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
+      $target.one('hidden.bs.modal', function () {
+        $this.is(':visible') && $this.trigger('focus')
+      })
+    })
+    Plugin.call($target, option, this)
+  })
+
+}(jQuery);

+ 108 - 0
misago/emberapp/vendor/bootstrap/popover.js

@@ -0,0 +1,108 @@
+/* ========================================================================
+ * Bootstrap: popover.js v3.3.4
+ * http://getbootstrap.com/javascript/#popovers
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // POPOVER PUBLIC CLASS DEFINITION
+  // ===============================
+
+  var Popover = function (element, options) {
+    this.init('popover', element, options)
+  }
+
+  if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
+
+  Popover.VERSION  = '3.3.4'
+
+  Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
+    placement: 'right',
+    trigger: 'click',
+    content: '',
+    template: '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
+  })
+
+
+  // NOTE: POPOVER EXTENDS tooltip.js
+  // ================================
+
+  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
+
+  Popover.prototype.constructor = Popover
+
+  Popover.prototype.getDefaults = function () {
+    return Popover.DEFAULTS
+  }
+
+  Popover.prototype.setContent = function () {
+    var $tip    = this.tip()
+    var title   = this.getTitle()
+    var content = this.getContent()
+
+    $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
+    $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
+      this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
+    ](content)
+
+    $tip.removeClass('fade top bottom left right in')
+
+    // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
+    // this manually by checking the contents.
+    if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
+  }
+
+  Popover.prototype.hasContent = function () {
+    return this.getTitle() || this.getContent()
+  }
+
+  Popover.prototype.getContent = function () {
+    var $e = this.$element
+    var o  = this.options
+
+    return $e.attr('data-content')
+      || (typeof o.content == 'function' ?
+            o.content.call($e[0]) :
+            o.content)
+  }
+
+  Popover.prototype.arrow = function () {
+    return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
+  }
+
+
+  // POPOVER PLUGIN DEFINITION
+  // =========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.popover')
+      var options = typeof option == 'object' && option
+
+      if (!data && /destroy|hide/.test(option)) return
+      if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.popover
+
+  $.fn.popover             = Plugin
+  $.fn.popover.Constructor = Popover
+
+
+  // POPOVER NO CONFLICT
+  // ===================
+
+  $.fn.popover.noConflict = function () {
+    $.fn.popover = old
+    return this
+  }
+
+}(jQuery);

+ 172 - 0
misago/emberapp/vendor/bootstrap/scrollspy.js

@@ -0,0 +1,172 @@
+/* ========================================================================
+ * Bootstrap: scrollspy.js v3.3.4
+ * http://getbootstrap.com/javascript/#scrollspy
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // SCROLLSPY CLASS DEFINITION
+  // ==========================
+
+  function ScrollSpy(element, options) {
+    this.$body          = $(document.body)
+    this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
+    this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)
+    this.selector       = (this.options.target || '') + ' .nav li > a'
+    this.offsets        = []
+    this.targets        = []
+    this.activeTarget   = null
+    this.scrollHeight   = 0
+
+    this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
+    this.refresh()
+    this.process()
+  }
+
+  ScrollSpy.VERSION  = '3.3.4'
+
+  ScrollSpy.DEFAULTS = {
+    offset: 10
+  }
+
+  ScrollSpy.prototype.getScrollHeight = function () {
+    return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
+  }
+
+  ScrollSpy.prototype.refresh = function () {
+    var that          = this
+    var offsetMethod  = 'offset'
+    var offsetBase    = 0
+
+    this.offsets      = []
+    this.targets      = []
+    this.scrollHeight = this.getScrollHeight()
+
+    if (!$.isWindow(this.$scrollElement[0])) {
+      offsetMethod = 'position'
+      offsetBase   = this.$scrollElement.scrollTop()
+    }
+
+    this.$body
+      .find(this.selector)
+      .map(function () {
+        var $el   = $(this)
+        var href  = $el.data('target') || $el.attr('href')
+        var $href = /^#./.test(href) && $(href)
+
+        return ($href
+          && $href.length
+          && $href.is(':visible')
+          && [[$href[offsetMethod]().top + offsetBase, href]]) || null
+      })
+      .sort(function (a, b) { return a[0] - b[0] })
+      .each(function () {
+        that.offsets.push(this[0])
+        that.targets.push(this[1])
+      })
+  }
+
+  ScrollSpy.prototype.process = function () {
+    var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset
+    var scrollHeight = this.getScrollHeight()
+    var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()
+    var offsets      = this.offsets
+    var targets      = this.targets
+    var activeTarget = this.activeTarget
+    var i
+
+    if (this.scrollHeight != scrollHeight) {
+      this.refresh()
+    }
+
+    if (scrollTop >= maxScroll) {
+      return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
+    }
+
+    if (activeTarget && scrollTop < offsets[0]) {
+      this.activeTarget = null
+      return this.clear()
+    }
+
+    for (i = offsets.length; i--;) {
+      activeTarget != targets[i]
+        && scrollTop >= offsets[i]
+        && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
+        && this.activate(targets[i])
+    }
+  }
+
+  ScrollSpy.prototype.activate = function (target) {
+    this.activeTarget = target
+
+    this.clear()
+
+    var selector = this.selector +
+      '[data-target="' + target + '"],' +
+      this.selector + '[href="' + target + '"]'
+
+    var active = $(selector)
+      .parents('li')
+      .addClass('active')
+
+    if (active.parent('.dropdown-menu').length) {
+      active = active
+        .closest('li.dropdown')
+        .addClass('active')
+    }
+
+    active.trigger('activate.bs.scrollspy')
+  }
+
+  ScrollSpy.prototype.clear = function () {
+    $(this.selector)
+      .parentsUntil(this.options.target, '.active')
+      .removeClass('active')
+  }
+
+
+  // SCROLLSPY PLUGIN DEFINITION
+  // ===========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.scrollspy')
+      var options = typeof option == 'object' && option
+
+      if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.scrollspy
+
+  $.fn.scrollspy             = Plugin
+  $.fn.scrollspy.Constructor = ScrollSpy
+
+
+  // SCROLLSPY NO CONFLICT
+  // =====================
+
+  $.fn.scrollspy.noConflict = function () {
+    $.fn.scrollspy = old
+    return this
+  }
+
+
+  // SCROLLSPY DATA-API
+  // ==================
+
+  $(window).on('load.bs.scrollspy.data-api', function () {
+    $('[data-spy="scroll"]').each(function () {
+      var $spy = $(this)
+      Plugin.call($spy, $spy.data())
+    })
+  })
+
+}(jQuery);

+ 153 - 0
misago/emberapp/vendor/bootstrap/tab.js

@@ -0,0 +1,153 @@
+/* ========================================================================
+ * Bootstrap: tab.js v3.3.4
+ * http://getbootstrap.com/javascript/#tabs
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // TAB CLASS DEFINITION
+  // ====================
+
+  var Tab = function (element) {
+    this.element = $(element)
+  }
+
+  Tab.VERSION = '3.3.4'
+
+  Tab.TRANSITION_DURATION = 150
+
+  Tab.prototype.show = function () {
+    var $this    = this.element
+    var $ul      = $this.closest('ul:not(.dropdown-menu)')
+    var selector = $this.data('target')
+
+    if (!selector) {
+      selector = $this.attr('href')
+      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+    }
+
+    if ($this.parent('li').hasClass('active')) return
+
+    var $previous = $ul.find('.active:last a')
+    var hideEvent = $.Event('hide.bs.tab', {
+      relatedTarget: $this[0]
+    })
+    var showEvent = $.Event('show.bs.tab', {
+      relatedTarget: $previous[0]
+    })
+
+    $previous.trigger(hideEvent)
+    $this.trigger(showEvent)
+
+    if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
+
+    var $target = $(selector)
+
+    this.activate($this.closest('li'), $ul)
+    this.activate($target, $target.parent(), function () {
+      $previous.trigger({
+        type: 'hidden.bs.tab',
+        relatedTarget: $this[0]
+      })
+      $this.trigger({
+        type: 'shown.bs.tab',
+        relatedTarget: $previous[0]
+      })
+    })
+  }
+
+  Tab.prototype.activate = function (element, container, callback) {
+    var $active    = container.find('> .active')
+    var transition = callback
+      && $.support.transition
+      && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
+
+    function next() {
+      $active
+        .removeClass('active')
+        .find('> .dropdown-menu > .active')
+          .removeClass('active')
+        .end()
+        .find('[data-toggle="tab"]')
+          .attr('aria-expanded', false)
+
+      element
+        .addClass('active')
+        .find('[data-toggle="tab"]')
+          .attr('aria-expanded', true)
+
+      if (transition) {
+        element[0].offsetWidth // reflow for transition
+        element.addClass('in')
+      } else {
+        element.removeClass('fade')
+      }
+
+      if (element.parent('.dropdown-menu').length) {
+        element
+          .closest('li.dropdown')
+            .addClass('active')
+          .end()
+          .find('[data-toggle="tab"]')
+            .attr('aria-expanded', true)
+      }
+
+      callback && callback()
+    }
+
+    $active.length && transition ?
+      $active
+        .one('bsTransitionEnd', next)
+        .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
+      next()
+
+    $active.removeClass('in')
+  }
+
+
+  // TAB PLUGIN DEFINITION
+  // =====================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this = $(this)
+      var data  = $this.data('bs.tab')
+
+      if (!data) $this.data('bs.tab', (data = new Tab(this)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.tab
+
+  $.fn.tab             = Plugin
+  $.fn.tab.Constructor = Tab
+
+
+  // TAB NO CONFLICT
+  // ===============
+
+  $.fn.tab.noConflict = function () {
+    $.fn.tab = old
+    return this
+  }
+
+
+  // TAB DATA-API
+  // ============
+
+  var clickHandler = function (e) {
+    e.preventDefault()
+    Plugin.call($(this), 'show')
+  }
+
+  $(document)
+    .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
+    .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
+
+}(jQuery);

+ 61 - 0
misago/emberapp/vendor/bootstrap/tests/README.md

@@ -0,0 +1,61 @@
+## How does Bootstrap's test suite work?
+
+Bootstrap uses [QUnit](http://api.qunitjs.com/), a powerful, easy-to-use JavaScript unit test framework. Each plugin has a file dedicated to its tests in `unit/<plugin-name>.js`.
+
+* `unit/` contains the unit test files for each Bootstrap plugin.
+* `vendor/` contains third-party testing-related code (QUnit and jQuery).
+* `visual/` contains "visual" tests which are run interactively in real browsers and require manual verification by humans.
+
+To run the unit test suite via [PhantomJS](http://phantomjs.org/), run `grunt test-js`.
+
+To run the unit test suite via a real web browser, open `index.html` in the browser.
+
+
+## How do I add a new unit test?
+
+1. Locate and open the file dedicated to the plugin which you need to add tests to (`unit/<plugin-name>.js`).
+2. Review the [QUnit API Documentation](http://api.qunitjs.com/) and use the existing tests as references for how to structure your new tests.
+3. Write the necessary unit test(s) for the new or revised functionality.
+4. Run `grunt test-js` to see the results of your newly-added test(s).
+
+**Note:** Your new unit tests should fail before your changes are applied to the plugin, and should pass after your changes are applied to the plugin.
+
+## What should a unit test look like?
+
+* Each test should have a unique name clearly stating what unit is being tested.
+* Each test should test only one unit per test, although one test can include several assertions. Create multiple tests for multiple units of functionality.
+* Each test should begin with [`assert.expect`](http://api.qunitjs.com/expect/) to ensure that the expected assertions are run.
+* Each test should follow the project's [JavaScript Code Guidelines](https://github.com/twbs/bootstrap/blob/master/CONTRIBUTING.md#js)
+
+### Example tests
+
+```javascript
+// Synchronous test
+QUnit.test('should describe the unit being tested', function (assert) {
+  assert.expect(1)
+  var templateHTML = '<div class="alert alert-danger fade in">'
+      + '<a class="close" href="#" data-dismiss="alert">×</a>'
+      + '<p><strong>Template necessary for the test.</p>'
+      + '</div>'
+  var $alert = $(templateHTML).appendTo('#qunit-fixture').bootstrapAlert()
+
+  $alert.find('.close').click()
+
+  // Make assertion
+  assert.strictEqual($alert.hasClass('in'), false, 'remove .in class on .close click')
+})
+
+// Asynchronous test
+QUnit.test('should describe the unit being tested', function (assert) {
+  assert.expect(1)
+  var done = assert.async()
+
+  $('<div title="tooltip title"></div>')
+    .appendTo('#qunit-fixture')
+    .on('shown.bs.tooltip', function () {
+      assert.ok(true, '"shown" event was fired after calling "show"')
+      done()
+    })
+    .bootstrapTooltip('show')
+})
+```

+ 166 - 0
misago/emberapp/vendor/bootstrap/tests/index.html

@@ -0,0 +1,166 @@
+<!DOCTYPE html>
+<html>
+  <head>
+    <meta charset="utf-8">
+    <title>Bootstrap Plugin Test Suite</title>
+    <meta name="viewport" content="width=device-width, initial-scale=1">
+
+    <!-- jQuery -->
+    <script src="vendor/jquery.min.js"></script>
+    <script>
+      // Disable jQuery event aliases to ensure we don't accidentally use any of them
+      (function () {
+        var eventAliases = [
+          'blur',
+          'focus',
+          'focusin',
+          'focusout',
+          'load',
+          'resize',
+          'scroll',
+          'unload',
+          'click',
+          'dblclick',
+          'mousedown',
+          'mouseup',
+          'mousemove',
+          'mouseover',
+          'mouseout',
+          'mouseenter',
+          'mouseleave',
+          'change',
+          'select',
+          'submit',
+          'keydown',
+          'keypress',
+          'keyup',
+          'error',
+          'contextmenu',
+          'hover',
+          'bind',
+          'unbind',
+          'delegate',
+          'undelegate'
+        ]
+        for (var i = 0; i < eventAliases.length; i++) {
+          $.fn[eventAliases[i]] = undefined
+        }
+      })()
+    </script>
+
+    <!-- QUnit -->
+    <link rel="stylesheet" href="vendor/qunit.css" media="screen">
+    <script src="vendor/qunit.js"></script>
+    <script>
+      // See https://github.com/axemclion/grunt-saucelabs#test-result-details-with-qunit
+      var log = []
+      // Require assert.expect in each test.
+      QUnit.config.requireExpects = true
+      QUnit.done(function (testResults) {
+        var tests = []
+        for (var i = 0, len = log.length; i < len; i++) {
+          var details = log[i]
+          tests.push({
+            name: details.name,
+            result: details.result,
+            expected: details.expected,
+            actual: details.actual,
+            source: details.source
+          })
+        }
+        testResults.tests = tests
+
+        window.global_test_results = testResults
+      })
+
+      QUnit.testStart(function (testDetails) {
+        $(window).scrollTop(0)
+        QUnit.log(function (details) {
+          if (!details.result) {
+            details.name = testDetails.name
+            log.push(details)
+          }
+        })
+      })
+
+      // Cleanup
+      QUnit.testDone(function () {
+        $('#qunit-fixture').empty()
+        $('#modal-test, .modal-backdrop').remove()
+      })
+
+      // Display fixture on-screen on iOS to avoid false positives
+      if (/iPhone|iPad|iPod/.test(navigator.userAgent)) {
+        QUnit.begin(function() {
+          $('#qunit-fixture').css({ top: 0, left: 0 })
+        })
+
+        QUnit.done(function () {
+          $('#qunit-fixture').css({ top: '', left: '' })
+        })
+      }
+
+      // Disable deprecated global QUnit method aliases in preparation for QUnit v2
+      (function () {
+        var methodNames = [
+          'async',
+          'asyncTest',
+          'deepEqual',
+          'equal',
+          'expect',
+          'module',
+          'notDeepEqual',
+          'notEqual',
+          'notPropEqual',
+          'notStrictEqual',
+          'ok',
+          'propEqual',
+          'push',
+          'start',
+          'stop',
+          'strictEqual',
+          'test',
+          'throws'
+        ];
+        for (var i = 0; i < methodNames.length; i++) {
+          var methodName = methodNames[i];
+          window[methodName] = undefined;
+        }
+      })();
+    </script>
+
+    <!-- Plugin sources -->
+    <script>$.support.transition = false</script>
+    <script src="../../js/alert.js"></script>
+    <script src="../../js/button.js"></script>
+    <script src="../../js/carousel.js"></script>
+    <script src="../../js/collapse.js"></script>
+    <script src="../../js/dropdown.js"></script>
+    <script src="../../js/modal.js"></script>
+    <script src="../../js/scrollspy.js"></script>
+    <script src="../../js/tab.js"></script>
+    <script src="../../js/tooltip.js"></script>
+    <script src="../../js/popover.js"></script>
+    <script src="../../js/affix.js"></script>
+
+    <!-- Unit tests -->
+    <script src="unit/alert.js"></script>
+    <script src="unit/button.js"></script>
+    <script src="unit/carousel.js"></script>
+    <script src="unit/collapse.js"></script>
+    <script src="unit/dropdown.js"></script>
+    <script src="unit/modal.js"></script>
+    <script src="unit/scrollspy.js"></script>
+    <script src="unit/tab.js"></script>
+    <script src="unit/tooltip.js"></script>
+    <script src="unit/popover.js"></script>
+    <script src="unit/affix.js"></script>
+
+  </head>
+  <body>
+    <div id="qunit-container">
+      <div id="qunit"></div>
+      <div id="qunit-fixture"></div>
+    </div>
+  </body>
+</html>

+ 6 - 0
misago/emberapp/vendor/bootstrap/tests/unit/.jshintrc

@@ -0,0 +1,6 @@
+{
+  "extends" : "../../.jshintrc",
+  "devel"   : true,
+  "es3"     : false,
+  "qunit"   : true
+}

+ 107 - 0
misago/emberapp/vendor/bootstrap/tests/unit/affix.js

@@ -0,0 +1,107 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('affix plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).affix, 'affix method is defined')
+  })
+
+  QUnit.module('affix', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapAffix = $.fn.affix.noConflict()
+    },
+    afterEach: function () {
+      $.fn.affix = $.fn.bootstrapAffix
+      delete $.fn.bootstrapAffix
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.affix, undefined, 'affix was set back to undefined (org value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $affix = $el.bootstrapAffix()
+    assert.ok($affix instanceof $, 'returns jquery collection')
+    assert.strictEqual($affix[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should exit early if element is not visible', function (assert) {
+    assert.expect(1)
+    var $affix = $('<div style="display: none"/>').bootstrapAffix()
+    $affix.data('bs.affix').checkPosition()
+    assert.ok(!$affix.hasClass('affix'), 'affix class was not added')
+  })
+
+  QUnit.test('should trigger affixed event after affix', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var templateHTML = '<div id="affixTarget">'
+        + '<ul>'
+        + '<li>Please affix</li>'
+        + '<li>And unaffix</li>'
+        + '</ul>'
+        + '</div>'
+        + '<div id="affixAfter" style="height: 20000px; display: block;"/>'
+    $(templateHTML).appendTo(document.body)
+
+    $('#affixTarget').bootstrapAffix({
+      offset: $('#affixTarget ul').position()
+    })
+
+    $('#affixTarget')
+      .on('affix.bs.affix', function () {
+        assert.ok(true, 'affix event fired')
+      }).on('affixed.bs.affix', function () {
+        assert.ok(true, 'affixed event fired')
+        $('#affixTarget, #affixAfter').remove()
+        done()
+      })
+
+    setTimeout(function () {
+      window.scrollTo(0, document.body.scrollHeight)
+
+      setTimeout(function () {
+        window.scroll(0, 0)
+      }, 16) // for testing in a browser
+    }, 0)
+  })
+
+  QUnit.test('should affix-top when scrolling up to offset when parent has padding', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var templateHTML = '<div id="padding-offset" style="padding-top: 20px;">'
+        + '<div id="affixTopTarget">'
+        + '<p>Testing affix-top class is added</p>'
+        + '</div>'
+        + '<div style="height: 1000px; display: block;"/>'
+        + '</div>'
+    $(templateHTML).appendTo(document.body)
+
+    $('#affixTopTarget')
+      .bootstrapAffix({
+        offset: { top: 120, bottom: 0 }
+      })
+      .on('affixed-top.bs.affix', function () {
+        assert.ok($('#affixTopTarget').hasClass('affix-top'), 'affix-top class applied')
+        $('#padding-offset').remove()
+        done()
+      })
+
+    setTimeout(function () {
+      window.scrollTo(0, document.body.scrollHeight)
+
+      setTimeout(function () {
+        window.scroll(0, 119)
+      }, 250)
+    }, 250)
+  })
+})

+ 78 - 0
misago/emberapp/vendor/bootstrap/tests/unit/alert.js

@@ -0,0 +1,78 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('alert plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).alert, 'alert method is defined')
+  })
+
+  QUnit.module('alert', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapAlert = $.fn.alert.noConflict()
+    },
+    afterEach: function () {
+      $.fn.alert = $.fn.bootstrapAlert
+      delete $.fn.bootstrapAlert
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.alert, undefined, 'alert was set back to undefined (org value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $alert = $el.bootstrapAlert()
+    assert.ok($alert instanceof $, 'returns jquery collection')
+    assert.strictEqual($alert[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should fade element out on clicking .close', function (assert) {
+    assert.expect(1)
+    var alertHTML = '<div class="alert alert-danger fade in">'
+        + '<a class="close" href="#" data-dismiss="alert">×</a>'
+        + '<p><strong>Holy guacamole!</strong> Best check yo self, you\'re not looking too good.</p>'
+        + '</div>'
+    var $alert = $(alertHTML).bootstrapAlert()
+
+    $alert.find('.close').trigger('click')
+
+    assert.strictEqual($alert.hasClass('in'), false, 'remove .in class on .close click')
+  })
+
+  QUnit.test('should remove element when clicking .close', function (assert) {
+    assert.expect(2)
+    var alertHTML = '<div class="alert alert-danger fade in">'
+        + '<a class="close" href="#" data-dismiss="alert">×</a>'
+        + '<p><strong>Holy guacamole!</strong> Best check yo self, you\'re not looking too good.</p>'
+        + '</div>'
+    var $alert = $(alertHTML).appendTo('#qunit-fixture').bootstrapAlert()
+
+    assert.notEqual($('#qunit-fixture').find('.alert').length, 0, 'element added to dom')
+
+    $alert.find('.close').trigger('click')
+
+    assert.strictEqual($('#qunit-fixture').find('.alert').length, 0, 'element removed from dom')
+  })
+
+  QUnit.test('should not fire closed when close is prevented', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+    $('<div class="alert"/>')
+      .on('close.bs.alert', function (e) {
+        e.preventDefault()
+        assert.ok(true, 'close event fired')
+        done()
+      })
+      .on('closed.bs.alert', function () {
+        assert.ok(false, 'closed event fired')
+      })
+      .bootstrapAlert('close')
+  })
+
+})

+ 181 - 0
misago/emberapp/vendor/bootstrap/tests/unit/button.js

@@ -0,0 +1,181 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('button plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).button, 'button method is defined')
+  })
+
+  QUnit.module('button', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapButton = $.fn.button.noConflict()
+    },
+    afterEach: function () {
+      $.fn.button = $.fn.bootstrapButton
+      delete $.fn.bootstrapButton
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.button, undefined, 'button was set back to undefined (org value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $button = $el.bootstrapButton()
+    assert.ok($button instanceof $, 'returns jquery collection')
+    assert.strictEqual($button[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should return set state to loading', function (assert) {
+    assert.expect(4)
+    var $btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
+    assert.strictEqual($btn.html(), 'mdo', 'btn text equals mdo')
+    $btn.bootstrapButton('loading')
+    var done = assert.async()
+    setTimeout(function () {
+      assert.strictEqual($btn.html(), 'fat', 'btn text equals fat')
+      assert.ok($btn[0].hasAttribute('disabled'), 'btn is disabled')
+      assert.ok($btn.hasClass('disabled'), 'btn has disabled class')
+      done()
+    }, 0)
+  })
+
+  QUnit.test('should return reset state', function (assert) {
+    assert.expect(7)
+    var $btn = $('<button class="btn" data-loading-text="fat">mdo</button>')
+    assert.strictEqual($btn.html(), 'mdo', 'btn text equals mdo')
+    $btn.bootstrapButton('loading')
+    var doneOne = assert.async()
+    setTimeout(function () {
+      assert.strictEqual($btn.html(), 'fat', 'btn text equals fat')
+      assert.ok($btn[0].hasAttribute('disabled'), 'btn is disabled')
+      assert.ok($btn.hasClass('disabled'), 'btn has disabled class')
+      doneOne()
+      var doneTwo = assert.async()
+      $btn.bootstrapButton('reset')
+      setTimeout(function () {
+        assert.strictEqual($btn.html(), 'mdo', 'btn text equals mdo')
+        assert.ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled')
+        assert.ok(!$btn.hasClass('disabled'), 'btn does not have disabled class')
+        doneTwo()
+      }, 0)
+    }, 0)
+  })
+
+  QUnit.test('should work with an empty string as reset state', function (assert) {
+    assert.expect(7)
+    var $btn = $('<button class="btn" data-loading-text="fat"/>')
+    assert.strictEqual($btn.html(), '', 'btn text equals ""')
+    $btn.bootstrapButton('loading')
+    var doneOne = assert.async()
+    setTimeout(function () {
+      assert.strictEqual($btn.html(), 'fat', 'btn text equals fat')
+      assert.ok($btn[0].hasAttribute('disabled'), 'btn is disabled')
+      assert.ok($btn.hasClass('disabled'), 'btn has disabled class')
+      doneOne()
+      var doneTwo = assert.async()
+      $btn.bootstrapButton('reset')
+      setTimeout(function () {
+        assert.strictEqual($btn.html(), '', 'btn text equals ""')
+        assert.ok(!$btn[0].hasAttribute('disabled'), 'btn is not disabled')
+        assert.ok(!$btn.hasClass('disabled'), 'btn does not have disabled class')
+        doneTwo()
+      }, 0)
+    }, 0)
+  })
+
+  QUnit.test('should toggle active', function (assert) {
+    assert.expect(2)
+    var $btn = $('<button class="btn" data-toggle="button">mdo</button>')
+    assert.ok(!$btn.hasClass('active'), 'btn does not have active class')
+    $btn.bootstrapButton('toggle')
+    assert.ok($btn.hasClass('active'), 'btn has class active')
+  })
+
+  QUnit.test('should toggle active when btn children are clicked', function (assert) {
+    assert.expect(2)
+    var $btn = $('<button class="btn" data-toggle="button">mdo</button>')
+    var $inner = $('<i/>')
+    $btn
+      .append($inner)
+      .appendTo('#qunit-fixture')
+    assert.ok(!$btn.hasClass('active'), 'btn does not have active class')
+    $inner.trigger('click')
+    assert.ok($btn.hasClass('active'), 'btn has class active')
+  })
+
+  QUnit.test('should toggle aria-pressed', function (assert) {
+    assert.expect(2)
+    var $btn = $('<button class="btn" data-toggle="button" aria-pressed="false">redux</button>')
+    assert.strictEqual($btn.attr('aria-pressed'), 'false', 'btn aria-pressed state is false')
+    $btn.bootstrapButton('toggle')
+    assert.strictEqual($btn.attr('aria-pressed'), 'true', 'btn aria-pressed state is true')
+  })
+
+  QUnit.test('should toggle aria-pressed when btn children are clicked', function (assert) {
+    assert.expect(2)
+    var $btn = $('<button class="btn" data-toggle="button" aria-pressed="false">redux</button>')
+    var $inner = $('<i/>')
+    $btn
+      .append($inner)
+      .appendTo('#qunit-fixture')
+    assert.strictEqual($btn.attr('aria-pressed'), 'false', 'btn aria-pressed state is false')
+    $inner.trigger('click')
+    assert.strictEqual($btn.attr('aria-pressed'), 'true', 'btn aria-pressed state is true')
+  })
+
+  QUnit.test('should toggle active when btn children are clicked within btn-group', function (assert) {
+    assert.expect(2)
+    var $btngroup = $('<div class="btn-group" data-toggle="buttons"/>')
+    var $btn = $('<button class="btn">fat</button>')
+    var $inner = $('<i/>')
+    $btngroup
+      .append($btn.append($inner))
+      .appendTo('#qunit-fixture')
+    assert.ok(!$btn.hasClass('active'), 'btn does not have active class')
+    $inner.trigger('click')
+    assert.ok($btn.hasClass('active'), 'btn has class active')
+  })
+
+  QUnit.test('should check for closest matching toggle', function (assert) {
+    assert.expect(12)
+    var groupHTML = '<div class="btn-group" data-toggle="buttons">'
+      + '<label class="btn btn-primary active">'
+      + '<input type="radio" name="options" id="option1" checked="true"> Option 1'
+      + '</label>'
+      + '<label class="btn btn-primary">'
+      + '<input type="radio" name="options" id="option2"> Option 2'
+      + '</label>'
+      + '<label class="btn btn-primary">'
+      + '<input type="radio" name="options" id="option3"> Option 3'
+      + '</label>'
+      + '</div>'
+    var $group = $(groupHTML).appendTo('#qunit-fixture')
+
+    var $btn1 = $group.children().eq(0)
+    var $btn2 = $group.children().eq(1)
+
+    assert.ok($btn1.hasClass('active'), 'btn1 has active class')
+    assert.ok($btn1.find('input').prop('checked'), 'btn1 is checked')
+    assert.ok(!$btn2.hasClass('active'), 'btn2 does not have active class')
+    assert.ok(!$btn2.find('input').prop('checked'), 'btn2 is not checked')
+    $btn2.find('input').trigger('click')
+    assert.ok(!$btn1.hasClass('active'), 'btn1 does not have active class')
+    assert.ok(!$btn1.find('input').prop('checked'), 'btn1 is checked')
+    assert.ok($btn2.hasClass('active'), 'btn2 has active class')
+    assert.ok($btn2.find('input').prop('checked'), 'btn2 is checked')
+
+    $btn2.find('input').trigger('click') // clicking an already checked radio should not un-check it
+    assert.ok(!$btn1.hasClass('active'), 'btn1 does not have active class')
+    assert.ok(!$btn1.find('input').prop('checked'), 'btn1 is checked')
+    assert.ok($btn2.hasClass('active'), 'btn2 has active class')
+    assert.ok($btn2.find('input').prop('checked'), 'btn2 is checked')
+  })
+
+})

+ 718 - 0
misago/emberapp/vendor/bootstrap/tests/unit/carousel.js

@@ -0,0 +1,718 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('carousel plugin')
+
+  QUnit.test('should be defined on jQuery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).carousel, 'carousel method is defined')
+  })
+
+  QUnit.module('carousel', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapCarousel = $.fn.carousel.noConflict()
+    },
+    afterEach: function () {
+      $.fn.carousel = $.fn.bootstrapCarousel
+      delete $.fn.bootstrapCarousel
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.carousel, undefined, 'carousel was set back to undefined (orig value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $carousel = $el.bootstrapCarousel()
+    assert.ok($carousel instanceof $, 'returns jquery collection')
+    assert.strictEqual($carousel[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should not fire slid when slide is prevented', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+    $('<div class="carousel"/>')
+      .on('slide.bs.carousel', function (e) {
+        e.preventDefault()
+        assert.ok(true, 'slide event fired')
+        done()
+      })
+      .on('slid.bs.carousel', function () {
+        assert.ok(false, 'slid event fired')
+      })
+      .bootstrapCarousel('next')
+  })
+
+  QUnit.test('should reset when slide is prevented', function (assert) {
+    assert.expect(6)
+    var carouselHTML = '<div id="carousel-example-generic" class="carousel slide">'
+        + '<ol class="carousel-indicators">'
+        + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="1"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="2"/>'
+        + '</ol>'
+        + '<div class="carousel-inner">'
+        + '<div class="item active">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"/>'
+        + '<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"/>'
+        + '</div>'
+    var $carousel = $(carouselHTML)
+
+    var done = assert.async()
+    $carousel
+      .one('slide.bs.carousel', function (e) {
+        e.preventDefault()
+        setTimeout(function () {
+          assert.ok($carousel.find('.item:eq(0)').is('.active'), 'first item still active')
+          assert.ok($carousel.find('.carousel-indicators li:eq(0)').is('.active'), 'first indicator still active')
+          $carousel.bootstrapCarousel('next')
+        }, 0)
+      })
+      .one('slid.bs.carousel', function () {
+        setTimeout(function () {
+          assert.ok(!$carousel.find('.item:eq(0)').is('.active'), 'first item still active')
+          assert.ok(!$carousel.find('.carousel-indicators li:eq(0)').is('.active'), 'first indicator still active')
+          assert.ok($carousel.find('.item:eq(1)').is('.active'), 'second item active')
+          assert.ok($carousel.find('.carousel-indicators li:eq(1)').is('.active'), 'second indicator active')
+          done()
+        }, 0)
+      })
+      .bootstrapCarousel('next')
+  })
+
+  QUnit.test('should fire slide event with direction', function (assert) {
+    assert.expect(4)
+    var carouselHTML = '<div id="myCarousel" class="carousel slide">'
+        + '<div class="carousel-inner">'
+        + '<div class="item active">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>First Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Second Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Third Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>'
+        + '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>'
+        + '</div>'
+    var $carousel = $(carouselHTML)
+
+    var done = assert.async()
+
+    $carousel
+      .one('slide.bs.carousel', function (e) {
+        assert.ok(e.direction, 'direction present on next')
+        assert.strictEqual(e.direction, 'left', 'direction is left on next')
+
+        $carousel
+          .one('slide.bs.carousel', function (e) {
+            assert.ok(e.direction, 'direction present on prev')
+            assert.strictEqual(e.direction, 'right', 'direction is right on prev')
+            done()
+          })
+          .bootstrapCarousel('prev')
+      })
+      .bootstrapCarousel('next')
+  })
+
+  QUnit.test('should fire slid event with direction', function (assert) {
+    assert.expect(4)
+    var carouselHTML = '<div id="myCarousel" class="carousel slide">'
+        + '<div class="carousel-inner">'
+        + '<div class="item active">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>First Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Second Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Third Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>'
+        + '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>'
+        + '</div>'
+    var $carousel = $(carouselHTML)
+
+    var done = assert.async()
+
+    $carousel
+      .one('slid.bs.carousel', function (e) {
+        assert.ok(e.direction, 'direction present on next')
+        assert.strictEqual(e.direction, 'left', 'direction is left on next')
+
+        $carousel
+          .one('slid.bs.carousel', function (e) {
+            assert.ok(e.direction, 'direction present on prev')
+            assert.strictEqual(e.direction, 'right', 'direction is right on prev')
+            done()
+          })
+          .bootstrapCarousel('prev')
+      })
+      .bootstrapCarousel('next')
+  })
+
+  QUnit.test('should fire slide event with relatedTarget', function (assert) {
+    assert.expect(2)
+    var template = '<div id="myCarousel" class="carousel slide">'
+        + '<div class="carousel-inner">'
+        + '<div class="item active">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>First Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Second Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Third Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>'
+        + '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>'
+        + '</div>'
+
+    var done = assert.async()
+
+    $(template)
+      .on('slide.bs.carousel', function (e) {
+        assert.ok(e.relatedTarget, 'relatedTarget present')
+        assert.ok($(e.relatedTarget).hasClass('item'), 'relatedTarget has class "item"')
+        done()
+      })
+      .bootstrapCarousel('next')
+  })
+
+  QUnit.test('should fire slid event with relatedTarget', function (assert) {
+    assert.expect(2)
+    var template = '<div id="myCarousel" class="carousel slide">'
+        + '<div class="carousel-inner">'
+        + '<div class="item active">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>First Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Second Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Third Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>'
+        + '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>'
+        + '</div>'
+
+    var done = assert.async()
+
+    $(template)
+      .on('slid.bs.carousel', function (e) {
+        assert.ok(e.relatedTarget, 'relatedTarget present')
+        assert.ok($(e.relatedTarget).hasClass('item'), 'relatedTarget has class "item"')
+        done()
+      })
+      .bootstrapCarousel('next')
+  })
+
+  QUnit.test('should set interval from data attribute', function (assert) {
+    assert.expect(4)
+    var templateHTML = '<div id="myCarousel" class="carousel slide">'
+        + '<div class="carousel-inner">'
+        + '<div class="item active">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>First Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Second Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '<div class="carousel-caption">'
+        + '<h4>Third Thumbnail label</h4>'
+        + '<p>Cras justo odio, dapibus ac facilisis in, egestas eget quam. Donec '
+        + 'id elit non mi porta gravida at eget metus. Nullam id dolor id nibh '
+        + 'ultricies vehicula ut id elit.</p>'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#myCarousel" data-slide="prev">&lsaquo;</a>'
+        + '<a class="right carousel-control" href="#myCarousel" data-slide="next">&rsaquo;</a>'
+        + '</div>'
+    var $carousel = $(templateHTML)
+    $carousel.attr('data-interval', 1814)
+
+    $carousel.appendTo('body')
+    $('[data-slide]').first().trigger('click')
+    assert.strictEqual($carousel.data('bs.carousel').options.interval, 1814)
+    $carousel.remove()
+
+    $carousel.appendTo('body').attr('data-modal', 'foobar')
+    $('[data-slide]').first().trigger('click')
+    assert.strictEqual($carousel.data('bs.carousel').options.interval, 1814, 'even if there is an data-modal attribute set')
+    $carousel.remove()
+
+    $carousel.appendTo('body')
+    $('[data-slide]').first().trigger('click')
+    $carousel.attr('data-interval', 1860)
+    $('[data-slide]').first().trigger('click')
+    assert.strictEqual($carousel.data('bs.carousel').options.interval, 1814, 'attributes should be read only on initialization')
+    $carousel.remove()
+
+    $carousel.attr('data-interval', false)
+    $carousel.appendTo('body')
+    $carousel.bootstrapCarousel(1)
+    assert.strictEqual($carousel.data('bs.carousel').options.interval, false, 'data attribute has higher priority than default options')
+    $carousel.remove()
+  })
+
+  QUnit.test('should skip over non-items when using item indices', function (assert) {
+    assert.expect(2)
+    var templateHTML = '<div id="myCarousel" class="carousel" data-interval="1814">'
+        + '<div class="carousel-inner">'
+        + '<div class="item active">'
+        + '<img alt="">'
+        + '</div>'
+        + '<script type="text/x-metamorph" id="thingy"/>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div class="item">'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+    var $template = $(templateHTML)
+
+    $template.bootstrapCarousel()
+
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item active')
+
+    $template.bootstrapCarousel(1)
+
+    assert.strictEqual($template.find('.item')[1], $template.find('.active')[0], 'second item active')
+  })
+
+  QUnit.test('should skip over non-items when using next/prev methods', function (assert) {
+    assert.expect(2)
+    var templateHTML = '<div id="myCarousel" class="carousel" data-interval="1814">'
+        + '<div class="carousel-inner">'
+        + '<div class="item active">'
+        + '<img alt="">'
+        + '</div>'
+        + '<script type="text/x-metamorph" id="thingy"/>'
+        + '<div class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div class="item">'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+    var $template = $(templateHTML)
+
+    $template.bootstrapCarousel()
+
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item active')
+
+    $template.bootstrapCarousel('next')
+
+    assert.strictEqual($template.find('.item')[1], $template.find('.active')[0], 'second item active')
+  })
+
+  QUnit.test('should go to previous item if left arrow key is pressed', function (assert) {
+    assert.expect(2)
+    var templateHTML = '<div id="myCarousel" class="carousel" data-interval="false">'
+        + '<div class="carousel-inner">'
+        + '<div id="first" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div id="second" class="item active">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div id="third" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+    var $template = $(templateHTML)
+
+    $template.bootstrapCarousel()
+
+    assert.strictEqual($template.find('.item')[1], $template.find('.active')[0], 'second item active')
+
+    $template.trigger($.Event('keydown', { which: 37 }))
+
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item active')
+  })
+
+  QUnit.test('should go to next item if right arrow key is pressed', function (assert) {
+    assert.expect(2)
+    var templateHTML = '<div id="myCarousel" class="carousel" data-interval="false">'
+        + '<div class="carousel-inner">'
+        + '<div id="first" class="item active">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div id="second" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div id="third" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+    var $template = $(templateHTML)
+
+    $template.bootstrapCarousel()
+
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item active')
+
+    $template.trigger($.Event('keydown', { which: 39 }))
+
+    assert.strictEqual($template.find('.item')[1], $template.find('.active')[0], 'second item active')
+  })
+
+  QUnit.test('should support disabling the keyboard navigation', function (assert) {
+    assert.expect(3)
+    var templateHTML = '<div id="myCarousel" class="carousel" data-interval="false" data-keyboard="false">'
+        + '<div class="carousel-inner">'
+        + '<div id="first" class="item active">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div id="second" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div id="third" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+    var $template = $(templateHTML)
+
+    $template.bootstrapCarousel()
+
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item active')
+
+    $template.trigger($.Event('keydown', { which: 39 }))
+
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item still active after right arrow press')
+
+    $template.trigger($.Event('keydown', { which: 37 }))
+
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item still active after left arrow press')
+  })
+
+  QUnit.test('should ignore keyboard events within <input>s and <textarea>s', function (assert) {
+    assert.expect(7)
+    var templateHTML = '<div id="myCarousel" class="carousel" data-interval="false">'
+        + '<div class="carousel-inner">'
+        + '<div id="first" class="item active">'
+        + '<img alt="">'
+        + '<input type="text" id="in-put">'
+        + '<textarea id="text-area"></textarea>'
+        + '</div>'
+        + '<div id="second" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div id="third" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+    var $template = $(templateHTML)
+    var $input = $template.find('#in-put')
+    var $textarea = $template.find('#text-area')
+
+    assert.strictEqual($input.length, 1, 'found <input>')
+    assert.strictEqual($textarea.length, 1, 'found <textarea>')
+
+    $template.bootstrapCarousel()
+
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item active')
+
+
+    $input.trigger($.Event('keydown', { which: 39 }))
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item still active after right arrow press in <input>')
+
+    $input.trigger($.Event('keydown', { which: 37 }))
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item still active after left arrow press in <input>')
+
+
+    $textarea.trigger($.Event('keydown', { which: 39 }))
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item still active after right arrow press in <textarea>')
+
+    $textarea.trigger($.Event('keydown', { which: 37 }))
+    assert.strictEqual($template.find('.item')[0], $template.find('.active')[0], 'first item still active after left arrow press in <textarea>')
+  })
+
+  QUnit.test('should only add mouseenter and mouseleave listeners when not on mobile', function (assert) {
+    assert.expect(2)
+    var isMobile     = 'ontouchstart' in document.documentElement
+    var templateHTML = '<div id="myCarousel" class="carousel" data-interval="false" data-pause="hover">'
+        + '<div class="carousel-inner">'
+        + '<div id="first" class="item active">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div id="second" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '<div id="third" class="item">'
+        + '<img alt="">'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+    var $template = $(templateHTML).bootstrapCarousel()
+
+    $.each(['mouseover', 'mouseout'], function (i, type) {
+      assert.strictEqual(type in $._data($template[0], 'events'), !isMobile, 'does' + (isMobile ? ' not' : '') + ' listen for ' + type + ' events')
+    })
+  })
+
+  QUnit.test('should wrap around from end to start when wrap option is true', function (assert) {
+    assert.expect(3)
+    var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="true">'
+        + '<ol class="carousel-indicators">'
+        + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="1"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="2"/>'
+        + '</ol>'
+        + '<div class="carousel-inner">'
+        + '<div class="item active" id="one">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item" id="two">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item" id="three">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"/>'
+        + '<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"/>'
+        + '</div>'
+    var $carousel = $(carouselHTML)
+    var getActiveId = function () { return $carousel.find('.item.active').attr('id') }
+
+    var done = assert.async()
+
+    $carousel
+      .one('slid.bs.carousel', function () {
+        assert.strictEqual(getActiveId(), 'two', 'carousel slid from 1st to 2nd slide')
+        $carousel
+          .one('slid.bs.carousel', function () {
+            assert.strictEqual(getActiveId(), 'three', 'carousel slid from 2nd to 3rd slide')
+            $carousel
+              .one('slid.bs.carousel', function () {
+                assert.strictEqual(getActiveId(), 'one', 'carousel wrapped around and slid from 3rd to 1st slide')
+                done()
+              })
+              .bootstrapCarousel('next')
+          })
+          .bootstrapCarousel('next')
+      })
+      .bootstrapCarousel('next')
+  })
+
+  QUnit.test('should wrap around from start to end when wrap option is true', function (assert) {
+    assert.expect(1)
+    var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="true">'
+        + '<ol class="carousel-indicators">'
+        + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="1"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="2"/>'
+        + '</ol>'
+        + '<div class="carousel-inner">'
+        + '<div class="item active" id="one">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item" id="two">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item" id="three">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"/>'
+        + '<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"/>'
+        + '</div>'
+    var $carousel = $(carouselHTML)
+
+    var done = assert.async()
+
+    $carousel
+      .on('slid.bs.carousel', function () {
+        assert.strictEqual($carousel.find('.item.active').attr('id'), 'three', 'carousel wrapped around and slid from 1st to 3rd slide')
+        done()
+      })
+      .bootstrapCarousel('prev')
+  })
+
+  QUnit.test('should stay at the end when the next method is called and wrap is false', function (assert) {
+    assert.expect(3)
+    var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="false">'
+        + '<ol class="carousel-indicators">'
+        + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="1"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="2"/>'
+        + '</ol>'
+        + '<div class="carousel-inner">'
+        + '<div class="item active" id="one">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item" id="two">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item" id="three">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"/>'
+        + '<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"/>'
+        + '</div>'
+    var $carousel = $(carouselHTML)
+    var getActiveId = function () { return $carousel.find('.item.active').attr('id') }
+
+    var done = assert.async()
+
+    $carousel
+      .one('slid.bs.carousel', function () {
+        assert.strictEqual(getActiveId(), 'two', 'carousel slid from 1st to 2nd slide')
+        $carousel
+          .one('slid.bs.carousel', function () {
+            assert.strictEqual(getActiveId(), 'three', 'carousel slid from 2nd to 3rd slide')
+            $carousel
+              .one('slid.bs.carousel', function () {
+                assert.ok(false, 'carousel slid when it should not have slid')
+              })
+              .bootstrapCarousel('next')
+            assert.strictEqual(getActiveId(), 'three', 'carousel did not wrap around and stayed on 3rd slide')
+            done()
+          })
+          .bootstrapCarousel('next')
+      })
+      .bootstrapCarousel('next')
+  })
+
+  QUnit.test('should stay at the start when the prev method is called and wrap is false', function (assert) {
+    assert.expect(1)
+    var carouselHTML = '<div id="carousel-example-generic" class="carousel slide" data-wrap="false">'
+        + '<ol class="carousel-indicators">'
+        + '<li data-target="#carousel-example-generic" data-slide-to="0" class="active"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="1"/>'
+        + '<li data-target="#carousel-example-generic" data-slide-to="2"/>'
+        + '</ol>'
+        + '<div class="carousel-inner">'
+        + '<div class="item active" id="one">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item" id="two">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '<div class="item" id="three">'
+        + '<div class="carousel-caption"/>'
+        + '</div>'
+        + '</div>'
+        + '<a class="left carousel-control" href="#carousel-example-generic" data-slide="prev"/>'
+        + '<a class="right carousel-control" href="#carousel-example-generic" data-slide="next"/>'
+        + '</div>'
+    var $carousel = $(carouselHTML)
+
+    $carousel
+      .on('slid.bs.carousel', function () {
+        assert.ok(false, 'carousel slid when it should not have slid')
+      })
+      .bootstrapCarousel('prev')
+    assert.strictEqual($carousel.find('.item.active').attr('id'), 'one', 'carousel did not wrap around and stayed on 1st slide')
+  })
+})

+ 443 - 0
misago/emberapp/vendor/bootstrap/tests/unit/collapse.js

@@ -0,0 +1,443 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('collapse plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).collapse, 'collapse method is defined')
+  })
+
+  QUnit.module('collapse', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapCollapse = $.fn.collapse.noConflict()
+    },
+    afterEach: function () {
+      $.fn.collapse = $.fn.bootstrapCollapse
+      delete $.fn.bootstrapCollapse
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.collapse, undefined, 'collapse was set back to undefined (org value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $collapse = $el.bootstrapCollapse()
+    assert.ok($collapse instanceof $, 'returns jquery collection')
+    assert.strictEqual($collapse[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should show a collapsed element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div class="collapse"/>').bootstrapCollapse('show')
+
+    assert.ok($el.hasClass('in'), 'has class "in"')
+    assert.ok(!/height/i.test($el.attr('style')), 'has height reset')
+  })
+
+  QUnit.test('should hide a collapsed element', function (assert) {
+    assert.expect(1)
+    var $el = $('<div class="collapse"/>').bootstrapCollapse('hide')
+
+    assert.ok(!$el.hasClass('in'), 'does not have class "in"')
+  })
+
+  QUnit.test('should not fire shown when show is prevented', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div class="collapse"/>')
+      .on('show.bs.collapse', function (e) {
+        e.preventDefault()
+        assert.ok(true, 'show event fired')
+        done()
+      })
+      .on('shown.bs.collapse', function () {
+        assert.ok(false, 'shown event fired')
+      })
+      .bootstrapCollapse('show')
+  })
+
+  QUnit.test('should reset style to auto after finishing opening collapse', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    $('<div class="collapse" style="height: 0px"/>')
+      .on('show.bs.collapse', function () {
+        assert.strictEqual(this.style.height, '0px', 'height is 0px')
+      })
+      .on('shown.bs.collapse', function () {
+        assert.strictEqual(this.style.height, '', 'height is auto')
+        done()
+      })
+      .bootstrapCollapse('show')
+  })
+
+  QUnit.test('should remove "collapsed" class from target when collapse is shown', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1"/>')
+      .appendTo('#qunit-fixture')
+      .on('shown.bs.collapse', function () {
+        assert.ok(!$target.hasClass('collapsed'), 'target does not have collapsed class')
+        done()
+      })
+
+    $target.trigger('click')
+  })
+
+  QUnit.test('should add "collapsed" class to target when collapse is hidden', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1" class="in"/>')
+      .appendTo('#qunit-fixture')
+      .on('hidden.bs.collapse', function () {
+        assert.ok($target.hasClass('collapsed'), 'target has collapsed class')
+        done()
+      })
+
+    $target.trigger('click')
+  })
+
+  QUnit.test('should remove "collapsed" class from all triggers targeting the collapse when the collapse is shown', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture')
+    var $alt = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1"/>')
+      .appendTo('#qunit-fixture')
+      .on('shown.bs.collapse', function () {
+        assert.ok(!$target.hasClass('collapsed'), 'target trigger does not have collapsed class')
+        assert.ok(!$alt.hasClass('collapsed'), 'alt trigger does not have collapsed class')
+        done()
+      })
+
+    $target.trigger('click')
+  })
+
+  QUnit.test('should add "collapsed" class to all triggers targeting the collapse when the collapse is hidden', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture')
+    var $alt = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1" class="in"/>')
+      .appendTo('#qunit-fixture')
+      .on('hidden.bs.collapse', function () {
+        assert.ok($target.hasClass('collapsed'), 'target has collapsed class')
+        assert.ok($alt.hasClass('collapsed'), 'alt trigger has collapsed class')
+        done()
+      })
+
+    $target.trigger('click')
+  })
+
+  QUnit.test('should not close a collapse when initialized with "show" option if already shown', function (assert) {
+    assert.expect(0)
+    var done = assert.async()
+
+    var $test = $('<div id="test1" class="in"/>')
+      .appendTo('#qunit-fixture')
+      .on('hide.bs.collapse', function () {
+        assert.ok(false)
+      })
+
+    $test.bootstrapCollapse('show')
+
+    setTimeout(done, 0)
+  })
+
+  QUnit.test('should open a collapse when initialized with "show" option if not already shown', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var $test = $('<div id="test1" />')
+      .appendTo('#qunit-fixture')
+      .on('show.bs.collapse', function () {
+        assert.ok(true)
+      })
+
+    $test.bootstrapCollapse('show')
+
+    setTimeout(done, 0)
+  })
+
+  QUnit.test('should not show a collapse when initialized with "hide" option if already hidden', function (assert) {
+    assert.expect(0)
+    var done = assert.async()
+
+    $('<div class="collapse"></div>')
+      .appendTo('#qunit-fixture')
+      .on('show.bs.collapse', function () {
+        assert.ok(false, 'showing a previously-uninitialized hidden collapse when the "hide" method is called')
+      })
+      .bootstrapCollapse('hide')
+
+    setTimeout(done, 0)
+  })
+
+  QUnit.test('should hide a collapse when initialized with "hide" option if not already hidden', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div class="collapse in"></div>')
+      .appendTo('#qunit-fixture')
+      .on('hide.bs.collapse', function () {
+        assert.ok(true, 'hiding a previously-uninitialized shown collapse when the "hide" method is called')
+      })
+      .bootstrapCollapse('hide')
+
+    setTimeout(done, 0)
+  })
+
+  QUnit.test('should remove "collapsed" class from active accordion target', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var accordionHTML = '<div class="panel-group" id="accordion">'
+        + '<div class="panel"/>'
+        + '<div class="panel"/>'
+        + '<div class="panel"/>'
+        + '</div>'
+    var $groups = $(accordionHTML).appendTo('#qunit-fixture').find('.panel')
+
+    var $target1 = $('<a data-toggle="collapse" href="#body1" data-parent="#accordion"/>').appendTo($groups.eq(0))
+
+    $('<div id="body1" class="in"/>').appendTo($groups.eq(0))
+
+    var $target2 = $('<a class="collapsed" data-toggle="collapse" href="#body2" data-parent="#accordion"/>').appendTo($groups.eq(1))
+
+    $('<div id="body2"/>').appendTo($groups.eq(1))
+
+    var $target3 = $('<a class="collapsed" data-toggle="collapse" href="#body3" data-parent="#accordion"/>').appendTo($groups.eq(2))
+
+    $('<div id="body3"/>')
+      .appendTo($groups.eq(2))
+      .on('shown.bs.collapse', function () {
+        assert.ok($target1.hasClass('collapsed'), 'inactive target 1 does have class "collapsed"')
+        assert.ok($target2.hasClass('collapsed'), 'inactive target 2 does have class "collapsed"')
+        assert.ok(!$target3.hasClass('collapsed'), 'active target 3 does not have class "collapsed"')
+
+        done()
+      })
+
+    $target3.trigger('click')
+  })
+
+  QUnit.test('should allow dots in data-parent', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var accordionHTML = '<div class="panel-group accordion">'
+        + '<div class="panel"/>'
+        + '<div class="panel"/>'
+        + '<div class="panel"/>'
+        + '</div>'
+    var $groups = $(accordionHTML).appendTo('#qunit-fixture').find('.panel')
+
+    var $target1 = $('<a data-toggle="collapse" href="#body1" data-parent=".accordion"/>').appendTo($groups.eq(0))
+
+    $('<div id="body1" class="in"/>').appendTo($groups.eq(0))
+
+    var $target2 = $('<a class="collapsed" data-toggle="collapse" href="#body2" data-parent=".accordion"/>').appendTo($groups.eq(1))
+
+    $('<div id="body2"/>').appendTo($groups.eq(1))
+
+    var $target3 = $('<a class="collapsed" data-toggle="collapse" href="#body3" data-parent=".accordion"/>').appendTo($groups.eq(2))
+
+    $('<div id="body3"/>')
+      .appendTo($groups.eq(2))
+      .on('shown.bs.collapse', function () {
+        assert.ok($target1.hasClass('collapsed'), 'inactive target 1 does have class "collapsed"')
+        assert.ok($target2.hasClass('collapsed'), 'inactive target 2 does have class "collapsed"')
+        assert.ok(!$target3.hasClass('collapsed'), 'active target 3 does not have class "collapsed"')
+
+        done()
+      })
+
+    $target3.trigger('click')
+  })
+
+  QUnit.test('should set aria-expanded="true" on target when collapse is shown', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1" aria-expanded="false"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1"/>')
+      .appendTo('#qunit-fixture')
+      .on('shown.bs.collapse', function () {
+        assert.strictEqual($target.attr('aria-expanded'), 'true', 'aria-expanded on target is "true"')
+        done()
+      })
+
+    $target.trigger('click')
+  })
+
+  QUnit.test('should set aria-expanded="false" on target when collapse is hidden', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" href="#test1" aria-expanded="true"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1" class="in"/>')
+      .appendTo('#qunit-fixture')
+      .on('hidden.bs.collapse', function () {
+        assert.strictEqual($target.attr('aria-expanded'), 'false', 'aria-expanded on target is "false"')
+        done()
+      })
+
+    $target.trigger('click')
+  })
+
+  QUnit.test('should set aria-expanded="true" on all triggers targeting the collapse when the collapse is shown', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1" aria-expanded="false"/>').appendTo('#qunit-fixture')
+    var $alt = $('<a data-toggle="collapse" class="collapsed" href="#test1" aria-expanded="false"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1"/>')
+      .appendTo('#qunit-fixture')
+      .on('shown.bs.collapse', function () {
+        assert.strictEqual($target.attr('aria-expanded'), 'true', 'aria-expanded on target is "true"')
+        assert.strictEqual($alt.attr('aria-expanded'), 'true', 'aria-expanded on alt is "true"')
+        done()
+      })
+
+    $target.trigger('click')
+  })
+
+  QUnit.test('should set aria-expanded="false" on all triggers targeting the collapse when the collapse is hidden', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" href="#test1" aria-expanded="true"/>').appendTo('#qunit-fixture')
+    var $alt = $('<a data-toggle="collapse" href="#test1" aria-expanded="true"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1" class="in"/>')
+      .appendTo('#qunit-fixture')
+      .on('hidden.bs.collapse', function () {
+        assert.strictEqual($target.attr('aria-expanded'), 'false', 'aria-expanded on target is "false"')
+        assert.strictEqual($alt.attr('aria-expanded'), 'false', 'aria-expanded on alt is "false"')
+        done()
+      })
+
+    $target.trigger('click')
+  })
+
+  QUnit.test('should change aria-expanded from active accordion target to "false" and set the newly active one to "true"', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var accordionHTML = '<div class="panel-group" id="accordion">'
+        + '<div class="panel"/>'
+        + '<div class="panel"/>'
+        + '<div class="panel"/>'
+        + '</div>'
+    var $groups = $(accordionHTML).appendTo('#qunit-fixture').find('.panel')
+
+    var $target1 = $('<a data-toggle="collapse" href="#body1" data-parent="#accordion"/>').appendTo($groups.eq(0))
+
+    $('<div id="body1" aria-expanded="true" class="in"/>').appendTo($groups.eq(0))
+
+    var $target2 = $('<a class="collapsed" data-toggle="collapse" href="#body2" data-parent="#accordion"/>').appendTo($groups.eq(1))
+
+    $('<div id="body2" aria-expanded="false"/>').appendTo($groups.eq(1))
+
+    var $target3 = $('<a class="collapsed" data-toggle="collapse" href="#body3" data-parent="#accordion"/>').appendTo($groups.eq(2))
+
+    $('<div id="body3" aria-expanded="false"/>')
+      .appendTo($groups.eq(2))
+      .on('shown.bs.collapse', function () {
+        assert.strictEqual($target1.attr('aria-expanded'), 'false', 'inactive target 1 has aria-expanded="false"')
+        assert.strictEqual($target2.attr('aria-expanded'), 'false', 'inactive target 2 has aria-expanded="false"')
+        assert.strictEqual($target3.attr('aria-expanded'), 'true', 'active target 3 has aria-expanded="false"')
+
+        done()
+      })
+
+    $target3.trigger('click')
+  })
+
+  QUnit.test('should not fire show event if show is prevented because other element is still transitioning', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var accordionHTML = '<div id="accordion">'
+        + '<div class="panel"/>'
+        + '<div class="panel"/>'
+        + '</div>'
+    var showFired = false
+    var $groups   = $(accordionHTML).appendTo('#qunit-fixture').find('.panel')
+
+    var $target1 = $('<a data-toggle="collapse" href="#body1" data-parent="#accordion"/>').appendTo($groups.eq(0))
+
+    $('<div id="body1" class="collapse"/>')
+      .appendTo($groups.eq(0))
+      .on('show.bs.collapse', function () {
+        showFired = true
+      })
+
+    var $target2 = $('<a data-toggle="collapse" href="#body2" data-parent="#accordion"/>').appendTo($groups.eq(1))
+    var $body2   = $('<div id="body2" class="collapse"/>').appendTo($groups.eq(1))
+
+    $target2.trigger('click')
+
+    $body2
+      .toggleClass('in collapsing')
+      .data('bs.collapse').transitioning = 1
+
+    $target1.trigger('click')
+
+    setTimeout(function () {
+      assert.ok(!showFired, 'show event did not fire')
+      done()
+    }, 1)
+  })
+
+  QUnit.test('should add "collapsed" class to target when collapse is hidden via manual invocation', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" href="#test1"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1" class="in"/>')
+      .appendTo('#qunit-fixture')
+      .on('hidden.bs.collapse', function () {
+        assert.ok($target.hasClass('collapsed'))
+        done()
+      })
+      .bootstrapCollapse('hide')
+  })
+
+  QUnit.test('should remove "collapsed" class from target when collapse is shown via manual invocation', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var $target = $('<a data-toggle="collapse" class="collapsed" href="#test1"/>').appendTo('#qunit-fixture')
+
+    $('<div id="test1"/>')
+      .appendTo('#qunit-fixture')
+      .on('shown.bs.collapse', function () {
+        assert.ok(!$target.hasClass('collapsed'))
+        done()
+      })
+      .bootstrapCollapse('show')
+  })
+
+})

+ 353 - 0
misago/emberapp/vendor/bootstrap/tests/unit/dropdown.js

@@ -0,0 +1,353 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('dropdowns plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).dropdown, 'dropdown method is defined')
+  })
+
+  QUnit.module('dropdowns', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapDropdown = $.fn.dropdown.noConflict()
+    },
+    afterEach: function () {
+      $.fn.dropdown = $.fn.bootstrapDropdown
+      delete $.fn.bootstrapDropdown
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.dropdown, undefined, 'dropdown was set back to undefined (org value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $dropdown = $el.bootstrapDropdown()
+    assert.ok($dropdown instanceof $, 'returns jquery collection')
+    assert.strictEqual($dropdown[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should not open dropdown if target is disabled via attribute', function (assert) {
+    assert.expect(1)
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<button disabled href="#" class="btn dropdown-toggle" data-toggle="dropdown">Dropdown</button>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown().trigger('click')
+
+    assert.ok(!$dropdown.parent('.dropdown').hasClass('open'), '"open" class added on click')
+  })
+
+  QUnit.test('should set aria-expanded="true" on target when dropdown menu is shown', function (assert) {
+    assert.expect(1)
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="false">Dropdown</a>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML)
+      .find('[data-toggle="dropdown"]')
+      .bootstrapDropdown()
+      .trigger('click')
+
+    assert.strictEqual($dropdown.attr('aria-expanded'), 'true', 'aria-expanded is set to string "true" on click')
+  })
+
+  QUnit.test('should set aria-expanded="false" on target when dropdown menu is hidden', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<a href="#" class="dropdown-toggle" aria-expanded="false" data-toggle="dropdown">Dropdown</a>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML)
+      .appendTo('#qunit-fixture')
+      .find('[data-toggle="dropdown"]')
+      .bootstrapDropdown()
+
+    $dropdown
+      .parent('.dropdown')
+      .on('hidden.bs.dropdown', function () {
+        assert.strictEqual($dropdown.attr('aria-expanded'), 'false', 'aria-expanded is set to string "false" on hide')
+        done()
+      })
+
+    $dropdown.trigger('click')
+    $(document.body).trigger('click')
+  })
+
+  QUnit.test('should not open dropdown if target is disabled via class', function (assert) {
+    assert.expect(1)
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<button href="#" class="btn dropdown-toggle disabled" data-toggle="dropdown">Dropdown</button>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown().trigger('click')
+
+    assert.ok(!$dropdown.parent('.dropdown').hasClass('open'), '"open" class added on click')
+  })
+
+  QUnit.test('should add class open to menu if clicked', function (assert) {
+    assert.expect(1)
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown().trigger('click')
+
+    assert.ok($dropdown.parent('.dropdown').hasClass('open'), '"open" class added on click')
+  })
+
+  QUnit.test('should test if element has a # before assuming it\'s a selector', function (assert) {
+    assert.expect(1)
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<a href="/foo/" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML).find('[data-toggle="dropdown"]').bootstrapDropdown().trigger('click')
+
+    assert.ok($dropdown.parent('.dropdown').hasClass('open'), '"open" class added on click')
+  })
+
+
+  QUnit.test('should remove "open" class if body is clicked', function (assert) {
+    assert.expect(2)
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML)
+      .appendTo('#qunit-fixture')
+      .find('[data-toggle="dropdown"]')
+      .bootstrapDropdown()
+      .trigger('click')
+
+    assert.ok($dropdown.parent('.dropdown').hasClass('open'), '"open" class added on click')
+    $(document.body).trigger('click')
+    assert.ok(!$dropdown.parent('.dropdown').hasClass('open'), '"open" class removed')
+  })
+
+  QUnit.test('should remove "open" class if body is clicked, with multiple dropdowns', function (assert) {
+    assert.expect(7)
+    var dropdownHTML = '<ul class="nav">'
+        + '<li><a href="#menu1">Menu 1</a></li>'
+        + '<li class="dropdown" id="testmenu">'
+        + '<a class="dropdown-toggle" data-toggle="dropdown" href="#testmenu">Test menu <span class="caret"/></a>'
+        + '<ul class="dropdown-menu" role="menu">'
+        + '<li><a href="#sub1">Submenu 1</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+        + '<div class="btn-group">'
+        + '<button class="btn">Actions</button>'
+        + '<button class="btn dropdown-toggle" data-toggle="dropdown"><span class="caret"/></button>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Action 1</a></li>'
+        + '</ul>'
+        + '</div>'
+    var $dropdowns = $(dropdownHTML).appendTo('#qunit-fixture').find('[data-toggle="dropdown"]')
+    var $first = $dropdowns.first()
+    var $last = $dropdowns.last()
+
+    assert.strictEqual($dropdowns.length, 2, 'two dropdowns')
+
+    $first.trigger('click')
+    assert.strictEqual($first.parents('.open').length, 1, '"open" class added on click')
+    assert.strictEqual($('#qunit-fixture .open').length, 1, 'only one dropdown is open')
+    $(document.body).trigger('click')
+    assert.strictEqual($('#qunit-fixture .open').length, 0, '"open" class removed')
+
+    $last.trigger('click')
+    assert.strictEqual($last.parent('.open').length, 1, '"open" class added on click')
+    assert.strictEqual($('#qunit-fixture .open').length, 1, 'only one dropdown is open')
+    $(document.body).trigger('click')
+    assert.strictEqual($('#qunit-fixture .open').length, 0, '"open" class removed')
+  })
+
+  QUnit.test('should fire show and hide event', function (assert) {
+    assert.expect(2)
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML)
+      .appendTo('#qunit-fixture')
+      .find('[data-toggle="dropdown"]')
+      .bootstrapDropdown()
+
+    var done = assert.async()
+
+    $dropdown
+      .parent('.dropdown')
+      .on('show.bs.dropdown', function () {
+        assert.ok(true, 'show was fired')
+      })
+      .on('hide.bs.dropdown', function () {
+        assert.ok(true, 'hide was fired')
+        done()
+      })
+
+    $dropdown.trigger('click')
+    $(document.body).trigger('click')
+  })
+
+
+  QUnit.test('should fire shown and hidden event', function (assert) {
+    assert.expect(2)
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML)
+      .appendTo('#qunit-fixture')
+      .find('[data-toggle="dropdown"]')
+      .bootstrapDropdown()
+
+    var done = assert.async()
+
+    $dropdown
+      .parent('.dropdown')
+      .on('shown.bs.dropdown', function () {
+        assert.ok(true, 'shown was fired')
+      })
+      .on('hidden.bs.dropdown', function () {
+        assert.ok(true, 'hidden was fired')
+        done()
+      })
+
+    $dropdown.trigger('click')
+    $(document.body).trigger('click')
+  })
+
+  QUnit.test('should ignore keyboard events within <input>s and <textarea>s', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+        + '<ul class="dropdown-menu" role="menu">'
+        + '<li><a href="#">Secondary link</a></li>'
+        + '<li><a href="#">Something else here</a></li>'
+        + '<li class="divider"/>'
+        + '<li><a href="#">Another link</a></li>'
+        + '<li><input type="text" id="input"></li>'
+        + '<li><textarea id="textarea"/></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML)
+      .appendTo('#qunit-fixture')
+      .find('[data-toggle="dropdown"]')
+      .bootstrapDropdown()
+
+    var $input = $('#input')
+    var $textarea = $('#textarea')
+
+    $dropdown
+      .parent('.dropdown')
+      .on('shown.bs.dropdown', function () {
+        assert.ok(true, 'shown was fired')
+
+        $input.trigger('focus').trigger($.Event('keydown', { which: 38 }))
+        assert.ok($(document.activeElement).is($input), 'input still focused')
+
+        $textarea.trigger('focus').trigger($.Event('keydown', { which: 38 }))
+        assert.ok($(document.activeElement).is($textarea), 'textarea still focused')
+
+        done()
+      })
+
+    $dropdown.trigger('click')
+  })
+
+  QUnit.test('should skip disabled element when using keyboard navigation', function (assert) {
+    assert.expect(1)
+    var dropdownHTML = '<ul class="tabs">'
+        + '<li class="dropdown">'
+        + '<a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown</a>'
+        + '<ul class="dropdown-menu" role="menu">'
+        + '<li class="disabled"><a href="#">Disabled link</a></li>'
+        + '<li><a href="#">Another link</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+    var $dropdown = $(dropdownHTML)
+      .appendTo('#qunit-fixture')
+      .find('[data-toggle="dropdown"]')
+      .bootstrapDropdown()
+      .trigger('click')
+
+    $dropdown.trigger($.Event('keydown', { which: 40 }))
+    $dropdown.trigger($.Event('keydown', { which: 40 }))
+
+    assert.ok(!$(document.activeElement).parent().is('.disabled'), '.disabled is not focused')
+  })
+})

+ 405 - 0
misago/emberapp/vendor/bootstrap/tests/unit/modal.js

@@ -0,0 +1,405 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('modal plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).modal, 'modal method is defined')
+  })
+
+  QUnit.module('modal', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapModal = $.fn.modal.noConflict()
+    },
+    afterEach: function () {
+      $.fn.modal = $.fn.bootstrapModal
+      delete $.fn.bootstrapModal
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.modal, undefined, 'modal was set back to undefined (orig value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div id="modal-test"/>')
+    var $modal = $el.bootstrapModal()
+    assert.ok($modal instanceof $, 'returns jquery collection')
+    assert.strictEqual($modal[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should expose defaults var for settings', function (assert) {
+    assert.expect(1)
+    assert.ok($.fn.bootstrapModal.Constructor.DEFAULTS, 'default object exposed')
+  })
+
+  QUnit.test('should insert into dom when show method is called', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div id="modal-test"/>')
+      .on('shown.bs.modal', function () {
+        assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
+        done()
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should set aria-hidden to false when show method is called', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div id="modal-test"/>')
+      .on('shown.bs.modal', function () {
+        assert.strictEqual($('#modal-test').attr('aria-hidden'), 'false', 'aria-hidden is set to string "false" when modal shown')
+        done()
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should fire show event', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div id="modal-test"/>')
+      .on('show.bs.modal', function () {
+        assert.ok(true, 'show event fired')
+        done()
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should not fire shown when show was prevented', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div id="modal-test"/>')
+      .on('show.bs.modal', function (e) {
+        e.preventDefault()
+        assert.ok(true, 'show event fired')
+        done()
+      })
+      .on('shown.bs.modal', function () {
+        assert.ok(false, 'shown event fired')
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should hide modal when hide is called', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    $('<div id="modal-test"/>')
+      .on('shown.bs.modal', function () {
+        assert.ok($('#modal-test').is(':visible'), 'modal visible')
+        assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
+        $(this).bootstrapModal('hide')
+      })
+      .on('hidden.bs.modal', function () {
+        assert.ok(!$('#modal-test').is(':visible'), 'modal hidden')
+        done()
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should set aria-hidden to true when hide is called', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    $('<div id="modal-test"/>')
+      .on('shown.bs.modal', function () {
+        assert.strictEqual($('#modal-test').length, 1, 'modal has been inserted into the dom')
+        $(this).bootstrapModal('hide')
+      })
+      .on('hidden.bs.modal', function () {
+        assert.strictEqual($('#modal-test').attr('aria-hidden'), 'true', 'aria-hidden is set to string "true" when modal shown')
+        done()
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should toggle when toggle is called', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    $('<div id="modal-test"/>')
+      .on('shown.bs.modal', function () {
+        assert.ok($('#modal-test').is(':visible'), 'modal visible')
+        assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
+        $(this).bootstrapModal('toggle')
+      })
+      .on('hidden.bs.modal', function () {
+        assert.ok(!$('#modal-test').is(':visible'), 'modal hidden')
+        done()
+      })
+      .bootstrapModal('toggle')
+  })
+
+  QUnit.test('should remove from dom when click [data-dismiss="modal"]', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    $('<div id="modal-test"><span class="close" data-dismiss="modal"/></div>')
+      .on('shown.bs.modal', function () {
+        assert.ok($('#modal-test').is(':visible'), 'modal visible')
+        assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
+        $(this).find('.close').trigger('click')
+      })
+      .on('hidden.bs.modal', function () {
+        assert.ok(!$('#modal-test').is(':visible'), 'modal hidden')
+        done()
+      })
+      .bootstrapModal('toggle')
+  })
+
+  QUnit.test('should allow modal close with "backdrop:false"', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    $('<div id="modal-test" data-backdrop="false"/>')
+      .on('shown.bs.modal', function () {
+        assert.ok($('#modal-test').is(':visible'), 'modal visible')
+        $(this).bootstrapModal('hide')
+      })
+      .on('hidden.bs.modal', function () {
+        assert.ok(!$('#modal-test').is(':visible'), 'modal hidden')
+        done()
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should close modal when clicking outside of modal-content', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    $('<div id="modal-test"><div class="contents"/></div>')
+      .on('shown.bs.modal', function () {
+        assert.notEqual($('#modal-test').length, 0, 'modal inserted into dom')
+        $('.contents').trigger('click')
+        assert.ok($('#modal-test').is(':visible'), 'modal visible')
+        $('#modal-test').trigger('click')
+      })
+      .on('hidden.bs.modal', function () {
+        assert.ok(!$('#modal-test').is(':visible'), 'modal hidden')
+        done()
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should close modal when escape key is pressed via keydown', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var div = $('<div id="modal-test"/>')
+    div
+      .on('shown.bs.modal', function () {
+        assert.ok($('#modal-test').length, 'modal insterted into dom')
+        assert.ok($('#modal-test').is(':visible'), 'modal visible')
+        div.trigger($.Event('keydown', { which: 27 }))
+
+        setTimeout(function () {
+          assert.ok(!$('#modal-test').is(':visible'), 'modal hidden')
+          div.remove()
+          done()
+        }, 0)
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should not close modal when escape key is pressed via keyup', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var div = $('<div id="modal-test"/>')
+    div
+      .on('shown.bs.modal', function () {
+        assert.ok($('#modal-test').length, 'modal inserted into dom')
+        assert.ok($('#modal-test').is(':visible'), 'modal visible')
+        div.trigger($.Event('keyup', { which: 27 }))
+
+        setTimeout(function () {
+          assert.ok($('#modal-test').is(':visible'), 'modal still visible')
+          div.remove()
+          done()
+        }, 0)
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should trigger hide event once when clicking outside of modal-content', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var triggered
+
+    $('<div id="modal-test"><div class="contents"/></div>')
+      .on('shown.bs.modal', function () {
+        triggered = 0
+        $('#modal-test').trigger('click')
+      })
+      .on('hide.bs.modal', function () {
+        triggered += 1
+        assert.strictEqual(triggered, 1, 'modal hide triggered once')
+        done()
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should close reopened modal with [data-dismiss="modal"] click', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>')
+      .one('shown.bs.modal', function () {
+        $('#close').trigger('click')
+      })
+      .one('hidden.bs.modal', function () {
+        // after one open-close cycle
+        assert.ok(!$('#modal-test').is(':visible'), 'modal hidden')
+        $(this)
+          .one('shown.bs.modal', function () {
+            $('#close').trigger('click')
+          })
+          .one('hidden.bs.modal', function () {
+            assert.ok(!$('#modal-test').is(':visible'), 'modal hidden')
+            done()
+          })
+          .bootstrapModal('show')
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should restore focus to toggling element when modal is hidden after having been opened via data-api', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var $toggleBtn = $('<button data-toggle="modal" data-target="#modal-test"/>').appendTo('#qunit-fixture')
+
+    $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div></div>')
+      .on('hidden.bs.modal', function () {
+        setTimeout(function () {
+          assert.ok($(document.activeElement).is($toggleBtn), 'toggling element is once again focused')
+          done()
+        }, 0)
+      })
+      .on('shown.bs.modal', function () {
+        $('#close').trigger('click')
+      })
+      .appendTo('#qunit-fixture')
+
+    $toggleBtn.trigger('click')
+  })
+
+  QUnit.test('should not restore focus to toggling element if the associated show event gets prevented', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+    var $toggleBtn = $('<button data-toggle="modal" data-target="#modal-test"/>').appendTo('#qunit-fixture')
+    var $otherBtn = $('<button id="other-btn"/>').appendTo('#qunit-fixture')
+
+    $('<div id="modal-test"><div class="contents"><div id="close" data-dismiss="modal"/></div>')
+      .one('show.bs.modal', function (e) {
+        e.preventDefault()
+        $otherBtn.trigger('focus')
+        setTimeout($.proxy(function () {
+          $(this).bootstrapModal('show')
+        }, this), 0)
+      })
+      .on('hidden.bs.modal', function () {
+        setTimeout(function () {
+          assert.ok($(document.activeElement).is($otherBtn), 'focus returned to toggling element')
+          done()
+        }, 0)
+      })
+      .on('shown.bs.modal', function () {
+        $('#close').trigger('click')
+      })
+      .appendTo('#qunit-fixture')
+
+    $toggleBtn.trigger('click')
+  })
+
+  QUnit.test('should restore inline body padding after closing', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+    var originalBodyPad = 0
+    var $body = $(document.body)
+
+    $body.css('padding-right', originalBodyPad)
+
+    $('<div id="modal-test"/>')
+      .on('hidden.bs.modal', function () {
+        var currentBodyPad = parseInt($body.css('padding-right'), 10)
+        assert.notStrictEqual($body.attr('style'), '', 'body has non-empty style attribute')
+        assert.strictEqual(currentBodyPad, originalBodyPad, 'original body padding was not changed')
+        $body.removeAttr('style')
+        done()
+      })
+      .on('shown.bs.modal', function () {
+        $(this).bootstrapModal('hide')
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should ignore values set via CSS when trying to restore body padding after closing', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+    var $body = $(document.body)
+    var $style = $('<style>body { padding-right: 42px; }</style>').appendTo('head')
+
+    $('<div id="modal-test"/>')
+      .on('hidden.bs.modal', function () {
+        assert.ok(!$body.attr('style'), 'body does not have inline padding set')
+        $style.remove()
+        done()
+      })
+      .on('shown.bs.modal', function () {
+        $(this).bootstrapModal('hide')
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should ignore other inline styles when trying to restore body padding after closing', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+    var $body = $(document.body)
+    var $style = $('<style>body { padding-right: 42px; }</style>').appendTo('head')
+
+    $body.css('color', 'red')
+
+    $('<div id="modal-test"/>')
+      .on('hidden.bs.modal', function () {
+        assert.strictEqual($body[0].style.paddingRight, '', 'body does not have inline padding set')
+        assert.strictEqual($body[0].style.color, 'red', 'body still has other inline styles set')
+        $body.removeAttr('style')
+        $style.remove()
+        done()
+      })
+      .on('shown.bs.modal', function () {
+        $(this).bootstrapModal('hide')
+      })
+      .bootstrapModal('show')
+  })
+
+  QUnit.test('should properly restore non-pixel inline body padding after closing', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+    var $body = $(document.body)
+
+    $body.css('padding-right', '5%')
+
+    $('<div id="modal-test"/>')
+      .on('hidden.bs.modal', function () {
+        assert.strictEqual($body[0].style.paddingRight, '5%', 'body does not have inline padding set')
+        $body.removeAttr('style')
+        done()
+      })
+      .on('shown.bs.modal', function () {
+        $(this).bootstrapModal('hide')
+      })
+      .bootstrapModal('show')
+  })
+})

+ 72 - 0
misago/emberapp/vendor/bootstrap/tests/unit/phantom.js

@@ -0,0 +1,72 @@
+/*
+ * grunt-contrib-qunit
+ * http://gruntjs.com/
+ *
+ * Copyright (c) 2014 "Cowboy" Ben Alman, contributors
+ * Licensed under the MIT license.
+ */
+
+(function () {
+  'use strict';
+
+  // Don't re-order tests.
+  QUnit.config.reorder = false
+  // Run tests serially, not in parallel.
+  QUnit.config.autorun = false
+
+  // Send messages to the parent PhantomJS process via alert! Good times!!
+  function sendMessage() {
+    var args = [].slice.call(arguments)
+    alert(JSON.stringify(args))
+  }
+
+  // These methods connect QUnit to PhantomJS.
+  QUnit.log(function (obj) {
+    // What is this I don’t even
+    if (obj.message === '[object Object], undefined:undefined') { return }
+
+    // Parse some stuff before sending it.
+    var actual
+    var expected
+    if (!obj.result) {
+      // Dumping large objects can be very slow, and the dump isn't used for
+      // passing tests, so only dump if the test failed.
+      actual = QUnit.dump.parse(obj.actual)
+      expected = QUnit.dump.parse(obj.expected)
+    }
+    // Send it.
+    sendMessage('qunit.log', obj.result, actual, expected, obj.message, obj.source)
+  })
+
+  QUnit.testStart(function (obj) {
+    sendMessage('qunit.testStart', obj.name)
+  })
+
+  QUnit.testDone(function (obj) {
+    sendMessage('qunit.testDone', obj.name, obj.failed, obj.passed, obj.total, obj.duration)
+  })
+
+  QUnit.moduleStart(function (obj) {
+    sendMessage('qunit.moduleStart', obj.name)
+  })
+
+  QUnit.moduleDone(function (obj) {
+    if (obj.failed === 0) {
+      console.log('\r\u2714 All tests passed in "' + obj.name + '" module')
+    } else {
+      console.log('\u2716 ' + obj.failed + ' tests failed in "' + obj.name + '" module')
+    }
+    sendMessage('qunit.moduleDone', obj.name, obj.failed, obj.passed, obj.total)
+  })
+
+  QUnit.begin(function () {
+    sendMessage('qunit.begin')
+    console.log('\n\nStarting test suite')
+    console.log('================================================\n')
+  })
+
+  QUnit.done(function (obj) {
+    sendMessage('qunit.done', obj.failed, obj.passed, obj.total, obj.runtime)
+  })
+
+}())

+ 262 - 0
misago/emberapp/vendor/bootstrap/tests/unit/popover.js

@@ -0,0 +1,262 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('popover plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).popover, 'popover method is defined')
+  })
+
+  QUnit.module('popover', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapPopover = $.fn.popover.noConflict()
+    },
+    afterEach: function () {
+      $.fn.popover = $.fn.bootstrapPopover
+      delete $.fn.bootstrapPopover
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.popover, undefined, 'popover was set back to undefined (org value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $popover = $el.bootstrapPopover()
+    assert.ok($popover instanceof $, 'returns jquery collection')
+    assert.strictEqual($popover[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should render popover element', function (assert) {
+    assert.expect(2)
+    var $popover = $('<a href="#" title="mdo" data-content="https://twitter.com/mdo">@mdo</a>')
+      .appendTo('#qunit-fixture')
+      .bootstrapPopover('show')
+
+    assert.notEqual($('.popover').length, 0, 'popover was inserted')
+    $popover.bootstrapPopover('hide')
+    assert.strictEqual($('.popover').length, 0, 'popover removed')
+  })
+
+  QUnit.test('should store popover instance in popover data object', function (assert) {
+    assert.expect(1)
+    var $popover = $('<a href="#" title="mdo" data-content="https://twitter.com/mdo">@mdo</a>').bootstrapPopover()
+
+    assert.ok($popover.data('bs.popover'), 'popover instance exists')
+  })
+
+  QUnit.test('should store popover trigger in popover instance data object', function (assert) {
+    assert.expect(1)
+    var $popover = $('<a href="#" title="ResentedHook">@ResentedHook</a>')
+      .appendTo('#qunit-fixture')
+      .bootstrapPopover()
+
+    $popover.bootstrapPopover('show')
+
+    assert.ok($('.popover').data('bs.popover'), 'popover trigger stored in instance data')
+  })
+
+  QUnit.test('should get title and content from options', function (assert) {
+    assert.expect(4)
+    var $popover = $('<a href="#">@fat</a>')
+      .appendTo('#qunit-fixture')
+      .bootstrapPopover({
+        title: function () {
+          return '@fat'
+        },
+        content: function () {
+          return 'loves writing tests (╯°□°)╯︵ ┻━┻'
+        }
+      })
+
+    $popover.bootstrapPopover('show')
+
+    assert.notEqual($('.popover').length, 0, 'popover was inserted')
+    assert.strictEqual($('.popover .popover-title').text(), '@fat', 'title correctly inserted')
+    assert.strictEqual($('.popover .popover-content').text(), 'loves writing tests (╯°□°)╯︵ ┻━┻', 'content correctly inserted')
+
+    $popover.bootstrapPopover('hide')
+    assert.strictEqual($('.popover').length, 0, 'popover was removed')
+  })
+
+  QUnit.test('should not duplicate HTML object', function (assert) {
+    assert.expect(6)
+    var $div = $('<div/>').html('loves writing tests (╯°□°)╯︵ ┻━┻')
+
+    var $popover = $('<a href="#">@fat</a>')
+      .appendTo('#qunit-fixture')
+      .bootstrapPopover({
+        content: function () {
+          return $div
+        }
+      })
+
+    $popover.bootstrapPopover('show')
+    assert.notEqual($('.popover').length, 0, 'popover was inserted')
+    assert.equal($('.popover .popover-content').html(), $div, 'content correctly inserted')
+
+    $popover.bootstrapPopover('hide')
+    assert.strictEqual($('.popover').length, 0, 'popover was removed')
+
+    $popover.bootstrapPopover('show')
+    assert.notEqual($('.popover').length, 0, 'popover was inserted')
+    assert.equal($('.popover .popover-content').html(), $div, 'content correctly inserted')
+
+    $popover.bootstrapPopover('hide')
+    assert.strictEqual($('.popover').length, 0, 'popover was removed')
+  })
+
+  QUnit.test('should get title and content from attributes', function (assert) {
+    assert.expect(4)
+    var $popover = $('<a href="#" title="@mdo" data-content="loves data attributes (づ。◕‿‿◕。)づ ︵ ┻━┻" >@mdo</a>')
+      .appendTo('#qunit-fixture')
+      .bootstrapPopover()
+      .bootstrapPopover('show')
+
+    assert.notEqual($('.popover').length, 0, 'popover was inserted')
+    assert.strictEqual($('.popover .popover-title').text(), '@mdo', 'title correctly inserted')
+    assert.strictEqual($('.popover .popover-content').text(), 'loves data attributes (づ。◕‿‿◕。)づ ︵ ┻━┻', 'content correctly inserted')
+
+    $popover.bootstrapPopover('hide')
+    assert.strictEqual($('.popover').length, 0, 'popover was removed')
+  })
+
+
+  QUnit.test('should get title and content from attributes ignoring options passed via js', function (assert) {
+    assert.expect(4)
+    var $popover = $('<a href="#" title="@mdo" data-content="loves data attributes (づ。◕‿‿◕。)づ ︵ ┻━┻" >@mdo</a>')
+      .appendTo('#qunit-fixture')
+      .bootstrapPopover({
+        title: 'ignored title option',
+        content: 'ignored content option'
+      })
+      .bootstrapPopover('show')
+
+    assert.notEqual($('.popover').length, 0, 'popover was inserted')
+    assert.strictEqual($('.popover .popover-title').text(), '@mdo', 'title correctly inserted')
+    assert.strictEqual($('.popover .popover-content').text(), 'loves data attributes (づ。◕‿‿◕。)づ ︵ ┻━┻', 'content correctly inserted')
+
+    $popover.bootstrapPopover('hide')
+    assert.strictEqual($('.popover').length, 0, 'popover was removed')
+  })
+
+  QUnit.test('should respect custom template', function (assert) {
+    assert.expect(3)
+    var $popover = $('<a href="#">@fat</a>')
+      .appendTo('#qunit-fixture')
+      .bootstrapPopover({
+        title: 'Test',
+        content: 'Test',
+        template: '<div class="popover foobar"><div class="arrow"></div><div class="inner"><h3 class="title"/><div class="content"><p/></div></div></div>'
+      })
+
+    $popover.bootstrapPopover('show')
+
+    assert.notEqual($('.popover').length, 0, 'popover was inserted')
+    assert.ok($('.popover').hasClass('foobar'), 'custom class is present')
+
+    $popover.bootstrapPopover('hide')
+    assert.strictEqual($('.popover').length, 0, 'popover was removed')
+  })
+
+  QUnit.test('should destroy popover', function (assert) {
+    assert.expect(7)
+    var $popover = $('<div/>')
+      .bootstrapPopover({
+        trigger: 'hover'
+      })
+      .on('click.foo', $.noop)
+
+    assert.ok($popover.data('bs.popover'), 'popover has data')
+    assert.ok($._data($popover[0], 'events').mouseover && $._data($popover[0], 'events').mouseout, 'popover has hover event')
+    assert.strictEqual($._data($popover[0], 'events').click[0].namespace, 'foo', 'popover has extra click.foo event')
+
+    $popover.bootstrapPopover('show')
+    $popover.bootstrapPopover('destroy')
+
+    assert.ok(!$popover.hasClass('in'), 'popover is hidden')
+    assert.ok(!$popover.data('popover'), 'popover does not have data')
+    assert.strictEqual($._data($popover[0], 'events').click[0].namespace, 'foo', 'popover still has click.foo')
+    assert.ok(!$._data($popover[0], 'events').mouseover && !$._data($popover[0], 'events').mouseout, 'popover does not have any events')
+  })
+
+  QUnit.test('should render popover element using delegated selector', function (assert) {
+    assert.expect(2)
+    var $div = $('<div><a href="#" title="mdo" data-content="http://twitter.com/mdo">@mdo</a></div>')
+      .appendTo('#qunit-fixture')
+      .bootstrapPopover({
+        selector: 'a',
+        trigger: 'click'
+      })
+
+    $div.find('a').trigger('click')
+    assert.notEqual($('.popover').length, 0, 'popover was inserted')
+
+    $div.find('a').trigger('click')
+    assert.strictEqual($('.popover').length, 0, 'popover was removed')
+  })
+
+  QUnit.test('should detach popover content rather than removing it so that event handlers are left intact', function (assert) {
+    assert.expect(1)
+    var $content = $('<div class="content-with-handler"><a class="btn btn-warning">Button with event handler</a></div>').appendTo('#qunit-fixture')
+
+    var handlerCalled = false
+    $('.content-with-handler .btn').on('click', function () {
+      handlerCalled = true
+    })
+
+    var $div = $('<div><a href="#">Show popover</a></div>')
+      .appendTo('#qunit-fixture')
+      .bootstrapPopover({
+        html: true,
+        trigger: 'manual',
+        container: 'body',
+        content: function () {
+          return $content
+        }
+      })
+
+    var done = assert.async()
+    $div
+      .one('shown.bs.popover', function () {
+        $div
+          .one('hidden.bs.popover', function () {
+            $div
+              .one('shown.bs.popover', function () {
+                $('.content-with-handler .btn').trigger('click')
+                $div.bootstrapPopover('destroy')
+                assert.ok(handlerCalled, 'content\'s event handler still present')
+                done()
+              })
+              .bootstrapPopover('show')
+          })
+          .bootstrapPopover('hide')
+      })
+      .bootstrapPopover('show')
+  })
+
+  QUnit.test('should throw an error when initializing popover on the document object without specifying a delegation selector', function (assert) {
+    assert.expect(1)
+    assert.throws(function () {
+      $(document).bootstrapPopover({ title: 'What am I on?', content: 'My selector is missing' })
+    }, new Error('`selector` option must be specified when initializing popover on the window.document object!'))
+  })
+
+  QUnit.test('should do nothing when an attempt is made to hide an uninitialized popover', function (assert) {
+    assert.expect(1)
+
+    var $popover = $('<span data-toggle="popover" data-title="some title" data-content="some content">some text</span>')
+      .appendTo('#qunit-fixture')
+      .on('hidden.bs.popover shown.bs.popover', function () {
+        assert.ok(false, 'should not fire any popover events')
+      })
+      .bootstrapPopover('hide')
+    assert.strictEqual($popover.data('bs.popover'), undefined, 'should not initialize the popover')
+  })
+
+})

+ 278 - 0
misago/emberapp/vendor/bootstrap/tests/unit/scrollspy.js

@@ -0,0 +1,278 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('scrollspy plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).scrollspy, 'scrollspy method is defined')
+  })
+
+  QUnit.module('scrollspy', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapScrollspy = $.fn.scrollspy.noConflict()
+    },
+    afterEach: function () {
+      $.fn.scrollspy = $.fn.bootstrapScrollspy
+      delete $.fn.bootstrapScrollspy
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.scrollspy, undefined, 'scrollspy was set back to undefined (org value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $scrollspy = $el.bootstrapScrollspy()
+    assert.ok($scrollspy instanceof $, 'returns jquery collection')
+    assert.strictEqual($scrollspy[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should only switch "active" class on current target', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var sectionHTML = '<div id="root" class="active">'
+        + '<div class="topbar">'
+        + '<div class="topbar-inner">'
+        + '<div class="container" id="ss-target">'
+        + '<ul class="nav">'
+        + '<li><a href="#masthead">Overview</a></li>'
+        + '<li><a href="#detail">Detail</a></li>'
+        + '</ul>'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+        + '<div id="scrollspy-example" style="height: 100px; overflow: auto;">'
+        + '<div style="height: 200px;">'
+        + '<h4 id="masthead">Overview</h4>'
+        + '<p style="height: 200px">'
+        + 'Ad leggings keytar, brunch id art party dolor labore.'
+        + '</p>'
+        + '</div>'
+        + '<div style="height: 200px;">'
+        + '<h4 id="detail">Detail</h4>'
+        + '<p style="height: 200px">'
+        + 'Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard.'
+        + '</p>'
+        + '</div>'
+        + '</div>'
+        + '</div>'
+    var $section = $(sectionHTML).appendTo('#qunit-fixture')
+
+    var $scrollspy = $section
+      .show()
+      .find('#scrollspy-example')
+      .bootstrapScrollspy({ target: '#ss-target' })
+
+    $scrollspy.on('scroll.bs.scrollspy', function () {
+      assert.ok($section.hasClass('active'), '"active" class still on root node')
+      done()
+    })
+
+    $scrollspy.scrollTop(350)
+  })
+
+  QUnit.test('should correctly select middle navigation option when large offset is used', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var sectionHTML = '<div id="header" style="height: 500px;"></div>'
+        + '<nav id="navigation" class="navbar">'
+        + '<ul class="nav navbar-nav">'
+        + '<li class="active"><a id="one-link" href="#one">One</a></li>'
+        + '<li><a id="two-link" href="#two">Two</a></li>'
+        + '<li><a id="three-link" href="#three">Three</a></li>'
+        + '</ul>'
+        + '</nav>'
+        + '<div id="content" style="height: 200px; overflow-y: auto;">'
+        + '<div id="one" style="height: 500px;"></div>'
+        + '<div id="two" style="height: 300px;"></div>'
+        + '<div id="three" style="height: 10px;"></div>'
+        + '</div>'
+    var $section = $(sectionHTML).appendTo('#qunit-fixture')
+    var $scrollspy = $section
+      .show()
+      .filter('#content')
+
+    $scrollspy.bootstrapScrollspy({ target: '#navigation', offset: $scrollspy.position().top })
+
+    $scrollspy.on('scroll.bs.scrollspy', function () {
+      assert.ok(!$section.find('#one-link').parent().hasClass('active'), '"active" class removed from first section')
+      assert.ok($section.find('#two-link').parent().hasClass('active'), '"active" class on middle section')
+      assert.ok(!$section.find('#three-link').parent().hasClass('active'), '"active" class not on last section')
+      done()
+    })
+
+    $scrollspy.scrollTop(550)
+  })
+
+  QUnit.test('should add the active class to the correct element', function (assert) {
+    assert.expect(2)
+    var navbarHtml =
+        '<nav class="navbar">'
+      + '<ul class="nav">'
+      + '<li id="li-1"><a href="#div-1">div 1</a></li>'
+      + '<li id="li-2"><a href="#div-2">div 2</a></li>'
+      + '</ul>'
+      + '</nav>'
+    var contentHtml =
+        '<div class="content" style="overflow: auto; height: 50px">'
+      + '<div id="div-1" style="height: 100px; padding: 0; margin: 0">div 1</div>'
+      + '<div id="div-2" style="height: 200px; padding: 0; margin: 0">div 2</div>'
+      + '</div>'
+
+    $(navbarHtml).appendTo('#qunit-fixture')
+    var $content = $(contentHtml)
+      .appendTo('#qunit-fixture')
+      .bootstrapScrollspy({ offset: 0, target: '.navbar' })
+
+    var testElementIsActiveAfterScroll = function (element, target) {
+      var deferred = $.Deferred()
+      var scrollHeight = Math.ceil($content.scrollTop() + $(target).position().top)
+      var done = assert.async()
+      $content.one('scroll', function () {
+        assert.ok($(element).hasClass('active'), 'target:' + target + ', element' + element)
+        done()
+        deferred.resolve()
+      })
+      $content.scrollTop(scrollHeight)
+      return deferred.promise()
+    }
+
+    $.when(testElementIsActiveAfterScroll('#li-1', '#div-1'))
+      .then(function () { return testElementIsActiveAfterScroll('#li-2', '#div-2') })
+  })
+
+  QUnit.test('should add the active class correctly when there are nested elements at 0 scroll offset', function (assert) {
+    assert.expect(6)
+    var times = 0
+    var done = assert.async()
+    var navbarHtml = '<nav id="navigation" class="navbar">'
+      + '<ul class="nav">'
+      + '<li id="li-1"><a href="#div-1">div 1</a>'
+      + '<ul>'
+      + '<li id="li-2"><a href="#div-2">div 2</a></li>'
+      + '</ul>'
+      + '</li>'
+      + '</ul>'
+      + '</nav>'
+
+    var contentHtml = '<div class="content" style="position: absolute; top: 0px; overflow: auto; height: 50px">'
+      + '<div id="div-1" style="padding: 0; margin: 0">'
+      + '<div id="div-2" style="height: 200px; padding: 0; margin: 0">div 2</div>'
+      + '</div>'
+      + '</div>'
+
+    $(navbarHtml).appendTo('#qunit-fixture')
+
+    var $content = $(contentHtml)
+      .appendTo('#qunit-fixture')
+      .bootstrapScrollspy({ offset: 0, target: '#navigation' })
+
+    !function testActiveElements() {
+      if (++times > 3) return done()
+
+      $content.one('scroll', function () {
+        assert.ok($('#li-1').hasClass('active'), 'nav item for outer element has "active" class')
+        assert.ok($('#li-2').hasClass('active'), 'nav item for inner element has "active" class')
+        testActiveElements()
+      })
+
+      $content.scrollTop($content.scrollTop() + 10)
+    }()
+  })
+
+  QUnit.test('should clear selection if above the first section', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var sectionHTML = '<div id="header" style="height: 500px;"></div>'
+        + '<nav id="navigation" class="navbar">'
+        + '<ul class="nav navbar-nav">'
+        + '<li class="active"><a id="one-link" href="#one">One</a></li>'
+        + '<li><a id="two-link" href="#two">Two</a></li>'
+        + '<li><a id="three-link" href="#three">Three</a></li>'
+        + '</ul>'
+        + '</nav>'
+    $(sectionHTML).appendTo('#qunit-fixture')
+
+    var scrollspyHTML = '<div id="content" style="height: 200px; overflow-y: auto;">'
+        + '<div id="spacer" style="height: 100px;"/>'
+        + '<div id="one" style="height: 100px;"/>'
+        + '<div id="two" style="height: 100px;"/>'
+        + '<div id="three" style="height: 100px;"/>'
+        + '<div id="spacer" style="height: 100px;"/>'
+        + '</div>'
+    var $scrollspy = $(scrollspyHTML).appendTo('#qunit-fixture')
+
+    $scrollspy
+      .bootstrapScrollspy({
+        target: '#navigation',
+        offset: $scrollspy.position().top
+      })
+      .one('scroll.bs.scrollspy', function () {
+        assert.strictEqual($('.active').length, 1, '"active" class on only one element present')
+        assert.strictEqual($('.active').has('#two-link').length, 1, '"active" class on second section')
+
+        $scrollspy
+          .one('scroll.bs.scrollspy', function () {
+            assert.strictEqual($('.active').length, 0, 'selection cleared')
+            done()
+          })
+          .scrollTop(0)
+      })
+      .scrollTop(201)
+  })
+
+  QUnit.test('should correctly select navigation element on backward scrolling when each target section height is 100%', function (assert) {
+    assert.expect(5)
+    var navbarHtml =
+        '<nav class="navbar">'
+      + '<ul class="nav">'
+      + '<li id="li-100-1"><a href="#div-100-1">div 1</a></li>'
+      + '<li id="li-100-2"><a href="#div-100-2">div 2</a></li>'
+      + '<li id="li-100-3"><a href="#div-100-3">div 3</a></li>'
+      + '<li id="li-100-4"><a href="#div-100-4">div 4</a></li>'
+      + '<li id="li-100-5"><a href="#div-100-5">div 5</a></li>'
+      + '</ul>'
+      + '</nav>'
+    var contentHtml =
+        '<div class="content" style="position: relative; overflow: auto; height: 100px">'
+      + '<div id="div-100-1" style="position: relative; height: 100%; padding: 0; margin: 0">div 1</div>'
+      + '<div id="div-100-2" style="position: relative; height: 100%; padding: 0; margin: 0">div 2</div>'
+      + '<div id="div-100-3" style="position: relative; height: 100%; padding: 0; margin: 0">div 3</div>'
+      + '<div id="div-100-4" style="position: relative; height: 100%; padding: 0; margin: 0">div 4</div>'
+      + '<div id="div-100-5" style="position: relative; height: 100%; padding: 0; margin: 0">div 5</div>'
+      + '</div>'
+
+    $(navbarHtml).appendTo('#qunit-fixture')
+    var $content = $(contentHtml)
+      .appendTo('#qunit-fixture')
+      .bootstrapScrollspy({ offset: 0, target: '.navbar' })
+
+    var testElementIsActiveAfterScroll = function (element, target) {
+      var deferred = $.Deferred()
+      var scrollHeight = Math.ceil($content.scrollTop() + $(target).position().top)
+      var done = assert.async()
+      $content.one('scroll', function () {
+        assert.ok($(element).hasClass('active'), 'target:' + target + ', element: ' + element)
+        done()
+        deferred.resolve()
+      })
+      $content.scrollTop(scrollHeight)
+      return deferred.promise()
+    }
+
+    $.when(testElementIsActiveAfterScroll('#li-100-5', '#div-100-5'))
+      .then(function () { return testElementIsActiveAfterScroll('#li-100-4', '#div-100-4') })
+      .then(function () { return testElementIsActiveAfterScroll('#li-100-3', '#div-100-3') })
+      .then(function () { return testElementIsActiveAfterScroll('#li-100-2', '#div-100-2') })
+      .then(function () { return testElementIsActiveAfterScroll('#li-100-1', '#div-100-1') })
+  })
+
+})

+ 216 - 0
misago/emberapp/vendor/bootstrap/tests/unit/tab.js

@@ -0,0 +1,216 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('tabs plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).tab, 'tabs method is defined')
+  })
+
+  QUnit.module('tabs', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapTab = $.fn.tab.noConflict()
+    },
+    afterEach: function () {
+      $.fn.tab = $.fn.bootstrapTab
+      delete $.fn.bootstrapTab
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.tab, undefined, 'tab was set back to undefined (org value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $tab = $el.bootstrapTab()
+    assert.ok($tab instanceof $, 'returns jquery collection')
+    assert.strictEqual($tab[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should activate element by tab id', function (assert) {
+    assert.expect(2)
+    var tabsHTML = '<ul class="tabs">'
+        + '<li><a href="#home">Home</a></li>'
+        + '<li><a href="#profile">Profile</a></li>'
+        + '</ul>'
+
+    $('<ul><li id="home"/><li id="profile"/></ul>').appendTo('#qunit-fixture')
+
+    $(tabsHTML).find('li:last a').bootstrapTab('show')
+    assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'profile')
+
+    $(tabsHTML).find('li:first a').bootstrapTab('show')
+    assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'home')
+  })
+
+  QUnit.test('should activate element by tab id', function (assert) {
+    assert.expect(2)
+    var pillsHTML = '<ul class="pills">'
+        + '<li><a href="#home">Home</a></li>'
+        + '<li><a href="#profile">Profile</a></li>'
+        + '</ul>'
+
+    $('<ul><li id="home"/><li id="profile"/></ul>').appendTo('#qunit-fixture')
+
+    $(pillsHTML).find('li:last a').bootstrapTab('show')
+    assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'profile')
+
+    $(pillsHTML).find('li:first a').bootstrapTab('show')
+    assert.strictEqual($('#qunit-fixture').find('.active').attr('id'), 'home')
+  })
+
+  QUnit.test('should not fire shown when show is prevented', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div class="tab"/>')
+      .on('show.bs.tab', function (e) {
+        e.preventDefault()
+        assert.ok(true, 'show event fired')
+        done()
+      })
+      .on('shown.bs.tab', function () {
+        assert.ok(false, 'shown event fired')
+      })
+      .bootstrapTab('show')
+  })
+
+  QUnit.test('show and shown events should reference correct relatedTarget', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var dropHTML = '<ul class="drop">'
+        + '<li class="dropdown"><a data-toggle="dropdown" href="#">1</a>'
+        + '<ul class="dropdown-menu">'
+        + '<li><a href="#1-1" data-toggle="tab">1-1</a></li>'
+        + '<li><a href="#1-2" data-toggle="tab">1-2</a></li>'
+        + '</ul>'
+        + '</li>'
+        + '</ul>'
+
+    $(dropHTML)
+      .find('ul > li:first a')
+        .bootstrapTab('show')
+      .end()
+      .find('ul > li:last a')
+        .on('show.bs.tab', function (e) {
+          assert.strictEqual(e.relatedTarget.hash, '#1-1', 'references correct element as relatedTarget')
+        })
+        .on('shown.bs.tab', function (e) {
+          assert.strictEqual(e.relatedTarget.hash, '#1-1', 'references correct element as relatedTarget')
+          done()
+        })
+        .bootstrapTab('show')
+  })
+
+  QUnit.test('should fire hide and hidden events', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var tabsHTML = '<ul class="tabs">'
+        + '<li><a href="#home">Home</a></li>'
+        + '<li><a href="#profile">Profile</a></li>'
+        + '</ul>'
+
+    $(tabsHTML)
+      .find('li:first a')
+        .on('hide.bs.tab', function () {
+          assert.ok(true, 'hide event fired')
+        })
+        .bootstrapTab('show')
+      .end()
+      .find('li:last a')
+        .bootstrapTab('show')
+
+    $(tabsHTML)
+      .find('li:first a')
+        .on('hidden.bs.tab', function () {
+          assert.ok(true, 'hidden event fired')
+          done()
+        })
+        .bootstrapTab('show')
+      .end()
+      .find('li:last a')
+        .bootstrapTab('show')
+  })
+
+  QUnit.test('should not fire hidden when hide is prevented', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var tabsHTML = '<ul class="tabs">'
+        + '<li><a href="#home">Home</a></li>'
+        + '<li><a href="#profile">Profile</a></li>'
+        + '</ul>'
+
+    $(tabsHTML)
+      .find('li:first a')
+        .on('hide.bs.tab', function (e) {
+          e.preventDefault()
+          assert.ok(true, 'hide event fired')
+          done()
+        })
+        .on('hidden.bs.tab', function () {
+          assert.ok(false, 'hidden event fired')
+        })
+        .bootstrapTab('show')
+      .end()
+      .find('li:last a')
+        .bootstrapTab('show')
+  })
+
+  QUnit.test('hide and hidden events contain correct relatedTarget', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var tabsHTML = '<ul class="tabs">'
+        + '<li><a href="#home">Home</a></li>'
+        + '<li><a href="#profile">Profile</a></li>'
+        + '</ul>'
+
+    $(tabsHTML)
+      .find('li:first a')
+        .on('hide.bs.tab', function (e) {
+          assert.strictEqual(e.relatedTarget.hash, '#profile', 'references correct element as relatedTarget')
+        })
+        .on('hidden.bs.tab', function (e) {
+          assert.strictEqual(e.relatedTarget.hash, '#profile', 'references correct element as relatedTarget')
+          done()
+        })
+        .bootstrapTab('show')
+      .end()
+      .find('li:last a')
+        .bootstrapTab('show')
+  })
+
+  QUnit.test('selected tab should have aria-expanded', function (assert) {
+    assert.expect(8)
+    var tabsHTML = '<ul class="nav nav-tabs">'
+        + '<li class="active"><a href="#home" toggle="tab" aria-expanded="true">Home</a></li>'
+        + '<li><a href="#profile" toggle="tab" aria-expanded="false">Profile</a></li>'
+        + '</ul>'
+    var $tabs = $(tabsHTML).appendTo('#qunit-fixture')
+
+    $tabs.find('li:first a').bootstrapTab('show')
+    assert.strictEqual($tabs.find('.active a').attr('aria-expanded'), 'true', 'shown tab has aria-expanded = true')
+    assert.strictEqual($tabs.find('li:not(.active) a').attr('aria-expanded'), 'false', 'hidden tab has aria-expanded = false')
+
+    $tabs.find('li:last a').trigger('click')
+    assert.strictEqual($tabs.find('.active a').attr('aria-expanded'), 'true', 'after click, shown tab has aria-expanded = true')
+    assert.strictEqual($tabs.find('li:not(.active) a').attr('aria-expanded'), 'false', 'after click, hidden tab has aria-expanded = false')
+
+    $tabs.find('li:first a').bootstrapTab('show')
+    assert.strictEqual($tabs.find('.active a').attr('aria-expanded'), 'true', 'shown tab has aria-expanded = true')
+    assert.strictEqual($tabs.find('li:not(.active) a').attr('aria-expanded'), 'false', 'hidden tab has aria-expanded = false')
+
+    $tabs.find('li:first a').trigger('click')
+    assert.strictEqual($tabs.find('.active a').attr('aria-expanded'), 'true', 'after second show event, shown tab still has aria-expanded = true')
+    assert.strictEqual($tabs.find('li:not(.active) a').attr('aria-expanded'), 'false', 'after second show event, hidden tab has aria-expanded = false')
+  })
+
+})

+ 1183 - 0
misago/emberapp/vendor/bootstrap/tests/unit/tooltip.js

@@ -0,0 +1,1183 @@
+$(function () {
+  'use strict';
+
+  QUnit.module('tooltip plugin')
+
+  QUnit.test('should be defined on jquery object', function (assert) {
+    assert.expect(1)
+    assert.ok($(document.body).tooltip, 'tooltip method is defined')
+  })
+
+  QUnit.module('tooltip', {
+    beforeEach: function () {
+      // Run all tests in noConflict mode -- it's the only way to ensure that the plugin works in noConflict mode
+      $.fn.bootstrapTooltip = $.fn.tooltip.noConflict()
+    },
+    afterEach: function () {
+      $.fn.tooltip = $.fn.bootstrapTooltip
+      delete $.fn.bootstrapTooltip
+    }
+  })
+
+  QUnit.test('should provide no conflict', function (assert) {
+    assert.expect(1)
+    assert.strictEqual($.fn.tooltip, undefined, 'tooltip was set back to undefined (org value)')
+  })
+
+  QUnit.test('should return jquery collection containing the element', function (assert) {
+    assert.expect(2)
+    var $el = $('<div/>')
+    var $tooltip = $el.bootstrapTooltip()
+    assert.ok($tooltip instanceof $, 'returns jquery collection')
+    assert.strictEqual($tooltip[0], $el[0], 'collection contains element')
+  })
+
+  QUnit.test('should expose default settings', function (assert) {
+    assert.expect(1)
+    assert.ok($.fn.bootstrapTooltip.Constructor.DEFAULTS, 'defaults is defined')
+  })
+
+  QUnit.test('should empty title attribute', function (assert) {
+    assert.expect(1)
+    var $trigger = $('<a href="#" rel="tooltip" title="Another tooltip"/>').bootstrapTooltip()
+    assert.strictEqual($trigger.attr('title'), '', 'title attribute was emptied')
+  })
+
+  QUnit.test('should add data attribute for referencing original title', function (assert) {
+    assert.expect(1)
+    var $trigger = $('<a href="#" rel="tooltip" title="Another tooltip"/>').bootstrapTooltip()
+    assert.strictEqual($trigger.attr('data-original-title'), 'Another tooltip', 'original title preserved in data attribute')
+  })
+
+  QUnit.test('should add aria-describedby to the trigger on show', function (assert) {
+    assert.expect(3)
+    var $trigger = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .bootstrapTooltip()
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip('show')
+
+    var id = $('.tooltip').attr('id')
+
+    assert.strictEqual($('#' + id).length, 1, 'has a unique id')
+    assert.strictEqual($('.tooltip').attr('aria-describedby'), $trigger.attr('id'), 'tooltip id and aria-describedby on trigger match')
+    assert.ok($trigger[0].hasAttribute('aria-describedby'), 'trigger has aria-describedby')
+  })
+
+  QUnit.test('should remove aria-describedby from trigger on hide', function (assert) {
+    assert.expect(2)
+    var $trigger = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .bootstrapTooltip()
+      .appendTo('#qunit-fixture')
+
+    $trigger.bootstrapTooltip('show')
+    assert.ok($trigger[0].hasAttribute('aria-describedby'), 'trigger has aria-describedby')
+
+    $trigger.bootstrapTooltip('hide')
+    assert.ok(!$trigger[0].hasAttribute('aria-describedby'), 'trigger does not have aria-describedby')
+  })
+
+  QUnit.test('should assign a unique id tooltip element', function (assert) {
+    assert.expect(2)
+    $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip('show')
+
+    var id = $('.tooltip').attr('id')
+
+    assert.strictEqual($('#' + id).length, 1, 'tooltip has unique id')
+    assert.strictEqual(id.indexOf('tooltip'), 0, 'tooltip id has prefix')
+  })
+
+  QUnit.test('should place tooltips relative to placement option', function (assert) {
+    assert.expect(2)
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ placement: 'bottom' })
+
+    $tooltip.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.fade.bottom.in'), 'has correct classes applied')
+
+    $tooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed')
+  })
+
+  QUnit.test('should allow html entities', function (assert) {
+    assert.expect(2)
+    var $tooltip = $('<a href="#" rel="tooltip" title="&lt;b&gt;@fat&lt;/b&gt;"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ html: true })
+
+    $tooltip.bootstrapTooltip('show')
+    assert.notEqual($('.tooltip b').length, 0, 'b tag was inserted')
+
+    $tooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed')
+  })
+
+  QUnit.test('should respect custom classes', function (assert) {
+    assert.expect(2)
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ template: '<div class="tooltip some-class"><div class="tooltip-arrow"/><div class="tooltip-inner"/></div>' })
+
+    $tooltip.bootstrapTooltip('show')
+    assert.ok($('.tooltip').hasClass('some-class'), 'custom class is present')
+
+    $tooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed')
+  })
+
+  QUnit.test('should fire show event', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div title="tooltip title"/>')
+      .on('show.bs.tooltip', function () {
+        assert.ok(true, 'show event fired')
+        done()
+      })
+      .bootstrapTooltip('show')
+  })
+
+  QUnit.test('should fire shown event', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div title="tooltip title"></div>')
+      .appendTo('#qunit-fixture')
+      .on('shown.bs.tooltip', function () {
+        assert.ok(true, 'shown was called')
+        done()
+      })
+      .bootstrapTooltip('show')
+  })
+
+  QUnit.test('should not fire shown event when show was prevented', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div title="tooltip title"/>')
+      .on('show.bs.tooltip', function (e) {
+        e.preventDefault()
+        assert.ok(true, 'show event fired')
+        done()
+      })
+      .on('shown.bs.tooltip', function () {
+        assert.ok(false, 'shown event fired')
+      })
+      .bootstrapTooltip('show')
+  })
+
+  QUnit.test('should fire hide event', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div title="tooltip title"/>')
+      .appendTo('#qunit-fixture')
+      .on('shown.bs.tooltip', function () {
+        $(this).bootstrapTooltip('hide')
+      })
+      .on('hide.bs.tooltip', function () {
+        assert.ok(true, 'hide event fired')
+        done()
+      })
+      .bootstrapTooltip('show')
+  })
+
+  QUnit.test('should fire hidden event', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div title="tooltip title"/>')
+      .appendTo('#qunit-fixture')
+      .on('shown.bs.tooltip', function () {
+        $(this).bootstrapTooltip('hide')
+      })
+      .on('hidden.bs.tooltip', function () {
+        assert.ok(true, 'hidden event fired')
+        done()
+      })
+      .bootstrapTooltip('show')
+  })
+
+  QUnit.test('should not fire hidden event when hide was prevented', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    $('<div title="tooltip title"/>')
+      .appendTo('#qunit-fixture')
+      .on('shown.bs.tooltip', function () {
+        $(this).bootstrapTooltip('hide')
+      })
+      .on('hide.bs.tooltip', function (e) {
+        e.preventDefault()
+        assert.ok(true, 'hide event fired')
+        done()
+      })
+      .on('hidden.bs.tooltip', function () {
+        assert.ok(false, 'hidden event fired')
+      })
+      .bootstrapTooltip('show')
+  })
+
+  QUnit.test('should destroy tooltip', function (assert) {
+    assert.expect(7)
+    var $tooltip = $('<div/>')
+      .bootstrapTooltip()
+      .on('click.foo', function () {})
+
+    assert.ok($tooltip.data('bs.tooltip'), 'tooltip has data')
+    assert.ok($._data($tooltip[0], 'events').mouseover && $._data($tooltip[0], 'events').mouseout, 'tooltip has hover events')
+    assert.strictEqual($._data($tooltip[0], 'events').click[0].namespace, 'foo', 'tooltip has extra click.foo event')
+
+    $tooltip.bootstrapTooltip('show')
+    $tooltip.bootstrapTooltip('destroy')
+
+    assert.ok(!$tooltip.hasClass('in'), 'tooltip is hidden')
+    assert.ok(!$._data($tooltip[0], 'bs.tooltip'), 'tooltip does not have data')
+    assert.strictEqual($._data($tooltip[0], 'events').click[0].namespace, 'foo', 'tooltip still has click.foo')
+    assert.ok(!$._data($tooltip[0], 'events').mouseover && !$._data($tooltip[0], 'events').mouseout, 'tooltip does not have hover events')
+  })
+
+  QUnit.test('should show tooltip with delegate selector on click', function (assert) {
+    assert.expect(2)
+    var $div = $('<div><a href="#" rel="tooltip" title="Another tooltip"/></div>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({
+        selector: 'a[rel="tooltip"]',
+        trigger: 'click'
+      })
+
+    $div.find('a').trigger('click')
+    assert.ok($('.tooltip').is('.fade.in'), 'tooltip is faded in')
+
+    $div.find('a').trigger('click')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip was removed from dom')
+  })
+
+  QUnit.test('should show tooltip when toggle is called', function (assert) {
+    assert.expect(1)
+    $('<a href="#" rel="tooltip" title="tooltip on toggle"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ trigger: 'manual' })
+      .bootstrapTooltip('toggle')
+
+    assert.ok($('.tooltip').is('.fade.in'), 'tooltip is faded in')
+  })
+
+  QUnit.test('should hide previously shown tooltip when toggle is called on tooltip', function (assert) {
+    assert.expect(1)
+    $('<a href="#" rel="tooltip" title="tooltip on toggle">@ResentedHook</a>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ trigger: 'manual' })
+      .bootstrapTooltip('show')
+
+    $('.tooltip').bootstrapTooltip('toggle')
+    assert.ok($('.tooltip').not('.fade.in'), 'tooltip was faded out')
+  })
+
+  QUnit.test('should place tooltips inside body when container is body', function (assert) {
+    assert.expect(3)
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ container: 'body' })
+      .bootstrapTooltip('show')
+
+    assert.notEqual($('body > .tooltip').length, 0, 'tooltip is direct descendant of body')
+    assert.strictEqual($('#qunit-fixture > .tooltip').length, 0, 'tooltip is not in parent')
+
+    $tooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('body > .tooltip').length, 0, 'tooltip was removed from dom')
+  })
+
+  QUnit.test('should add position class before positioning so that position-specific styles are taken into account', function (assert) {
+    assert.expect(1)
+    var styles = '<style>'
+        + '.tooltip.right { white-space: nowrap; }'
+        + '.tooltip.right .tooltip-inner { max-width: none; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div/>').appendTo('#qunit-fixture')
+    var $target = $('<a href="#" rel="tooltip" title="very very very very very very very very long tooltip in one line"/>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'right',
+        viewport: null
+      })
+      .bootstrapTooltip('show')
+    var $tooltip = $container.find('.tooltip')
+
+    // this is some dumb hack shit because sub pixels in firefox
+    var top = Math.round($target.offset().top + ($target[0].offsetHeight / 2) - ($tooltip[0].offsetHeight / 2))
+    var top2 = Math.round($tooltip.offset().top)
+    var topDiff = top - top2
+    assert.ok(topDiff <= 1 && topDiff >= -1)
+    $target.bootstrapTooltip('hide')
+
+    $container.remove()
+    $styles.remove()
+  })
+
+  QUnit.test('should use title attribute for tooltip text', function (assert) {
+    assert.expect(2)
+    var $tooltip = $('<a href="#" rel="tooltip" title="Simple tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip()
+
+    $tooltip.bootstrapTooltip('show')
+    assert.strictEqual($('.tooltip').children('.tooltip-inner').text(), 'Simple tooltip', 'title from title attribute is set')
+
+    $tooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+  })
+
+  QUnit.test('should prefer title attribute over title option', function (assert) {
+    assert.expect(2)
+    var $tooltip = $('<a href="#" rel="tooltip" title="Simple tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({
+        title: 'This is a tooltip with some content'
+      })
+
+    $tooltip.bootstrapTooltip('show')
+    assert.strictEqual($('.tooltip').children('.tooltip-inner').text(), 'Simple tooltip', 'title is set from title attribute while preferred over title option')
+
+    $tooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+  })
+
+  QUnit.test('should use title option', function (assert) {
+    assert.expect(2)
+    var $tooltip = $('<a href="#" rel="tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({
+        title: 'This is a tooltip with some content'
+      })
+
+    $tooltip.bootstrapTooltip('show')
+    assert.strictEqual($('.tooltip').children('.tooltip-inner').text(), 'This is a tooltip with some content', 'title from title option is set')
+
+    $tooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+  })
+
+  QUnit.test('should be placed dynamically with the dynamic placement option', function (assert) {
+    assert.expect(6)
+    var $style = $('<style> a[rel="tooltip"] { display: inline-block; position: absolute; } </style>')
+    var $container = $('<div/>')
+      .css({
+        position: 'absolute',
+        overflow: 'hidden',
+        width: 600,
+        height: 400,
+        top: 0,
+        left: 0
+      })
+      .appendTo(document.body)
+
+    var $topTooltip = $('<div style="left: 0; top: 0;" rel="tooltip" title="Top tooltip">Top Dynamic Tooltip</div>')
+      .appendTo($container)
+      .bootstrapTooltip({ placement: 'auto' })
+
+    $topTooltip.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.bottom'), 'top positioned tooltip is dynamically positioned to bottom')
+
+    $topTooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'top positioned tooltip removed from dom')
+
+    var $rightTooltip = $('<div style="right: 0;" rel="tooltip" title="Right tooltip">Right Dynamic Tooltip</div>')
+      .appendTo($container)
+      .bootstrapTooltip({ placement: 'right auto' })
+
+    $rightTooltip.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.left'), 'right positioned tooltip is dynamically positioned left')
+
+    $rightTooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'right positioned tooltip removed from dom')
+
+    var $leftTooltip = $('<div style="left: 0;" rel="tooltip" title="Left tooltip">Left Dynamic Tooltip</div>')
+      .appendTo($container)
+      .bootstrapTooltip({ placement: 'auto left' })
+
+    $leftTooltip.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.right'), 'left positioned tooltip is dynamically positioned right')
+
+    $leftTooltip.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'left positioned tooltip removed from dom')
+
+    $container.remove()
+    $style.remove()
+  })
+
+  QUnit.test('should position tip on top if viewport has enough space and placement is "auto top"', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + 'body { padding-top: 100px; }'
+        + '#section { height: 300px; border: 1px solid red; padding-top: 50px }'
+        + 'div[rel="tooltip"] { width: 150px; border: 1px solid blue; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div id="section"/>').appendTo('#qunit-fixture')
+    var $target = $('<div rel="tooltip" title="tip"/>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'auto top',
+        viewport: '#section'
+      })
+
+    $target.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.top'), 'top positioned tooltip is dynamically positioned to top')
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $styles.remove()
+  })
+
+  QUnit.test('should position tip on bottom if the tip\'s dimension exceeds the viewport area and placement is "auto top"', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + 'body { padding-top: 100px; }'
+        + '#section { height: 300px; border: 1px solid red; }'
+        + 'div[rel="tooltip"] { width: 150px; border: 1px solid blue; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div id="section"/>').appendTo('#qunit-fixture')
+    var $target = $('<div rel="tooltip" title="tip"/>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'auto top',
+        viewport: '#section'
+      })
+
+    $target.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.bottom'), 'top positioned tooltip is dynamically positioned to bottom')
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $styles.remove()
+  })
+
+  QUnit.test('should display the tip on top whenever scrollable viewport has enough room if the given placement is "auto top"', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + '#scrollable-div { height: 200px; overflow: auto; }'
+        + '.tooltip-item { margin: 200px 0 400px; width: 150px; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div id="scrollable-div"/>').appendTo('#qunit-fixture')
+    var $target = $('<div rel="tooltip" title="tip" class="tooltip-item">Tooltip Item</div>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'top auto',
+        viewport: '#scrollable-div'
+      })
+
+    $('#scrollable-div').scrollTop(100)
+
+    $target.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.fade.top.in'), 'has correct classes applied')
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $styles.remove()
+  })
+
+  QUnit.test('should display the tip on bottom whenever scrollable viewport doesn\'t have enough room if the given placement is "auto top"', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + '#scrollable-div { height: 200px; overflow: auto; }'
+        + '.tooltip-item { padding: 200px 0 400px; width: 150px; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div id="scrollable-div"/>').appendTo('#qunit-fixture')
+    var $target = $('<div rel="tooltip" title="tip" class="tooltip-item">Tooltip Item</div>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'top auto',
+        viewport: '#scrollable-div'
+      })
+
+    $('#scrollable-div').scrollTop(200)
+
+    $target.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.fade.bottom.in'), 'has correct classes applied')
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $styles.remove()
+  })
+
+  QUnit.test('should display the tip on bottom whenever scrollable viewport has enough room if the given placement is "auto bottom"', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + '#scrollable-div { height: 200px; overflow: auto; }'
+        + '.spacer { height: 400px; }'
+        + '.spacer:first-child { height: 200px; }'
+        + '.tooltip-item { width: 150px; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div id="scrollable-div"/>').appendTo('#qunit-fixture')
+    var $target = $('<div rel="tooltip" title="tip" class="tooltip-item">Tooltip Item</div>')
+      .appendTo($container)
+      .before('<div class="spacer"/>')
+      .after('<div class="spacer"/>')
+      .bootstrapTooltip({
+        placement: 'bottom auto',
+        viewport: '#scrollable-div'
+      })
+
+    $('#scrollable-div').scrollTop(200)
+
+    $target.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.fade.bottom.in'), 'has correct classes applied')
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $styles.remove()
+  })
+
+  QUnit.test('should display the tip on top whenever scrollable viewport doesn\'t have enough room if the given placement is "auto bottom"', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + '#scrollable-div { height: 200px; overflow: auto; }'
+        + '.tooltip-item { margin-top: 400px; width: 150px; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div id="scrollable-div"/>').appendTo('#qunit-fixture')
+    var $target = $('<div rel="tooltip" title="tip" class="tooltip-item">Tooltip Item</div>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'bottom auto',
+        viewport: '#scrollable-div'
+      })
+
+    $('#scrollable-div').scrollTop(400)
+
+    $target.bootstrapTooltip('show')
+    assert.ok($('.tooltip').is('.fade.top.in'), 'has correct classes applied')
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $styles.remove()
+  })
+
+  QUnit.test('should adjust the tip\'s top position when up against the top of the viewport', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + '.tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }'
+        + 'a[rel="tooltip"] { position: fixed; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div/>').appendTo('#qunit-fixture')
+    var $target = $('<a href="#" rel="tooltip" title="tip" style="top: 0px; left: 0px;"/>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'right',
+        viewport: {
+          selector: 'body',
+          padding: 12
+        }
+      })
+
+    $target.bootstrapTooltip('show')
+    assert.strictEqual(Math.round($container.find('.tooltip').offset().top), 12)
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $styles.remove()
+  })
+
+  QUnit.test('should adjust the tip\'s top position when up against the bottom of the viewport', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + '.tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }'
+        + 'a[rel="tooltip"] { position: fixed; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div/>').appendTo('#qunit-fixture')
+    var $target = $('<a href="#" rel="tooltip" title="tip" style="bottom: 0px; left: 0px;"/>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'right',
+        viewport: {
+          selector: 'body',
+          padding: 12
+        }
+      })
+
+    $target.bootstrapTooltip('show')
+    var $tooltip = $container.find('.tooltip')
+    assert.strictEqual(Math.round($tooltip.offset().top), Math.round($(window).height() - 12 - $tooltip[0].offsetHeight))
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $container.remove()
+    $styles.remove()
+  })
+
+  QUnit.test('should adjust the tip\'s left position when up against the left of the viewport', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + '.tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }'
+        + 'a[rel="tooltip"] { position: fixed; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div/>').appendTo('#qunit-fixture')
+    var $target = $('<a href="#" rel="tooltip" title="tip" style="top: 0px; left: 0px;"/>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'bottom',
+        viewport: {
+          selector: 'body',
+          padding: 12
+        }
+      })
+
+    $target.bootstrapTooltip('show')
+    assert.strictEqual(Math.round($container.find('.tooltip').offset().left), 12)
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $container.remove()
+    $styles.remove()
+  })
+
+  QUnit.test('should adjust the tip\'s left position when up against the right of the viewport', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + '.tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }'
+        + 'a[rel="tooltip"] { position: fixed; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div/>').appendTo('body')
+    var $target = $('<a href="#" rel="tooltip" title="tip" style="top: 0px; right: 0px;"/>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'bottom',
+        viewport: {
+          selector: 'body',
+          padding: 12
+        }
+      })
+
+    $target.bootstrapTooltip('show')
+    var $tooltip = $container.find('.tooltip')
+    assert.strictEqual(Math.round($tooltip.offset().left), Math.round($(window).width() - 12 - $tooltip[0].offsetWidth))
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $container.remove()
+    $styles.remove()
+  })
+
+  QUnit.test('should adjust the tip when up against the right of an arbitrary viewport', function (assert) {
+    assert.expect(2)
+    var styles = '<style>'
+        + '.tooltip, .tooltip .tooltip-inner { width: 200px; height: 200px; max-width: none; }'
+        + '.container-viewport { position: absolute; top: 50px; left: 60px; width: 300px; height: 300px; }'
+        + 'a[rel="tooltip"] { position: fixed; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $container = $('<div class="container-viewport"/>').appendTo(document.body)
+    var $target = $('<a href="#" rel="tooltip" title="tip" style="top: 50px; left: 350px;"/>')
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'bottom',
+        viewport: '.container-viewport'
+      })
+
+    $target.bootstrapTooltip('show')
+    var $tooltip = $container.find('.tooltip')
+    assert.strictEqual(Math.round($tooltip.offset().left), Math.round(60 + $container.width() - $tooltip[0].offsetWidth))
+
+    $target.bootstrapTooltip('hide')
+    assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+
+    $container.remove()
+    $styles.remove()
+  })
+
+  QUnit.test('should not error when trying to show an auto-placed tooltip that has been removed from the dom', function (assert) {
+    assert.expect(1)
+    var passed = true
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .one('show.bs.tooltip', function () {
+        $(this).remove()
+      })
+      .bootstrapTooltip({ placement: 'auto' })
+
+    try {
+      $tooltip.bootstrapTooltip('show')
+    } catch (err) {
+      passed = false
+      console.log(err)
+    }
+
+    assert.ok(passed, '.tooltip(\'show\') should not throw an error if element no longer is in dom')
+  })
+
+  QUnit.test('should place tooltip on top of element', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var containerHTML = '<div>'
+        + '<p style="margin-top: 200px">'
+        + '<a href="#" title="very very very very very very very long tooltip">Hover me</a>'
+        + '</p>'
+        + '</div>'
+
+    var $container = $(containerHTML)
+      .css({
+        position: 'absolute',
+        bottom: 0,
+        left: 0,
+        textAlign: 'right',
+        width: 300,
+        height: 300
+      })
+      .appendTo('#qunit-fixture')
+
+    var $trigger = $container
+      .find('a')
+      .css('margin-top', 200)
+      .bootstrapTooltip({
+        placement: 'top',
+        animate: false
+      })
+      .bootstrapTooltip('show')
+
+    var $tooltip = $container.find('.tooltip')
+
+    setTimeout(function () {
+      assert.ok(Math.round($tooltip.offset().top + $tooltip.outerHeight()) <= Math.round($trigger.offset().top))
+      done()
+    }, 0)
+  })
+
+  QUnit.test('should place tooltip inside viewport', function (assert) {
+    assert.expect(1)
+    var done = assert.async()
+
+    var $container = $('<div/>')
+      .css({
+        position: 'absolute',
+        width: 200,
+        height: 200,
+        bottom: 0,
+        left: 0
+      })
+      .appendTo('#qunit-fixture')
+
+    $('<a href="#" title="Very very very very very very very very long tooltip">Hover me</a>')
+      .css({
+        position: 'absolute',
+        top: 0,
+        left: 0
+      })
+      .appendTo($container)
+      .bootstrapTooltip({
+        placement: 'top'
+      })
+      .bootstrapTooltip('show')
+
+    setTimeout(function () {
+      assert.ok($('.tooltip').offset().left >= 0)
+      done()
+    }, 0)
+  })
+
+  QUnit.test('should show tooltip if leave event hasn\'t occurred before delay expires', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ delay: 150 })
+
+    setTimeout(function () {
+      assert.ok(!$('.tooltip').is('.fade.in'), '100ms: tooltip is not faded in')
+    }, 100)
+
+    setTimeout(function () {
+      assert.ok($('.tooltip').is('.fade.in'), '200ms: tooltip is faded in')
+      done()
+    }, 200)
+
+    $tooltip.trigger('mouseenter')
+  })
+
+  QUnit.test('should not show tooltip if leave event occurs before delay expires', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ delay: 150 })
+
+    setTimeout(function () {
+      assert.ok(!$('.tooltip').is('.fade.in'), '100ms: tooltip not faded in')
+      $tooltip.trigger('mouseout')
+    }, 100)
+
+    setTimeout(function () {
+      assert.ok(!$('.tooltip').is('.fade.in'), '200ms: tooltip not faded in')
+      done()
+    }, 200)
+
+    $tooltip.trigger('mouseenter')
+  })
+
+  QUnit.test('should not hide tooltip if leave event occurs and enter event occurs within the hide delay', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ delay: { show: 0, hide: 150 }})
+
+    setTimeout(function () {
+      assert.ok($('.tooltip').is('.fade.in'), '1ms: tooltip faded in')
+      $tooltip.trigger('mouseout')
+
+      setTimeout(function () {
+        assert.ok($('.tooltip').is('.fade.in'), '100ms: tooltip still faded in')
+        $tooltip.trigger('mouseenter')
+      }, 100)
+
+      setTimeout(function () {
+        assert.ok($('.tooltip').is('.fade.in'), '200ms: tooltip still faded in')
+        done()
+      }, 200)
+    }, 0)
+
+    $tooltip.trigger('mouseenter')
+  })
+
+  QUnit.test('should not show tooltip if leave event occurs before delay expires', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ delay: 150 })
+
+    setTimeout(function () {
+      assert.ok(!$('.tooltip').is('.fade.in'), '100ms: tooltip not faded in')
+      $tooltip.trigger('mouseout')
+    }, 100)
+
+    setTimeout(function () {
+      assert.ok(!$('.tooltip').is('.fade.in'), '200ms: tooltip not faded in')
+      done()
+    }, 200)
+
+    $tooltip.trigger('mouseenter')
+  })
+
+  QUnit.test('should not show tooltip if leave event occurs before delay expires, even if hide delay is 0', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ delay: { show: 150, hide: 0 }})
+
+    setTimeout(function () {
+      assert.ok(!$('.tooltip').is('.fade.in'), '100ms: tooltip not faded in')
+      $tooltip.trigger('mouseout')
+    }, 100)
+
+    setTimeout(function () {
+      assert.ok(!$('.tooltip').is('.fade.in'), '250ms: tooltip not faded in')
+      done()
+    }, 250)
+
+    $tooltip.trigger('mouseenter')
+  })
+
+  QUnit.test('should wait 200ms before hiding the tooltip', function (assert) {
+    assert.expect(3)
+    var done = assert.async()
+
+    var $tooltip = $('<a href="#" rel="tooltip" title="Another tooltip"/>')
+      .appendTo('#qunit-fixture')
+      .bootstrapTooltip({ delay: { show: 0, hide: 150 }})
+
+    setTimeout(function () {
+      assert.ok($tooltip.data('bs.tooltip').$tip.is('.fade.in'), '1ms: tooltip faded in')
+
+      $tooltip.trigger('mouseout')
+
+      setTimeout(function () {
+        assert.ok($tooltip.data('bs.tooltip').$tip.is('.fade.in'), '100ms: tooltip still faded in')
+      }, 100)
+
+      setTimeout(function () {
+        assert.ok(!$tooltip.data('bs.tooltip').$tip.is('.in'), '200ms: tooltip removed')
+        done()
+      }, 200)
+
+    }, 0)
+
+    $tooltip.trigger('mouseenter')
+  })
+
+  QUnit.test('should correctly position tooltips on SVG elements', function (assert) {
+    if (!window.SVGElement) {
+      // Skip IE8 since it doesn't support SVG
+      assert.expect(0)
+      return
+    }
+    assert.expect(2)
+
+    var done = assert.async()
+
+    var styles = '<style>'
+        + '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }'
+        + '.tooltip { position: absolute; }'
+        + '.tooltip .tooltip-inner { width: 24px; height: 24px; font-family: Helvetica; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    $('#qunit-fixture').append(
+        '<div style="position: fixed; top: 0; left: 0;">'
+      + '  <svg width="200" height="200">'
+      + '    <circle cx="100" cy="100" r="10" title="m" id="theCircle" />'
+      + '  </svg>'
+      + '</div>')
+    var $circle = $('#theCircle')
+
+    $circle
+      .on('shown.bs.tooltip', function () {
+        var offset = $('.tooltip').offset()
+        $styles.remove()
+        assert.ok(Math.abs(offset.left - 88) <= 1, 'tooltip has correct horizontal location')
+        $circle.bootstrapTooltip('hide')
+        assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+        done()
+      })
+      .bootstrapTooltip({ container: 'body', placement: 'top', trigger: 'manual' })
+
+    $circle.bootstrapTooltip('show')
+  })
+
+  QUnit.test('should correctly determine auto placement based on container rather than parent', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var styles = '<style>'
+        + '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }'
+        + '.tooltip { position: absolute; display: block; font-size: 12px; line-height: 1.4; }'
+        + '.tooltip .tooltip-inner { max-width: 200px; padding: 3px 8px; font-family: Helvetica; text-align: center; }'
+        + '#trigger-parent {'
+        + '  position: fixed;'
+        + '  top: 100px;'
+        + '  right: 17px;'
+        + '}'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    $('#qunit-fixture').append('<span id="trigger-parent"><a id="tt-trigger" title="If a_larger_text is written here, it won\'t fit using older broken version of BS">HOVER OVER ME</a></span>')
+    var $trigger = $('#tt-trigger')
+
+    $trigger
+      .on('shown.bs.tooltip', function () {
+        var $tip = $('.tooltip-inner')
+        var tipXrightEdge = $tip.offset().left + $tip.width()
+        var triggerXleftEdge = $trigger.offset().left
+        assert.ok(tipXrightEdge < triggerXleftEdge, 'tooltip with auto left placement, when near the right edge of the viewport, gets left placement')
+        $trigger.bootstrapTooltip('hide')
+      })
+      .on('hidden.bs.tooltip', function () {
+        $styles.remove()
+        $(this).remove()
+        assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+        done()
+      })
+      .bootstrapTooltip({
+        container: 'body',
+        placement: 'auto left',
+        trigger: 'manual'
+      })
+
+    $trigger.bootstrapTooltip('show')
+  })
+
+  QUnit.test('should not reload the tooltip on subsequent mouseenter events', function (assert) {
+    assert.expect(1)
+    var titleHtml = function () {
+      var uid = $.fn.bootstrapTooltip.Constructor.prototype.getUID('tooltip')
+      return '<p id="tt-content">' + uid + '</p><p>' + uid + '</p><p>' + uid + '</p>'
+    }
+
+    var $tooltip = $('<span id="tt-outer" rel="tooltip" data-trigger="hover" data-placement="top">some text</span>')
+      .appendTo('#qunit-fixture')
+
+    $tooltip.bootstrapTooltip({
+      html: true,
+      animation: false,
+      trigger: 'hover',
+      delay: { show: 0, hide: 500 },
+      container: $tooltip,
+      title: titleHtml
+    })
+
+    $('#tt-outer').trigger('mouseenter')
+
+    var currentUid = $('#tt-content').text()
+
+    $('#tt-content').trigger('mouseenter')
+    assert.strictEqual(currentUid, $('#tt-content').text())
+  })
+
+  QUnit.test('should not reload the tooltip if the mouse leaves and re-enters before hiding', function (assert) {
+    assert.expect(4)
+    var titleHtml = function () {
+      var uid = $.fn.bootstrapTooltip.Constructor.prototype.getUID('tooltip')
+      return '<p id="tt-content">' + uid + '</p><p>' + uid + '</p><p>' + uid + '</p>'
+    }
+
+    var $tooltip = $('<span id="tt-outer" rel="tooltip" data-trigger="hover" data-placement="top">some text</span>')
+      .appendTo('#qunit-fixture')
+
+    $tooltip.bootstrapTooltip({
+      html: true,
+      animation: false,
+      trigger: 'hover',
+      delay: { show: 0, hide: 500 },
+      container: $tooltip,
+      title: titleHtml
+    })
+
+    var obj = $tooltip.data('bs.tooltip')
+
+    $('#tt-outer').trigger('mouseenter')
+
+    var currentUid = $('#tt-content').text()
+
+    $('#tt-outer').trigger('mouseleave')
+    assert.strictEqual(currentUid, $('#tt-content').text())
+
+    assert.ok(obj.hoverState == 'out', 'the tooltip hoverState should be set to "out"')
+
+    $('#tt-content').trigger('mouseenter')
+    assert.ok(obj.hoverState == 'in', 'the tooltip hoverState should be set to "in"')
+
+    assert.strictEqual(currentUid, $('#tt-content').text())
+  })
+
+  QUnit.test('should position arrow correctly when tooltip is moved to not appear offscreen', function (assert) {
+    assert.expect(2)
+    var done = assert.async()
+
+    var styles = '<style>'
+        + '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }'
+        + '.tooltip { position: absolute; }'
+        + '.tooltip-arrow { position: absolute; width: 0; height: 0; }'
+        + '.tooltip .tooltip-inner { max-width: 200px; padding: 3px 8px; }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    $('<a href="#" title="tooltip title" style="position: absolute; bottom: 0; right: 0;">Foobar</a>')
+      .appendTo('body')
+      .on('shown.bs.tooltip', function () {
+        var arrowStyles = $(this).data('bs.tooltip').$tip.find('.tooltip-arrow').attr('style')
+        assert.ok(/left/i.test(arrowStyles) && !/top/i.test(arrowStyles), 'arrow positioned correctly')
+        $(this).bootstrapTooltip('hide')
+      })
+      .on('hidden.bs.tooltip', function () {
+        $styles.remove()
+        $(this).remove()
+        assert.strictEqual($('.tooltip').length, 0, 'tooltip removed from dom')
+        done()
+      })
+      .bootstrapTooltip({
+        container: 'body',
+        placement: 'top',
+        trigger: 'manual'
+      })
+      .bootstrapTooltip('show')
+  })
+
+  QUnit.test('should correctly position tooltips on transformed elements', function (assert) {
+    var styleProps = document.documentElement.style
+    if (!('transform' in styleProps) && !('webkitTransform' in styleProps) && !('msTransform' in styleProps)) {
+      assert.expect(0)
+      return
+    }
+    assert.expect(2)
+
+    var done = assert.async()
+
+    var styles = '<style>'
+        + '#qunit-fixture { top: 0; left: 0; }'
+        + '.tooltip, .tooltip *, .tooltip *:before, .tooltip *:after { box-sizing: border-box; }'
+        + '.tooltip { position: absolute; }'
+        + '.tooltip .tooltip-inner { width: 24px; height: 24px; font-family: Helvetica; }'
+        + '#target { position: absolute; top: 100px; left: 50px; width: 100px; height: 200px; -webkit-transform: rotate(270deg); -ms-transform: rotate(270deg); transform: rotate(270deg); }'
+        + '</style>'
+    var $styles = $(styles).appendTo('head')
+
+    var $element = $('<div id="target" title="1"/>').appendTo('#qunit-fixture')
+
+    $element
+      .on('shown.bs.tooltip', function () {
+        var offset = $('.tooltip').offset()
+        $styles.remove()
+        assert.ok(Math.abs(offset.left - 88) <= 1, 'tooltip has correct horizontal location')
+        assert.ok(Math.abs(offset.top - 126) <= 1, 'tooltip has correct vertical location')
+        $element.bootstrapTooltip('hide')
+        done()
+      })
+      .bootstrapTooltip({
+        container: 'body',
+        placement: 'top',
+        trigger: 'manual'
+      })
+
+    $element.bootstrapTooltip('show')
+  })
+
+  QUnit.test('should throw an error when initializing tooltip on the document object without specifying a delegation selector', function (assert) {
+    assert.expect(1)
+    assert.throws(function () {
+      $(document).bootstrapTooltip({ title: 'What am I on?' })
+    }, new Error('`selector` option must be specified when initializing tooltip on the window.document object!'))
+  })
+
+  QUnit.test('should do nothing when an attempt is made to hide an uninitialized tooltip', function (assert) {
+    assert.expect(1)
+
+    var $tooltip = $('<span data-toggle="tooltip" title="some tip">some text</span>')
+      .appendTo('#qunit-fixture')
+      .on('hidden.bs.tooltip shown.bs.tooltip', function () {
+        assert.ok(false, 'should not fire any tooltip events')
+      })
+      .bootstrapTooltip('hide')
+    assert.strictEqual($tooltip.data('bs.tooltip'), undefined, 'should not initialize the tooltip')
+  })
+
+})

+ 5 - 0
misago/emberapp/vendor/bootstrap/tests/vendor/jquery.min.js

@@ -0,0 +1,5 @@
+/*! jQuery v1.11.2 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */
+!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l="1.11.2",m=function(a,b){return new m.fn.init(a,b)},n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,o=/^-ms-/,p=/-([\da-z])/gi,q=function(a,b){return b.toUpperCase()};m.fn=m.prototype={jquery:l,constructor:m,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=m.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return m.each(this,a,b)},map:function(a){return this.pushStack(m.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},m.extend=m.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||m.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(e=arguments[h]))for(d in e)a=g[d],c=e[d],g!==c&&(j&&c&&(m.isPlainObject(c)||(b=m.isArray(c)))?(b?(b=!1,f=a&&m.isArray(a)?a:[]):f=a&&m.isPlainObject(a)?a:{},g[d]=m.extend(j,f,c)):void 0!==c&&(g[d]=c));return g},m.extend({expando:"jQuery"+(l+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===m.type(a)},isArray:Array.isArray||function(a){return"array"===m.type(a)},isWindow:function(a){return null!=a&&a==a.window},isNumeric:function(a){return!m.isArray(a)&&a-parseFloat(a)+1>=0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},isPlainObject:function(a){var b;if(!a||"object"!==m.type(a)||a.nodeType||m.isWindow(a))return!1;try{if(a.constructor&&!j.call(a,"constructor")&&!j.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}if(k.ownLast)for(b in a)return j.call(a,b);for(b in a);return void 0===b||j.call(a,b)},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(b){b&&m.trim(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(o,"ms-").replace(p,q)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=r(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(n,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(r(Object(a))?m.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){var d;if(b){if(g)return g.call(b,a,c);for(d=b.length,c=c?0>c?Math.max(0,d+c):c:0;d>c;c++)if(c in b&&b[c]===a)return c}return-1},merge:function(a,b){var c=+b.length,d=0,e=a.length;while(c>d)a[e++]=b[d++];if(c!==c)while(void 0!==b[d])a[e++]=b[d++];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=r(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(f=a[b],b=a,a=f),m.isFunction(a)?(c=d.call(arguments,2),e=function(){return a.apply(b||this,c.concat(d.call(arguments)))},e.guid=a.guid=a.guid||m.guid++,e):void 0},now:function(){return+new Date},support:k}),m.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function r(a){var b=a.length,c=m.type(a);return"function"===c||m.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var s=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=hb(),z=hb(),A=hb(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N=M.replace("w","w#"),O="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+N+"))|)"+L+"*\\]",P=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+O+")*)|.*)\\)|)",Q=new RegExp(L+"+","g"),R=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),S=new RegExp("^"+L+"*,"+L+"*"),T=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),U=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),V=new RegExp(P),W=new RegExp("^"+N+"$"),X={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+O),PSEUDO:new RegExp("^"+P),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},eb=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(fb){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function gb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],k=b.nodeType,"string"!=typeof a||!a||1!==k&&9!==k&&11!==k)return d;if(!e&&p){if(11!==k&&(f=_.exec(a)))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return H.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName)return H.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=1!==k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+rb(o[l]);w=ab.test(a)&&pb(b.parentNode)||b,x=o.join(",")}if(x)try{return H.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function hb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ib(a){return a[u]=!0,a}function jb(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function kb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function lb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function nb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function ob(a){return ib(function(b){return b=+b,ib(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function pb(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=gb.support={},f=gb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=gb.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=g.documentElement,e=g.defaultView,e&&e!==e.top&&(e.addEventListener?e.addEventListener("unload",eb,!1):e.attachEvent&&e.attachEvent("onunload",eb)),p=!f(g),c.attributes=jb(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=jb(function(a){return a.appendChild(g.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(g.getElementsByClassName),c.getById=jb(function(a){return o.appendChild(a).id=u,!g.getElementsByName||!g.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(g.querySelectorAll))&&(jb(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\f]' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),jb(function(a){var b=g.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&jb(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",P)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===g||a.ownerDocument===v&&t(v,a)?-1:b===g||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,h=[a],i=[b];if(!e||!f)return a===g?-1:b===g?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return lb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?lb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},g):n},gb.matches=function(a,b){return gb(a,null,null,b)},gb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return gb(b,n,null,[a]).length>0},gb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},gb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},gb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},gb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=gb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=gb.selectors={cacheLength:50,createPseudo:ib,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||gb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&gb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=gb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(Q," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||gb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ib(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ib(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?ib(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ib(function(a){return function(b){return gb(a,b).length>0}}),contains:ib(function(a){return a=a.replace(cb,db),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ib(function(a){return W.test(a||"")||gb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:ob(function(){return[0]}),last:ob(function(a,b){return[b-1]}),eq:ob(function(a,b,c){return[0>c?c+b:c]}),even:ob(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:ob(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:ob(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:ob(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=mb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=nb(b);function qb(){}qb.prototype=d.filters=d.pseudos,d.setFilters=new qb,g=gb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?gb.error(a):z(a,i).slice(0)};function rb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function sb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function tb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ub(a,b,c){for(var d=0,e=b.length;e>d;d++)gb(a,b[d],c);return c}function vb(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function wb(a,b,c,d,e,f){return d&&!d[u]&&(d=wb(d)),e&&!e[u]&&(e=wb(e,f)),ib(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ub(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:vb(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=vb(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=vb(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function xb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=sb(function(a){return a===b},h,!0),l=sb(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[sb(tb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return wb(i>1&&tb(m),i>1&&rb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&xb(a.slice(i,e)),f>e&&xb(a=a.slice(e)),f>e&&rb(a))}m.push(c)}return tb(m)}function yb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=F.call(i));s=vb(s)}H.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&gb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?ib(f):f}return h=gb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=xb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,yb(e,d)),f.selector=a}return f},i=gb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&pb(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&rb(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&pb(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=jb(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),jb(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||kb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&jb(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||kb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),jb(function(a){return null==a.getAttribute("disabled")})||kb(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),gb}(a);m.find=s,m.expr=s.selectors,m.expr[":"]=m.expr.pseudos,m.unique=s.uniqueSort,m.text=s.getText,m.isXMLDoc=s.isXML,m.contains=s.contains;var t=m.expr.match.needsContext,u=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,v=/^.[^:#\[\.,]*$/;function w(a,b,c){if(m.isFunction(b))return m.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return m.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(v.test(b))return m.filter(b,a,c);b=m.filter(b,a)}return m.grep(a,function(a){return m.inArray(a,b)>=0!==c})}m.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?m.find.matchesSelector(d,a)?[d]:[]:m.find.matches(a,m.grep(b,function(a){return 1===a.nodeType}))},m.fn.extend({find:function(a){var b,c=[],d=this,e=d.length;if("string"!=typeof a)return this.pushStack(m(a).filter(function(){for(b=0;e>b;b++)if(m.contains(d[b],this))return!0}));for(b=0;e>b;b++)m.find(a,d[b],c);return c=this.pushStack(e>1?m.unique(c):c),c.selector=this.selector?this.selector+" "+a:a,c},filter:function(a){return this.pushStack(w(this,a||[],!1))},not:function(a){return this.pushStack(w(this,a||[],!0))},is:function(a){return!!w(this,"string"==typeof a&&t.test(a)?m(a):a||[],!1).length}});var x,y=a.document,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=m.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a.charAt(0)&&">"===a.charAt(a.length-1)&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||x).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof m?b[0]:b,m.merge(this,m.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:y,!0)),u.test(c[1])&&m.isPlainObject(b))for(c in b)m.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}if(d=y.getElementById(c[2]),d&&d.parentNode){if(d.id!==c[2])return x.find(a);this.length=1,this[0]=d}return this.context=y,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):m.isFunction(a)?"undefined"!=typeof x.ready?x.ready(a):a(m):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),m.makeArray(a,this))};A.prototype=m.fn,x=m(y);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};m.extend({dir:function(a,b,c){var d=[],e=a[b];while(e&&9!==e.nodeType&&(void 0===c||1!==e.nodeType||!m(e).is(c)))1===e.nodeType&&d.push(e),e=e[b];return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),m.fn.extend({has:function(a){var b,c=m(a,this),d=c.length;return this.filter(function(){for(b=0;d>b;b++)if(m.contains(this,c[b]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=t.test(a)||"string"!=typeof a?m(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&m.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?m.unique(f):f)},index:function(a){return a?"string"==typeof a?m.inArray(this[0],m(a)):m.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(m.unique(m.merge(this.get(),m(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){do a=a[b];while(a&&1!==a.nodeType);return a}m.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return m.dir(a,"parentNode")},parentsUntil:function(a,b,c){return m.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return m.dir(a,"nextSibling")},prevAll:function(a){return m.dir(a,"previousSibling")},nextUntil:function(a,b,c){return m.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return m.dir(a,"previousSibling",c)},siblings:function(a){return m.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return m.sibling(a.firstChild)},contents:function(a){return m.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:m.merge([],a.childNodes)}},function(a,b){m.fn[a]=function(c,d){var e=m.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=m.filter(d,e)),this.length>1&&(C[a]||(e=m.unique(e)),B.test(a)&&(e=e.reverse())),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return m.each(a.match(E)||[],function(a,c){b[c]=!0}),b}m.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):m.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(c=a.memory&&l,d=!0,f=g||0,g=0,e=h.length,b=!0;h&&e>f;f++)if(h[f].apply(l[0],l[1])===!1&&a.stopOnFalse){c=!1;break}b=!1,h&&(i?i.length&&j(i.shift()):c?h=[]:k.disable())},k={add:function(){if(h){var d=h.length;!function f(b){m.each(b,function(b,c){var d=m.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&f(c)})}(arguments),b?e=h.length:c&&(g=d,j(c))}return this},remove:function(){return h&&m.each(arguments,function(a,c){var d;while((d=m.inArray(c,h,d))>-1)h.splice(d,1),b&&(e>=d&&e--,f>=d&&f--)}),this},has:function(a){return a?m.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],e=0,this},disable:function(){return h=i=c=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,c||k.disable(),this},locked:function(){return!i},fireWith:function(a,c){return!h||d&&!i||(c=c||[],c=[a,c.slice?c.slice():c],b?i.push(c):j(c)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!d}};return k},m.extend({Deferred:function(a){var b=[["resolve","done",m.Callbacks("once memory"),"resolved"],["reject","fail",m.Callbacks("once memory"),"rejected"],["notify","progress",m.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return m.Deferred(function(c){m.each(b,function(b,f){var g=m.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&m.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?m.extend(a,d):d}},e={};return d.pipe=d.then,m.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&m.isFunction(a.promise)?e:0,g=1===f?a:m.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&m.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;m.fn.ready=function(a){return m.ready.promise().done(a),this},m.extend({isReady:!1,readyWait:1,holdReady:function(a){a?m.readyWait++:m.ready(!0)},ready:function(a){if(a===!0?!--m.readyWait:!m.isReady){if(!y.body)return setTimeout(m.ready);m.isReady=!0,a!==!0&&--m.readyWait>0||(H.resolveWith(y,[m]),m.fn.triggerHandler&&(m(y).triggerHandler("ready"),m(y).off("ready")))}}});function I(){y.addEventListener?(y.removeEventListener("DOMContentLoaded",J,!1),a.removeEventListener("load",J,!1)):(y.detachEvent("onreadystatechange",J),a.detachEvent("onload",J))}function J(){(y.addEventListener||"load"===event.type||"complete"===y.readyState)&&(I(),m.ready())}m.ready.promise=function(b){if(!H)if(H=m.Deferred(),"complete"===y.readyState)setTimeout(m.ready);else if(y.addEventListener)y.addEventListener("DOMContentLoaded",J,!1),a.addEventListener("load",J,!1);else{y.attachEvent("onreadystatechange",J),a.attachEvent("onload",J);var c=!1;try{c=null==a.frameElement&&y.documentElement}catch(d){}c&&c.doScroll&&!function e(){if(!m.isReady){try{c.doScroll("left")}catch(a){return setTimeout(e,50)}I(),m.ready()}}()}return H.promise(b)};var K="undefined",L;for(L in m(k))break;k.ownLast="0"!==L,k.inlineBlockNeedsLayout=!1,m(function(){var a,b,c,d;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",k.inlineBlockNeedsLayout=a=3===b.offsetWidth,a&&(c.style.zoom=1)),c.removeChild(d))}),function(){var a=y.createElement("div");if(null==k.deleteExpando){k.deleteExpando=!0;try{delete a.test}catch(b){k.deleteExpando=!1}}a=null}(),m.acceptData=function(a){var b=m.noData[(a.nodeName+" ").toLowerCase()],c=+a.nodeType||1;return 1!==c&&9!==c?!1:!b||b!==!0&&a.getAttribute("classid")===b};var M=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,N=/([A-Z])/g;function O(a,b,c){if(void 0===c&&1===a.nodeType){var d="data-"+b.replace(N,"-$1").toLowerCase();if(c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:M.test(c)?m.parseJSON(c):c}catch(e){}m.data(a,b,c)}else c=void 0}return c}function P(a){var b;for(b in a)if(("data"!==b||!m.isEmptyObject(a[b]))&&"toJSON"!==b)return!1;
+return!0}function Q(a,b,d,e){if(m.acceptData(a)){var f,g,h=m.expando,i=a.nodeType,j=i?m.cache:a,k=i?a[h]:a[h]&&h;if(k&&j[k]&&(e||j[k].data)||void 0!==d||"string"!=typeof b)return k||(k=i?a[h]=c.pop()||m.guid++:h),j[k]||(j[k]=i?{}:{toJSON:m.noop}),("object"==typeof b||"function"==typeof b)&&(e?j[k]=m.extend(j[k],b):j[k].data=m.extend(j[k].data,b)),g=j[k],e||(g.data||(g.data={}),g=g.data),void 0!==d&&(g[m.camelCase(b)]=d),"string"==typeof b?(f=g[b],null==f&&(f=g[m.camelCase(b)])):f=g,f}}function R(a,b,c){if(m.acceptData(a)){var d,e,f=a.nodeType,g=f?m.cache:a,h=f?a[m.expando]:m.expando;if(g[h]){if(b&&(d=c?g[h]:g[h].data)){m.isArray(b)?b=b.concat(m.map(b,m.camelCase)):b in d?b=[b]:(b=m.camelCase(b),b=b in d?[b]:b.split(" ")),e=b.length;while(e--)delete d[b[e]];if(c?!P(d):!m.isEmptyObject(d))return}(c||(delete g[h].data,P(g[h])))&&(f?m.cleanData([a],!0):k.deleteExpando||g!=g.window?delete g[h]:g[h]=null)}}}m.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(a){return a=a.nodeType?m.cache[a[m.expando]]:a[m.expando],!!a&&!P(a)},data:function(a,b,c){return Q(a,b,c)},removeData:function(a,b){return R(a,b)},_data:function(a,b,c){return Q(a,b,c,!0)},_removeData:function(a,b){return R(a,b,!0)}}),m.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=m.data(f),1===f.nodeType&&!m._data(f,"parsedAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=m.camelCase(d.slice(5)),O(f,d,e[d])));m._data(f,"parsedAttrs",!0)}return e}return"object"==typeof a?this.each(function(){m.data(this,a)}):arguments.length>1?this.each(function(){m.data(this,a,b)}):f?O(f,a,m.data(f,a)):void 0},removeData:function(a){return this.each(function(){m.removeData(this,a)})}}),m.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=m._data(a,b),c&&(!d||m.isArray(c)?d=m._data(a,b,m.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=m.queue(a,b),d=c.length,e=c.shift(),f=m._queueHooks(a,b),g=function(){m.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return m._data(a,c)||m._data(a,c,{empty:m.Callbacks("once memory").add(function(){m._removeData(a,b+"queue"),m._removeData(a,c)})})}}),m.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?m.queue(this[0],a):void 0===b?this:this.each(function(){var c=m.queue(this,a,b);m._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&m.dequeue(this,a)})},dequeue:function(a){return this.each(function(){m.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=m.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=m._data(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=["Top","Right","Bottom","Left"],U=function(a,b){return a=b||a,"none"===m.css(a,"display")||!m.contains(a.ownerDocument,a)},V=m.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===m.type(c)){e=!0;for(h in c)m.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,m.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(m(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},W=/^(?:checkbox|radio)$/i;!function(){var a=y.createElement("input"),b=y.createElement("div"),c=y.createDocumentFragment();if(b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",k.leadingWhitespace=3===b.firstChild.nodeType,k.tbody=!b.getElementsByTagName("tbody").length,k.htmlSerialize=!!b.getElementsByTagName("link").length,k.html5Clone="<:nav></:nav>"!==y.createElement("nav").cloneNode(!0).outerHTML,a.type="checkbox",a.checked=!0,c.appendChild(a),k.appendChecked=a.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue,c.appendChild(b),b.innerHTML="<input type='radio' checked='checked' name='t'/>",k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,k.noCloneEvent=!0,b.attachEvent&&(b.attachEvent("onclick",function(){k.noCloneEvent=!1}),b.cloneNode(!0).click()),null==k.deleteExpando){k.deleteExpando=!0;try{delete b.test}catch(d){k.deleteExpando=!1}}}(),function(){var b,c,d=y.createElement("div");for(b in{submit:!0,change:!0,focusin:!0})c="on"+b,(k[b+"Bubbles"]=c in a)||(d.setAttribute(c,"t"),k[b+"Bubbles"]=d.attributes[c].expando===!1);d=null}();var X=/^(?:input|select|textarea)$/i,Y=/^key/,Z=/^(?:mouse|pointer|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=/^([^.]*)(?:\.(.+)|)$/;function ab(){return!0}function bb(){return!1}function cb(){try{return y.activeElement}catch(a){}}m.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m._data(a);if(r){c.handler&&(i=c,c=i.handler,e=i.selector),c.guid||(c.guid=m.guid++),(g=r.events)||(g=r.events={}),(k=r.handle)||(k=r.handle=function(a){return typeof m===K||a&&m.event.triggered===a.type?void 0:m.event.dispatch.apply(k.elem,arguments)},k.elem=a),b=(b||"").match(E)||[""],h=b.length;while(h--)f=_.exec(b[h])||[],o=q=f[1],p=(f[2]||"").split(".").sort(),o&&(j=m.event.special[o]||{},o=(e?j.delegateType:j.bindType)||o,j=m.event.special[o]||{},l=m.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&m.expr.match.needsContext.test(e),namespace:p.join(".")},i),(n=g[o])||(n=g[o]=[],n.delegateCount=0,j.setup&&j.setup.call(a,d,p,k)!==!1||(a.addEventListener?a.addEventListener(o,k,!1):a.attachEvent&&a.attachEvent("on"+o,k))),j.add&&(j.add.call(a,l),l.handler.guid||(l.handler.guid=c.guid)),e?n.splice(n.delegateCount++,0,l):n.push(l),m.event.global[o]=!0);a=null}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,n,o,p,q,r=m.hasData(a)&&m._data(a);if(r&&(k=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=_.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=m.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,n=k[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),i=f=n.length;while(f--)g=n[f],!e&&q!==g.origType||c&&c.guid!==g.guid||h&&!h.test(g.namespace)||d&&d!==g.selector&&("**"!==d||!g.selector)||(n.splice(f,1),g.selector&&n.delegateCount--,l.remove&&l.remove.call(a,g));i&&!n.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||m.removeEvent(a,o,r.handle),delete k[o])}else for(o in k)m.event.remove(a,o+b[j],c,d,!0);m.isEmptyObject(k)&&(delete r.handle,m._removeData(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,l,n,o=[d||y],p=j.call(b,"type")?b.type:b,q=j.call(b,"namespace")?b.namespace.split("."):[];if(h=l=d=d||y,3!==d.nodeType&&8!==d.nodeType&&!$.test(p+m.event.triggered)&&(p.indexOf(".")>=0&&(q=p.split("."),p=q.shift(),q.sort()),g=p.indexOf(":")<0&&"on"+p,b=b[m.expando]?b:new m.Event(p,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=q.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:m.makeArray(c,[b]),k=m.event.special[p]||{},e||!k.trigger||k.trigger.apply(d,c)!==!1)){if(!e&&!k.noBubble&&!m.isWindow(d)){for(i=k.delegateType||p,$.test(i+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),l=h;l===(d.ownerDocument||y)&&o.push(l.defaultView||l.parentWindow||a)}n=0;while((h=o[n++])&&!b.isPropagationStopped())b.type=n>1?i:k.bindType||p,f=(m._data(h,"events")||{})[b.type]&&m._data(h,"handle"),f&&f.apply(h,c),f=g&&h[g],f&&f.apply&&m.acceptData(h)&&(b.result=f.apply(h,c),b.result===!1&&b.preventDefault());if(b.type=p,!e&&!b.isDefaultPrevented()&&(!k._default||k._default.apply(o.pop(),c)===!1)&&m.acceptData(d)&&g&&d[p]&&!m.isWindow(d)){l=d[g],l&&(d[g]=null),m.event.triggered=p;try{d[p]()}catch(r){}m.event.triggered=void 0,l&&(d[g]=l)}return b.result}},dispatch:function(a){a=m.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(m._data(this,"events")||{})[a.type]||[],k=m.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=m.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,g=0;while((e=f.handlers[g++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(e.namespace))&&(a.handleObj=e,a.data=e.data,c=((m.event.special[e.origType]||{}).handle||e.handler).apply(f.elem,i),void 0!==c&&(a.result=c)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!=this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(e=[],f=0;h>f;f++)d=b[f],c=d.selector+" ",void 0===e[c]&&(e[c]=d.needsContext?m(c,this).index(i)>=0:m.find(c,this,null,[i]).length),e[c]&&e.push(d);e.length&&g.push({elem:i,handlers:e})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},fix:function(a){if(a[m.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=Z.test(e)?this.mouseHooks:Y.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new m.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=f.srcElement||y),3===a.target.nodeType&&(a.target=a.target.parentNode),a.metaKey=!!a.metaKey,g.filter?g.filter(a,f):a},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button,g=b.fromElement;return null==a.pageX&&null!=b.clientX&&(d=a.target.ownerDocument||y,e=d.documentElement,c=d.body,a.pageX=b.clientX+(e&&e.scrollLeft||c&&c.scrollLeft||0)-(e&&e.clientLeft||c&&c.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||c&&c.scrollTop||0)-(e&&e.clientTop||c&&c.clientTop||0)),!a.relatedTarget&&g&&(a.relatedTarget=g===a.target?b.toElement:g),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==cb()&&this.focus)try{return this.focus(),!1}catch(a){}},delegateType:"focusin"},blur:{trigger:function(){return this===cb()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return m.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(a){return m.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=m.extend(new m.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?m.event.trigger(e,null,b):m.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},m.removeEvent=y.removeEventListener?function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)}:function(a,b,c){var d="on"+b;a.detachEvent&&(typeof a[d]===K&&(a[d]=null),a.detachEvent(d,c))},m.Event=function(a,b){return this instanceof m.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ab:bb):this.type=a,b&&m.extend(this,b),this.timeStamp=a&&a.timeStamp||m.now(),void(this[m.expando]=!0)):new m.Event(a,b)},m.Event.prototype={isDefaultPrevented:bb,isPropagationStopped:bb,isImmediatePropagationStopped:bb,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ab,a&&(a.preventDefault?a.preventDefault():a.returnValue=!1)},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ab,a&&(a.stopPropagation&&a.stopPropagation(),a.cancelBubble=!0)},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ab,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},m.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){m.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!m.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.submitBubbles||(m.event.special.submit={setup:function(){return m.nodeName(this,"form")?!1:void m.event.add(this,"click._submit keypress._submit",function(a){var b=a.target,c=m.nodeName(b,"input")||m.nodeName(b,"button")?b.form:void 0;c&&!m._data(c,"submitBubbles")&&(m.event.add(c,"submit._submit",function(a){a._submit_bubble=!0}),m._data(c,"submitBubbles",!0))})},postDispatch:function(a){a._submit_bubble&&(delete a._submit_bubble,this.parentNode&&!a.isTrigger&&m.event.simulate("submit",this.parentNode,a,!0))},teardown:function(){return m.nodeName(this,"form")?!1:void m.event.remove(this,"._submit")}}),k.changeBubbles||(m.event.special.change={setup:function(){return X.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(m.event.add(this,"propertychange._change",function(a){"checked"===a.originalEvent.propertyName&&(this._just_changed=!0)}),m.event.add(this,"click._change",function(a){this._just_changed&&!a.isTrigger&&(this._just_changed=!1),m.event.simulate("change",this,a,!0)})),!1):void m.event.add(this,"beforeactivate._change",function(a){var b=a.target;X.test(b.nodeName)&&!m._data(b,"changeBubbles")&&(m.event.add(b,"change._change",function(a){!this.parentNode||a.isSimulated||a.isTrigger||m.event.simulate("change",this.parentNode,a,!0)}),m._data(b,"changeBubbles",!0))})},handle:function(a){var b=a.target;return this!==b||a.isSimulated||a.isTrigger||"radio"!==b.type&&"checkbox"!==b.type?a.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return m.event.remove(this,"._change"),!X.test(this.nodeName)}}),k.focusinBubbles||m.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){m.event.simulate(b,a.target,m.event.fix(a),!0)};m.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=m._data(d,b);e||d.addEventListener(a,c,!0),m._data(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=m._data(d,b)-1;e?m._data(d,b,e):(d.removeEventListener(a,c,!0),m._removeData(d,b))}}}),m.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(f in a)this.on(f,b,c,a[f],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=bb;else if(!d)return this;return 1===e&&(g=d,d=function(a){return m().off(a),g.apply(this,arguments)},d.guid=g.guid||(g.guid=m.guid++)),this.each(function(){m.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,m(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=bb),this.each(function(){m.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){m.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?m.event.trigger(a,b,c,!0):void 0}});function db(a){var b=eb.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}var eb="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",fb=/ jQuery\d+="(?:null|\d+)"/g,gb=new RegExp("<(?:"+eb+")[\\s/>]","i"),hb=/^\s+/,ib=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,jb=/<([\w:]+)/,kb=/<tbody/i,lb=/<|&#?\w+;/,mb=/<(?:script|style|link)/i,nb=/checked\s*(?:[^=]|=\s*.checked.)/i,ob=/^$|\/(?:java|ecma)script/i,pb=/^true\/(.*)/,qb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,rb={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:k.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},sb=db(y),tb=sb.appendChild(y.createElement("div"));rb.optgroup=rb.option,rb.tbody=rb.tfoot=rb.colgroup=rb.caption=rb.thead,rb.th=rb.td;function ub(a,b){var c,d,e=0,f=typeof a.getElementsByTagName!==K?a.getElementsByTagName(b||"*"):typeof a.querySelectorAll!==K?a.querySelectorAll(b||"*"):void 0;if(!f)for(f=[],c=a.childNodes||a;null!=(d=c[e]);e++)!b||m.nodeName(d,b)?f.push(d):m.merge(f,ub(d,b));return void 0===b||b&&m.nodeName(a,b)?m.merge([a],f):f}function vb(a){W.test(a.type)&&(a.defaultChecked=a.checked)}function wb(a,b){return m.nodeName(a,"table")&&m.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function xb(a){return a.type=(null!==m.find.attr(a,"type"))+"/"+a.type,a}function yb(a){var b=pb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function zb(a,b){for(var c,d=0;null!=(c=a[d]);d++)m._data(c,"globalEval",!b||m._data(b[d],"globalEval"))}function Ab(a,b){if(1===b.nodeType&&m.hasData(a)){var c,d,e,f=m._data(a),g=m._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;e>d;d++)m.event.add(b,c,h[c][d])}g.data&&(g.data=m.extend({},g.data))}}function Bb(a,b){var c,d,e;if(1===b.nodeType){if(c=b.nodeName.toLowerCase(),!k.noCloneEvent&&b[m.expando]){e=m._data(b);for(d in e.events)m.removeEvent(b,d,e.handle);b.removeAttribute(m.expando)}"script"===c&&b.text!==a.text?(xb(b).text=a.text,yb(b)):"object"===c?(b.parentNode&&(b.outerHTML=a.outerHTML),k.html5Clone&&a.innerHTML&&!m.trim(b.innerHTML)&&(b.innerHTML=a.innerHTML)):"input"===c&&W.test(a.type)?(b.defaultChecked=b.checked=a.checked,b.value!==a.value&&(b.value=a.value)):"option"===c?b.defaultSelected=b.selected=a.defaultSelected:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}}m.extend({clone:function(a,b,c){var d,e,f,g,h,i=m.contains(a.ownerDocument,a);if(k.html5Clone||m.isXMLDoc(a)||!gb.test("<"+a.nodeName+">")?f=a.cloneNode(!0):(tb.innerHTML=a.outerHTML,tb.removeChild(f=tb.firstChild)),!(k.noCloneEvent&&k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||m.isXMLDoc(a)))for(d=ub(f),h=ub(a),g=0;null!=(e=h[g]);++g)d[g]&&Bb(e,d[g]);if(b)if(c)for(h=h||ub(a),d=d||ub(f),g=0;null!=(e=h[g]);g++)Ab(e,d[g]);else Ab(a,f);return d=ub(f,"script"),d.length>0&&zb(d,!i&&ub(a,"script")),d=h=e=null,f},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,l,n=a.length,o=db(b),p=[],q=0;n>q;q++)if(f=a[q],f||0===f)if("object"===m.type(f))m.merge(p,f.nodeType?[f]:f);else if(lb.test(f)){h=h||o.appendChild(b.createElement("div")),i=(jb.exec(f)||["",""])[1].toLowerCase(),l=rb[i]||rb._default,h.innerHTML=l[1]+f.replace(ib,"<$1></$2>")+l[2],e=l[0];while(e--)h=h.lastChild;if(!k.leadingWhitespace&&hb.test(f)&&p.push(b.createTextNode(hb.exec(f)[0])),!k.tbody){f="table"!==i||kb.test(f)?"<table>"!==l[1]||kb.test(f)?0:h:h.firstChild,e=f&&f.childNodes.length;while(e--)m.nodeName(j=f.childNodes[e],"tbody")&&!j.childNodes.length&&f.removeChild(j)}m.merge(p,h.childNodes),h.textContent="";while(h.firstChild)h.removeChild(h.firstChild);h=o.lastChild}else p.push(b.createTextNode(f));h&&o.removeChild(h),k.appendChecked||m.grep(ub(p,"input"),vb),q=0;while(f=p[q++])if((!d||-1===m.inArray(f,d))&&(g=m.contains(f.ownerDocument,f),h=ub(o.appendChild(f),"script"),g&&zb(h),c)){e=0;while(f=h[e++])ob.test(f.type||"")&&c.push(f)}return h=null,o},cleanData:function(a,b){for(var d,e,f,g,h=0,i=m.expando,j=m.cache,l=k.deleteExpando,n=m.event.special;null!=(d=a[h]);h++)if((b||m.acceptData(d))&&(f=d[i],g=f&&j[f])){if(g.events)for(e in g.events)n[e]?m.event.remove(d,e):m.removeEvent(d,e,g.handle);j[f]&&(delete j[f],l?delete d[i]:typeof d.removeAttribute!==K?d.removeAttribute(i):d[i]=null,c.push(f))}}}),m.fn.extend({text:function(a){return V(this,function(a){return void 0===a?m.text(this):this.empty().append((this[0]&&this[0].ownerDocument||y).createTextNode(a))},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=wb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?m.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||m.cleanData(ub(c)),c.parentNode&&(b&&m.contains(c.ownerDocument,c)&&zb(ub(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++){1===a.nodeType&&m.cleanData(ub(a,!1));while(a.firstChild)a.removeChild(a.firstChild);a.options&&m.nodeName(a,"select")&&(a.options.length=0)}return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return m.clone(this,a,b)})},html:function(a){return V(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a)return 1===b.nodeType?b.innerHTML.replace(fb,""):void 0;if(!("string"!=typeof a||mb.test(a)||!k.htmlSerialize&&gb.test(a)||!k.leadingWhitespace&&hb.test(a)||rb[(jb.exec(a)||["",""])[1].toLowerCase()])){a=a.replace(ib,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(m.cleanData(ub(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,m.cleanData(ub(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,n=this,o=l-1,p=a[0],q=m.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&nb.test(p))return this.each(function(c){var d=n.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(i=m.buildFragment(a,this[0].ownerDocument,!1,this),c=i.firstChild,1===i.childNodes.length&&(i=c),c)){for(g=m.map(ub(i,"script"),xb),f=g.length;l>j;j++)d=i,j!==o&&(d=m.clone(d,!0,!0),f&&m.merge(g,ub(d,"script"))),b.call(this[j],d,j);if(f)for(h=g[g.length-1].ownerDocument,m.map(g,yb),j=0;f>j;j++)d=g[j],ob.test(d.type||"")&&!m._data(d,"globalEval")&&m.contains(h,d)&&(d.src?m._evalUrl&&m._evalUrl(d.src):m.globalEval((d.text||d.textContent||d.innerHTML||"").replace(qb,"")));i=c=null}return this}}),m.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){m.fn[a]=function(a){for(var c,d=0,e=[],g=m(a),h=g.length-1;h>=d;d++)c=d===h?this:this.clone(!0),m(g[d])[b](c),f.apply(e,c.get());return this.pushStack(e)}});var Cb,Db={};function Eb(b,c){var d,e=m(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:m.css(e[0],"display");return e.detach(),f}function Fb(a){var b=y,c=Db[a];return c||(c=Eb(a,b),"none"!==c&&c||(Cb=(Cb||m("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=(Cb[0].contentWindow||Cb[0].contentDocument).document,b.write(),b.close(),c=Eb(a,b),Cb.detach()),Db[a]=c),c}!function(){var a;k.shrinkWrapBlocks=function(){if(null!=a)return a;a=!1;var b,c,d;return c=y.getElementsByTagName("body")[0],c&&c.style?(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),typeof b.style.zoom!==K&&(b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",b.appendChild(y.createElement("div")).style.width="5px",a=3!==b.offsetWidth),c.removeChild(d),a):void 0}}();var Gb=/^margin/,Hb=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ib,Jb,Kb=/^(top|right|bottom|left)$/;a.getComputedStyle?(Ib=function(b){return b.ownerDocument.defaultView.opener?b.ownerDocument.defaultView.getComputedStyle(b,null):a.getComputedStyle(b,null)},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c.getPropertyValue(b)||c[b]:void 0,c&&(""!==g||m.contains(a.ownerDocument,a)||(g=m.style(a,b)),Hb.test(g)&&Gb.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0===g?g:g+""}):y.documentElement.currentStyle&&(Ib=function(a){return a.currentStyle},Jb=function(a,b,c){var d,e,f,g,h=a.style;return c=c||Ib(a),g=c?c[b]:void 0,null==g&&h&&h[b]&&(g=h[b]),Hb.test(g)&&!Kb.test(b)&&(d=h.left,e=a.runtimeStyle,f=e&&e.left,f&&(e.left=a.currentStyle.left),h.left="fontSize"===b?"1em":g,g=h.pixelLeft+"px",h.left=d,f&&(e.left=f)),void 0===g?g:g+""||"auto"});function Lb(a,b){return{get:function(){var c=a();if(null!=c)return c?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d,e,f,g,h;if(b=y.createElement("div"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=d&&d.style){c.cssText="float:left;opacity:.5",k.opacity="0.5"===c.opacity,k.cssFloat=!!c.cssFloat,b.style.backgroundClip="content-box",b.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===b.style.backgroundClip,k.boxSizing=""===c.boxSizing||""===c.MozBoxSizing||""===c.WebkitBoxSizing,m.extend(k,{reliableHiddenOffsets:function(){return null==g&&i(),g},boxSizingReliable:function(){return null==f&&i(),f},pixelPosition:function(){return null==e&&i(),e},reliableMarginRight:function(){return null==h&&i(),h}});function i(){var b,c,d,i;c=y.getElementsByTagName("body")[0],c&&c.style&&(b=y.createElement("div"),d=y.createElement("div"),d.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",c.appendChild(d).appendChild(b),b.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",e=f=!1,h=!0,a.getComputedStyle&&(e="1%"!==(a.getComputedStyle(b,null)||{}).top,f="4px"===(a.getComputedStyle(b,null)||{width:"4px"}).width,i=b.appendChild(y.createElement("div")),i.style.cssText=b.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",b.style.width="1px",h=!parseFloat((a.getComputedStyle(i,null)||{}).marginRight),b.removeChild(i)),b.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=b.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",g=0===i[0].offsetHeight,g&&(i[0].style.display="",i[1].style.display="none",g=0===i[0].offsetHeight),c.removeChild(d))}}}(),m.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var Mb=/alpha\([^)]*\)/i,Nb=/opacity\s*=\s*([^)]*)/,Ob=/^(none|table(?!-c[ea]).+)/,Pb=new RegExp("^("+S+")(.*)$","i"),Qb=new RegExp("^([+-])=("+S+")","i"),Rb={position:"absolute",visibility:"hidden",display:"block"},Sb={letterSpacing:"0",fontWeight:"400"},Tb=["Webkit","O","Moz","ms"];function Ub(a,b){if(b in a)return b;var c=b.charAt(0).toUpperCase()+b.slice(1),d=b,e=Tb.length;while(e--)if(b=Tb[e]+c,b in a)return b;return d}function Vb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=m._data(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&U(d)&&(f[g]=m._data(d,"olddisplay",Fb(d.nodeName)))):(e=U(d),(c&&"none"!==c||!e)&&m._data(d,"olddisplay",e?c:m.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}function Wb(a,b,c){var d=Pb.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Xb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=m.css(a,c+T[f],!0,e)),d?("content"===c&&(g-=m.css(a,"padding"+T[f],!0,e)),"margin"!==c&&(g-=m.css(a,"border"+T[f]+"Width",!0,e))):(g+=m.css(a,"padding"+T[f],!0,e),"padding"!==c&&(g+=m.css(a,"border"+T[f]+"Width",!0,e)));return g}function Yb(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ib(a),g=k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Jb(a,b,f),(0>e||null==e)&&(e=a.style[b]),Hb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Xb(a,b,c||(g?"border":"content"),d,f)+"px"}m.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Jb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":k.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=m.camelCase(b),i=a.style;if(b=m.cssProps[h]||(m.cssProps[h]=Ub(i,h)),g=m.cssHooks[b]||m.cssHooks[h],void 0===c)return g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b];if(f=typeof c,"string"===f&&(e=Qb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(m.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||m.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),!(g&&"set"in g&&void 0===(c=g.set(a,c,d)))))try{i[b]=c}catch(j){}}},css:function(a,b,c,d){var e,f,g,h=m.camelCase(b);return b=m.cssProps[h]||(m.cssProps[h]=Ub(a.style,h)),g=m.cssHooks[b]||m.cssHooks[h],g&&"get"in g&&(f=g.get(a,!0,c)),void 0===f&&(f=Jb(a,b,d)),"normal"===f&&b in Sb&&(f=Sb[b]),""===c||c?(e=parseFloat(f),c===!0||m.isNumeric(e)?e||0:f):f}}),m.each(["height","width"],function(a,b){m.cssHooks[b]={get:function(a,c,d){return c?Ob.test(m.css(a,"display"))&&0===a.offsetWidth?m.swap(a,Rb,function(){return Yb(a,b,d)}):Yb(a,b,d):void 0},set:function(a,c,d){var e=d&&Ib(a);return Wb(a,c,d?Xb(a,b,d,k.boxSizing&&"border-box"===m.css(a,"boxSizing",!1,e),e):0)}}}),k.opacity||(m.cssHooks.opacity={get:function(a,b){return Nb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=m.isNumeric(b)?"alpha(opacity="+100*b+")":"",f=d&&d.filter||c.filter||"";c.zoom=1,(b>=1||""===b)&&""===m.trim(f.replace(Mb,""))&&c.removeAttribute&&(c.removeAttribute("filter"),""===b||d&&!d.filter)||(c.filter=Mb.test(f)?f.replace(Mb,e):f+" "+e)}}),m.cssHooks.marginRight=Lb(k.reliableMarginRight,function(a,b){return b?m.swap(a,{display:"inline-block"},Jb,[a,"marginRight"]):void 0}),m.each({margin:"",padding:"",border:"Width"},function(a,b){m.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+T[d]+b]=f[d]||f[d-2]||f[0];return e}},Gb.test(a)||(m.cssHooks[a+b].set=Wb)}),m.fn.extend({css:function(a,b){return V(this,function(a,b,c){var d,e,f={},g=0;if(m.isArray(b)){for(d=Ib(a),e=b.length;e>g;g++)f[b[g]]=m.css(a,b[g],!1,d);return f}return void 0!==c?m.style(a,b,c):m.css(a,b)},a,b,arguments.length>1)},show:function(){return Vb(this,!0)},hide:function(){return Vb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){U(this)?m(this).show():m(this).hide()})}});function Zb(a,b,c,d,e){return new Zb.prototype.init(a,b,c,d,e)
+}m.Tween=Zb,Zb.prototype={constructor:Zb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(m.cssNumber[c]?"":"px")},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this):Zb.propHooks._default.get(this)},run:function(a){var b,c=Zb.propHooks[this.prop];return this.pos=b=this.options.duration?m.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Zb.propHooks._default.set(this),this}},Zb.prototype.init.prototype=Zb.prototype,Zb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=m.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){m.fx.step[a.prop]?m.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[m.cssProps[a.prop]]||m.cssHooks[a.prop])?m.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Zb.propHooks.scrollTop=Zb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},m.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},m.fx=Zb.prototype.init,m.fx.step={};var $b,_b,ac=/^(?:toggle|show|hide)$/,bc=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),cc=/queueHooks$/,dc=[ic],ec={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=bc.exec(b),f=e&&e[3]||(m.cssNumber[a]?"":"px"),g=(m.cssNumber[a]||"px"!==f&&+d)&&bc.exec(m.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,m.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function fc(){return setTimeout(function(){$b=void 0}),$b=m.now()}function gc(a,b){var c,d={height:a},e=0;for(b=b?1:0;4>e;e+=2-b)c=T[e],d["margin"+c]=d["padding"+c]=a;return b&&(d.opacity=d.width=a),d}function hc(a,b,c){for(var d,e=(ec[b]||[]).concat(ec["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function ic(a,b,c){var d,e,f,g,h,i,j,l,n=this,o={},p=a.style,q=a.nodeType&&U(a),r=m._data(a,"fxshow");c.queue||(h=m._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,n.always(function(){n.always(function(){h.unqueued--,m.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[p.overflow,p.overflowX,p.overflowY],j=m.css(a,"display"),l="none"===j?m._data(a,"olddisplay")||Fb(a.nodeName):j,"inline"===l&&"none"===m.css(a,"float")&&(k.inlineBlockNeedsLayout&&"inline"!==Fb(a.nodeName)?p.zoom=1:p.display="inline-block")),c.overflow&&(p.overflow="hidden",k.shrinkWrapBlocks()||n.always(function(){p.overflow=c.overflow[0],p.overflowX=c.overflow[1],p.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],ac.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(q?"hide":"show")){if("show"!==e||!r||void 0===r[d])continue;q=!0}o[d]=r&&r[d]||m.style(a,d)}else j=void 0;if(m.isEmptyObject(o))"inline"===("none"===j?Fb(a.nodeName):j)&&(p.display=j);else{r?"hidden"in r&&(q=r.hidden):r=m._data(a,"fxshow",{}),f&&(r.hidden=!q),q?m(a).show():n.done(function(){m(a).hide()}),n.done(function(){var b;m._removeData(a,"fxshow");for(b in o)m.style(a,b,o[b])});for(d in o)g=hc(q?r[d]:0,d,n),d in r||(r[d]=g.start,q&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function jc(a,b){var c,d,e,f,g;for(c in a)if(d=m.camelCase(c),e=b[d],f=a[c],m.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=m.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function kc(a,b,c){var d,e,f=0,g=dc.length,h=m.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=$b||fc(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:m.extend({},b),opts:m.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:$b||fc(),duration:c.duration,tweens:[],createTween:function(b,c){var d=m.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(jc(k,j.opts.specialEasing);g>f;f++)if(d=dc[f].call(j,a,k,j.opts))return d;return m.map(k,hc,j),m.isFunction(j.opts.start)&&j.opts.start.call(a,j),m.fx.timer(m.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}m.Animation=m.extend(kc,{tweener:function(a,b){m.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],ec[c]=ec[c]||[],ec[c].unshift(b)},prefilter:function(a,b){b?dc.unshift(a):dc.push(a)}}),m.speed=function(a,b,c){var d=a&&"object"==typeof a?m.extend({},a):{complete:c||!c&&b||m.isFunction(a)&&a,duration:a,easing:c&&b||b&&!m.isFunction(b)&&b};return d.duration=m.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in m.fx.speeds?m.fx.speeds[d.duration]:m.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){m.isFunction(d.old)&&d.old.call(this),d.queue&&m.dequeue(this,d.queue)},d},m.fn.extend({fadeTo:function(a,b,c,d){return this.filter(U).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=m.isEmptyObject(a),f=m.speed(b,c,d),g=function(){var b=kc(this,m.extend({},a),f);(e||m._data(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=m.timers,g=m._data(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&cc.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&m.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=m._data(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=m.timers,g=d?d.length:0;for(c.finish=!0,m.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),m.each(["toggle","show","hide"],function(a,b){var c=m.fn[b];m.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(gc(b,!0),a,d,e)}}),m.each({slideDown:gc("show"),slideUp:gc("hide"),slideToggle:gc("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){m.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),m.timers=[],m.fx.tick=function(){var a,b=m.timers,c=0;for($b=m.now();c<b.length;c++)a=b[c],a()||b[c]!==a||b.splice(c--,1);b.length||m.fx.stop(),$b=void 0},m.fx.timer=function(a){m.timers.push(a),a()?m.fx.start():m.timers.pop()},m.fx.interval=13,m.fx.start=function(){_b||(_b=setInterval(m.fx.tick,m.fx.interval))},m.fx.stop=function(){clearInterval(_b),_b=null},m.fx.speeds={slow:600,fast:200,_default:400},m.fn.delay=function(a,b){return a=m.fx?m.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a,b,c,d,e;b=y.createElement("div"),b.setAttribute("className","t"),b.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",d=b.getElementsByTagName("a")[0],c=y.createElement("select"),e=c.appendChild(y.createElement("option")),a=b.getElementsByTagName("input")[0],d.style.cssText="top:1px",k.getSetAttribute="t"!==b.className,k.style=/top/.test(d.getAttribute("style")),k.hrefNormalized="/a"===d.getAttribute("href"),k.checkOn=!!a.value,k.optSelected=e.selected,k.enctype=!!y.createElement("form").enctype,c.disabled=!0,k.optDisabled=!e.disabled,a=y.createElement("input"),a.setAttribute("value",""),k.input=""===a.getAttribute("value"),a.value="t",a.setAttribute("type","radio"),k.radioValue="t"===a.value}();var lc=/\r/g;m.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=m.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,m(this).val()):a,null==e?e="":"number"==typeof e?e+="":m.isArray(e)&&(e=m.map(e,function(a){return null==a?"":a+""})),b=m.valHooks[this.type]||m.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=m.valHooks[e.type]||m.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(lc,""):null==c?"":c)}}}),m.extend({valHooks:{option:{get:function(a){var b=m.find.attr(a,"value");return null!=b?b:m.trim(m.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&m.nodeName(c.parentNode,"optgroup"))){if(b=m(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=m.makeArray(b),g=e.length;while(g--)if(d=e[g],m.inArray(m.valHooks.option.get(d),f)>=0)try{d.selected=c=!0}catch(h){d.scrollHeight}else d.selected=!1;return c||(a.selectedIndex=-1),e}}}}),m.each(["radio","checkbox"],function(){m.valHooks[this]={set:function(a,b){return m.isArray(b)?a.checked=m.inArray(m(a).val(),b)>=0:void 0}},k.checkOn||(m.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var mc,nc,oc=m.expr.attrHandle,pc=/^(?:checked|selected)$/i,qc=k.getSetAttribute,rc=k.input;m.fn.extend({attr:function(a,b){return V(this,m.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){m.removeAttr(this,a)})}}),m.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===K?m.prop(a,b,c):(1===f&&m.isXMLDoc(a)||(b=b.toLowerCase(),d=m.attrHooks[b]||(m.expr.match.bool.test(b)?nc:mc)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=m.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void m.removeAttr(a,b))},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=m.propFix[c]||c,m.expr.match.bool.test(c)?rc&&qc||!pc.test(c)?a[d]=!1:a[m.camelCase("default-"+c)]=a[d]=!1:m.attr(a,c,""),a.removeAttribute(qc?c:d)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&m.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),nc={set:function(a,b,c){return b===!1?m.removeAttr(a,c):rc&&qc||!pc.test(c)?a.setAttribute(!qc&&m.propFix[c]||c,c):a[m.camelCase("default-"+c)]=a[c]=!0,c}},m.each(m.expr.match.bool.source.match(/\w+/g),function(a,b){var c=oc[b]||m.find.attr;oc[b]=rc&&qc||!pc.test(b)?function(a,b,d){var e,f;return d||(f=oc[b],oc[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,oc[b]=f),e}:function(a,b,c){return c?void 0:a[m.camelCase("default-"+b)]?b.toLowerCase():null}}),rc&&qc||(m.attrHooks.value={set:function(a,b,c){return m.nodeName(a,"input")?void(a.defaultValue=b):mc&&mc.set(a,b,c)}}),qc||(mc={set:function(a,b,c){var d=a.getAttributeNode(c);return d||a.setAttributeNode(d=a.ownerDocument.createAttribute(c)),d.value=b+="","value"===c||b===a.getAttribute(c)?b:void 0}},oc.id=oc.name=oc.coords=function(a,b,c){var d;return c?void 0:(d=a.getAttributeNode(b))&&""!==d.value?d.value:null},m.valHooks.button={get:function(a,b){var c=a.getAttributeNode(b);return c&&c.specified?c.value:void 0},set:mc.set},m.attrHooks.contenteditable={set:function(a,b,c){mc.set(a,""===b?!1:b,c)}},m.each(["width","height"],function(a,b){m.attrHooks[b]={set:function(a,c){return""===c?(a.setAttribute(b,"auto"),c):void 0}}})),k.style||(m.attrHooks.style={get:function(a){return a.style.cssText||void 0},set:function(a,b){return a.style.cssText=b+""}});var sc=/^(?:input|select|textarea|button|object)$/i,tc=/^(?:a|area)$/i;m.fn.extend({prop:function(a,b){return V(this,m.prop,a,b,arguments.length>1)},removeProp:function(a){return a=m.propFix[a]||a,this.each(function(){try{this[a]=void 0,delete this[a]}catch(b){}})}}),m.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!m.isXMLDoc(a),f&&(b=m.propFix[b]||b,e=m.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=m.find.attr(a,"tabindex");return b?parseInt(b,10):sc.test(a.nodeName)||tc.test(a.nodeName)&&a.href?0:-1}}}}),k.hrefNormalized||m.each(["href","src"],function(a,b){m.propHooks[b]={get:function(a){return a.getAttribute(b,4)}}}),k.optSelected||(m.propHooks.selected={get:function(a){var b=a.parentNode;return b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex),null}}),m.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){m.propFix[this.toLowerCase()]=this}),k.enctype||(m.propFix.enctype="encoding");var uc=/[\t\r\n\f]/g;m.fn.extend({addClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j="string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).addClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=m.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0,i=this.length,j=0===arguments.length||"string"==typeof a&&a;if(m.isFunction(a))return this.each(function(b){m(this).removeClass(a.call(this,b,this.className))});if(j)for(b=(a||"").match(E)||[];i>h;h++)if(c=this[h],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(uc," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?m.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(m.isFunction(a)?function(c){m(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=m(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===K||"boolean"===c)&&(this.className&&m._data(this,"__className__",this.className),this.className=this.className||a===!1?"":m._data(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(uc," ").indexOf(b)>=0)return!0;return!1}}),m.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){m.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),m.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var vc=m.now(),wc=/\?/,xc=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;m.parseJSON=function(b){if(a.JSON&&a.JSON.parse)return a.JSON.parse(b+"");var c,d=null,e=m.trim(b+"");return e&&!m.trim(e.replace(xc,function(a,b,e,f){return c&&b&&(d=0),0===d?a:(c=e||b,d+=!f-!e,"")}))?Function("return "+e)():m.error("Invalid JSON: "+b)},m.parseXML=function(b){var c,d;if(!b||"string"!=typeof b)return null;try{a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b))}catch(e){c=void 0}return c&&c.documentElement&&!c.getElementsByTagName("parsererror").length||m.error("Invalid XML: "+b),c};var yc,zc,Ac=/#.*$/,Bc=/([?&])_=[^&]*/,Cc=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Dc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ec=/^(?:GET|HEAD)$/,Fc=/^\/\//,Gc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Hc={},Ic={},Jc="*/".concat("*");try{zc=location.href}catch(Kc){zc=y.createElement("a"),zc.href="",zc=zc.href}yc=Gc.exec(zc.toLowerCase())||[];function Lc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(m.isFunction(c))while(d=f[e++])"+"===d.charAt(0)?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Mc(a,b,c,d){var e={},f=a===Ic;function g(h){var i;return e[h]=!0,m.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Nc(a,b){var c,d,e=m.ajaxSettings.flatOptions||{};for(d in b)void 0!==b[d]&&((e[d]?a:c||(c={}))[d]=b[d]);return c&&m.extend(!0,a,c),a}function Oc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===e&&(e=a.mimeType||b.getResponseHeader("Content-Type"));if(e)for(g in h)if(h[g]&&h[g].test(e)){i.unshift(g);break}if(i[0]in c)f=i[0];else{for(g in c){if(!i[0]||a.converters[g+" "+i[0]]){f=g;break}d||(d=g)}f=f||d}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Pc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}m.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:zc,type:"GET",isLocal:Dc.test(yc[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Jc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":m.parseJSON,"text xml":m.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Nc(Nc(a,m.ajaxSettings),b):Nc(m.ajaxSettings,a)},ajaxPrefilter:Lc(Hc),ajaxTransport:Lc(Ic),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=m.ajaxSetup({},b),l=k.context||k,n=k.context&&(l.nodeType||l.jquery)?m(l):m.event,o=m.Deferred(),p=m.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!j){j={};while(b=Cc.exec(f))j[b[1].toLowerCase()]=b[2]}b=j[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?f:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return i&&i.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||zc)+"").replace(Ac,"").replace(Fc,yc[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=m.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(c=Gc.exec(k.url.toLowerCase()),k.crossDomain=!(!c||c[1]===yc[1]&&c[2]===yc[2]&&(c[3]||("http:"===c[1]?"80":"443"))===(yc[3]||("http:"===yc[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=m.param(k.data,k.traditional)),Mc(Hc,k,b,v),2===t)return v;h=m.event&&k.global,h&&0===m.active++&&m.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!Ec.test(k.type),e=k.url,k.hasContent||(k.data&&(e=k.url+=(wc.test(e)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=Bc.test(e)?e.replace(Bc,"$1_="+vc++):e+(wc.test(e)?"&":"?")+"_="+vc++)),k.ifModified&&(m.lastModified[e]&&v.setRequestHeader("If-Modified-Since",m.lastModified[e]),m.etag[e]&&v.setRequestHeader("If-None-Match",m.etag[e])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+Jc+"; q=0.01":""):k.accepts["*"]);for(d in k.headers)v.setRequestHeader(d,k.headers[d]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(d in{success:1,error:1,complete:1})v[d](k[d]);if(i=Mc(Ic,k,b,v)){v.readyState=1,h&&n.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,i.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,c,d){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),i=void 0,f=d||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,c&&(u=Oc(k,v,c)),u=Pc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(m.lastModified[e]=w),w=v.getResponseHeader("etag"),w&&(m.etag[e]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,h&&n.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),h&&(n.trigger("ajaxComplete",[v,k]),--m.active||m.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return m.get(a,b,c,"json")},getScript:function(a,b){return m.get(a,void 0,b,"script")}}),m.each(["get","post"],function(a,b){m[b]=function(a,c,d,e){return m.isFunction(c)&&(e=e||d,d=c,c=void 0),m.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),m._evalUrl=function(a){return m.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},m.fn.extend({wrapAll:function(a){if(m.isFunction(a))return this.each(function(b){m(this).wrapAll(a.call(this,b))});if(this[0]){var b=m(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&1===a.firstChild.nodeType)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return this.each(m.isFunction(a)?function(b){m(this).wrapInner(a.call(this,b))}:function(){var b=m(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=m.isFunction(a);return this.each(function(c){m(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){m.nodeName(this,"body")||m(this).replaceWith(this.childNodes)}).end()}}),m.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0||!k.reliableHiddenOffsets()&&"none"===(a.style&&a.style.display||m.css(a,"display"))},m.expr.filters.visible=function(a){return!m.expr.filters.hidden(a)};var Qc=/%20/g,Rc=/\[\]$/,Sc=/\r?\n/g,Tc=/^(?:submit|button|image|reset|file)$/i,Uc=/^(?:input|select|textarea|keygen)/i;function Vc(a,b,c,d){var e;if(m.isArray(b))m.each(b,function(b,e){c||Rc.test(a)?d(a,e):Vc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==m.type(b))d(a,b);else for(e in b)Vc(a+"["+e+"]",b[e],c,d)}m.param=function(a,b){var c,d=[],e=function(a,b){b=m.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=m.ajaxSettings&&m.ajaxSettings.traditional),m.isArray(a)||a.jquery&&!m.isPlainObject(a))m.each(a,function(){e(this.name,this.value)});else for(c in a)Vc(c,a[c],b,e);return d.join("&").replace(Qc,"+")},m.fn.extend({serialize:function(){return m.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=m.prop(this,"elements");return a?m.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!m(this).is(":disabled")&&Uc.test(this.nodeName)&&!Tc.test(a)&&(this.checked||!W.test(a))}).map(function(a,b){var c=m(this).val();return null==c?null:m.isArray(c)?m.map(c,function(a){return{name:b.name,value:a.replace(Sc,"\r\n")}}):{name:b.name,value:c.replace(Sc,"\r\n")}}).get()}}),m.ajaxSettings.xhr=void 0!==a.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&Zc()||$c()}:Zc;var Wc=0,Xc={},Yc=m.ajaxSettings.xhr();a.attachEvent&&a.attachEvent("onunload",function(){for(var a in Xc)Xc[a](void 0,!0)}),k.cors=!!Yc&&"withCredentials"in Yc,Yc=k.ajax=!!Yc,Yc&&m.ajaxTransport(function(a){if(!a.crossDomain||k.cors){var b;return{send:function(c,d){var e,f=a.xhr(),g=++Wc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)void 0!==c[e]&&f.setRequestHeader(e,c[e]+"");f.send(a.hasContent&&a.data||null),b=function(c,e){var h,i,j;if(b&&(e||4===f.readyState))if(delete Xc[g],b=void 0,f.onreadystatechange=m.noop,e)4!==f.readyState&&f.abort();else{j={},h=f.status,"string"==typeof f.responseText&&(j.text=f.responseText);try{i=f.statusText}catch(k){i=""}h||!a.isLocal||a.crossDomain?1223===h&&(h=204):h=j.text?200:404}j&&d(h,i,j,f.getAllResponseHeaders())},a.async?4===f.readyState?setTimeout(b):f.onreadystatechange=Xc[g]=b:b()},abort:function(){b&&b(void 0,!0)}}}});function Zc(){try{return new a.XMLHttpRequest}catch(b){}}function $c(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}m.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return m.globalEval(a),a}}}),m.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),m.ajaxTransport("script",function(a){if(a.crossDomain){var b,c=y.head||m("head")[0]||y.documentElement;return{send:function(d,e){b=y.createElement("script"),b.async=!0,a.scriptCharset&&(b.charset=a.scriptCharset),b.src=a.url,b.onload=b.onreadystatechange=function(a,c){(c||!b.readyState||/loaded|complete/.test(b.readyState))&&(b.onload=b.onreadystatechange=null,b.parentNode&&b.parentNode.removeChild(b),b=null,c||e(200,"success"))},c.insertBefore(b,c.firstChild)},abort:function(){b&&b.onload(void 0,!0)}}}});var _c=[],ad=/(=)\?(?=&|$)|\?\?/;m.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=_c.pop()||m.expando+"_"+vc++;return this[a]=!0,a}}),m.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(ad.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&ad.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=m.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(ad,"$1"+e):b.jsonp!==!1&&(b.url+=(wc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||m.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,_c.push(e)),g&&m.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),m.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||y;var d=u.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=m.buildFragment([a],b,e),e&&e.length&&m(e).remove(),m.merge([],d.childNodes))};var bd=m.fn.load;m.fn.load=function(a,b,c){if("string"!=typeof a&&bd)return bd.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=m.trim(a.slice(h,a.length)),a=a.slice(0,h)),m.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(f="POST"),g.length>0&&m.ajax({url:a,type:f,dataType:"html",data:b}).done(function(a){e=arguments,g.html(d?m("<div>").append(m.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,e||[a.responseText,b,a])}),this},m.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){m.fn[b]=function(a){return this.on(b,a)}}),m.expr.filters.animated=function(a){return m.grep(m.timers,function(b){return a===b.elem}).length};var cd=a.document.documentElement;function dd(a){return m.isWindow(a)?a:9===a.nodeType?a.defaultView||a.parentWindow:!1}m.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=m.css(a,"position"),l=m(a),n={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=m.css(a,"top"),i=m.css(a,"left"),j=("absolute"===k||"fixed"===k)&&m.inArray("auto",[f,i])>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),m.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(n.top=b.top-h.top+g),null!=b.left&&(n.left=b.left-h.left+e),"using"in b?b.using.call(a,n):l.css(n)}},m.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){m.offset.setOffset(this,a,b)});var b,c,d={top:0,left:0},e=this[0],f=e&&e.ownerDocument;if(f)return b=f.documentElement,m.contains(b,e)?(typeof e.getBoundingClientRect!==K&&(d=e.getBoundingClientRect()),c=dd(f),{top:d.top+(c.pageYOffset||b.scrollTop)-(b.clientTop||0),left:d.left+(c.pageXOffset||b.scrollLeft)-(b.clientLeft||0)}):d},position:function(){if(this[0]){var a,b,c={top:0,left:0},d=this[0];return"fixed"===m.css(d,"position")?b=d.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),m.nodeName(a[0],"html")||(c=a.offset()),c.top+=m.css(a[0],"borderTopWidth",!0),c.left+=m.css(a[0],"borderLeftWidth",!0)),{top:b.top-c.top-m.css(d,"marginTop",!0),left:b.left-c.left-m.css(d,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||cd;while(a&&!m.nodeName(a,"html")&&"static"===m.css(a,"position"))a=a.offsetParent;return a||cd})}}),m.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c=/Y/.test(b);m.fn[a]=function(d){return V(this,function(a,d,e){var f=dd(a);return void 0===e?f?b in f?f[b]:f.document.documentElement[d]:a[d]:void(f?f.scrollTo(c?m(f).scrollLeft():e,c?e:m(f).scrollTop()):a[d]=e)},a,d,arguments.length,null)}}),m.each(["top","left"],function(a,b){m.cssHooks[b]=Lb(k.pixelPosition,function(a,c){return c?(c=Jb(a,b),Hb.test(c)?m(a).position()[b]+"px":c):void 0})}),m.each({Height:"height",Width:"width"},function(a,b){m.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){m.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return V(this,function(b,c,d){var e;return m.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?m.css(b,c,g):m.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),m.fn.size=function(){return this.length},m.fn.andSelf=m.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return m});var ed=a.jQuery,fd=a.$;return m.noConflict=function(b){return a.$===m&&(a.$=fd),b&&a.jQuery===m&&(a.jQuery=ed),m},typeof b===K&&(a.jQuery=a.$=m),m});
+//# sourceMappingURL=jquery.min.map

+ 280 - 0
misago/emberapp/vendor/bootstrap/tests/vendor/qunit.css

@@ -0,0 +1,280 @@
+/*!
+ * QUnit 1.17.1
+ * http://qunitjs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-01-20T19:39Z
+ */
+
+/** Font Family and Sizes */
+
+#qunit-tests, #qunit-header, #qunit-banner, #qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult {
+	font-family: "Helvetica Neue Light", "HelveticaNeue-Light", "Helvetica Neue", Calibri, Helvetica, Arial, sans-serif;
+}
+
+#qunit-testrunner-toolbar, #qunit-userAgent, #qunit-testresult, #qunit-tests li { font-size: small; }
+#qunit-tests { font-size: smaller; }
+
+
+/** Resets */
+
+#qunit-tests, #qunit-header, #qunit-banner, #qunit-userAgent, #qunit-testresult, #qunit-modulefilter {
+	margin: 0;
+	padding: 0;
+}
+
+
+/** Header */
+
+#qunit-header {
+	padding: 0.5em 0 0.5em 1em;
+
+	color: #8699A4;
+	background-color: #0D3349;
+
+	font-size: 1.5em;
+	line-height: 1em;
+	font-weight: 400;
+
+	border-radius: 5px 5px 0 0;
+}
+
+#qunit-header a {
+	text-decoration: none;
+	color: #C2CCD1;
+}
+
+#qunit-header a:hover,
+#qunit-header a:focus {
+	color: #FFF;
+}
+
+#qunit-testrunner-toolbar label {
+	display: inline-block;
+	padding: 0 0.5em 0 0.1em;
+}
+
+#qunit-banner {
+	height: 5px;
+}
+
+#qunit-testrunner-toolbar {
+	padding: 0.5em 1em 0.5em 1em;
+	color: #5E740B;
+	background-color: #EEE;
+	overflow: hidden;
+}
+
+#qunit-userAgent {
+	padding: 0.5em 1em 0.5em 1em;
+	background-color: #2B81AF;
+	color: #FFF;
+	text-shadow: rgba(0, 0, 0, 0.5) 2px 2px 1px;
+}
+
+#qunit-modulefilter-container {
+	float: right;
+	padding: 0.2em;
+}
+
+.qunit-url-config {
+	display: inline-block;
+	padding: 0.1em;
+}
+
+.qunit-filter {
+	display: block;
+	float: right;
+	margin-left: 1em;
+}
+
+/** Tests: Pass/Fail */
+
+#qunit-tests {
+	list-style-position: inside;
+}
+
+#qunit-tests li {
+	padding: 0.4em 1em 0.4em 1em;
+	border-bottom: 1px solid #FFF;
+	list-style-position: inside;
+}
+
+#qunit-tests > li {
+	display: none;
+}
+
+#qunit-tests li.running,
+#qunit-tests li.pass,
+#qunit-tests li.fail,
+#qunit-tests li.skipped {
+	display: list-item;
+}
+
+#qunit-tests.hidepass li.running,
+#qunit-tests.hidepass li.pass {
+	display: none;
+}
+
+#qunit-tests li strong {
+	cursor: pointer;
+}
+
+#qunit-tests li.skipped strong {
+	cursor: default;
+}
+
+#qunit-tests li a {
+	padding: 0.5em;
+	color: #C2CCD1;
+	text-decoration: none;
+}
+#qunit-tests li a:hover,
+#qunit-tests li a:focus {
+	color: #000;
+}
+
+#qunit-tests li .runtime {
+	float: right;
+	font-size: smaller;
+}
+
+.qunit-assert-list {
+	margin-top: 0.5em;
+	padding: 0.5em;
+
+	background-color: #FFF;
+
+	border-radius: 5px;
+}
+
+.qunit-collapsed {
+	display: none;
+}
+
+#qunit-tests table {
+	border-collapse: collapse;
+	margin-top: 0.2em;
+}
+
+#qunit-tests th {
+	text-align: right;
+	vertical-align: top;
+	padding: 0 0.5em 0 0;
+}
+
+#qunit-tests td {
+	vertical-align: top;
+}
+
+#qunit-tests pre {
+	margin: 0;
+	white-space: pre-wrap;
+	word-wrap: break-word;
+}
+
+#qunit-tests del {
+	background-color: #E0F2BE;
+	color: #374E0C;
+	text-decoration: none;
+}
+
+#qunit-tests ins {
+	background-color: #FFCACA;
+	color: #500;
+	text-decoration: none;
+}
+
+/*** Test Counts */
+
+#qunit-tests b.counts                       { color: #000; }
+#qunit-tests b.passed                       { color: #5E740B; }
+#qunit-tests b.failed                       { color: #710909; }
+
+#qunit-tests li li {
+	padding: 5px;
+	background-color: #FFF;
+	border-bottom: none;
+	list-style-position: inside;
+}
+
+/*** Passing Styles */
+
+#qunit-tests li li.pass {
+	color: #3C510C;
+	background-color: #FFF;
+	border-left: 10px solid #C6E746;
+}
+
+#qunit-tests .pass                          { color: #528CE0; background-color: #D2E0E6; }
+#qunit-tests .pass .test-name               { color: #366097; }
+
+#qunit-tests .pass .test-actual,
+#qunit-tests .pass .test-expected           { color: #999; }
+
+#qunit-banner.qunit-pass                    { background-color: #C6E746; }
+
+/*** Failing Styles */
+
+#qunit-tests li li.fail {
+	color: #710909;
+	background-color: #FFF;
+	border-left: 10px solid #EE5757;
+	white-space: pre;
+}
+
+#qunit-tests > li:last-child {
+	border-radius: 0 0 5px 5px;
+}
+
+#qunit-tests .fail                          { color: #000; background-color: #EE5757; }
+#qunit-tests .fail .test-name,
+#qunit-tests .fail .module-name             { color: #000; }
+
+#qunit-tests .fail .test-actual             { color: #EE5757; }
+#qunit-tests .fail .test-expected           { color: #008000; }
+
+#qunit-banner.qunit-fail                    { background-color: #EE5757; }
+
+/*** Skipped tests */
+
+#qunit-tests .skipped {
+	background-color: #EBECE9;
+}
+
+#qunit-tests .qunit-skipped-label {
+	background-color: #F4FF77;
+	display: inline-block;
+	font-style: normal;
+	color: #366097;
+	line-height: 1.8em;
+	padding: 0 0.5em;
+	margin: -0.4em 0.4em -0.4em 0;
+}
+
+/** Result */
+
+#qunit-testresult {
+	padding: 0.5em 1em 0.5em 1em;
+
+	color: #2B81AF;
+	background-color: #D2E0E6;
+
+	border-bottom: 1px solid #FFF;
+}
+#qunit-testresult .module-name {
+	font-weight: 700;
+}
+
+/** Fixture */
+
+#qunit-fixture {
+	position: absolute;
+	top: -10000px;
+	left: -10000px;
+	width: 1000px;
+	height: 1000px;
+}

+ 2875 - 0
misago/emberapp/vendor/bootstrap/tests/vendor/qunit.js

@@ -0,0 +1,2875 @@
+/*!
+ * QUnit 1.17.1
+ * http://qunitjs.com/
+ *
+ * Copyright jQuery Foundation and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2015-01-20T19:39Z
+ */
+
+(function( window ) {
+
+var QUnit,
+	config,
+	onErrorFnPrev,
+	loggingCallbacks = {},
+	fileName = ( sourceFromStacktrace( 0 ) || "" ).replace( /(:\d+)+\)?/, "" ).replace( /.+\//, "" ),
+	toString = Object.prototype.toString,
+	hasOwn = Object.prototype.hasOwnProperty,
+	// Keep a local reference to Date (GH-283)
+	Date = window.Date,
+	now = Date.now || function() {
+		return new Date().getTime();
+	},
+	globalStartCalled = false,
+	runStarted = false,
+	setTimeout = window.setTimeout,
+	clearTimeout = window.clearTimeout,
+	defined = {
+		document: window.document !== undefined,
+		setTimeout: window.setTimeout !== undefined,
+		sessionStorage: (function() {
+			var x = "qunit-test-string";
+			try {
+				sessionStorage.setItem( x, x );
+				sessionStorage.removeItem( x );
+				return true;
+			} catch ( e ) {
+				return false;
+			}
+		}())
+	},
+	/**
+	 * Provides a normalized error string, correcting an issue
+	 * with IE 7 (and prior) where Error.prototype.toString is
+	 * not properly implemented
+	 *
+	 * Based on http://es5.github.com/#x15.11.4.4
+	 *
+	 * @param {String|Error} error
+	 * @return {String} error message
+	 */
+	errorString = function( error ) {
+		var name, message,
+			errorString = error.toString();
+		if ( errorString.substring( 0, 7 ) === "[object" ) {
+			name = error.name ? error.name.toString() : "Error";
+			message = error.message ? error.message.toString() : "";
+			if ( name && message ) {
+				return name + ": " + message;
+			} else if ( name ) {
+				return name;
+			} else if ( message ) {
+				return message;
+			} else {
+				return "Error";
+			}
+		} else {
+			return errorString;
+		}
+	},
+	/**
+	 * Makes a clone of an object using only Array or Object as base,
+	 * and copies over the own enumerable properties.
+	 *
+	 * @param {Object} obj
+	 * @return {Object} New object with only the own properties (recursively).
+	 */
+	objectValues = function( obj ) {
+		var key, val,
+			vals = QUnit.is( "array", obj ) ? [] : {};
+		for ( key in obj ) {
+			if ( hasOwn.call( obj, key ) ) {
+				val = obj[ key ];
+				vals[ key ] = val === Object( val ) ? objectValues( val ) : val;
+			}
+		}
+		return vals;
+	};
+
+QUnit = {};
+
+/**
+ * Config object: Maintain internal state
+ * Later exposed as QUnit.config
+ * `config` initialized at top of scope
+ */
+config = {
+	// The queue of tests to run
+	queue: [],
+
+	// block until document ready
+	blocking: true,
+
+	// by default, run previously failed tests first
+	// very useful in combination with "Hide passed tests" checked
+	reorder: true,
+
+	// by default, modify document.title when suite is done
+	altertitle: true,
+
+	// by default, scroll to top of the page when suite is done
+	scrolltop: true,
+
+	// when enabled, all tests must call expect()
+	requireExpects: false,
+
+	// add checkboxes that are persisted in the query-string
+	// when enabled, the id is set to `true` as a `QUnit.config` property
+	urlConfig: [
+		{
+			id: "hidepassed",
+			label: "Hide passed tests",
+			tooltip: "Only show tests and assertions that fail. Stored as query-strings."
+		},
+		{
+			id: "noglobals",
+			label: "Check for Globals",
+			tooltip: "Enabling this will test if any test introduces new properties on the " +
+				"`window` object. Stored as query-strings."
+		},
+		{
+			id: "notrycatch",
+			label: "No try-catch",
+			tooltip: "Enabling this will run tests outside of a try-catch block. Makes debugging " +
+				"exceptions in IE reasonable. Stored as query-strings."
+		}
+	],
+
+	// Set of all modules.
+	modules: [],
+
+	// The first unnamed module
+	currentModule: {
+		name: "",
+		tests: []
+	},
+
+	callbacks: {}
+};
+
+// Push a loose unnamed module to the modules collection
+config.modules.push( config.currentModule );
+
+// Initialize more QUnit.config and QUnit.urlParams
+(function() {
+	var i, current,
+		location = window.location || { search: "", protocol: "file:" },
+		params = location.search.slice( 1 ).split( "&" ),
+		length = params.length,
+		urlParams = {};
+
+	if ( params[ 0 ] ) {
+		for ( i = 0; i < length; i++ ) {
+			current = params[ i ].split( "=" );
+			current[ 0 ] = decodeURIComponent( current[ 0 ] );
+
+			// allow just a key to turn on a flag, e.g., test.html?noglobals
+			current[ 1 ] = current[ 1 ] ? decodeURIComponent( current[ 1 ] ) : true;
+			if ( urlParams[ current[ 0 ] ] ) {
+				urlParams[ current[ 0 ] ] = [].concat( urlParams[ current[ 0 ] ], current[ 1 ] );
+			} else {
+				urlParams[ current[ 0 ] ] = current[ 1 ];
+			}
+		}
+	}
+
+	if ( urlParams.filter === true ) {
+		delete urlParams.filter;
+	}
+
+	QUnit.urlParams = urlParams;
+
+	// String search anywhere in moduleName+testName
+	config.filter = urlParams.filter;
+
+	config.testId = [];
+	if ( urlParams.testId ) {
+
+		// Ensure that urlParams.testId is an array
+		urlParams.testId = [].concat( urlParams.testId );
+		for ( i = 0; i < urlParams.testId.length; i++ ) {
+			config.testId.push( urlParams.testId[ i ] );
+		}
+	}
+
+	// Figure out if we're running the tests from a server or not
+	QUnit.isLocal = location.protocol === "file:";
+}());
+
+// Root QUnit object.
+// `QUnit` initialized at top of scope
+extend( QUnit, {
+
+	// call on start of module test to prepend name to all tests
+	module: function( name, testEnvironment ) {
+		var currentModule = {
+			name: name,
+			testEnvironment: testEnvironment,
+			tests: []
+		};
+
+		// DEPRECATED: handles setup/teardown functions,
+		// beforeEach and afterEach should be used instead
+		if ( testEnvironment && testEnvironment.setup ) {
+			testEnvironment.beforeEach = testEnvironment.setup;
+			delete testEnvironment.setup;
+		}
+		if ( testEnvironment && testEnvironment.teardown ) {
+			testEnvironment.afterEach = testEnvironment.teardown;
+			delete testEnvironment.teardown;
+		}
+
+		config.modules.push( currentModule );
+		config.currentModule = currentModule;
+	},
+
+	// DEPRECATED: QUnit.asyncTest() will be removed in QUnit 2.0.
+	asyncTest: function( testName, expected, callback ) {
+		if ( arguments.length === 2 ) {
+			callback = expected;
+			expected = null;
+		}
+
+		QUnit.test( testName, expected, callback, true );
+	},
+
+	test: function( testName, expected, callback, async ) {
+		var test;
+
+		if ( arguments.length === 2 ) {
+			callback = expected;
+			expected = null;
+		}
+
+		test = new Test({
+			testName: testName,
+			expected: expected,
+			async: async,
+			callback: callback
+		});
+
+		test.queue();
+	},
+
+	skip: function( testName ) {
+		var test = new Test({
+			testName: testName,
+			skip: true
+		});
+
+		test.queue();
+	},
+
+	// DEPRECATED: The functionality of QUnit.start() will be altered in QUnit 2.0.
+	// In QUnit 2.0, invoking it will ONLY affect the `QUnit.config.autostart` blocking behavior.
+	start: function( count ) {
+		var globalStartAlreadyCalled = globalStartCalled;
+
+		if ( !config.current ) {
+			globalStartCalled = true;
+
+			if ( runStarted ) {
+				throw new Error( "Called start() outside of a test context while already started" );
+			} else if ( globalStartAlreadyCalled || count > 1 ) {
+				throw new Error( "Called start() outside of a test context too many times" );
+			} else if ( config.autostart ) {
+				throw new Error( "Called start() outside of a test context when " +
+					"QUnit.config.autostart was true" );
+			} else if ( !config.pageLoaded ) {
+
+				// The page isn't completely loaded yet, so bail out and let `QUnit.load` handle it
+				config.autostart = true;
+				return;
+			}
+		} else {
+
+			// If a test is running, adjust its semaphore
+			config.current.semaphore -= count || 1;
+
+			// Don't start until equal number of stop-calls
+			if ( config.current.semaphore > 0 ) {
+				return;
+			}
+
+			// throw an Error if start is called more often than stop
+			if ( config.current.semaphore < 0 ) {
+				config.current.semaphore = 0;
+
+				QUnit.pushFailure(
+					"Called start() while already started (test's semaphore was 0 already)",
+					sourceFromStacktrace( 2 )
+				);
+				return;
+			}
+		}
+
+		resumeProcessing();
+	},
+
+	// DEPRECATED: QUnit.stop() will be removed in QUnit 2.0.
+	stop: function( count ) {
+
+		// If there isn't a test running, don't allow QUnit.stop() to be called
+		if ( !config.current ) {
+			throw new Error( "Called stop() outside of a test context" );
+		}
+
+		// If a test is running, adjust its semaphore
+		config.current.semaphore += count || 1;
+
+		pauseProcessing();
+	},
+
+	config: config,
+
+	// Safe object type checking
+	is: function( type, obj ) {
+		return QUnit.objectType( obj ) === type;
+	},
+
+	objectType: function( obj ) {
+		if ( typeof obj === "undefined" ) {
+			return "undefined";
+		}
+
+		// Consider: typeof null === object
+		if ( obj === null ) {
+			return "null";
+		}
+
+		var match = toString.call( obj ).match( /^\[object\s(.*)\]$/ ),
+			type = match && match[ 1 ] || "";
+
+		switch ( type ) {
+			case "Number":
+				if ( isNaN( obj ) ) {
+					return "nan";
+				}
+				return "number";
+			case "String":
+			case "Boolean":
+			case "Array":
+			case "Date":
+			case "RegExp":
+			case "Function":
+				return type.toLowerCase();
+		}
+		if ( typeof obj === "object" ) {
+			return "object";
+		}
+		return undefined;
+	},
+
+	extend: extend,
+
+	load: function() {
+		config.pageLoaded = true;
+
+		// Initialize the configuration options
+		extend( config, {
+			stats: { all: 0, bad: 0 },
+			moduleStats: { all: 0, bad: 0 },
+			started: 0,
+			updateRate: 1000,
+			autostart: true,
+			filter: ""
+		}, true );
+
+		config.blocking = false;
+
+		if ( config.autostart ) {
+			resumeProcessing();
+		}
+	}
+});
+
+// Register logging callbacks
+(function() {
+	var i, l, key,
+		callbacks = [ "begin", "done", "log", "testStart", "testDone",
+			"moduleStart", "moduleDone" ];
+
+	function registerLoggingCallback( key ) {
+		var loggingCallback = function( callback ) {
+			if ( QUnit.objectType( callback ) !== "function" ) {
+				throw new Error(
+					"QUnit logging methods require a callback function as their first parameters."
+				);
+			}
+
+			config.callbacks[ key ].push( callback );
+		};
+
+		// DEPRECATED: This will be removed on QUnit 2.0.0+
+		// Stores the registered functions allowing restoring
+		// at verifyLoggingCallbacks() if modified
+		loggingCallbacks[ key ] = loggingCallback;
+
+		return loggingCallback;
+	}
+
+	for ( i = 0, l = callbacks.length; i < l; i++ ) {
+		key = callbacks[ i ];
+
+		// Initialize key collection of logging callback
+		if ( QUnit.objectType( config.callbacks[ key ] ) === "undefined" ) {
+			config.callbacks[ key ] = [];
+		}
+
+		QUnit[ key ] = registerLoggingCallback( key );
+	}
+})();
+
+// `onErrorFnPrev` initialized at top of scope
+// Preserve other handlers
+onErrorFnPrev = window.onerror;
+
+// Cover uncaught exceptions
+// Returning true will suppress the default browser handler,
+// returning false will let it run.
+window.onerror = function( error, filePath, linerNr ) {
+	var ret = false;
+	if ( onErrorFnPrev ) {
+		ret = onErrorFnPrev( error, filePath, linerNr );
+	}
+
+	// Treat return value as window.onerror itself does,
+	// Only do our handling if not suppressed.
+	if ( ret !== true ) {
+		if ( QUnit.config.current ) {
+			if ( QUnit.config.current.ignoreGlobalErrors ) {
+				return true;
+			}
+			QUnit.pushFailure( error, filePath + ":" + linerNr );
+		} else {
+			QUnit.test( "global failure", extend(function() {
+				QUnit.pushFailure( error, filePath + ":" + linerNr );
+			}, { validTest: true } ) );
+		}
+		return false;
+	}
+
+	return ret;
+};
+
+function done() {
+	var runtime, passed;
+
+	config.autorun = true;
+
+	// Log the last module results
+	if ( config.previousModule ) {
+		runLoggingCallbacks( "moduleDone", {
+			name: config.previousModule.name,
+			tests: config.previousModule.tests,
+			failed: config.moduleStats.bad,
+			passed: config.moduleStats.all - config.moduleStats.bad,
+			total: config.moduleStats.all,
+			runtime: now() - config.moduleStats.started
+		});
+	}
+	delete config.previousModule;
+
+	runtime = now() - config.started;
+	passed = config.stats.all - config.stats.bad;
+
+	runLoggingCallbacks( "done", {
+		failed: config.stats.bad,
+		passed: passed,
+		total: config.stats.all,
+		runtime: runtime
+	});
+}
+
+// Doesn't support IE6 to IE9
+// See also https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Error/Stack
+function extractStacktrace( e, offset ) {
+	offset = offset === undefined ? 4 : offset;
+
+	var stack, include, i;
+
+	if ( e.stacktrace ) {
+
+		// Opera 12.x
+		return e.stacktrace.split( "\n" )[ offset + 3 ];
+	} else if ( e.stack ) {
+
+		// Firefox, Chrome, Safari 6+, IE10+, PhantomJS and Node
+		stack = e.stack.split( "\n" );
+		if ( /^error$/i.test( stack[ 0 ] ) ) {
+			stack.shift();
+		}
+		if ( fileName ) {
+			include = [];
+			for ( i = offset; i < stack.length; i++ ) {
+				if ( stack[ i ].indexOf( fileName ) !== -1 ) {
+					break;
+				}
+				include.push( stack[ i ] );
+			}
+			if ( include.length ) {
+				return include.join( "\n" );
+			}
+		}
+		return stack[ offset ];
+	} else if ( e.sourceURL ) {
+
+		// Safari < 6
+		// exclude useless self-reference for generated Error objects
+		if ( /qunit.js$/.test( e.sourceURL ) ) {
+			return;
+		}
+
+		// for actual exceptions, this is useful
+		return e.sourceURL + ":" + e.line;
+	}
+}
+
+function sourceFromStacktrace( offset ) {
+	var e = new Error();
+	if ( !e.stack ) {
+		try {
+			throw e;
+		} catch ( err ) {
+			// This should already be true in most browsers
+			e = err;
+		}
+	}
+	return extractStacktrace( e, offset );
+}
+
+function synchronize( callback, last ) {
+	if ( QUnit.objectType( callback ) === "array" ) {
+		while ( callback.length ) {
+			synchronize( callback.shift() );
+		}
+		return;
+	}
+	config.queue.push( callback );
+
+	if ( config.autorun && !config.blocking ) {
+		process( last );
+	}
+}
+
+function process( last ) {
+	function next() {
+		process( last );
+	}
+	var start = now();
+	config.depth = ( config.depth || 0 ) + 1;
+
+	while ( config.queue.length && !config.blocking ) {
+		if ( !defined.setTimeout || config.updateRate <= 0 ||
+				( ( now() - start ) < config.updateRate ) ) {
+			if ( config.current ) {
+
+				// Reset async tracking for each phase of the Test lifecycle
+				config.current.usedAsync = false;
+			}
+			config.queue.shift()();
+		} else {
+			setTimeout( next, 13 );
+			break;
+		}
+	}
+	config.depth--;
+	if ( last && !config.blocking && !config.queue.length && config.depth === 0 ) {
+		done();
+	}
+}
+
+function begin() {
+	var i, l,
+		modulesLog = [];
+
+	// If the test run hasn't officially begun yet
+	if ( !config.started ) {
+
+		// Record the time of the test run's beginning
+		config.started = now();
+
+		verifyLoggingCallbacks();
+
+		// Delete the loose unnamed module if unused.
+		if ( config.modules[ 0 ].name === "" && config.modules[ 0 ].tests.length === 0 ) {
+			config.modules.shift();
+		}
+
+		// Avoid unnecessary information by not logging modules' test environments
+		for ( i = 0, l = config.modules.length; i < l; i++ ) {
+			modulesLog.push({
+				name: config.modules[ i ].name,
+				tests: config.modules[ i ].tests
+			});
+		}
+
+		// The test run is officially beginning now
+		runLoggingCallbacks( "begin", {
+			totalTests: Test.count,
+			modules: modulesLog
+		});
+	}
+
+	config.blocking = false;
+	process( true );
+}
+
+function resumeProcessing() {
+	runStarted = true;
+
+	// A slight delay to allow this iteration of the event loop to finish (more assertions, etc.)
+	if ( defined.setTimeout ) {
+		setTimeout(function() {
+			if ( config.current && config.current.semaphore > 0 ) {
+				return;
+			}
+			if ( config.timeout ) {
+				clearTimeout( config.timeout );
+			}
+
+			begin();
+		}, 13 );
+	} else {
+		begin();
+	}
+}
+
+function pauseProcessing() {
+	config.blocking = true;
+
+	if ( config.testTimeout && defined.setTimeout ) {
+		clearTimeout( config.timeout );
+		config.timeout = setTimeout(function() {
+			if ( config.current ) {
+				config.current.semaphore = 0;
+				QUnit.pushFailure( "Test timed out", sourceFromStacktrace( 2 ) );
+			} else {
+				throw new Error( "Test timed out" );
+			}
+			resumeProcessing();
+		}, config.testTimeout );
+	}
+}
+
+function saveGlobal() {
+	config.pollution = [];
+
+	if ( config.noglobals ) {
+		for ( var key in window ) {
+			if ( hasOwn.call( window, key ) ) {
+				// in Opera sometimes DOM element ids show up here, ignore them
+				if ( /^qunit-test-output/.test( key ) ) {
+					continue;
+				}
+				config.pollution.push( key );
+			}
+		}
+	}
+}
+
+function checkPollution() {
+	var newGlobals,
+		deletedGlobals,
+		old = config.pollution;
+
+	saveGlobal();
+
+	newGlobals = diff( config.pollution, old );
+	if ( newGlobals.length > 0 ) {
+		QUnit.pushFailure( "Introduced global variable(s): " + newGlobals.join( ", " ) );
+	}
+
+	deletedGlobals = diff( old, config.pollution );
+	if ( deletedGlobals.length > 0 ) {
+		QUnit.pushFailure( "Deleted global variable(s): " + deletedGlobals.join( ", " ) );
+	}
+}
+
+// returns a new Array with the elements that are in a but not in b
+function diff( a, b ) {
+	var i, j,
+		result = a.slice();
+
+	for ( i = 0; i < result.length; i++ ) {
+		for ( j = 0; j < b.length; j++ ) {
+			if ( result[ i ] === b[ j ] ) {
+				result.splice( i, 1 );
+				i--;
+				break;
+			}
+		}
+	}
+	return result;
+}
+
+function extend( a, b, undefOnly ) {
+	for ( var prop in b ) {
+		if ( hasOwn.call( b, prop ) ) {
+
+			// Avoid "Member not found" error in IE8 caused by messing with window.constructor
+			if ( !( prop === "constructor" && a === window ) ) {
+				if ( b[ prop ] === undefined ) {
+					delete a[ prop ];
+				} else if ( !( undefOnly && typeof a[ prop ] !== "undefined" ) ) {
+					a[ prop ] = b[ prop ];
+				}
+			}
+		}
+	}
+
+	return a;
+}
+
+function runLoggingCallbacks( key, args ) {
+	var i, l, callbacks;
+
+	callbacks = config.callbacks[ key ];
+	for ( i = 0, l = callbacks.length; i < l; i++ ) {
+		callbacks[ i ]( args );
+	}
+}
+
+// DEPRECATED: This will be removed on 2.0.0+
+// This function verifies if the loggingCallbacks were modified by the user
+// If so, it will restore it, assign the given callback and print a console warning
+function verifyLoggingCallbacks() {
+	var loggingCallback, userCallback;
+
+	for ( loggingCallback in loggingCallbacks ) {
+		if ( QUnit[ loggingCallback ] !== loggingCallbacks[ loggingCallback ] ) {
+
+			userCallback = QUnit[ loggingCallback ];
+
+			// Restore the callback function
+			QUnit[ loggingCallback ] = loggingCallbacks[ loggingCallback ];
+
+			// Assign the deprecated given callback
+			QUnit[ loggingCallback ]( userCallback );
+
+			if ( window.console && window.console.warn ) {
+				window.console.warn(
+					"QUnit." + loggingCallback + " was replaced with a new value.\n" +
+					"Please, check out the documentation on how to apply logging callbacks.\n" +
+					"Reference: http://api.qunitjs.com/category/callbacks/"
+				);
+			}
+		}
+	}
+}
+
+// from jquery.js
+function inArray( elem, array ) {
+	if ( array.indexOf ) {
+		return array.indexOf( elem );
+	}
+
+	for ( var i = 0, length = array.length; i < length; i++ ) {
+		if ( array[ i ] === elem ) {
+			return i;
+		}
+	}
+
+	return -1;
+}
+
+function Test( settings ) {
+	var i, l;
+
+	++Test.count;
+
+	extend( this, settings );
+	this.assertions = [];
+	this.semaphore = 0;
+	this.usedAsync = false;
+	this.module = config.currentModule;
+	this.stack = sourceFromStacktrace( 3 );
+
+	// Register unique strings
+	for ( i = 0, l = this.module.tests; i < l.length; i++ ) {
+		if ( this.module.tests[ i ].name === this.testName ) {
+			this.testName += " ";
+		}
+	}
+
+	this.testId = generateHash( this.module.name, this.testName );
+
+	this.module.tests.push({
+		name: this.testName,
+		testId: this.testId
+	});
+
+	if ( settings.skip ) {
+
+		// Skipped tests will fully ignore any sent callback
+		this.callback = function() {};
+		this.async = false;
+		this.expected = 0;
+	} else {
+		this.assert = new Assert( this );
+	}
+}
+
+Test.count = 0;
+
+Test.prototype = {
+	before: function() {
+		if (
+
+			// Emit moduleStart when we're switching from one module to another
+			this.module !== config.previousModule ||
+
+				// They could be equal (both undefined) but if the previousModule property doesn't
+				// yet exist it means this is the first test in a suite that isn't wrapped in a
+				// module, in which case we'll just emit a moduleStart event for 'undefined'.
+				// Without this, reporters can get testStart before moduleStart  which is a problem.
+				!hasOwn.call( config, "previousModule" )
+		) {
+			if ( hasOwn.call( config, "previousModule" ) ) {
+				runLoggingCallbacks( "moduleDone", {
+					name: config.previousModule.name,
+					tests: config.previousModule.tests,
+					failed: config.moduleStats.bad,
+					passed: config.moduleStats.all - config.moduleStats.bad,
+					total: config.moduleStats.all,
+					runtime: now() - config.moduleStats.started
+				});
+			}
+			config.previousModule = this.module;
+			config.moduleStats = { all: 0, bad: 0, started: now() };
+			runLoggingCallbacks( "moduleStart", {
+				name: this.module.name,
+				tests: this.module.tests
+			});
+		}
+
+		config.current = this;
+
+		this.testEnvironment = extend( {}, this.module.testEnvironment );
+		delete this.testEnvironment.beforeEach;
+		delete this.testEnvironment.afterEach;
+
+		this.started = now();
+		runLoggingCallbacks( "testStart", {
+			name: this.testName,
+			module: this.module.name,
+			testId: this.testId
+		});
+
+		if ( !config.pollution ) {
+			saveGlobal();
+		}
+	},
+
+	run: function() {
+		var promise;
+
+		config.current = this;
+
+		if ( this.async ) {
+			QUnit.stop();
+		}
+
+		this.callbackStarted = now();
+
+		if ( config.notrycatch ) {
+			promise = this.callback.call( this.testEnvironment, this.assert );
+			this.resolvePromise( promise );
+			return;
+		}
+
+		try {
+			promise = this.callback.call( this.testEnvironment, this.assert );
+			this.resolvePromise( promise );
+		} catch ( e ) {
+			this.pushFailure( "Died on test #" + ( this.assertions.length + 1 ) + " " +
+				this.stack + ": " + ( e.message || e ), extractStacktrace( e, 0 ) );
+
+			// else next test will carry the responsibility
+			saveGlobal();
+
+			// Restart the tests if they're blocking
+			if ( config.blocking ) {
+				QUnit.start();
+			}
+		}
+	},
+
+	after: function() {
+		checkPollution();
+	},
+
+	queueHook: function( hook, hookName ) {
+		var promise,
+			test = this;
+		return function runHook() {
+			config.current = test;
+			if ( config.notrycatch ) {
+				promise = hook.call( test.testEnvironment, test.assert );
+				test.resolvePromise( promise, hookName );
+				return;
+			}
+			try {
+				promise = hook.call( test.testEnvironment, test.assert );
+				test.resolvePromise( promise, hookName );
+			} catch ( error ) {
+				test.pushFailure( hookName + " failed on " + test.testName + ": " +
+					( error.message || error ), extractStacktrace( error, 0 ) );
+			}
+		};
+	},
+
+	// Currently only used for module level hooks, can be used to add global level ones
+	hooks: function( handler ) {
+		var hooks = [];
+
+		// Hooks are ignored on skipped tests
+		if ( this.skip ) {
+			return hooks;
+		}
+
+		if ( this.module.testEnvironment &&
+				QUnit.objectType( this.module.testEnvironment[ handler ] ) === "function" ) {
+			hooks.push( this.queueHook( this.module.testEnvironment[ handler ], handler ) );
+		}
+
+		return hooks;
+	},
+
+	finish: function() {
+		config.current = this;
+		if ( config.requireExpects && this.expected === null ) {
+			this.pushFailure( "Expected number of assertions to be defined, but expect() was " +
+				"not called.", this.stack );
+		} else if ( this.expected !== null && this.expected !== this.assertions.length ) {
+			this.pushFailure( "Expected " + this.expected + " assertions, but " +
+				this.assertions.length + " were run", this.stack );
+		} else if ( this.expected === null && !this.assertions.length ) {
+			this.pushFailure( "Expected at least one assertion, but none were run - call " +
+				"expect(0) to accept zero assertions.", this.stack );
+		}
+
+		var i,
+			bad = 0;
+
+		this.runtime = now() - this.started;
+		config.stats.all += this.assertions.length;
+		config.moduleStats.all += this.assertions.length;
+
+		for ( i = 0; i < this.assertions.length; i++ ) {
+			if ( !this.assertions[ i ].result ) {
+				bad++;
+				config.stats.bad++;
+				config.moduleStats.bad++;
+			}
+		}
+
+		runLoggingCallbacks( "testDone", {
+			name: this.testName,
+			module: this.module.name,
+			skipped: !!this.skip,
+			failed: bad,
+			passed: this.assertions.length - bad,
+			total: this.assertions.length,
+			runtime: this.runtime,
+
+			// HTML Reporter use
+			assertions: this.assertions,
+			testId: this.testId,
+
+			// DEPRECATED: this property will be removed in 2.0.0, use runtime instead
+			duration: this.runtime
+		});
+
+		// QUnit.reset() is deprecated and will be replaced for a new
+		// fixture reset function on QUnit 2.0/2.1.
+		// It's still called here for backwards compatibility handling
+		QUnit.reset();
+
+		config.current = undefined;
+	},
+
+	queue: function() {
+		var bad,
+			test = this;
+
+		if ( !this.valid() ) {
+			return;
+		}
+
+		function run() {
+
+			// each of these can by async
+			synchronize([
+				function() {
+					test.before();
+				},
+
+				test.hooks( "beforeEach" ),
+
+				function() {
+					test.run();
+				},
+
+				test.hooks( "afterEach" ).reverse(),
+
+				function() {
+					test.after();
+				},
+				function() {
+					test.finish();
+				}
+			]);
+		}
+
+		// `bad` initialized at top of scope
+		// defer when previous test run passed, if storage is available
+		bad = QUnit.config.reorder && defined.sessionStorage &&
+				+sessionStorage.getItem( "qunit-test-" + this.module.name + "-" + this.testName );
+
+		if ( bad ) {
+			run();
+		} else {
+			synchronize( run, true );
+		}
+	},
+
+	push: function( result, actual, expected, message ) {
+		var source,
+			details = {
+				module: this.module.name,
+				name: this.testName,
+				result: result,
+				message: message,
+				actual: actual,
+				expected: expected,
+				testId: this.testId,
+				runtime: now() - this.started
+			};
+
+		if ( !result ) {
+			source = sourceFromStacktrace();
+
+			if ( source ) {
+				details.source = source;
+			}
+		}
+
+		runLoggingCallbacks( "log", details );
+
+		this.assertions.push({
+			result: !!result,
+			message: message
+		});
+	},
+
+	pushFailure: function( message, source, actual ) {
+		if ( !this instanceof Test ) {
+			throw new Error( "pushFailure() assertion outside test context, was " +
+				sourceFromStacktrace( 2 ) );
+		}
+
+		var details = {
+				module: this.module.name,
+				name: this.testName,
+				result: false,
+				message: message || "error",
+				actual: actual || null,
+				testId: this.testId,
+				runtime: now() - this.started
+			};
+
+		if ( source ) {
+			details.source = source;
+		}
+
+		runLoggingCallbacks( "log", details );
+
+		this.assertions.push({
+			result: false,
+			message: message
+		});
+	},
+
+	resolvePromise: function( promise, phase ) {
+		var then, message,
+			test = this;
+		if ( promise != null ) {
+			then = promise.then;
+			if ( QUnit.objectType( then ) === "function" ) {
+				QUnit.stop();
+				then.call(
+					promise,
+					QUnit.start,
+					function( error ) {
+						message = "Promise rejected " +
+							( !phase ? "during" : phase.replace( /Each$/, "" ) ) +
+							" " + test.testName + ": " + ( error.message || error );
+						test.pushFailure( message, extractStacktrace( error, 0 ) );
+
+						// else next test will carry the responsibility
+						saveGlobal();
+
+						// Unblock
+						QUnit.start();
+					}
+				);
+			}
+		}
+	},
+
+	valid: function() {
+		var include,
+			filter = config.filter,
+			module = QUnit.urlParams.module && QUnit.urlParams.module.toLowerCase(),
+			fullName = ( this.module.name + ": " + this.testName ).toLowerCase();
+
+		// Internally-generated tests are always valid
+		if ( this.callback && this.callback.validTest ) {
+			return true;
+		}
+
+		if ( config.testId.length > 0 && inArray( this.testId, config.testId ) < 0 ) {
+			return false;
+		}
+
+		if ( module && ( !this.module.name || this.module.name.toLowerCase() !== module ) ) {
+			return false;
+		}
+
+		if ( !filter ) {
+			return true;
+		}
+
+		include = filter.charAt( 0 ) !== "!";
+		if ( !include ) {
+			filter = filter.toLowerCase().slice( 1 );
+		}
+
+		// If the filter matches, we need to honour include
+		if ( fullName.indexOf( filter ) !== -1 ) {
+			return include;
+		}
+
+		// Otherwise, do the opposite
+		return !include;
+	}
+
+};
+
+// Resets the test setup. Useful for tests that modify the DOM.
+/*
+DEPRECATED: Use multiple tests instead of resetting inside a test.
+Use testStart or testDone for custom cleanup.
+This method will throw an error in 2.0, and will be removed in 2.1
+*/
+QUnit.reset = function() {
+
+	// Return on non-browser environments
+	// This is necessary to not break on node tests
+	if ( typeof window === "undefined" ) {
+		return;
+	}
+
+	var fixture = defined.document && document.getElementById &&
+			document.getElementById( "qunit-fixture" );
+
+	if ( fixture ) {
+		fixture.innerHTML = config.fixture;
+	}
+};
+
+QUnit.pushFailure = function() {
+	if ( !QUnit.config.current ) {
+		throw new Error( "pushFailure() assertion outside test context, in " +
+			sourceFromStacktrace( 2 ) );
+	}
+
+	// Gets current test obj
+	var currentTest = QUnit.config.current;
+
+	return currentTest.pushFailure.apply( currentTest, arguments );
+};
+
+// Based on Java's String.hashCode, a simple but not
+// rigorously collision resistant hashing function
+function generateHash( module, testName ) {
+	var hex,
+		i = 0,
+		hash = 0,
+		str = module + "\x1C" + testName,
+		len = str.length;
+
+	for ( ; i < len; i++ ) {
+		hash  = ( ( hash << 5 ) - hash ) + str.charCodeAt( i );
+		hash |= 0;
+	}
+
+	// Convert the possibly negative integer hash code into an 8 character hex string, which isn't
+	// strictly necessary but increases user understanding that the id is a SHA-like hash
+	hex = ( 0x100000000 + hash ).toString( 16 );
+	if ( hex.length < 8 ) {
+		hex = "0000000" + hex;
+	}
+
+	return hex.slice( -8 );
+}
+
+function Assert( testContext ) {
+	this.test = testContext;
+}
+
+// Assert helpers
+QUnit.assert = Assert.prototype = {
+
+	// Specify the number of expected assertions to guarantee that failed test
+	// (no assertions are run at all) don't slip through.
+	expect: function( asserts ) {
+		if ( arguments.length === 1 ) {
+			this.test.expected = asserts;
+		} else {
+			return this.test.expected;
+		}
+	},
+
+	// Increment this Test's semaphore counter, then return a single-use function that
+	// decrements that counter a maximum of once.
+	async: function() {
+		var test = this.test,
+			popped = false;
+
+		test.semaphore += 1;
+		test.usedAsync = true;
+		pauseProcessing();
+
+		return function done() {
+			if ( !popped ) {
+				test.semaphore -= 1;
+				popped = true;
+				resumeProcessing();
+			} else {
+				test.pushFailure( "Called the callback returned from `assert.async` more than once",
+					sourceFromStacktrace( 2 ) );
+			}
+		};
+	},
+
+	// Exports test.push() to the user API
+	push: function( /* result, actual, expected, message */ ) {
+		var assert = this,
+			currentTest = ( assert instanceof Assert && assert.test ) || QUnit.config.current;
+
+		// Backwards compatibility fix.
+		// Allows the direct use of global exported assertions and QUnit.assert.*
+		// Although, it's use is not recommended as it can leak assertions
+		// to other tests from async tests, because we only get a reference to the current test,
+		// not exactly the test where assertion were intended to be called.
+		if ( !currentTest ) {
+			throw new Error( "assertion outside test context, in " + sourceFromStacktrace( 2 ) );
+		}
+
+		if ( currentTest.usedAsync === true && currentTest.semaphore === 0 ) {
+			currentTest.pushFailure( "Assertion after the final `assert.async` was resolved",
+				sourceFromStacktrace( 2 ) );
+
+			// Allow this assertion to continue running anyway...
+		}
+
+		if ( !( assert instanceof Assert ) ) {
+			assert = currentTest.assert;
+		}
+		return assert.test.push.apply( assert.test, arguments );
+	},
+
+	/**
+	 * Asserts rough true-ish result.
+	 * @name ok
+	 * @function
+	 * @example ok( "asdfasdf".length > 5, "There must be at least 5 chars" );
+	 */
+	ok: function( result, message ) {
+		message = message || ( result ? "okay" : "failed, expected argument to be truthy, was: " +
+			QUnit.dump.parse( result ) );
+		this.push( !!result, result, true, message );
+	},
+
+	/**
+	 * Assert that the first two arguments are equal, with an optional message.
+	 * Prints out both actual and expected values.
+	 * @name equal
+	 * @function
+	 * @example equal( format( "{0} bytes.", 2), "2 bytes.", "replaces {0} with next argument" );
+	 */
+	equal: function( actual, expected, message ) {
+		/*jshint eqeqeq:false */
+		this.push( expected == actual, actual, expected, message );
+	},
+
+	/**
+	 * @name notEqual
+	 * @function
+	 */
+	notEqual: function( actual, expected, message ) {
+		/*jshint eqeqeq:false */
+		this.push( expected != actual, actual, expected, message );
+	},
+
+	/**
+	 * @name propEqual
+	 * @function
+	 */
+	propEqual: function( actual, expected, message ) {
+		actual = objectValues( actual );
+		expected = objectValues( expected );
+		this.push( QUnit.equiv( actual, expected ), actual, expected, message );
+	},
+
+	/**
+	 * @name notPropEqual
+	 * @function
+	 */
+	notPropEqual: function( actual, expected, message ) {
+		actual = objectValues( actual );
+		expected = objectValues( expected );
+		this.push( !QUnit.equiv( actual, expected ), actual, expected, message );
+	},
+
+	/**
+	 * @name deepEqual
+	 * @function
+	 */
+	deepEqual: function( actual, expected, message ) {
+		this.push( QUnit.equiv( actual, expected ), actual, expected, message );
+	},
+
+	/**
+	 * @name notDeepEqual
+	 * @function
+	 */
+	notDeepEqual: function( actual, expected, message ) {
+		this.push( !QUnit.equiv( actual, expected ), actual, expected, message );
+	},
+
+	/**
+	 * @name strictEqual
+	 * @function
+	 */
+	strictEqual: function( actual, expected, message ) {
+		this.push( expected === actual, actual, expected, message );
+	},
+
+	/**
+	 * @name notStrictEqual
+	 * @function
+	 */
+	notStrictEqual: function( actual, expected, message ) {
+		this.push( expected !== actual, actual, expected, message );
+	},
+
+	"throws": function( block, expected, message ) {
+		var actual, expectedType,
+			expectedOutput = expected,
+			ok = false;
+
+		// 'expected' is optional unless doing string comparison
+		if ( message == null && typeof expected === "string" ) {
+			message = expected;
+			expected = null;
+		}
+
+		this.test.ignoreGlobalErrors = true;
+		try {
+			block.call( this.test.testEnvironment );
+		} catch (e) {
+			actual = e;
+		}
+		this.test.ignoreGlobalErrors = false;
+
+		if ( actual ) {
+			expectedType = QUnit.objectType( expected );
+
+			// we don't want to validate thrown error
+			if ( !expected ) {
+				ok = true;
+				expectedOutput = null;
+
+			// expected is a regexp
+			} else if ( expectedType === "regexp" ) {
+				ok = expected.test( errorString( actual ) );
+
+			// expected is a string
+			} else if ( expectedType === "string" ) {
+				ok = expected === errorString( actual );
+
+			// expected is a constructor, maybe an Error constructor
+			} else if ( expectedType === "function" && actual instanceof expected ) {
+				ok = true;
+
+			// expected is an Error object
+			} else if ( expectedType === "object" ) {
+				ok = actual instanceof expected.constructor &&
+					actual.name === expected.name &&
+					actual.message === expected.message;
+
+			// expected is a validation function which returns true if validation passed
+			} else if ( expectedType === "function" && expected.call( {}, actual ) === true ) {
+				expectedOutput = null;
+				ok = true;
+			}
+
+			this.push( ok, actual, expectedOutput, message );
+		} else {
+			this.test.pushFailure( message, null, "No exception was thrown." );
+		}
+	}
+};
+
+// Provide an alternative to assert.throws(), for enviroments that consider throws a reserved word
+// Known to us are: Closure Compiler, Narwhal
+(function() {
+	/*jshint sub:true */
+	Assert.prototype.raises = Assert.prototype[ "throws" ];
+}());
+
+// Test for equality any JavaScript type.
+// Author: Philippe Rathé <prathe@gmail.com>
+QUnit.equiv = (function() {
+
+	// Call the o related callback with the given arguments.
+	function bindCallbacks( o, callbacks, args ) {
+		var prop = QUnit.objectType( o );
+		if ( prop ) {
+			if ( QUnit.objectType( callbacks[ prop ] ) === "function" ) {
+				return callbacks[ prop ].apply( callbacks, args );
+			} else {
+				return callbacks[ prop ]; // or undefined
+			}
+		}
+	}
+
+	// the real equiv function
+	var innerEquiv,
+
+		// stack to decide between skip/abort functions
+		callers = [],
+
+		// stack to avoiding loops from circular referencing
+		parents = [],
+		parentsB = [],
+
+		getProto = Object.getPrototypeOf || function( obj ) {
+			/* jshint camelcase: false, proto: true */
+			return obj.__proto__;
+		},
+		callbacks = (function() {
+
+			// for string, boolean, number and null
+			function useStrictEquality( b, a ) {
+
+				/*jshint eqeqeq:false */
+				if ( b instanceof a.constructor || a instanceof b.constructor ) {
+
+					// to catch short annotation VS 'new' annotation of a
+					// declaration
+					// e.g. var i = 1;
+					// var j = new Number(1);
+					return a == b;
+				} else {
+					return a === b;
+				}
+			}
+
+			return {
+				"string": useStrictEquality,
+				"boolean": useStrictEquality,
+				"number": useStrictEquality,
+				"null": useStrictEquality,
+				"undefined": useStrictEquality,
+
+				"nan": function( b ) {
+					return isNaN( b );
+				},
+
+				"date": function( b, a ) {
+					return QUnit.objectType( b ) === "date" && a.valueOf() === b.valueOf();
+				},
+
+				"regexp": function( b, a ) {
+					return QUnit.objectType( b ) === "regexp" &&
+
+						// the regex itself
+						a.source === b.source &&
+
+						// and its modifiers
+						a.global === b.global &&
+
+						// (gmi) ...
+						a.ignoreCase === b.ignoreCase &&
+						a.multiline === b.multiline &&
+						a.sticky === b.sticky;
+				},
+
+				// - skip when the property is a method of an instance (OOP)
+				// - abort otherwise,
+				// initial === would have catch identical references anyway
+				"function": function() {
+					var caller = callers[ callers.length - 1 ];
+					return caller !== Object && typeof caller !== "undefined";
+				},
+
+				"array": function( b, a ) {
+					var i, j, len, loop, aCircular, bCircular;
+
+					// b could be an object literal here
+					if ( QUnit.objectType( b ) !== "array" ) {
+						return false;
+					}
+
+					len = a.length;
+					if ( len !== b.length ) {
+						// safe and faster
+						return false;
+					}
+
+					// track reference to avoid circular references
+					parents.push( a );
+					parentsB.push( b );
+					for ( i = 0; i < len; i++ ) {
+						loop = false;
+						for ( j = 0; j < parents.length; j++ ) {
+							aCircular = parents[ j ] === a[ i ];
+							bCircular = parentsB[ j ] === b[ i ];
+							if ( aCircular || bCircular ) {
+								if ( a[ i ] === b[ i ] || aCircular && bCircular ) {
+									loop = true;
+								} else {
+									parents.pop();
+									parentsB.pop();
+									return false;
+								}
+							}
+						}
+						if ( !loop && !innerEquiv( a[ i ], b[ i ] ) ) {
+							parents.pop();
+							parentsB.pop();
+							return false;
+						}
+					}
+					parents.pop();
+					parentsB.pop();
+					return true;
+				},
+
+				"object": function( b, a ) {
+
+					/*jshint forin:false */
+					var i, j, loop, aCircular, bCircular,
+						// Default to true
+						eq = true,
+						aProperties = [],
+						bProperties = [];
+
+					// comparing constructors is more strict than using
+					// instanceof
+					if ( a.constructor !== b.constructor ) {
+
+						// Allow objects with no prototype to be equivalent to
+						// objects with Object as their constructor.
+						if ( !( ( getProto( a ) === null && getProto( b ) === Object.prototype ) ||
+							( getProto( b ) === null && getProto( a ) === Object.prototype ) ) ) {
+							return false;
+						}
+					}
+
+					// stack constructor before traversing properties
+					callers.push( a.constructor );
+
+					// track reference to avoid circular references
+					parents.push( a );
+					parentsB.push( b );
+
+					// be strict: don't ensure hasOwnProperty and go deep
+					for ( i in a ) {
+						loop = false;
+						for ( j = 0; j < parents.length; j++ ) {
+							aCircular = parents[ j ] === a[ i ];
+							bCircular = parentsB[ j ] === b[ i ];
+							if ( aCircular || bCircular ) {
+								if ( a[ i ] === b[ i ] || aCircular && bCircular ) {
+									loop = true;
+								} else {
+									eq = false;
+									break;
+								}
+							}
+						}
+						aProperties.push( i );
+						if ( !loop && !innerEquiv( a[ i ], b[ i ] ) ) {
+							eq = false;
+							break;
+						}
+					}
+
+					parents.pop();
+					parentsB.pop();
+					callers.pop(); // unstack, we are done
+
+					for ( i in b ) {
+						bProperties.push( i ); // collect b's properties
+					}
+
+					// Ensures identical properties name
+					return eq && innerEquiv( aProperties.sort(), bProperties.sort() );
+				}
+			};
+		}());
+
+	innerEquiv = function() { // can take multiple arguments
+		var args = [].slice.apply( arguments );
+		if ( args.length < 2 ) {
+			return true; // end transition
+		}
+
+		return ( (function( a, b ) {
+			if ( a === b ) {
+				return true; // catch the most you can
+			} else if ( a === null || b === null || typeof a === "undefined" ||
+					typeof b === "undefined" ||
+					QUnit.objectType( a ) !== QUnit.objectType( b ) ) {
+
+				// don't lose time with error prone cases
+				return false;
+			} else {
+				return bindCallbacks( a, callbacks, [ b, a ] );
+			}
+
+			// apply transition with (1..n) arguments
+		}( args[ 0 ], args[ 1 ] ) ) &&
+			innerEquiv.apply( this, args.splice( 1, args.length - 1 ) ) );
+	};
+
+	return innerEquiv;
+}());
+
+// Based on jsDump by Ariel Flesler
+// http://flesler.blogspot.com/2008/05/jsdump-pretty-dump-of-any-javascript.html
+QUnit.dump = (function() {
+	function quote( str ) {
+		return "\"" + str.toString().replace( /"/g, "\\\"" ) + "\"";
+	}
+	function literal( o ) {
+		return o + "";
+	}
+	function join( pre, arr, post ) {
+		var s = dump.separator(),
+			base = dump.indent(),
+			inner = dump.indent( 1 );
+		if ( arr.join ) {
+			arr = arr.join( "," + s + inner );
+		}
+		if ( !arr ) {
+			return pre + post;
+		}
+		return [ pre, inner + arr, base + post ].join( s );
+	}
+	function array( arr, stack ) {
+		var i = arr.length,
+			ret = new Array( i );
+
+		if ( dump.maxDepth && dump.depth > dump.maxDepth ) {
+			return "[object Array]";
+		}
+
+		this.up();
+		while ( i-- ) {
+			ret[ i ] = this.parse( arr[ i ], undefined, stack );
+		}
+		this.down();
+		return join( "[", ret, "]" );
+	}
+
+	var reName = /^function (\w+)/,
+		dump = {
+
+			// objType is used mostly internally, you can fix a (custom) type in advance
+			parse: function( obj, objType, stack ) {
+				stack = stack || [];
+				var res, parser, parserType,
+					inStack = inArray( obj, stack );
+
+				if ( inStack !== -1 ) {
+					return "recursion(" + ( inStack - stack.length ) + ")";
+				}
+
+				objType = objType || this.typeOf( obj  );
+				parser = this.parsers[ objType ];
+				parserType = typeof parser;
+
+				if ( parserType === "function" ) {
+					stack.push( obj );
+					res = parser.call( this, obj, stack );
+					stack.pop();
+					return res;
+				}
+				return ( parserType === "string" ) ? parser : this.parsers.error;
+			},
+			typeOf: function( obj ) {
+				var type;
+				if ( obj === null ) {
+					type = "null";
+				} else if ( typeof obj === "undefined" ) {
+					type = "undefined";
+				} else if ( QUnit.is( "regexp", obj ) ) {
+					type = "regexp";
+				} else if ( QUnit.is( "date", obj ) ) {
+					type = "date";
+				} else if ( QUnit.is( "function", obj ) ) {
+					type = "function";
+				} else if ( obj.setInterval !== undefined &&
+						obj.document !== undefined &&
+						obj.nodeType === undefined ) {
+					type = "window";
+				} else if ( obj.nodeType === 9 ) {
+					type = "document";
+				} else if ( obj.nodeType ) {
+					type = "node";
+				} else if (
+
+					// native arrays
+					toString.call( obj ) === "[object Array]" ||
+
+					// NodeList objects
+					( typeof obj.length === "number" && obj.item !== undefined &&
+					( obj.length ? obj.item( 0 ) === obj[ 0 ] : ( obj.item( 0 ) === null &&
+					obj[ 0 ] === undefined ) ) )
+				) {
+					type = "array";
+				} else if ( obj.constructor === Error.prototype.constructor ) {
+					type = "error";
+				} else {
+					type = typeof obj;
+				}
+				return type;
+			},
+			separator: function() {
+				return this.multiline ? this.HTML ? "<br />" : "\n" : this.HTML ? "&#160;" : " ";
+			},
+			// extra can be a number, shortcut for increasing-calling-decreasing
+			indent: function( extra ) {
+				if ( !this.multiline ) {
+					return "";
+				}
+				var chr = this.indentChar;
+				if ( this.HTML ) {
+					chr = chr.replace( /\t/g, "   " ).replace( / /g, "&#160;" );
+				}
+				return new Array( this.depth + ( extra || 0 ) ).join( chr );
+			},
+			up: function( a ) {
+				this.depth += a || 1;
+			},
+			down: function( a ) {
+				this.depth -= a || 1;
+			},
+			setParser: function( name, parser ) {
+				this.parsers[ name ] = parser;
+			},
+			// The next 3 are exposed so you can use them
+			quote: quote,
+			literal: literal,
+			join: join,
+			//
+			depth: 1,
+			maxDepth: 5,
+
+			// This is the list of parsers, to modify them, use dump.setParser
+			parsers: {
+				window: "[Window]",
+				document: "[Document]",
+				error: function( error ) {
+					return "Error(\"" + error.message + "\")";
+				},
+				unknown: "[Unknown]",
+				"null": "null",
+				"undefined": "undefined",
+				"function": function( fn ) {
+					var ret = "function",
+
+						// functions never have name in IE
+						name = "name" in fn ? fn.name : ( reName.exec( fn ) || [] )[ 1 ];
+
+					if ( name ) {
+						ret += " " + name;
+					}
+					ret += "( ";
+
+					ret = [ ret, dump.parse( fn, "functionArgs" ), "){" ].join( "" );
+					return join( ret, dump.parse( fn, "functionCode" ), "}" );
+				},
+				array: array,
+				nodelist: array,
+				"arguments": array,
+				object: function( map, stack ) {
+					var keys, key, val, i, nonEnumerableProperties,
+						ret = [];
+
+					if ( dump.maxDepth && dump.depth > dump.maxDepth ) {
+						return "[object Object]";
+					}
+
+					dump.up();
+					keys = [];
+					for ( key in map ) {
+						keys.push( key );
+					}
+
+					// Some properties are not always enumerable on Error objects.
+					nonEnumerableProperties = [ "message", "name" ];
+					for ( i in nonEnumerableProperties ) {
+						key = nonEnumerableProperties[ i ];
+						if ( key in map && !( key in keys ) ) {
+							keys.push( key );
+						}
+					}
+					keys.sort();
+					for ( i = 0; i < keys.length; i++ ) {
+						key = keys[ i ];
+						val = map[ key ];
+						ret.push( dump.parse( key, "key" ) + ": " +
+							dump.parse( val, undefined, stack ) );
+					}
+					dump.down();
+					return join( "{", ret, "}" );
+				},
+				node: function( node ) {
+					var len, i, val,
+						open = dump.HTML ? "&lt;" : "<",
+						close = dump.HTML ? "&gt;" : ">",
+						tag = node.nodeName.toLowerCase(),
+						ret = open + tag,
+						attrs = node.attributes;
+
+					if ( attrs ) {
+						for ( i = 0, len = attrs.length; i < len; i++ ) {
+							val = attrs[ i ].nodeValue;
+
+							// IE6 includes all attributes in .attributes, even ones not explicitly
+							// set. Those have values like undefined, null, 0, false, "" or
+							// "inherit".
+							if ( val && val !== "inherit" ) {
+								ret += " " + attrs[ i ].nodeName + "=" +
+									dump.parse( val, "attribute" );
+							}
+						}
+					}
+					ret += close;
+
+					// Show content of TextNode or CDATASection
+					if ( node.nodeType === 3 || node.nodeType === 4 ) {
+						ret += node.nodeValue;
+					}
+
+					return ret + open + "/" + tag + close;
+				},
+
+				// function calls it internally, it's the arguments part of the function
+				functionArgs: function( fn ) {
+					var args,
+						l = fn.length;
+
+					if ( !l ) {
+						return "";
+					}
+
+					args = new Array( l );
+					while ( l-- ) {
+
+						// 97 is 'a'
+						args[ l ] = String.fromCharCode( 97 + l );
+					}
+					return " " + args.join( ", " ) + " ";
+				},
+				// object calls it internally, the key part of an item in a map
+				key: quote,
+				// function calls it internally, it's the content of the function
+				functionCode: "[code]",
+				// node calls it internally, it's an html attribute value
+				attribute: quote,
+				string: quote,
+				date: quote,
+				regexp: literal,
+				number: literal,
+				"boolean": literal
+			},
+			// if true, entities are escaped ( <, >, \t, space and \n )
+			HTML: false,
+			// indentation unit
+			indentChar: "  ",
+			// if true, items in a collection, are separated by a \n, else just a space.
+			multiline: true
+		};
+
+	return dump;
+}());
+
+// back compat
+QUnit.jsDump = QUnit.dump;
+
+// For browser, export only select globals
+if ( typeof window !== "undefined" ) {
+
+	// Deprecated
+	// Extend assert methods to QUnit and Global scope through Backwards compatibility
+	(function() {
+		var i,
+			assertions = Assert.prototype;
+
+		function applyCurrent( current ) {
+			return function() {
+				var assert = new Assert( QUnit.config.current );
+				current.apply( assert, arguments );
+			};
+		}
+
+		for ( i in assertions ) {
+			QUnit[ i ] = applyCurrent( assertions[ i ] );
+		}
+	})();
+
+	(function() {
+		var i, l,
+			keys = [
+				"test",
+				"module",
+				"expect",
+				"asyncTest",
+				"start",
+				"stop",
+				"ok",
+				"equal",
+				"notEqual",
+				"propEqual",
+				"notPropEqual",
+				"deepEqual",
+				"notDeepEqual",
+				"strictEqual",
+				"notStrictEqual",
+				"throws"
+			];
+
+		for ( i = 0, l = keys.length; i < l; i++ ) {
+			window[ keys[ i ] ] = QUnit[ keys[ i ] ];
+		}
+	})();
+
+	window.QUnit = QUnit;
+}
+
+// For nodejs
+if ( typeof module !== "undefined" && module && module.exports ) {
+	module.exports = QUnit;
+
+	// For consistency with CommonJS environments' exports
+	module.exports.QUnit = QUnit;
+}
+
+// For CommonJS with exports, but without module.exports, like Rhino
+if ( typeof exports !== "undefined" && exports ) {
+	exports.QUnit = QUnit;
+}
+
+// Get a reference to the global object, like window in browsers
+}( (function() {
+	return this;
+})() ));
+
+/*istanbul ignore next */
+// jscs:disable maximumLineLength
+/*
+ * Javascript Diff Algorithm
+ *  By John Resig (http://ejohn.org/)
+ *  Modified by Chu Alan "sprite"
+ *
+ * Released under the MIT license.
+ *
+ * More Info:
+ *  http://ejohn.org/projects/javascript-diff-algorithm/
+ *
+ * Usage: QUnit.diff(expected, actual)
+ *
+ * QUnit.diff( "the quick brown fox jumped over", "the quick fox jumps over" ) == "the  quick <del>brown </del> fox <del>jumped </del><ins>jumps </ins> over"
+ */
+QUnit.diff = (function() {
+	var hasOwn = Object.prototype.hasOwnProperty;
+
+	/*jshint eqeqeq:false, eqnull:true */
+	function diff( o, n ) {
+		var i,
+			ns = {},
+			os = {};
+
+		for ( i = 0; i < n.length; i++ ) {
+			if ( !hasOwn.call( ns, n[ i ] ) ) {
+				ns[ n[ i ] ] = {
+					rows: [],
+					o: null
+				};
+			}
+			ns[ n[ i ] ].rows.push( i );
+		}
+
+		for ( i = 0; i < o.length; i++ ) {
+			if ( !hasOwn.call( os, o[ i ] ) ) {
+				os[ o[ i ] ] = {
+					rows: [],
+					n: null
+				};
+			}
+			os[ o[ i ] ].rows.push( i );
+		}
+
+		for ( i in ns ) {
+			if ( hasOwn.call( ns, i ) ) {
+				if ( ns[ i ].rows.length === 1 && hasOwn.call( os, i ) && os[ i ].rows.length === 1 ) {
+					n[ ns[ i ].rows[ 0 ] ] = {
+						text: n[ ns[ i ].rows[ 0 ] ],
+						row: os[ i ].rows[ 0 ]
+					};
+					o[ os[ i ].rows[ 0 ] ] = {
+						text: o[ os[ i ].rows[ 0 ] ],
+						row: ns[ i ].rows[ 0 ]
+					};
+				}
+			}
+		}
+
+		for ( i = 0; i < n.length - 1; i++ ) {
+			if ( n[ i ].text != null && n[ i + 1 ].text == null && n[ i ].row + 1 < o.length && o[ n[ i ].row + 1 ].text == null &&
+				n[ i + 1 ] == o[ n[ i ].row + 1 ] ) {
+
+				n[ i + 1 ] = {
+					text: n[ i + 1 ],
+					row: n[ i ].row + 1
+				};
+				o[ n[ i ].row + 1 ] = {
+					text: o[ n[ i ].row + 1 ],
+					row: i + 1
+				};
+			}
+		}
+
+		for ( i = n.length - 1; i > 0; i-- ) {
+			if ( n[ i ].text != null && n[ i - 1 ].text == null && n[ i ].row > 0 && o[ n[ i ].row - 1 ].text == null &&
+				n[ i - 1 ] == o[ n[ i ].row - 1 ] ) {
+
+				n[ i - 1 ] = {
+					text: n[ i - 1 ],
+					row: n[ i ].row - 1
+				};
+				o[ n[ i ].row - 1 ] = {
+					text: o[ n[ i ].row - 1 ],
+					row: i - 1
+				};
+			}
+		}
+
+		return {
+			o: o,
+			n: n
+		};
+	}
+
+	return function( o, n ) {
+		o = o.replace( /\s+$/, "" );
+		n = n.replace( /\s+$/, "" );
+
+		var i, pre,
+			str = "",
+			out = diff( o === "" ? [] : o.split( /\s+/ ), n === "" ? [] : n.split( /\s+/ ) ),
+			oSpace = o.match( /\s+/g ),
+			nSpace = n.match( /\s+/g );
+
+		if ( oSpace == null ) {
+			oSpace = [ " " ];
+		} else {
+			oSpace.push( " " );
+		}
+
+		if ( nSpace == null ) {
+			nSpace = [ " " ];
+		} else {
+			nSpace.push( " " );
+		}
+
+		if ( out.n.length === 0 ) {
+			for ( i = 0; i < out.o.length; i++ ) {
+				str += "<del>" + out.o[ i ] + oSpace[ i ] + "</del>";
+			}
+		} else {
+			if ( out.n[ 0 ].text == null ) {
+				for ( n = 0; n < out.o.length && out.o[ n ].text == null; n++ ) {
+					str += "<del>" + out.o[ n ] + oSpace[ n ] + "</del>";
+				}
+			}
+
+			for ( i = 0; i < out.n.length; i++ ) {
+				if ( out.n[ i ].text == null ) {
+					str += "<ins>" + out.n[ i ] + nSpace[ i ] + "</ins>";
+				} else {
+
+					// `pre` initialized at top of scope
+					pre = "";
+
+					for ( n = out.n[ i ].row + 1; n < out.o.length && out.o[ n ].text == null; n++ ) {
+						pre += "<del>" + out.o[ n ] + oSpace[ n ] + "</del>";
+					}
+					str += " " + out.n[ i ].text + nSpace[ i ] + pre;
+				}
+			}
+		}
+
+		return str;
+	};
+}());
+// jscs:enable
+
+(function() {
+
+// Deprecated QUnit.init - Ref #530
+// Re-initialize the configuration options
+QUnit.init = function() {
+	var tests, banner, result, qunit,
+		config = QUnit.config;
+
+	config.stats = { all: 0, bad: 0 };
+	config.moduleStats = { all: 0, bad: 0 };
+	config.started = 0;
+	config.updateRate = 1000;
+	config.blocking = false;
+	config.autostart = true;
+	config.autorun = false;
+	config.filter = "";
+	config.queue = [];
+
+	// Return on non-browser environments
+	// This is necessary to not break on node tests
+	if ( typeof window === "undefined" ) {
+		return;
+	}
+
+	qunit = id( "qunit" );
+	if ( qunit ) {
+		qunit.innerHTML =
+			"<h1 id='qunit-header'>" + escapeText( document.title ) + "</h1>" +
+			"<h2 id='qunit-banner'></h2>" +
+			"<div id='qunit-testrunner-toolbar'></div>" +
+			"<h2 id='qunit-userAgent'></h2>" +
+			"<ol id='qunit-tests'></ol>";
+	}
+
+	tests = id( "qunit-tests" );
+	banner = id( "qunit-banner" );
+	result = id( "qunit-testresult" );
+
+	if ( tests ) {
+		tests.innerHTML = "";
+	}
+
+	if ( banner ) {
+		banner.className = "";
+	}
+
+	if ( result ) {
+		result.parentNode.removeChild( result );
+	}
+
+	if ( tests ) {
+		result = document.createElement( "p" );
+		result.id = "qunit-testresult";
+		result.className = "result";
+		tests.parentNode.insertBefore( result, tests );
+		result.innerHTML = "Running...<br />&#160;";
+	}
+};
+
+// Don't load the HTML Reporter on non-Browser environments
+if ( typeof window === "undefined" ) {
+	return;
+}
+
+var config = QUnit.config,
+	hasOwn = Object.prototype.hasOwnProperty,
+	defined = {
+		document: window.document !== undefined,
+		sessionStorage: (function() {
+			var x = "qunit-test-string";
+			try {
+				sessionStorage.setItem( x, x );
+				sessionStorage.removeItem( x );
+				return true;
+			} catch ( e ) {
+				return false;
+			}
+		}())
+	},
+	modulesList = [];
+
+/**
+* Escape text for attribute or text content.
+*/
+function escapeText( s ) {
+	if ( !s ) {
+		return "";
+	}
+	s = s + "";
+
+	// Both single quotes and double quotes (for attributes)
+	return s.replace( /['"<>&]/g, function( s ) {
+		switch ( s ) {
+		case "'":
+			return "&#039;";
+		case "\"":
+			return "&quot;";
+		case "<":
+			return "&lt;";
+		case ">":
+			return "&gt;";
+		case "&":
+			return "&amp;";
+		}
+	});
+}
+
+/**
+ * @param {HTMLElement} elem
+ * @param {string} type
+ * @param {Function} fn
+ */
+function addEvent( elem, type, fn ) {
+	if ( elem.addEventListener ) {
+
+		// Standards-based browsers
+		elem.addEventListener( type, fn, false );
+	} else if ( elem.attachEvent ) {
+
+		// support: IE <9
+		elem.attachEvent( "on" + type, fn );
+	}
+}
+
+/**
+ * @param {Array|NodeList} elems
+ * @param {string} type
+ * @param {Function} fn
+ */
+function addEvents( elems, type, fn ) {
+	var i = elems.length;
+	while ( i-- ) {
+		addEvent( elems[ i ], type, fn );
+	}
+}
+
+function hasClass( elem, name ) {
+	return ( " " + elem.className + " " ).indexOf( " " + name + " " ) >= 0;
+}
+
+function addClass( elem, name ) {
+	if ( !hasClass( elem, name ) ) {
+		elem.className += ( elem.className ? " " : "" ) + name;
+	}
+}
+
+function toggleClass( elem, name ) {
+	if ( hasClass( elem, name ) ) {
+		removeClass( elem, name );
+	} else {
+		addClass( elem, name );
+	}
+}
+
+function removeClass( elem, name ) {
+	var set = " " + elem.className + " ";
+
+	// Class name may appear multiple times
+	while ( set.indexOf( " " + name + " " ) >= 0 ) {
+		set = set.replace( " " + name + " ", " " );
+	}
+
+	// trim for prettiness
+	elem.className = typeof set.trim === "function" ? set.trim() : set.replace( /^\s+|\s+$/g, "" );
+}
+
+function id( name ) {
+	return defined.document && document.getElementById && document.getElementById( name );
+}
+
+function getUrlConfigHtml() {
+	var i, j, val,
+		escaped, escapedTooltip,
+		selection = false,
+		len = config.urlConfig.length,
+		urlConfigHtml = "";
+
+	for ( i = 0; i < len; i++ ) {
+		val = config.urlConfig[ i ];
+		if ( typeof val === "string" ) {
+			val = {
+				id: val,
+				label: val
+			};
+		}
+
+		escaped = escapeText( val.id );
+		escapedTooltip = escapeText( val.tooltip );
+
+		if ( config[ val.id ] === undefined ) {
+			config[ val.id ] = QUnit.urlParams[ val.id ];
+		}
+
+		if ( !val.value || typeof val.value === "string" ) {
+			urlConfigHtml += "<input id='qunit-urlconfig-" + escaped +
+				"' name='" + escaped + "' type='checkbox'" +
+				( val.value ? " value='" + escapeText( val.value ) + "'" : "" ) +
+				( config[ val.id ] ? " checked='checked'" : "" ) +
+				" title='" + escapedTooltip + "' /><label for='qunit-urlconfig-" + escaped +
+				"' title='" + escapedTooltip + "'>" + val.label + "</label>";
+		} else {
+			urlConfigHtml += "<label for='qunit-urlconfig-" + escaped +
+				"' title='" + escapedTooltip + "'>" + val.label +
+				": </label><select id='qunit-urlconfig-" + escaped +
+				"' name='" + escaped + "' title='" + escapedTooltip + "'><option></option>";
+
+			if ( QUnit.is( "array", val.value ) ) {
+				for ( j = 0; j < val.value.length; j++ ) {
+					escaped = escapeText( val.value[ j ] );
+					urlConfigHtml += "<option value='" + escaped + "'" +
+						( config[ val.id ] === val.value[ j ] ?
+							( selection = true ) && " selected='selected'" : "" ) +
+						">" + escaped + "</option>";
+				}
+			} else {
+				for ( j in val.value ) {
+					if ( hasOwn.call( val.value, j ) ) {
+						urlConfigHtml += "<option value='" + escapeText( j ) + "'" +
+							( config[ val.id ] === j ?
+								( selection = true ) && " selected='selected'" : "" ) +
+							">" + escapeText( val.value[ j ] ) + "</option>";
+					}
+				}
+			}
+			if ( config[ val.id ] && !selection ) {
+				escaped = escapeText( config[ val.id ] );
+				urlConfigHtml += "<option value='" + escaped +
+					"' selected='selected' disabled='disabled'>" + escaped + "</option>";
+			}
+			urlConfigHtml += "</select>";
+		}
+	}
+
+	return urlConfigHtml;
+}
+
+// Handle "click" events on toolbar checkboxes and "change" for select menus.
+// Updates the URL with the new state of `config.urlConfig` values.
+function toolbarChanged() {
+	var updatedUrl, value,
+		field = this,
+		params = {};
+
+	// Detect if field is a select menu or a checkbox
+	if ( "selectedIndex" in field ) {
+		value = field.options[ field.selectedIndex ].value || undefined;
+	} else {
+		value = field.checked ? ( field.defaultValue || true ) : undefined;
+	}
+
+	params[ field.name ] = value;
+	updatedUrl = setUrl( params );
+
+	if ( "hidepassed" === field.name && "replaceState" in window.history ) {
+		config[ field.name ] = value || false;
+		if ( value ) {
+			addClass( id( "qunit-tests" ), "hidepass" );
+		} else {
+			removeClass( id( "qunit-tests" ), "hidepass" );
+		}
+
+		// It is not necessary to refresh the whole page
+		window.history.replaceState( null, "", updatedUrl );
+	} else {
+		window.location = updatedUrl;
+	}
+}
+
+function setUrl( params ) {
+	var key,
+		querystring = "?";
+
+	params = QUnit.extend( QUnit.extend( {}, QUnit.urlParams ), params );
+
+	for ( key in params ) {
+		if ( hasOwn.call( params, key ) ) {
+			if ( params[ key ] === undefined ) {
+				continue;
+			}
+			querystring += encodeURIComponent( key );
+			if ( params[ key ] !== true ) {
+				querystring += "=" + encodeURIComponent( params[ key ] );
+			}
+			querystring += "&";
+		}
+	}
+	return location.protocol + "//" + location.host +
+		location.pathname + querystring.slice( 0, -1 );
+}
+
+function applyUrlParams() {
+	var selectBox = id( "qunit-modulefilter" ),
+		selection = decodeURIComponent( selectBox.options[ selectBox.selectedIndex ].value ),
+		filter = id( "qunit-filter-input" ).value;
+
+	window.location = setUrl({
+		module: ( selection === "" ) ? undefined : selection,
+		filter: ( filter === "" ) ? undefined : filter,
+
+		// Remove testId filter
+		testId: undefined
+	});
+}
+
+function toolbarUrlConfigContainer() {
+	var urlConfigContainer = document.createElement( "span" );
+
+	urlConfigContainer.innerHTML = getUrlConfigHtml();
+	addClass( urlConfigContainer, "qunit-url-config" );
+
+	// For oldIE support:
+	// * Add handlers to the individual elements instead of the container
+	// * Use "click" instead of "change" for checkboxes
+	addEvents( urlConfigContainer.getElementsByTagName( "input" ), "click", toolbarChanged );
+	addEvents( urlConfigContainer.getElementsByTagName( "select" ), "change", toolbarChanged );
+
+	return urlConfigContainer;
+}
+
+function toolbarLooseFilter() {
+	var filter = document.createElement( "form" ),
+		label = document.createElement( "label" ),
+		input = document.createElement( "input" ),
+		button = document.createElement( "button" );
+
+	addClass( filter, "qunit-filter" );
+
+	label.innerHTML = "Filter: ";
+
+	input.type = "text";
+	input.value = config.filter || "";
+	input.name = "filter";
+	input.id = "qunit-filter-input";
+
+	button.innerHTML = "Go";
+
+	label.appendChild( input );
+
+	filter.appendChild( label );
+	filter.appendChild( button );
+	addEvent( filter, "submit", function( ev ) {
+		applyUrlParams();
+
+		if ( ev && ev.preventDefault ) {
+			ev.preventDefault();
+		}
+
+		return false;
+	});
+
+	return filter;
+}
+
+function toolbarModuleFilterHtml() {
+	var i,
+		moduleFilterHtml = "";
+
+	if ( !modulesList.length ) {
+		return false;
+	}
+
+	modulesList.sort(function( a, b ) {
+		return a.localeCompare( b );
+	});
+
+	moduleFilterHtml += "<label for='qunit-modulefilter'>Module: </label>" +
+		"<select id='qunit-modulefilter' name='modulefilter'><option value='' " +
+		( QUnit.urlParams.module === undefined ? "selected='selected'" : "" ) +
+		">< All Modules ></option>";
+
+	for ( i = 0; i < modulesList.length; i++ ) {
+		moduleFilterHtml += "<option value='" +
+			escapeText( encodeURIComponent( modulesList[ i ] ) ) + "' " +
+			( QUnit.urlParams.module === modulesList[ i ] ? "selected='selected'" : "" ) +
+			">" + escapeText( modulesList[ i ] ) + "</option>";
+	}
+	moduleFilterHtml += "</select>";
+
+	return moduleFilterHtml;
+}
+
+function toolbarModuleFilter() {
+	var toolbar = id( "qunit-testrunner-toolbar" ),
+		moduleFilter = document.createElement( "span" ),
+		moduleFilterHtml = toolbarModuleFilterHtml();
+
+	if ( !toolbar || !moduleFilterHtml ) {
+		return false;
+	}
+
+	moduleFilter.setAttribute( "id", "qunit-modulefilter-container" );
+	moduleFilter.innerHTML = moduleFilterHtml;
+
+	addEvent( moduleFilter.lastChild, "change", applyUrlParams );
+
+	toolbar.appendChild( moduleFilter );
+}
+
+function appendToolbar() {
+	var toolbar = id( "qunit-testrunner-toolbar" );
+
+	if ( toolbar ) {
+		toolbar.appendChild( toolbarUrlConfigContainer() );
+		toolbar.appendChild( toolbarLooseFilter() );
+	}
+}
+
+function appendHeader() {
+	var header = id( "qunit-header" );
+
+	if ( header ) {
+		header.innerHTML = "<a href='" +
+			setUrl({ filter: undefined, module: undefined, testId: undefined }) +
+			"'>" + header.innerHTML + "</a> ";
+	}
+}
+
+function appendBanner() {
+	var banner = id( "qunit-banner" );
+
+	if ( banner ) {
+		banner.className = "";
+	}
+}
+
+function appendTestResults() {
+	var tests = id( "qunit-tests" ),
+		result = id( "qunit-testresult" );
+
+	if ( result ) {
+		result.parentNode.removeChild( result );
+	}
+
+	if ( tests ) {
+		tests.innerHTML = "";
+		result = document.createElement( "p" );
+		result.id = "qunit-testresult";
+		result.className = "result";
+		tests.parentNode.insertBefore( result, tests );
+		result.innerHTML = "Running...<br />&#160;";
+	}
+}
+
+function storeFixture() {
+	var fixture = id( "qunit-fixture" );
+	if ( fixture ) {
+		config.fixture = fixture.innerHTML;
+	}
+}
+
+function appendUserAgent() {
+	var userAgent = id( "qunit-userAgent" );
+	if ( userAgent ) {
+		userAgent.innerHTML = "";
+		userAgent.appendChild( document.createTextNode( navigator.userAgent ) );
+	}
+}
+
+function appendTestsList( modules ) {
+	var i, l, x, z, test, moduleObj;
+
+	for ( i = 0, l = modules.length; i < l; i++ ) {
+		moduleObj = modules[ i ];
+
+		if ( moduleObj.name ) {
+			modulesList.push( moduleObj.name );
+		}
+
+		for ( x = 0, z = moduleObj.tests.length; x < z; x++ ) {
+			test = moduleObj.tests[ x ];
+
+			appendTest( test.name, test.testId, moduleObj.name );
+		}
+	}
+}
+
+function appendTest( name, testId, moduleName ) {
+	var title, rerunTrigger, testBlock, assertList,
+		tests = id( "qunit-tests" );
+
+	if ( !tests ) {
+		return;
+	}
+
+	title = document.createElement( "strong" );
+	title.innerHTML = getNameHtml( name, moduleName );
+
+	rerunTrigger = document.createElement( "a" );
+	rerunTrigger.innerHTML = "Rerun";
+	rerunTrigger.href = setUrl({ testId: testId });
+
+	testBlock = document.createElement( "li" );
+	testBlock.appendChild( title );
+	testBlock.appendChild( rerunTrigger );
+	testBlock.id = "qunit-test-output-" + testId;
+
+	assertList = document.createElement( "ol" );
+	assertList.className = "qunit-assert-list";
+
+	testBlock.appendChild( assertList );
+
+	tests.appendChild( testBlock );
+}
+
+// HTML Reporter initialization and load
+QUnit.begin(function( details ) {
+	var qunit = id( "qunit" );
+
+	// Fixture is the only one necessary to run without the #qunit element
+	storeFixture();
+
+	if ( qunit ) {
+		qunit.innerHTML =
+			"<h1 id='qunit-header'>" + escapeText( document.title ) + "</h1>" +
+			"<h2 id='qunit-banner'></h2>" +
+			"<div id='qunit-testrunner-toolbar'></div>" +
+			"<h2 id='qunit-userAgent'></h2>" +
+			"<ol id='qunit-tests'></ol>";
+	}
+
+	appendHeader();
+	appendBanner();
+	appendTestResults();
+	appendUserAgent();
+	appendToolbar();
+	appendTestsList( details.modules );
+	toolbarModuleFilter();
+
+	if ( qunit && config.hidepassed ) {
+		addClass( qunit.lastChild, "hidepass" );
+	}
+});
+
+QUnit.done(function( details ) {
+	var i, key,
+		banner = id( "qunit-banner" ),
+		tests = id( "qunit-tests" ),
+		html = [
+			"Tests completed in ",
+			details.runtime,
+			" milliseconds.<br />",
+			"<span class='passed'>",
+			details.passed,
+			"</span> assertions of <span class='total'>",
+			details.total,
+			"</span> passed, <span class='failed'>",
+			details.failed,
+			"</span> failed."
+		].join( "" );
+
+	if ( banner ) {
+		banner.className = details.failed ? "qunit-fail" : "qunit-pass";
+	}
+
+	if ( tests ) {
+		id( "qunit-testresult" ).innerHTML = html;
+	}
+
+	if ( config.altertitle && defined.document && document.title ) {
+
+		// show ✖ for good, ✔ for bad suite result in title
+		// use escape sequences in case file gets loaded with non-utf-8-charset
+		document.title = [
+			( details.failed ? "\u2716" : "\u2714" ),
+			document.title.replace( /^[\u2714\u2716] /i, "" )
+		].join( " " );
+	}
+
+	// clear own sessionStorage items if all tests passed
+	if ( config.reorder && defined.sessionStorage && details.failed === 0 ) {
+		for ( i = 0; i < sessionStorage.length; i++ ) {
+			key = sessionStorage.key( i++ );
+			if ( key.indexOf( "qunit-test-" ) === 0 ) {
+				sessionStorage.removeItem( key );
+			}
+		}
+	}
+
+	// scroll back to top to show results
+	if ( config.scrolltop && window.scrollTo ) {
+		window.scrollTo( 0, 0 );
+	}
+});
+
+function getNameHtml( name, module ) {
+	var nameHtml = "";
+
+	if ( module ) {
+		nameHtml = "<span class='module-name'>" + escapeText( module ) + "</span>: ";
+	}
+
+	nameHtml += "<span class='test-name'>" + escapeText( name ) + "</span>";
+
+	return nameHtml;
+}
+
+QUnit.testStart(function( details ) {
+	var running, testBlock;
+
+	testBlock = id( "qunit-test-output-" + details.testId );
+	if ( testBlock ) {
+		testBlock.className = "running";
+	} else {
+
+		// Report later registered tests
+		appendTest( details.name, details.testId, details.module );
+	}
+
+	running = id( "qunit-testresult" );
+	if ( running ) {
+		running.innerHTML = "Running: <br />" + getNameHtml( details.name, details.module );
+	}
+
+});
+
+QUnit.log(function( details ) {
+	var assertList, assertLi,
+		message, expected, actual,
+		testItem = id( "qunit-test-output-" + details.testId );
+
+	if ( !testItem ) {
+		return;
+	}
+
+	message = escapeText( details.message ) || ( details.result ? "okay" : "failed" );
+	message = "<span class='test-message'>" + message + "</span>";
+	message += "<span class='runtime'>@ " + details.runtime + " ms</span>";
+
+	// pushFailure doesn't provide details.expected
+	// when it calls, it's implicit to also not show expected and diff stuff
+	// Also, we need to check details.expected existence, as it can exist and be undefined
+	if ( !details.result && hasOwn.call( details, "expected" ) ) {
+		expected = escapeText( QUnit.dump.parse( details.expected ) );
+		actual = escapeText( QUnit.dump.parse( details.actual ) );
+		message += "<table><tr class='test-expected'><th>Expected: </th><td><pre>" +
+			expected +
+			"</pre></td></tr>";
+
+		if ( actual !== expected ) {
+			message += "<tr class='test-actual'><th>Result: </th><td><pre>" +
+				actual + "</pre></td></tr>" +
+				"<tr class='test-diff'><th>Diff: </th><td><pre>" +
+				QUnit.diff( expected, actual ) + "</pre></td></tr>";
+		}
+
+		if ( details.source ) {
+			message += "<tr class='test-source'><th>Source: </th><td><pre>" +
+				escapeText( details.source ) + "</pre></td></tr>";
+		}
+
+		message += "</table>";
+
+	// this occours when pushFailure is set and we have an extracted stack trace
+	} else if ( !details.result && details.source ) {
+		message += "<table>" +
+			"<tr class='test-source'><th>Source: </th><td><pre>" +
+			escapeText( details.source ) + "</pre></td></tr>" +
+			"</table>";
+	}
+
+	assertList = testItem.getElementsByTagName( "ol" )[ 0 ];
+
+	assertLi = document.createElement( "li" );
+	assertLi.className = details.result ? "pass" : "fail";
+	assertLi.innerHTML = message;
+	assertList.appendChild( assertLi );
+});
+
+QUnit.testDone(function( details ) {
+	var testTitle, time, testItem, assertList,
+		good, bad, testCounts, skipped,
+		tests = id( "qunit-tests" );
+
+	if ( !tests ) {
+		return;
+	}
+
+	testItem = id( "qunit-test-output-" + details.testId );
+
+	assertList = testItem.getElementsByTagName( "ol" )[ 0 ];
+
+	good = details.passed;
+	bad = details.failed;
+
+	// store result when possible
+	if ( config.reorder && defined.sessionStorage ) {
+		if ( bad ) {
+			sessionStorage.setItem( "qunit-test-" + details.module + "-" + details.name, bad );
+		} else {
+			sessionStorage.removeItem( "qunit-test-" + details.module + "-" + details.name );
+		}
+	}
+
+	if ( bad === 0 ) {
+		addClass( assertList, "qunit-collapsed" );
+	}
+
+	// testItem.firstChild is the test name
+	testTitle = testItem.firstChild;
+
+	testCounts = bad ?
+		"<b class='failed'>" + bad + "</b>, " + "<b class='passed'>" + good + "</b>, " :
+		"";
+
+	testTitle.innerHTML += " <b class='counts'>(" + testCounts +
+		details.assertions.length + ")</b>";
+
+	if ( details.skipped ) {
+		testItem.className = "skipped";
+		skipped = document.createElement( "em" );
+		skipped.className = "qunit-skipped-label";
+		skipped.innerHTML = "skipped";
+		testItem.insertBefore( skipped, testTitle );
+	} else {
+		addEvent( testTitle, "click", function() {
+			toggleClass( assertList, "qunit-collapsed" );
+		});
+
+		testItem.className = bad ? "fail" : "pass";
+
+		time = document.createElement( "span" );
+		time.className = "runtime";
+		time.innerHTML = details.runtime + " ms";
+		testItem.insertBefore( time, assertList );
+	}
+});
+
+if ( !defined.document || document.readyState === "complete" ) {
+	config.pageLoaded = true;
+	config.autorun = true;
+}
+
+if ( defined.document ) {
+	addEvent( window, "load", QUnit.load );
+}
+
+})();

+ 306 - 0
misago/emberapp/vendor/bootstrap/tests/visual/affix.html

@@ -0,0 +1,306 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Affix</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <style>
+    /* Test Styles */
+    .affixed-element-top.affix {
+      top: 10px;
+    }
+    .affixed-element-top.affix-bottom {
+      position: absolute;
+    }
+    .affixed-element-bottom {
+      margin-bottom: 0;
+    }
+    .affixed-element-bottom.affix {
+      bottom: 10px;
+    }
+    .affixed-element-bottom.affix-bottom {
+      position: relative;
+    }
+    .grow-btn, .shrink-btn {
+      color: #FFF;
+    }
+    .grow-btn {
+      background-color: #2ECC40;
+    }
+    .grow-btn:hover {
+      background-color: #3D9970;
+    }
+    .shrink-btn {
+      background-color: #FF4136;
+    }
+    .shrink-btn:hover {
+      background-color: #85144B;
+    }
+  </style>
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+
+<div class="container">
+
+  <div class="page-header js-page-header">
+    <h1>Affix <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <div class="col-md-3">
+    <ul class="list-group affixed-element-top js-affixed-element-top">
+      <li class="list-group-item">Cras justo odio</li>
+      <li class="list-group-item">Dapibus ac facilisis in</li>
+      <li class="list-group-item">Morbi leo risus</li>
+      <li class="list-group-item">Porta ac consectetur ac</li>
+      <li class="list-group-item">Vestibulum at eros</li>
+      <li class="list-group-item">Cras justo odio</li>
+      <li class="list-group-item">Dapibus ac facilisis in</li>
+      <li class="list-group-item">Morbi leo risus</li>
+      <li class="list-group-item">Porta ac consectetur ac</li>
+      <li class="list-group-item">Vestibulum at eros</li>
+      <li class="list-group-item">Cras justo odio</li>
+      <li class="list-group-item">Dapibus ac facilisis in</li>
+      <li class="list-group-item">Morbi leo risus</li>
+      <li class="list-group-item">Porta ac consectetur ac</li>
+      <li class="list-group-item">Vestibulum at eros</li>
+      <li class="list-group-item">Porta ac consectetur ac</li>
+    </ul>
+  </div>
+
+  <div class="col-md-6 js-content">
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+
+  </div>
+
+  <div class="col-md-3">
+    <ul class="list-group affixed-element-bottom js-affixed-element-bottom">
+      <li class="list-group-item">Sit necessitatibus aspernatur.</li>
+      <li class="list-group-item">Adipisicing alias dolor!</li>
+      <li class="list-group-item">Ipsum molestiae impedit.</li>
+      <li class="list-group-item">Amet quis iste?</li>
+      <li class="list-group-item">Ipsum quaerat porro.</li>
+      <li class="list-group-item">Elit lorem libero.</li>
+      <li class="list-group-item">Ipsum dolore facilis.</li>
+      <li class="list-group-item">Elit ad atque.</li>
+      <li class="list-group-item">Dolor amet sequi!</li>
+      <li class="list-group-item">Consectetur voluptatum facilis!</li>
+      <li class="list-group-item">Sit neque eligendi?</li>
+      <li class="list-group-item">Amet fuga consectetur!</li>
+      <li class="list-group-item">Amet molestias repellat!</li>
+      <li class="list-group-item">Consectetur minima repellendus.</li>
+      <li class="list-group-item grow-btn js-grow-btn">Grow content</li>
+      <li class="list-group-item shrink-btn js-shrink-btn">Shrink content</li>
+    </ul>
+  </div>
+
+  <div class="col-md-12 js-footer">
+    <hr>
+
+    <p>Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Donec ullamcorper nulla non metus auctor fringilla. Nulla vitae elit libero, a pharetra augue. Maecenas sed diam eget risus varius blandit sit amet non magna.</p>
+
+    <p>Nullam id dolor id nibh ultricies vehicula ut id elit. Etiam porta sem malesuada magna mollis euismod. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Curabitur blandit tempus porttitor. Cras justo odio, dapibus ac facilisis in, egestas eget quam.</p>
+
+    <p>Sed posuere consectetur est at lobortis. Maecenas faucibus mollis interdum. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor. Nulla vitae elit libero, a pharetra augue. Nulla vitae elit libero, a pharetra augue.</p>
+
+    <p>Aenean lacinia bibendum nulla sed consectetur. Aenean eu leo quam. Pellentesque ornare sem lacinia quam venenatis vestibulum. Nulla vitae elit libero, a pharetra augue. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Cras mattis consectetur purus sit amet fermentum. Sed posuere consectetur est at lobortis. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+  </div>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../affix.js"></script>
+
+
+<!-- JavaScript Test -->
+<script>
+$(function () {
+  $('.js-affixed-element-top').affix({
+    offset: {
+      top: $('.js-page-header').outerHeight(true) - 10
+    , bottom: $('.js-footer').outerHeight(true) + 10
+    }
+  })
+  // todo(fat): sux you have to do this.
+  .on('affix.bs.affix', function (e) {
+    $(e.target).width(e.target.offsetWidth)
+  })
+
+  $('.js-affixed-element-bottom').affix({
+    offset: {
+      bottom: $('.js-footer').outerHeight(true) + 10
+    }
+  })
+
+  $('.js-grow-btn').on('click', function() {
+    $('.js-content').append('<p>Ipsum corrupti ipsam est temporibus.</p>')
+  })
+  $('.js-shrink-btn').on('click', function() {
+    $('.js-content p').last().remove()
+  })
+})
+</script>
+</body>
+</html>

+ 48 - 0
misago/emberapp/vendor/bootstrap/tests/visual/alert.html

@@ -0,0 +1,48 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Alert</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+
+<div class="container">
+
+  <div class="page-header">
+    <h1>Alert <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <div class="alert alert-warning fade in">
+    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
+    <strong>Holy guacamole!</strong> Best check yo self, you're not looking too good.
+  </div>
+
+  <div class="alert alert-danger fade in">
+    <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>
+    <h4>Oh snap! You got an error!</h4>
+    <p>Change this and that and try again. Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cras mattis consectetur purus sit amet fermentum.</p>
+    <p>
+      <button type="button" class="btn btn-danger">Take this action</button>
+      <button type="button" class="btn btn-default">Or do this</button>
+    </p>
+  </div>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../alert.js"></script>
+
+</body>
+</html>

+ 74 - 0
misago/emberapp/vendor/bootstrap/tests/visual/button.html

@@ -0,0 +1,74 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Button</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+
+<div class="container">
+
+  <div class="page-header">
+    <h1>Button <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <button type="button" data-loading-text="Loading for 3 seconds..." class="btn btn-primary js-loading-button">
+    Loading state
+  </button>
+
+  <button type="button" class="btn btn-primary" data-toggle="button">Single toggle</button>
+
+  <div class="btn-group" data-toggle="buttons">
+    <label class="btn btn-primary">
+      <input type="checkbox"> checkbox 1
+    </label>
+    <label class="btn btn-primary">
+      <input type="checkbox"> checkbox 2
+    </label>
+    <label class="btn btn-primary">
+      <input type="checkbox"> checkbox 3
+    </label>
+  </div>
+
+  <div class="btn-group" data-toggle="buttons">
+    <label class="btn btn-primary">
+      <input type="radio" name="options" id="option1"> Radio 1
+    </label>
+    <label class="btn btn-primary">
+      <input type="radio" name="options" id="option2"> Radio 2
+    </label>
+    <label class="btn btn-primary">
+      <input type="radio" name="options" id="option3"> Radio 3
+    </label>
+  </div>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../button.js"></script>
+
+<!-- JavaScript Test -->
+<script>
+$(function () {
+  $('.js-loading-button').on('click', function () {
+    var btn = $(this).button('loading')
+    setTimeout(function (){
+      btn.button('reset')
+    }, 3000)
+  })
+})
+</script>
+</body>
+</html>

+ 58 - 0
misago/emberapp/vendor/bootstrap/tests/visual/carousel.html

@@ -0,0 +1,58 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Carousel</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+
+<div class="container">
+
+  <div class="page-header">
+    <h1>Carousel <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
+    <ol class="carousel-indicators">
+      <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
+      <li data-target="#carousel-example-generic" data-slide-to="1" class=""></li>
+      <li data-target="#carousel-example-generic" data-slide-to="2" class=""></li>
+    </ol>
+    <div class="carousel-inner">
+      <div class="item active">
+        <img alt="First slide" src="http://37.media.tumblr.com/tumblr_m8tay0JcfG1qa42jro1_1280.jpg">
+      </div>
+      <div class="item">
+        <img alt="Second slide" src="http://37.media.tumblr.com/tumblr_m8tazfiVYJ1qa42jro1_1280.jpg">
+      </div>
+      <div class="item">
+        <img alt="Third slide" src="http://38.media.tumblr.com/tumblr_m8tb2rVsD31qa42jro1_1280.jpg">
+      </div>
+    </div>
+    <a class="left carousel-control" href="#carousel-example-generic" data-slide="prev">
+      <span class="glyphicon glyphicon-chevron-left"></span>
+    </a>
+    <a class="right carousel-control" href="#carousel-example-generic" data-slide="next">
+      <span class="glyphicon glyphicon-chevron-right"></span>
+    </a>
+  </div>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../carousel.js"></script>
+
+</body>
+</html>

+ 78 - 0
misago/emberapp/vendor/bootstrap/tests/visual/collapse.html

@@ -0,0 +1,78 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Collapse</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+
+<div class="container">
+
+  <div class="page-header">
+    <h1>Collapse <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <div class="panel-group" id="accordion">
+    <div class="panel panel-default">
+      <div class="panel-heading">
+        <h4 class="panel-title">
+          <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne">
+            Collapsible Group Item #1
+          </a>
+        </h4>
+      </div>
+      <div id="collapseOne" class="panel-collapse collapse in">
+        <div class="panel-body">
+          Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+        </div>
+      </div>
+    </div>
+    <div class="panel panel-default">
+      <div class="panel-heading">
+        <h4 class="panel-title">
+          <a data-toggle="collapse" data-parent="#accordion" href="#collapseTwo">
+            Collapsible Group Item #2
+          </a>
+        </h4>
+      </div>
+      <div id="collapseTwo" class="panel-collapse collapse">
+        <div class="panel-body">
+          Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+        </div>
+      </div>
+    </div>
+    <div class="panel panel-default">
+      <div class="panel-heading">
+        <h4 class="panel-title">
+          <a data-toggle="collapse" data-parent="#accordion" href="#collapseThree">
+            Collapsible Group Item #3
+          </a>
+        </h4>
+      </div>
+      <div id="collapseThree" class="panel-collapse collapse">
+        <div class="panel-body">
+          Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+        </div>
+      </div>
+    </div>
+  </div>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../collapse.js"></script>
+
+</body>
+</html>

+ 108 - 0
misago/emberapp/vendor/bootstrap/tests/visual/dropdown.html

@@ -0,0 +1,108 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Dropdown</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+
+<div class="container">
+
+  <div class="page-header">
+    <h1>Dropdown <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <nav id="navbar-example" class="navbar navbar-default navbar-static" role="navigation">
+    <div class="container-fluid">
+      <div class="navbar-header">
+        <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".bs-example-js-navbar-collapse">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <a class="navbar-brand" href="#">Project Name</a>
+      </div>
+      <div class="collapse navbar-collapse bs-example-js-navbar-collapse">
+        <ul class="nav navbar-nav">
+          <li class="dropdown">
+            <a id="drop1" href="#" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+            <ul class="dropdown-menu" role="menu" aria-labelledby="drop1">
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
+              <li role="presentation" class="divider"></li>
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
+            </ul>
+          </li>
+          <li class="dropdown">
+            <a href="#" id="drop2" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 2 <b class="caret"></b></a>
+            <ul class="dropdown-menu" role="menu" aria-labelledby="drop2">
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
+              <li role="presentation" class="divider"></li>
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
+            </ul>
+          </li>
+        </ul>
+        <ul class="nav navbar-nav navbar-right">
+          <li id="fat-menu" class="dropdown">
+            <a href="#" id="drop3" role="button" class="dropdown-toggle" data-toggle="dropdown">Dropdown 3 <b class="caret"></b></a>
+            <ul class="dropdown-menu" role="menu" aria-labelledby="drop3">
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
+              <li role="presentation" class="divider"></li>
+              <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
+            </ul>
+          </li>
+        </ul>
+      </div>
+    </div>
+  </nav>
+
+  <ul class="nav nav-pills">
+    <li class="active"><a href="#">Regular link</a></li>
+    <li class="dropdown">
+      <a id="drop4" role="button" data-toggle="dropdown" href="#">Dropdown <b class="caret"></b></a>
+      <ul id="menu1" class="dropdown-menu" role="menu" aria-labelledby="drop4">
+        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
+        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
+        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
+        <li role="presentation" class="divider"></li>
+        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
+      </ul>
+    </li>
+    <li class="dropdown">
+      <a id="drop5" role="button" data-toggle="dropdown" href="#">Dropdown 2 <b class="caret"></b></a>
+      <ul id="menu2" class="dropdown-menu" role="menu" aria-labelledby="drop5">
+        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Action</a></li>
+        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Another action</a></li>
+        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Something else here</a></li>
+        <li role="presentation" class="divider"></li>
+        <li role="presentation"><a role="menuitem" tabindex="-1" href="https://twitter.com/fat">Separated link</a></li>
+      </ul>
+    </li>
+  </ul>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../dropdown.js"></script>
+<script src="../../collapse.js"></script>
+
+</body>
+</html>

+ 162 - 0
misago/emberapp/vendor/bootstrap/tests/visual/modal.html

@@ -0,0 +1,162 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Modal</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+
+  <style>
+    #tall {
+      height: 1500px;
+      width: 100px;
+      background-color: black;
+      color: white;
+    }
+  </style>
+</head>
+<body>
+
+<nav class="navbar navbar-default navbar-static-top">
+  <div class="container-fluid">
+    <div class="navbar-header">
+      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
+        <span class="sr-only">Toggle navigation</span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+        <span class="icon-bar"></span>
+      </button>
+      <a class="navbar-brand" href="#">navbar-static-top</a>
+    </div>
+    <div id="navbar" class="navbar-collapse collapse">
+      <ul class="nav navbar-nav">
+        <li><a href="#about">About</a></li>
+        <li><a href="#contact">Contact</a></li>
+      </ul>
+      <ul class="nav navbar-nav navbar-right">
+        <li><a href="#">This should not jump to the left when the modal is shown.</a></li>
+      </ul>
+    </div><!--/.nav-collapse -->
+  </div>
+</nav>
+
+<div class="container">
+
+  <div class="page-header">
+    <h1>Modal <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <div id="myModal" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
+    <div class="modal-dialog">
+      <div class="modal-content">
+
+        <div class="modal-header">
+          <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
+          <h4 class="modal-title" id="myModalLabel">Modal Heading</h4>
+        </div>
+        <div class="modal-body">
+          <h4>Text in a modal</h4>
+          <p>Duis mollis, est non commodo luctus, nisi erat porttitor ligula.</p>
+
+          <h4>Popover in a modal</h4>
+          <p>This <a href="#" role="button" class="btn btn-default js-popover" title="A Title" data-content="And here's some amazing content. It's very engaging. right?" data-placement="left">button</a> should trigger a popover on click.</p>
+
+          <h4>Tooltips in a modal</h4>
+          <p><a href="#" class="js-tooltip" title="Tooltip">This link</a> and <a href="#" class="js-tooltip" title="Tooltip">that link</a> should have tooltips on hover.</p>
+
+          <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
+            <div class="panel panel-default">
+              <div class="panel-heading" role="tab" id="headingOne">
+                <h4 class="panel-title">
+                  <a data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
+                    Collapsible Group Item #1
+                  </a>
+                </h4>
+              </div>
+              <div id="collapseOne" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingOne">
+                <div class="panel-body">
+                  Lorem ipsum
+                </div>
+              </div>
+            </div>
+            <div class="panel panel-default">
+              <div class="panel-heading" role="tab" id="headingTwo">
+                <h4 class="panel-title">
+                  <a class="collapsed" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
+                    Collapsible Group Item #2
+                  </a>
+                </h4>
+              </div>
+              <div id="collapseTwo" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingTwo">
+                <div class="panel-body">
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                  Anim pariatur cliche reprehenderit, enim eiusmod high life accusamus terry richardson ad squid. 3 wolf moon officia aute, non cupidatat skateboard dolor brunch. Food truck quinoa nesciunt laborum eiusmod. Brunch 3 wolf moon tempor, sunt aliqua put a bird on it squid single-origin coffee nulla assumenda shoreditch et. Nihil anim keffiyeh helvetica, craft beer labore wes anderson cred nesciunt sapiente ea proident. Ad vegan excepteur butcher vice lomo. Leggings occaecat craft beer farm-to-table, raw denim aesthetic synth nesciunt you probably haven't heard of them accusamus labore sustainable VHS.
+                </div>
+              </div>
+            </div>
+          </div>
+
+          <hr>
+
+          <h4>Overflowing text to show scroll behavior</h4>
+          <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+          <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+          <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+          <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+          <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+          <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+          <p>Cras mattis consectetur purus sit amet fermentum. Cras justo odio, dapibus ac facilisis in, egestas eget quam. Morbi leo risus, porta ac consectetur ac, vestibulum at eros.</p>
+          <p>Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Vivamus sagittis lacus vel augue laoreet rutrum faucibus dolor auctor.</p>
+          <p>Aenean lacinia bibendum nulla sed consectetur. Praesent commodo cursus magna, vel scelerisque nisl consectetur et. Donec sed odio dui. Donec ullamcorper nulla non metus auctor fringilla.</p>
+        </div>
+        <div class="modal-footer">
+          <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
+          <button type="button" class="btn btn-primary">Save changes</button>
+        </div>
+
+      </div>
+    </div>
+  </div>
+
+  <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#myModal">
+    Launch demo modal
+  </button>
+
+  <button id="tall-toggle" class="btn btn-default">Toggle tall &lt;body&gt; content</button>
+  <br><br>
+  <div id="tall" style="display: none;">
+    Tall body content to force the page to have a scrollbar.
+  </div>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../modal.js"></script>
+<script src="../../tooltip.js"></script>
+<script src="../../popover.js"></script>
+<script src="../../collapse.js"></script>
+
+<!-- JavaScript Test -->
+<script>
+$(function () {
+  $('.js-popover').popover()
+  $('.js-tooltip').tooltip()
+  $('#tall-toggle').click(function () {
+    $('#tall').toggle()
+  })
+})
+</script>
+
+</body>
+</html>

+ 54 - 0
misago/emberapp/vendor/bootstrap/tests/visual/popover.html

@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Popover</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+
+<div class="container">
+
+  <div class="page-header">
+    <h1>Popover <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <button type="button" class="btn btn-default js-popover" data-container="body" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." data-original-title="" title="">
+    Popover on left
+  </button>
+  <button type="button" class="btn btn-default js-popover" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." data-original-title="" title="">
+    Popover on top
+  </button>
+  <button type="button" class="btn btn-default js-popover" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." data-original-title="" title="">
+    Popover on bottom
+  </button>
+  <button type="button" class="btn btn-default js-popover" data-container="body" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." data-original-title="" title="">
+    Popover on right
+  </button>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../tooltip.js"></script>
+<script src="../../popover.js"></script>
+
+<!-- JavaScript Test -->
+<script>
+$(function () {
+  $('.js-popover').popover()
+})
+</script>
+
+</body>
+</html>

+ 109 - 0
misago/emberapp/vendor/bootstrap/tests/visual/scrollspy.html

@@ -0,0 +1,109 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Scrollspy</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <style>
+    body { padding-top: 70px; }
+  </style>
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body data-spy="scroll" data-target=".navbar" data-offset="70">
+
+<div class="container">
+
+  <nav class="navbar navbar-default navbar-fixed-top" role="navigation">
+    <div class="container-fluid">
+      <div class="navbar-header">
+        <button class="navbar-toggle collapsed" type="button" data-toggle="collapse" data-target=".js-navbar-scrollspy">
+          <span class="sr-only">Toggle navigation</span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+          <span class="icon-bar"></span>
+        </button>
+        <a class="navbar-brand" href="#">Project Name</a>
+      </div>
+      <div class="collapse navbar-collapse js-navbar-scrollspy">
+        <ul class="nav navbar-nav">
+          <li class=""><a href="#fat">@fat</a></li>
+          <li class=""><a href="#mdo">@mdo</a></li>
+          <li class="dropdown">
+            <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+            <ul class="dropdown-menu" role="menu">
+              <li class=""><a href="#one" tabindex="-1">one</a></li>
+              <li><a href="#two" tabindex="-1">two</a></li>
+              <li class="divider"></li>
+              <li><a href="#three" tabindex="-1">three</a></li>
+            </ul>
+          </li>
+        </ul>
+      </div>
+    </div>
+  </nav>
+
+  <h2 id="fat">@fat</h2>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <hr>
+  <h2 id="mdo">@mdo</h2>
+  <p>Veniam marfa mustache skateboard, adipisicing fugiat velit pitchfork beard. Freegan beard aliqua cupidatat mcsweeney's vero. Cupidatat four loko nisi, ea helvetica nulla carles. Tattooed cosby sweater food truck, mcsweeney's quis non freegan vinyl. Lo-fi wes anderson +1 sartorial. Carles non aesthetic exercitation quis gentrify. Brooklyn adipisicing craft beer vice keytar deserunt.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <hr>
+  <h2 id="one">one</h2>
+  <p>Occaecat commodo aliqua delectus. Fap craft beer deserunt skateboard ea. Lomo bicycle rights adipisicing banh mi, velit ea sunt next level locavore single-origin coffee in magna veniam. High life id vinyl, echo park consequat quis aliquip banh mi pitchfork. Vero VHS est adipisicing. Consectetur nisi DIY minim messenger bag. Cred ex in, sustainable delectus consectetur fanny pack iphone.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <hr>
+  <h2 id="two">two</h2>
+  <p>In incididunt echo park, officia deserunt mcsweeney's proident master cleanse thundercats sapiente veniam. Excepteur VHS elit, proident shoreditch +1 biodiesel laborum craft beer. Single-origin coffee wayfarers irure four loko, cupidatat terry richardson master cleanse. Assumenda you probably haven't heard of them art party fanny pack, tattooed nulla cardigan tempor ad. Proident wolf nesciunt sartorial keffiyeh eu banh mi sustainable. Elit wolf voluptate, lo-fi ea portland before they sold out four loko. Locavore enim nostrud mlkshk brooklyn nesciunt.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <hr>
+  <h2 id="three">three</h2>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Keytar twee blog, culpa messenger bag marfa whatever delectus food truck. Sapiente synth id assumenda. Locavore sed helvetica cliche irony, thundercats you probably haven't heard of them consequat hoodie gluten-free lo-fi fap aliquip. Labore elit placeat before they sold out, terry richardson proident brunch nesciunt quis cosby sweater pariatur keffiyeh ut helvetica artisan. Cardigan craft beer seitan readymade velit. VHS chambray laboris tempor veniam. Anim mollit minim commodo ullamco thundercats.
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  <p>Ad leggings keytar, brunch id art party dolor labore. Pitchfork yr enim lo-fi before they sold out qui. Tumblr farm-to-table bicycle rights whatever. Anim keffiyeh carles cardigan. Velit seitan mcsweeney's photo booth 3 wolf moon irure. Cosby sweater lomo jean shorts, williamsburg hoodie minim qui you probably haven't heard of them et cardigan trust fund culpa biodiesel wes anderson aesthetic. Nihil tattooed accusamus, cred irony biodiesel keffiyeh artisan ullamco consequat.</p>
+  </p>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../scrollspy.js"></script>
+<script src="../../dropdown.js"></script>
+<script src="../../collapse.js"></script>
+
+</body>
+</html>

+ 172 - 0
misago/emberapp/vendor/bootstrap/tests/visual/tab.html

@@ -0,0 +1,172 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Tab</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <style>
+    h4 {
+      margin: 40px 0 10px;
+    }
+
+    .nav-tabs {
+      margin-bottom: 15px;
+    }
+  </style>
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+
+<div class="container">
+
+  <div class="page-header">
+    <h1>Tab <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <h4>Tabs without fade</h4>
+
+  <ul id="myTab" class="nav nav-tabs">
+    <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
+    <li><a href="#profile" data-toggle="tab">Profile</a></li>
+    <li class="dropdown">
+      <a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+      <ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop1">
+        <li><a href="#dropdown1" tabindex="-1" data-toggle="tab">@fat</a></li>
+        <li><a href="#dropdown2" tabindex="-1" data-toggle="tab">@mdo</a></li>
+      </ul>
+    </li>
+  </ul>
+  <div id="myTabContent" class="tab-content">
+    <div class="tab-pane active" id="home">
+      <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+      <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+    </div>
+    <div class="tab-pane" id="profile">
+      <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+      <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+    </div>
+    <div class="tab-pane" id="dropdown1">
+      <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+      <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+    </div>
+    <div class="tab-pane" id="dropdown2">
+      <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+      <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+    </div>
+  </div>
+
+  <h4>Tabs with fade</h4>
+
+  <ul id="myTab1" class="nav nav-tabs">
+    <li class="active"><a href="#home1" data-toggle="tab">Home</a></li>
+    <li><a href="#profile1" data-toggle="tab">Profile</a></li>
+    <li class="dropdown">
+      <a href="#" id="myTabDrop2" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+      <ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop2">
+        <li><a href="#dropdown1-1" tabindex="-1" data-toggle="tab">@fat</a></li>
+        <li><a href="#dropdown1-2" tabindex="-1" data-toggle="tab">@mdo</a></li>
+      </ul>
+    </li>
+  </ul>
+  <div id="myTabContent1" class="tab-content">
+    <div class="tab-pane fade in active" id="home1">
+      <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+      <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+    </div>
+    <div class="tab-pane fade" id="profile1">
+      <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+      <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+    </div>
+    <div class="tab-pane fade" id="dropdown1-1">
+      <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+      <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+    </div>
+    <div class="tab-pane fade" id="dropdown1-2">
+      <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+      <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+    </div>
+  </div>
+
+  <h4>Tabs without fade (no initially active pane)</h4>
+
+  <ul id="myTab2" class="nav nav-tabs">
+    <li><a href="#home2" data-toggle="tab">Home</a></li>
+    <li><a href="#profile2" data-toggle="tab">Profile</a></li>
+    <li class="dropdown">
+      <a href="#" id="myTabDrop3" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+      <ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop3">
+        <li><a href="#dropdown2-1" tabindex="-1" data-toggle="tab">@fat</a></li>
+        <li><a href="#dropdown2-2" tabindex="-1" data-toggle="tab">@mdo</a></li>
+      </ul>
+    </li>
+  </ul>
+  <div id="myTabContent2" class="tab-content">
+    <div class="tab-pane" id="home2">
+      <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+      <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+    </div>
+    <div class="tab-pane" id="profile2">
+      <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+      <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+    </div>
+    <div class="tab-pane" id="dropdown2-1">
+      <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+      <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+    </div>
+    <div class="tab-pane" id="dropdown2-2">
+      <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+      <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+    </div>
+  </div>
+
+  <h4>Tabs with fade (no initially active pane)</h4>
+
+  <ul id="myTab3" class="nav nav-tabs">
+    <li><a href="#home3" data-toggle="tab">Home</a></li>
+    <li><a href="#profile3" data-toggle="tab">Profile</a></li>
+    <li class="dropdown">
+      <a href="#" id="myTabDrop4" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
+      <ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop4">
+        <li><a href="#dropdown3-1" tabindex="-1" data-toggle="tab">@fat</a></li>
+        <li><a href="#dropdown3-2" tabindex="-1" data-toggle="tab">@mdo</a></li>
+      </ul>
+    </li>
+  </ul>
+  <div id="myTabContent3" class="tab-content">
+    <div class="tab-pane fade" id="home3">
+      <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+      <p>Raw denim you probably haven't heard of them jean shorts Austin. Nesciunt tofu stumptown aliqua, retro synth master cleanse. Mustache cliche tempor, williamsburg carles vegan helvetica. Reprehenderit butcher retro keffiyeh dreamcatcher synth. Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.</p>
+    </div>
+    <div class="tab-pane fade" id="profile3">
+      <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+      <p>Food truck fixie locavore, accusamus mcsweeney's marfa nulla single-origin coffee squid. Exercitation +1 labore velit, blog sartorial PBR leggings next level wes anderson artisan four loko farm-to-table craft beer twee. Qui photo booth letterpress, commodo enim craft beer mlkshk aliquip jean shorts ullamco ad vinyl cillum PBR. Homo nostrud organic, assumenda labore aesthetic magna delectus mollit. Keytar helvetica VHS salvia yr, vero magna velit sapiente labore stumptown. Vegan fanny pack odio cillum wes anderson 8-bit, sustainable jean shorts beard ut DIY ethical culpa terry richardson biodiesel. Art party scenester stumptown, tumblr butcher vero sint qui sapiente accusamus tattooed echo park.</p>
+    </div>
+    <div class="tab-pane fade" id="dropdown3-1">
+      <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+      <p>Etsy mixtape wayfarers, ethical wes anderson tofu before they sold out mcsweeney's organic lomo retro fanny pack lo-fi farm-to-table readymade. Messenger bag gentrify pitchfork tattooed craft beer, iphone skateboard locavore carles etsy salvia banksy hoodie helvetica. DIY synth PBR banksy irony. Leggings gentrify squid 8-bit cred pitchfork. Williamsburg banh mi whatever gluten-free, carles pitchfork biodiesel fixie etsy retro mlkshk vice blog. Scenester cred you probably haven't heard of them, vinyl craft beer blog stumptown. Pitchfork sustainable tofu synth chambray yr.</p>
+    </div>
+    <div class="tab-pane fade" id="dropdown3-2">
+      <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+      <p>Trust fund seitan letterpress, keytar raw denim keffiyeh etsy art party before they sold out master cleanse gluten-free squid scenester freegan cosby sweater. Fanny pack portland seitan DIY, art party locavore wolf cliche high life echo park Austin. Cred vinyl keffiyeh DIY salvia PBR, banh mi before they sold out farm-to-table VHS viral locavore cosby sweater. Lomo wolf viral, mustache readymade thundercats keffiyeh craft beer marfa ethical. Wolf salvia freegan, sartorial keffiyeh echo park vegan.</p>
+    </div>
+  </div>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../tab.js"></script>
+<script src="../../dropdown.js"></script>
+
+</body>
+</html>

+ 50 - 0
misago/emberapp/vendor/bootstrap/tests/visual/tooltip.html

@@ -0,0 +1,50 @@
+<!DOCTYPE html>
+<html>
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width, initial-scale=1">
+  <title>Tooltip</title>
+  <link rel="stylesheet" href="../../../dist/css/bootstrap.min.css">
+
+  <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
+  <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
+  <!--[if lt IE 9]>
+    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
+    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
+  <![endif]-->
+</head>
+<body>
+
+<div class="container">
+
+  <div class="page-header">
+    <h1>Tooltip <small>Bootstrap Visual Test</small></h1>
+  </div>
+
+  <p class="muted" style="margin-bottom: 0;">Tight pants next level keffiyeh <a href="#" data-toggle="tooltip" title="" data-original-title="Default tooltip">you probably</a> haven't heard of them. Photo booth beard raw denim letterpress vegan messenger bag stumptown. Farm-to-table seitan, mcsweeney's fixie sustainable quinoa 8-bit american apparel <a href="#" data-toggle="tooltip" title="" data-original-title="Another tooltip">have a</a> terry richardson vinyl chambray. Beard stumptown, cardigans banh mi lomo thundercats. Tofu biodiesel williamsburg marfa, four loko mcsweeney's cleanse vegan chambray. A really ironic artisan <a href="#" data-toggle="tooltip" title="" data-original-title="Another one here too">whatever keytar</a>, scenester farm-to-table banksy Austin <a href="#" data-toggle="tooltip" title="" data-original-title="The last tip!">twitter handle</a> freegan cred raw denim single-origin coffee viral.
+  </p>
+  <hr>
+  <p>
+    <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="left" title="" data-original-title="Tooltip on left">Tooltip on left</button>
+    <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="top" title="Tooltip on top">Tooltip on top</button>
+    <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">Tooltip on bottom</button>
+    <button type="button" class="btn btn-default" data-toggle="tooltip" data-placement="right" title="Tooltip on right">Tooltip on right</button>
+  </p>
+
+</div>
+
+<!-- JavaScript Includes -->
+<script src="../vendor/jquery.min.js"></script>
+<script src="../../transition.js"></script>
+<script src="../../tooltip.js"></script>
+
+<!-- JavaScript Test -->
+<script>
+$(function () {
+  $('[data-toggle="tooltip"]').tooltip()
+})
+</script>
+
+</body>
+</html>

+ 476 - 0
misago/emberapp/vendor/bootstrap/tooltip.js

@@ -0,0 +1,476 @@
+/* ========================================================================
+ * Bootstrap: tooltip.js v3.3.4
+ * http://getbootstrap.com/javascript/#tooltip
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // TOOLTIP PUBLIC CLASS DEFINITION
+  // ===============================
+
+  var Tooltip = function (element, options) {
+    this.type       = null
+    this.options    = null
+    this.enabled    = null
+    this.timeout    = null
+    this.hoverState = null
+    this.$element   = null
+
+    this.init('tooltip', element, options)
+  }
+
+  Tooltip.VERSION  = '3.3.4'
+
+  Tooltip.TRANSITION_DURATION = 150
+
+  Tooltip.DEFAULTS = {
+    animation: true,
+    placement: 'top',
+    selector: false,
+    template: '<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',
+    trigger: 'hover focus',
+    title: '',
+    delay: 0,
+    html: false,
+    container: false,
+    viewport: {
+      selector: 'body',
+      padding: 0
+    }
+  }
+
+  Tooltip.prototype.init = function (type, element, options) {
+    this.enabled   = true
+    this.type      = type
+    this.$element  = $(element)
+    this.options   = this.getOptions(options)
+    this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
+
+    if (this.$element[0] instanceof document.constructor && !this.options.selector) {
+      throw new Error('`selector` option must be specified when initializing ' + this.type + ' on the window.document object!')
+    }
+
+    var triggers = this.options.trigger.split(' ')
+
+    for (var i = triggers.length; i--;) {
+      var trigger = triggers[i]
+
+      if (trigger == 'click') {
+        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
+      } else if (trigger != 'manual') {
+        var eventIn  = trigger == 'hover' ? 'mouseenter' : 'focusin'
+        var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
+
+        this.$element.on(eventIn  + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+      }
+    }
+
+    this.options.selector ?
+      (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+      this.fixTitle()
+  }
+
+  Tooltip.prototype.getDefaults = function () {
+    return Tooltip.DEFAULTS
+  }
+
+  Tooltip.prototype.getOptions = function (options) {
+    options = $.extend({}, this.getDefaults(), this.$element.data(), options)
+
+    if (options.delay && typeof options.delay == 'number') {
+      options.delay = {
+        show: options.delay,
+        hide: options.delay
+      }
+    }
+
+    return options
+  }
+
+  Tooltip.prototype.getDelegateOptions = function () {
+    var options  = {}
+    var defaults = this.getDefaults()
+
+    this._options && $.each(this._options, function (key, value) {
+      if (defaults[key] != value) options[key] = value
+    })
+
+    return options
+  }
+
+  Tooltip.prototype.enter = function (obj) {
+    var self = obj instanceof this.constructor ?
+      obj : $(obj.currentTarget).data('bs.' + this.type)
+
+    if (self && self.$tip && self.$tip.is(':visible')) {
+      self.hoverState = 'in'
+      return
+    }
+
+    if (!self) {
+      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+      $(obj.currentTarget).data('bs.' + this.type, self)
+    }
+
+    clearTimeout(self.timeout)
+
+    self.hoverState = 'in'
+
+    if (!self.options.delay || !self.options.delay.show) return self.show()
+
+    self.timeout = setTimeout(function () {
+      if (self.hoverState == 'in') self.show()
+    }, self.options.delay.show)
+  }
+
+  Tooltip.prototype.leave = function (obj) {
+    var self = obj instanceof this.constructor ?
+      obj : $(obj.currentTarget).data('bs.' + this.type)
+
+    if (!self) {
+      self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+      $(obj.currentTarget).data('bs.' + this.type, self)
+    }
+
+    clearTimeout(self.timeout)
+
+    self.hoverState = 'out'
+
+    if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+    self.timeout = setTimeout(function () {
+      if (self.hoverState == 'out') self.hide()
+    }, self.options.delay.hide)
+  }
+
+  Tooltip.prototype.show = function () {
+    var e = $.Event('show.bs.' + this.type)
+
+    if (this.hasContent() && this.enabled) {
+      this.$element.trigger(e)
+
+      var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
+      if (e.isDefaultPrevented() || !inDom) return
+      var that = this
+
+      var $tip = this.tip()
+
+      var tipId = this.getUID(this.type)
+
+      this.setContent()
+      $tip.attr('id', tipId)
+      this.$element.attr('aria-describedby', tipId)
+
+      if (this.options.animation) $tip.addClass('fade')
+
+      var placement = typeof this.options.placement == 'function' ?
+        this.options.placement.call(this, $tip[0], this.$element[0]) :
+        this.options.placement
+
+      var autoToken = /\s?auto?\s?/i
+      var autoPlace = autoToken.test(placement)
+      if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
+
+      $tip
+        .detach()
+        .css({ top: 0, left: 0, display: 'block' })
+        .addClass(placement)
+        .data('bs.' + this.type, this)
+
+      this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
+
+      var pos          = this.getPosition()
+      var actualWidth  = $tip[0].offsetWidth
+      var actualHeight = $tip[0].offsetHeight
+
+      if (autoPlace) {
+        var orgPlacement = placement
+        var $container   = this.options.container ? $(this.options.container) : this.$element.parent()
+        var containerDim = this.getPosition($container)
+
+        placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top'    :
+                    placement == 'top'    && pos.top    - actualHeight < containerDim.top    ? 'bottom' :
+                    placement == 'right'  && pos.right  + actualWidth  > containerDim.width  ? 'left'   :
+                    placement == 'left'   && pos.left   - actualWidth  < containerDim.left   ? 'right'  :
+                    placement
+
+        $tip
+          .removeClass(orgPlacement)
+          .addClass(placement)
+      }
+
+      var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
+
+      this.applyPlacement(calculatedOffset, placement)
+
+      var complete = function () {
+        var prevHoverState = that.hoverState
+        that.$element.trigger('shown.bs.' + that.type)
+        that.hoverState = null
+
+        if (prevHoverState == 'out') that.leave(that)
+      }
+
+      $.support.transition && this.$tip.hasClass('fade') ?
+        $tip
+          .one('bsTransitionEnd', complete)
+          .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+        complete()
+    }
+  }
+
+  Tooltip.prototype.applyPlacement = function (offset, placement) {
+    var $tip   = this.tip()
+    var width  = $tip[0].offsetWidth
+    var height = $tip[0].offsetHeight
+
+    // manually read margins because getBoundingClientRect includes difference
+    var marginTop = parseInt($tip.css('margin-top'), 10)
+    var marginLeft = parseInt($tip.css('margin-left'), 10)
+
+    // we must check for NaN for ie 8/9
+    if (isNaN(marginTop))  marginTop  = 0
+    if (isNaN(marginLeft)) marginLeft = 0
+
+    offset.top  = offset.top  + marginTop
+    offset.left = offset.left + marginLeft
+
+    // $.fn.offset doesn't round pixel values
+    // so we use setOffset directly with our own function B-0
+    $.offset.setOffset($tip[0], $.extend({
+      using: function (props) {
+        $tip.css({
+          top: Math.round(props.top),
+          left: Math.round(props.left)
+        })
+      }
+    }, offset), 0)
+
+    $tip.addClass('in')
+
+    // check to see if placing tip in new offset caused the tip to resize itself
+    var actualWidth  = $tip[0].offsetWidth
+    var actualHeight = $tip[0].offsetHeight
+
+    if (placement == 'top' && actualHeight != height) {
+      offset.top = offset.top + height - actualHeight
+    }
+
+    var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
+
+    if (delta.left) offset.left += delta.left
+    else offset.top += delta.top
+
+    var isVertical          = /top|bottom/.test(placement)
+    var arrowDelta          = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
+    var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
+
+    $tip.offset(offset)
+    this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
+  }
+
+  Tooltip.prototype.replaceArrow = function (delta, dimension, isVertical) {
+    this.arrow()
+      .css(isVertical ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
+      .css(isVertical ? 'top' : 'left', '')
+  }
+
+  Tooltip.prototype.setContent = function () {
+    var $tip  = this.tip()
+    var title = this.getTitle()
+
+    $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
+    $tip.removeClass('fade in top bottom left right')
+  }
+
+  Tooltip.prototype.hide = function (callback) {
+    var that = this
+    var $tip = $(this.$tip)
+    var e    = $.Event('hide.bs.' + this.type)
+
+    function complete() {
+      if (that.hoverState != 'in') $tip.detach()
+      that.$element
+        .removeAttr('aria-describedby')
+        .trigger('hidden.bs.' + that.type)
+      callback && callback()
+    }
+
+    this.$element.trigger(e)
+
+    if (e.isDefaultPrevented()) return
+
+    $tip.removeClass('in')
+
+    $.support.transition && $tip.hasClass('fade') ?
+      $tip
+        .one('bsTransitionEnd', complete)
+        .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+      complete()
+
+    this.hoverState = null
+
+    return this
+  }
+
+  Tooltip.prototype.fixTitle = function () {
+    var $e = this.$element
+    if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
+      $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
+    }
+  }
+
+  Tooltip.prototype.hasContent = function () {
+    return this.getTitle()
+  }
+
+  Tooltip.prototype.getPosition = function ($element) {
+    $element   = $element || this.$element
+
+    var el     = $element[0]
+    var isBody = el.tagName == 'BODY'
+
+    var elRect    = el.getBoundingClientRect()
+    if (elRect.width == null) {
+      // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
+      elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
+    }
+    var elOffset  = isBody ? { top: 0, left: 0 } : $element.offset()
+    var scroll    = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
+    var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
+
+    return $.extend({}, elRect, scroll, outerDims, elOffset)
+  }
+
+  Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
+    return placement == 'bottom' ? { top: pos.top + pos.height,   left: pos.left + pos.width / 2 - actualWidth / 2 } :
+           placement == 'top'    ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+           placement == 'left'   ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+        /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
+
+  }
+
+  Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
+    var delta = { top: 0, left: 0 }
+    if (!this.$viewport) return delta
+
+    var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
+    var viewportDimensions = this.getPosition(this.$viewport)
+
+    if (/right|left/.test(placement)) {
+      var topEdgeOffset    = pos.top - viewportPadding - viewportDimensions.scroll
+      var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
+      if (topEdgeOffset < viewportDimensions.top) { // top overflow
+        delta.top = viewportDimensions.top - topEdgeOffset
+      } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
+        delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
+      }
+    } else {
+      var leftEdgeOffset  = pos.left - viewportPadding
+      var rightEdgeOffset = pos.left + viewportPadding + actualWidth
+      if (leftEdgeOffset < viewportDimensions.left) { // left overflow
+        delta.left = viewportDimensions.left - leftEdgeOffset
+      } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
+        delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
+      }
+    }
+
+    return delta
+  }
+
+  Tooltip.prototype.getTitle = function () {
+    var title
+    var $e = this.$element
+    var o  = this.options
+
+    title = $e.attr('data-original-title')
+      || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
+
+    return title
+  }
+
+  Tooltip.prototype.getUID = function (prefix) {
+    do prefix += ~~(Math.random() * 1000000)
+    while (document.getElementById(prefix))
+    return prefix
+  }
+
+  Tooltip.prototype.tip = function () {
+    return (this.$tip = this.$tip || $(this.options.template))
+  }
+
+  Tooltip.prototype.arrow = function () {
+    return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
+  }
+
+  Tooltip.prototype.enable = function () {
+    this.enabled = true
+  }
+
+  Tooltip.prototype.disable = function () {
+    this.enabled = false
+  }
+
+  Tooltip.prototype.toggleEnabled = function () {
+    this.enabled = !this.enabled
+  }
+
+  Tooltip.prototype.toggle = function (e) {
+    var self = this
+    if (e) {
+      self = $(e.currentTarget).data('bs.' + this.type)
+      if (!self) {
+        self = new this.constructor(e.currentTarget, this.getDelegateOptions())
+        $(e.currentTarget).data('bs.' + this.type, self)
+      }
+    }
+
+    self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
+  }
+
+  Tooltip.prototype.destroy = function () {
+    var that = this
+    clearTimeout(this.timeout)
+    this.hide(function () {
+      that.$element.off('.' + that.type).removeData('bs.' + that.type)
+    })
+  }
+
+
+  // TOOLTIP PLUGIN DEFINITION
+  // =========================
+
+  function Plugin(option) {
+    return this.each(function () {
+      var $this   = $(this)
+      var data    = $this.data('bs.tooltip')
+      var options = typeof option == 'object' && option
+
+      if (!data && /destroy|hide/.test(option)) return
+      if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
+      if (typeof option == 'string') data[option]()
+    })
+  }
+
+  var old = $.fn.tooltip
+
+  $.fn.tooltip             = Plugin
+  $.fn.tooltip.Constructor = Tooltip
+
+
+  // TOOLTIP NO CONFLICT
+  // ===================
+
+  $.fn.tooltip.noConflict = function () {
+    $.fn.tooltip = old
+    return this
+  }
+
+}(jQuery);

+ 59 - 0
misago/emberapp/vendor/bootstrap/transition.js

@@ -0,0 +1,59 @@
+/* ========================================================================
+ * Bootstrap: transition.js v3.3.4
+ * http://getbootstrap.com/javascript/#transitions
+ * ========================================================================
+ * Copyright 2011-2015 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+  'use strict';
+
+  // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/)
+  // ============================================================
+
+  function transitionEnd() {
+    var el = document.createElement('bootstrap')
+
+    var transEndEventNames = {
+      WebkitTransition : 'webkitTransitionEnd',
+      MozTransition    : 'transitionend',
+      OTransition      : 'oTransitionEnd otransitionend',
+      transition       : 'transitionend'
+    }
+
+    for (var name in transEndEventNames) {
+      if (el.style[name] !== undefined) {
+        return { end: transEndEventNames[name] }
+      }
+    }
+
+    return false // explicit for ie8 (  ._.)
+  }
+
+  // http://blog.alexmaccaw.com/css-transitions
+  $.fn.emulateTransitionEnd = function (duration) {
+    var called = false
+    var $el = this
+    $(this).one('bsTransitionEnd', function () { called = true })
+    var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
+    setTimeout(callback, duration)
+    return this
+  }
+
+  $(function () {
+    $.support.transition = transitionEnd()
+
+    if (!$.support.transition) return
+
+    $.event.special.bsTransitionEnd = {
+      bindType: $.support.transition.end,
+      delegateType: $.support.transition.end,
+      handle: function (e) {
+        if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
+      }
+    }
+  })
+
+}(jQuery);

+ 1 - 1
misago/static/misago/css/misago.css

@@ -4,4 +4,4 @@
  */@font-face{font-family:FontAwesome;src:url(../fonts/fontawesome-webfont.eot?v=4.3.0);src:url(../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0) format('embedded-opentype'),url(../fonts/fontawesome-webfont.woff2?v=4.3.0) format('woff2'),url(../fonts/fontawesome-webfont.woff?v=4.3.0) format('woff'),url(../fonts/fontawesome-webfont.ttf?v=4.3.0) format('truetype'),url(../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular) format('svg');font-weight:400;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0,0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-close:before,.fa-remove:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-repeat:before,.fa-rotate-right:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-exclamation-triangle:before,.fa-warning:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-floppy-o:before,.fa-save:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-bolt:before,.fa-flash:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-chain-broken:before,.fa-unlink:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:"\f150"}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:"\f151"}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:"\f152"}.fa-eur:before,.fa-euro:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-inr:before,.fa-rupee:before{content:"\f156"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:"\f158"}.fa-krw:before,.fa-won:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-try:before,.fa-turkish-lira:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-bank:before,.fa-institution:before,.fa-university:before{content:"\f19c"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:"\f1c5"}.fa-file-archive-o:before,.fa-file-zip-o:before{content:"\f1c6"}.fa-file-audio-o:before,.fa-file-sound-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-empire:before,.fa-ge:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-paper-plane:before,.fa-send:before{content:"\f1d8"}.fa-paper-plane-o:before,.fa-send-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-circle-thin:before,.fa-genderless:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-bed:before,.fa-hotel:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"}.jcrop-holder{direction:ltr;text-align:left;-ms-touch-action:none}.jcrop-hline,.jcrop-vline{background:url(Jcrop.gif) #fff;font-size:0;position:absolute}.jcrop-vline{height:100%;width:1px!important}.jcrop-vline.right{right:0}.jcrop-hline{height:1px!important;width:100%}.jcrop-hline.bottom{bottom:0}.jcrop-tracker{height:100%;width:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none}.jcrop-handle.ord-n{left:50%;margin-left:-4px;margin-top:-4px;top:0}.jcrop-handle.ord-s{bottom:0;left:50%;margin-bottom:-4px;margin-left:-4px}.jcrop-handle.ord-e{margin-right:-4px;margin-top:-4px;right:0;top:50%}.jcrop-handle.ord-w{left:0;margin-left:-4px;margin-top:-4px;top:50%}.jcrop-handle.ord-nw{left:0;margin-left:-4px;margin-top:-4px;top:0}.jcrop-handle.ord-ne{margin-right:-4px;margin-top:-4px;right:0;top:0}.jcrop-handle.ord-se{bottom:0;margin-bottom:-4px;margin-right:-4px;right:0}.jcrop-handle.ord-sw{bottom:0;left:0;margin-bottom:-4px;margin-left:-4px}.jcrop-dragbar.ord-n,.jcrop-dragbar.ord-s{height:7px;width:100%}.jcrop-dragbar.ord-e,.jcrop-dragbar.ord-w{height:100%;width:7px}.jcrop-dragbar.ord-n{margin-top:-4px}.jcrop-dragbar.ord-s{bottom:0;margin-bottom:-4px}.jcrop-dragbar.ord-e{margin-right:-4px;right:0}.jcrop-dragbar.ord-w{margin-left:-4px}.jcrop-light .jcrop-hline,.jcrop-light .jcrop-vline{background:#fff;filter:alpha(opacity=70)!important;opacity:.7!important}.jcrop-light .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#000;border-color:#fff;border-radius:3px}.jcrop-dark .jcrop-hline,.jcrop-dark .jcrop-vline{background:#000;filter:alpha(opacity=70)!important;opacity:.7!important}.jcrop-dark .jcrop-handle{-moz-border-radius:3px;-webkit-border-radius:3px;background-color:#fff;border-color:#000;border-radius:3px}.solid-line .jcrop-hline,.solid-line .jcrop-vline{background:#fff}.jcrop-holder img,img.jcrop-preview{max-width:none}/*!
  * Datetimepicker for Bootstrap v3
  * https://github.com/Eonasdan/bootstrap-datetimepicker/
- */.bootstrap-datetimepicker-widget{top:0;left:0;width:250px;padding:4px 8px;margin-top:1px;z-index:99999!important;border-radius:4px}.bootstrap-datetimepicker-widget.timepicker-sbs{width:600px}.bootstrap-datetimepicker-widget .dow{width:14.2857%}.bootstrap-datetimepicker-widget.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget>ul{list-style-type:none;margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:700;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator{width:4px;padding:0;margin:0}.bootstrap-datetimepicker-widget .datepicker>div{display:none}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget td,.bootstrap-datetimepicker-widget th{text-align:center;border-radius:4px}.bootstrap-datetimepicker-widget td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget td.day:hover,.bootstrap-datetimepicker-widget td.hour:hover,.bootstrap-datetimepicker-widget td.minute:hover,.bootstrap-datetimepicker-widget td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget td.new,.bootstrap-datetimepicker-widget td.old{color:#777}.bootstrap-datetimepicker-widget td.today{position:relative}.bootstrap-datetimepicker-widget td.today:before{content:'';display:inline-block;border-left:7px solid transparent;border-bottom:7px solid #3498db;border-top-color:rgba(0,0,0,.2);position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget td.active,.bootstrap-datetimepicker-widget td.active:hover{background-color:#3498db;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget td.disabled,.bootstrap-datetimepicker-widget td.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget td span{display:block;width:54px;height:54px;line-height:54px;float:left;margin:2px 1.5px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget td span:hover{background:#eee}.bootstrap-datetimepicker-widget td span.active{background-color:#3498db;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget td span.old{color:#777}.bootstrap-datetimepicker-widget td span.disabled,.bootstrap-datetimepicker-widget td span.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget th.switch{width:145px}.bootstrap-datetimepicker-widget th.next,.bootstrap-datetimepicker-widget th.prev{font-size:21px}.bootstrap-datetimepicker-widget th.disabled,.bootstrap-datetimepicker-widget th.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget thead tr:first-child th:hover{background:#eee}.input-group.date .input-group-addon span{display:block;cursor:pointer;width:16px;height:16px}.bootstrap-datetimepicker-widget.left-oriented:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.left-oriented:after{left:auto;right:7px}.bootstrap-datetimepicker-widget ul.list-unstyled li div.timepicker div.timepicker-picker table.table-condensed tbody>tr>td{padding:0!important}@media screen and (max-width:767px){.bootstrap-datetimepicker-widget.timepicker-sbs{width:283px}}/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}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{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-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:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.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 td,.table-bordered th{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:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro: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-yen:before{content:"\00a5"}.glyphicon-ruble: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"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#111;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196f3;text-decoration:none}a:focus,a:hover{color:#5c6bc0;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{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;display:inline-block;max-width:100%;height:auto}.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;margin:-1px;padding:0;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}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:200;line-height:1.1;color:#252525}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,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,.h5,.h6,h4,h5,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{background-color:#fcf8e3;padding:.2em}.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:#3498db}a.text-primary:hover{color:#217dbb}.text-success{color:#2ecc71}a.text-success:hover{color:#25a25a}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#e74c3c}a.text-danger:hover{color:#d62c1a}.bg-primary{color:#fff;background-color:#3498db}a.bg-primary:hover{background-color:#217dbb}.bg-success{background-color:#2ecc71}a.bg-success:hover{background-color:#25a25a}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#e74c3c}a.bg-danger:hover{background-color:#d62c1a}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[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 ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer: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;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;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,.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.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-md-1,.col-md-10,.col-md-11,.col-md-12,.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-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.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-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{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-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{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-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{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-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{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>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{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>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{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;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#2ecc71}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#29b765}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#e74c3c}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#e43725}.table-responsive{overflow-x:auto;min-height:.01%}@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>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width: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:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;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,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{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=datetime-local],input[type=month],input[type=time]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right: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}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 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}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;padding:10px 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{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#2ecc71}.has-success .form-control{border-color:#2ecc71;-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:#25a25a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7ee2a8;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7ee2a8}.has-success .input-group-addon{color:#2ecc71;border-color:#2ecc71;background-color:#2ecc71}.has-success .form-control-feedback{color:#2ecc71}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-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;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#e74c3c}.has-error .form-control{border-color:#e74c3c;-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:#d62c1a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #f29f97;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #f29f97}.has-error .input-group-addon{color:#e74c3c;border-color:#e74c3c;background-color:#e74c3c}.has-error .form-control-feedback{color:#e74c3c}.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:#515151}@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 .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:300;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#95a5a6;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-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;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#95a5a6;background-color:transparent;border-color:#bdc3c7}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#95a5a6;background-color:transparent;border-color:#9ca5ab}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.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:transparent;border-color:#bdc3c7}.btn-default .badge{color:transparent;background-color:#95a5a6}.btn-primary{color:#fff;background-color:#3498db;border-color:#3498db}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#217dbb;border-color:#2077b2}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.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:#3498db;border-color:#3498db}.btn-primary .badge{color:#3498db;background-color:#fff}.btn-success{color:#fff;background-color:#2ecc71;border-color:#2ecc71}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#25a25a;border-color:#239a55}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.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:#2ecc71;border-color:#2ecc71}.btn-success .badge{color:#2ecc71;background-color:#fff}.btn-info{color:#fff;background-color:#e66a5d;border-color:#e66a5d}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#df4131;border-color:#de3928}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.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:#e66a5d;border-color:#e66a5d}.btn-info .badge{color:#e66a5d;background-color:#fff}.btn-warning{color:#fff;background-color:#ffab40;border-color:#ffab40}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ff950d;border-color:#ff9003}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.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:#ffab40;border-color:#ffab40}.btn-warning .badge{color:#ffab40;background-color:#fff}.btn-danger{color:#fff;background-color:#ef5350;border-color:#ef5350}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#eb2521;border-color:#ea1c18}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.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:#ef5350;border-color:#ef5350}.btn-danger .badge{color:#ef5350;background-color:#fff}.btn-link{color:#2196f3;font-weight:400;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:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#5c6bc0;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{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=button].btn-block,input[type=reset].btn-block,input[type=submit].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;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{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;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);background-clip:padding-box}.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:400;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#111;background-color:transparent}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#e66a5d;text-decoration:none;outline:0;background-color:transparent}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{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-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right: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}.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-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.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-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;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=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{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-left:0;padding-right: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}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.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}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn: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:400;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=checkbox],.input-group-addon input[type=radio]{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-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-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:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-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:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{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{margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#2196f3}.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:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.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:focus,.nav-tabs.nav-justified>.active>a:hover{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:focus,.nav-tabs.nav-justified>.active>a:hover{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:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#3498db}.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{text-align:center;margin-bottom:5px}.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:focus,.nav-tabs-justified>.active>a:hover{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:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:46px;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{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;visibility:visible!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{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-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{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;padding:13px 15px;font-size:18px;line-height:20px;height:46px}.navbar-brand:focus,.navbar-brand:hover{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;margin-right:15px;padding:9px 10px;margin-top:6px;margin-bottom:6px;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:6.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;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:13px;padding-bottom:13px}}.navbar-form{margin:6px -15px;padding:10px 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 .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{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;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-xs{margin-top:12px;margin-bottom:12px}.navbar-text{margin-top:13px;margin-bottom:13px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right: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:#fff;border-color:#eee}.navbar-default .navbar-brand{color:#252525}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#252525;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#111;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#e66a5d;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#eee}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:transparent;color:#e66a5d}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#111;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#e66a5d;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#111}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#111}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{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:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@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:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{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:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{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{content:"/\00a0";padding:0 5px;color:#ccc}.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;line-height:1.42857143;text-decoration:none;color:#2196f3;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#5c6bc0;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;background-color:#3498db;border-color:#3498db;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.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:focus,.pager li>a:hover{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:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{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]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#3498db}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#217dbb}.label-success{background-color:#2ecc71}.label-success[href]:focus,.label-success[href]:hover{background-color:#25a25a}.label-info{background-color:#e66a5d}.label-info[href]:focus,.label-info[href]:hover{background-color:#df4131}.label-warning{background-color:#ffab40}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff950d}.label-danger{background-color:#ef5350}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#eb2521}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:300;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#e66a5d;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#2196f3;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:30px 15px;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:48px 0}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right: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 a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#2196f3}.thumbnail .caption{padding:9px;color:#111}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:6px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.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{background-color:#2ecc71;border-color:#2ecc71;color:#fff}.alert-success hr{border-top-color:#29b765}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#42a5f5;border-color:#42a5f5;color:#fff}.alert-info hr{border-top-color:#2a99f4}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#ff9800;border-color:#ff9800;color:#fff}.alert-warning hr{border-top-color:#e68900}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#ef5350;border-color:#ef5350;color:#fff}.alert-danger hr{border-top-color:#ed3c39}.alert-danger .alert-link{color:#e6e6e6}@-webkit-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{overflow:hidden;height:20px;margin-bottom:20px;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:#3498db;-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-bar-striped,.progress-striped .progress-bar{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);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-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:#2ecc71}.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:#e66a5d}.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:#ffab40}.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:#ef5350}.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{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{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{margin-bottom:20px;padding-left:0}.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-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#3498db;border-color:#3498db}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#e1f0fa}.list-group-item-success{color:#2ecc71;background-color:#2ecc71}a.list-group-item-success{color:#2ecc71}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover{color:#2ecc71;background-color:#29b765}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{color:#fff;background-color:#2ecc71;border-color:#2ecc71}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#e74c3c;background-color:#e74c3c}a.list-group-item-danger{color:#e74c3c}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover{color:#e74c3c;background-color:#e43725}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{color:#fff;background-color:#e74c3c;border-color:#e74c3c}.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-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.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-right-radius:3px;border-top-left-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}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody: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:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.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 th:first-child,.panel>.table-responsive:first-child>.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 th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.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 th:last-child,.panel>.table-responsive:first-child>.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 th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.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 th:first-child,.panel>.table-responsive:last-child>.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 th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.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 th:last-child,.panel>.table-responsive:last-child>.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 th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.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 td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom: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>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{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:#3498db}.panel-primary>.panel-heading{color:#fff;background-color:#3498db;border-color:#3498db}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3498db}.panel-primary>.panel-heading .badge{color:#3498db;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3498db}.panel-success{border-color:#29b74e}.panel-success>.panel-heading{color:#2ecc71;background-color:#2ecc71;border-color:#29b74e}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#29b74e}.panel-success>.panel-heading .badge{color:#2ecc71;background-color:#2ecc71}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#29b74e}.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:#e42533}.panel-danger>.panel-heading{color:#e74c3c;background-color:#e74c3c;border-color:#e42533}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#e42533}.panel-danger>.panel-heading .badge{color:#e74c3c;background-color:#e74c3c}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#e42533}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.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:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.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;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;background-clip:padding-box;outline:0}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#fff}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.85;filter:alpha(opacity=85)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.43px}.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-left:5px;margin-bottom:0}.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;visibility:visible;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;font-weight:400;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;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{bottom:0;right:5px;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-weight:400;line-height:1.42857143;text-align:left;background-color:#fff;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);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;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{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;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{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;-moz-perspective:1000;perspective:1000}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left: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;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.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:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;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:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;margin-top:-10px;line-height:1;font-family:serif}.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%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;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-next,.carousel-control .icon-prev{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{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right: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;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-print,.visible-print-block,.visible-print-inline,.visible-print-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.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}tr.visible-sm{display:table-row!important}td.visible-sm,th.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}tr.visible-md{display:table-row!important}td.visible-md,th.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}tr.visible-lg{display:table-row!important}td.visible-lg,th.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}}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}@media print{.visible-print-block{display:block!important}}@media print{.visible-print-inline{display:inline!important}}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.btn-outlined{border-width:2px;padding:5px 12px;font-size:14px;line-height:1.42857143;border-radius:4px}.btn-outlined.btn-lg{padding:9px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-outlined.btn-sm{border-width:1px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-outlined.btn-xs{border-width:1px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-outlined.btn-danger,.btn-outlined.btn-danger:visited,.btn-outlined.btn-default,.btn-outlined.btn-default:visited,.btn-outlined.btn-info,.btn-outlined.btn-info:visited,.btn-outlined.btn-primary,.btn-outlined.btn-primary:visited,.btn-outlined.btn-success,.btn-outlined.btn-success:visited,.btn-outlined.btn-warning,.btn-outlined.btn-warning:visited{background-color:transparent}.btn-outlined.btn-primary,.btn-outlined.btn-primary:visited{background-color:transparent;border-color:#3498db;color:#3498db}.btn-outlined.btn-primary:focus,.btn-outlined.btn-primary:hover{background-color:rgba(52,152,219,.4);border-color:#3498db;color:#fff}.btn-outlined.btn-primary:active{background-color:#217dbb;border-color:#3498db;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-primary.disabled,.btn-outlined.btn-primary.disabled:active,.btn-outlined.btn-primary.disabled:focus,.btn-outlined.btn-primary.disabled:hover,.btn-outlined.btn-primary.disabled:visited{background-color:transparent;border-color:#708c9f;color:#708c9f}.btn-outlined.btn-success,.btn-outlined.btn-success:visited{background-color:transparent;border-color:#2ecc71;color:#2ecc71}.btn-outlined.btn-success:focus,.btn-outlined.btn-success:hover{background-color:rgba(46,204,113,.4);border-color:#2ecc71;color:#fff}.btn-outlined.btn-success:active{background-color:#25a25a;border-color:#2ecc71;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-success.disabled,.btn-outlined.btn-success.disabled:active,.btn-outlined.btn-success.disabled:focus,.btn-outlined.btn-success.disabled:hover,.btn-outlined.btn-success.disabled:visited{background-color:transparent;border-color:#6c8e7a;color:#6c8e7a}.btn-outlined.btn-info,.btn-outlined.btn-info:visited{background-color:transparent;border-color:#e66a5d;color:#e66a5d}.btn-outlined.btn-info:focus,.btn-outlined.btn-info:hover{background-color:rgba(230,106,93,.4);border-color:#e66a5d;color:#fff}.btn-outlined.btn-info:active{background-color:#df4131;border-color:#e66a5d;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-info.disabled,.btn-outlined.btn-info.disabled:active,.btn-outlined.btn-info.disabled:focus,.btn-outlined.btn-info.disabled:hover,.btn-outlined.btn-info.disabled:visited{background-color:transparent;border-color:#b7908c;color:#b7908c}.btn-outlined.btn-warning,.btn-outlined.btn-warning:visited{background-color:transparent;border-color:#ffab40;color:#ffab40}.btn-outlined.btn-warning:focus,.btn-outlined.btn-warning:hover{background-color:rgba(255,171,64,.4);border-color:#ffab40;color:#fff}.btn-outlined.btn-warning:active{background-color:#ff950d;border-color:#ffab40;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-warning.disabled,.btn-outlined.btn-warning.disabled:active,.btn-outlined.btn-warning.disabled:focus,.btn-outlined.btn-warning.disabled:hover,.btn-outlined.btn-warning.disabled:visited{background-color:transparent;border-color:#cfa570;color:#cfa570}.btn-outlined.btn-danger,.btn-outlined.btn-danger:visited{background-color:transparent;border-color:#ef5350;color:#ef5350}.btn-outlined.btn-danger:focus,.btn-outlined.btn-danger:hover{background-color:rgba(239,83,80,.4);border-color:#ef5350;color:#fff}.btn-outlined.btn-danger:active{background-color:#eb2521;border-color:#ef5350;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-danger.disabled,.btn-outlined.btn-danger.disabled:active,.btn-outlined.btn-danger.disabled:focus,.btn-outlined.btn-danger.disabled:hover,.btn-outlined.btn-danger.disabled:visited{background-color:transparent;border-color:#bf8180;color:#bf8180}.btn-outlined.btn-default.focus,.btn-outlined.btn-default:focus,.btn-outlined.btn-default:hover{background-color:transparent;border-color:#4fc3f7;color:#4fc3f7}.btn-outlined.btn-default.active,.btn-outlined.btn-default:active,.open>.dropdown-toggle.btn-outlined.btn-default{background-color:transparent;border-color:#2196f3;color:#2196f3}.dropdown-menu{border-radius:4px;-webkit-box-shadow:0 0 0 3px rgba(85,85,85,.5);box-shadow:0 0 0 3px rgba(85,85,85,.5)}.dropdown-menu>li>a>.badge{float:right}.dropdown-space{padding:7px 20px}.dropdown-footer{background:#f7f7f7;border-top:1px solid #e6e6e6;border-radius:0 0 4px 4px;padding:7px 20px}.user-dropdown{width:300px;padding:0}.user-dropdown .guest-preview,.user-dropdown .user-preview{border-bottom:1px solid #e5e5e5;margin-bottom:8px;padding:12px 20px}.user-dropdown .guest-preview .editable-avatar,.user-dropdown .user-preview .editable-avatar{margin-right:4px}.user-dropdown .guest-preview .row,.user-dropdown .user-preview .row{margin-top:26px}.user-dropdown .guest-preview .row div:first-child,.user-dropdown .user-preview .row div:first-child{padding-right:4px}.user-dropdown .guest-preview .row div:last-child,.user-dropdown .user-preview .row div:last-child{padding-left:4px}.user-dropdown .guest-preview{border-bottom:0;margin-bottom:4px}.user-dropdown .dropdown-footer{margin-top:8px}.toast-message{position:fixed;top:-100%;width:100%;z-index:1050;text-align:center;font-size:18px;transition:top 300ms ease}.toast-message.visible{top:0;transition:top 200ms ease}.toast-message .message-success{background:#2ecc71;border:1px solid #2ecc71;border-top:none;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);padding:15px;color:#fff;font-size:18px}.toast-message .message-success .fa{margin-right:7px}.toast-message .message-info{background:#42a5f5;border:1px solid #42a5f5;border-top:none;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);padding:15px;color:#fff;font-size:18px}.toast-message .message-info .fa{margin-right:7px}.toast-message .message-warning{background:#ff9800;border:1px solid #ff9800;border-top:none;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);padding:15px;color:#fff;font-size:18px}.toast-message .message-warning .fa{margin-right:7px}.toast-message .message-danger{background:#ef5350;border:1px solid #ef5350;border-top:none;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);padding:15px;color:#fff;font-size:18px}.toast-message .message-danger .fa{margin-right:7px}@media (min-width:768px){.toast-message{padding:0 16px;pointer-events:none}.toast-message p{border-left:none;border-right:none;border-radius:0 0 6px 6px;display:inline-block;padding:10px 16px;font-size:14px}}.desync-message{background:rgba(255,255,255,.95);padding:30px 0;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);position:fixed;top:-100%;width:100%;z-index:1060;color:#111;text-align:center}.desync-message.visible{top:0;transition:top 200ms ease}.site-footer{margin-top:20px;padding-bottom:30px;color:#555;font-weight:300;text-align:center}.site-footer a,.site-footer a:focus,.site-footer a:hover,.site-footer a:link,.site-footer a:visited{color:#111}.site-footer a:active{color:#e66a5d}.site-footer .site-footnote{opacity:.7;filter:alpha(opacity=70);font-size:12px}.site-footer .misago-branding:active,.site-footer .misago-branding:link,.site-footer .misago-branding:visited .site-footer .misago-branding:hover{opacity:.8;filter:alpha(opacity=80);color:#777;font-size:12px;text-decoration:none}@media (min-width:768px){.site-footer{overflow:auto;text-align:left}.site-footer .footer-content{border-top:1px solid #eee;padding-top:20px}.site-footer .footer-nav{float:left}.site-footer .site-footnote{opacity:1;filter:alpha(opacity=100);font-size:14px}.site-footer .misago-branding{float:right}}.panel-form{background:#f5f5f5;border:none;border-color:#fff}.panel-form>.panel-heading{color:#555;background-color:transparent;border-color:#e8e8e8}.panel-form>.panel-heading+.panel-collapse>.panel-body{border-top-color:#fff}.panel-form>.panel-heading .badge{color:transparent;background-color:#555}.panel-form>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#fff}.panel-form .panel-body,.panel-form .panel-heading{padding:15px}.panel-form .panel-footer{background:#f5f5f5;border-top-color:#dbdbdb}.footer-extra{margin-top:20px}.form-group .help-block{margin-bottom:0;padding:0;font-size:12px}.form-group .help-block.errors{font-weight:700}.form-group .help-block.errors p{margin-bottom:6px;padding:0}.form-group .help-block.errors:last-child{margin-bottom:0}.panel-form .panel-loader .loader:after,.panel-form .panel-loader .loader:before{background:#f5f5f5}.panel-form .panel-error{padding:20px 0}.panel-form .panel-error .error-icon{padding-bottom:20px;opacity:.5;filter:alpha(opacity=50);font-size:72px}.panel-form .panel-error .error-message{font-size:18px;text-align:center}.panel-form .panel-error .error-message p{margin-bottom:0}.well-form{background:#f5f5f5;border-color:#fff;-webkit-box-shadow:none;box-shadow:none}.well-form form{margin:0;padding:0}input.form-control,textarea.form-control{border-width:2px;-webkit-box-shadow:none;box-shadow:none}input.form-control.diabled,textarea.form-control.diabled{opacity:50;filter:alpha(opacity=5000)}.password-strength{height:auto;margin:6.67px 0 0}.password-strength .progress-bar{-webkit-box-shadow:none;box-shadow:none;height:10px}.form-recaptcha{padding-bottom:6px}.form-recaptcha #g-captcha div{margin:0 auto}.form-recaptcha p{margin:13.2px 0 0;padding:0}.modal-content{-webkit-box-shadow:0 0 0 4px rgba(0,0,0,.15);box-shadow:0 0 0 4px rgba(0,0,0,.15)}.modal-message{padding-top:30px;padding-bottom:30px}.modal-message p{margin:6.67px 0 0;text-align:center}.modal-message p.lead{margin-top:0;font-size:18px}.modal-sign-in .modal-body{padding-top:6px;padding-bottom:6px}.modal-sign-in .modal-body .form-group{margin:10px 0}.modal-sign-in .modal-body.modal-ban-message p{margin-top:10px;margin-bottom:10px}.modal-sign-in .modal-footer>*{display:block;text-align:center}.modal-register-form .modal-body{padding-bottom:0}.modal-register-form .modal-body .lead,.navbar-spacer{margin-bottom:20px}.navbar-spacer .navbar-primary{border-bottom-width:1px;margin:0}.navbar-spacer .navbar-primary.affix{-webkit-box-shadow:0 0 3px rgba(51,51,51,.25);box-shadow:0 0 3px rgba(51,51,51,.25);width:100%;top:0}.navbar-primary .navbar-brand{font-size:21.6px;font-weight:300}.navbar-primary .navbar-brand img{display:inline-block;height:23px;margin:-1.5px 0;position:relative;bottom:3px}.navbar-primary .navbar-nav,.navbar-primary .navbar-nav>li{float:left}.navbar-primary .navbar-nav>li>a{font-size:16px}.navbar-primary .navbar-nav>li>a:active,.navbar-primary .navbar-nav>li>a:focus{color:#e66a5d}.navbar-primary .navbar-nav>li>a>.badge{vertical-align:inherit;margin:-10px 0}.navbar-primary .navbar-nav>li>a>.glyphicon{position:relative;top:4px}.navbar-primary .navbar-user-nav{float:right}.navbar-primary .navbar-user-nav .btn-success{position:relative;top:1px}.navbar-primary .user-menu .dropdown-toggle .fa{font-size:14px}.navbar-primary .user-menu .dropdown-toggle img{border-radius:4px;margin:-10px 0;width:28px;height:28px}.navbar-primary .navbar-guest-nav{float:right}.navbar-primary .navbar-guest-nav .btn{position:relative;top:1px}.navbar-static-top .navbar-nav>li>.dropdown-menu{border-radius:4px}@media (max-width:991px){.navbar-primary{min-height:40px}}.navbar-primary .navbar-compact-nav{margin:0;float:none;width:100%}.navbar-primary .navbar-compact-nav>li>a{padding:10px 0;height:40px;text-align:center}.navbar-primary .navbar-compact-nav>li>a .glyphicon{position:static;font-size:20px}.navbar-primary .navbar-compact-nav>li>a img{width:28px;margin:-4px 0;position:relative;bottom:2px}.navbar-primary .navbar-compact-nav .dropdown.open .dropdown-toggle,.navbar-primary .navbar-compact-nav>li>a:active{background-color:#e66a5d;color:#fff}.navbar-primary .navbar-compact-nav .dropdown .dropdown-menu{position:absolute;float:right;width:300px;margin-top:2px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 0 0 3px rgba(85,85,85,.5);box-shadow:0 0 0 3px rgba(85,85,85,.5)}.navbar-primary .navbar-compact-nav.with-4-links>li{width:25%}.navbar-primary .navbar-compact-nav.with-5-links>li{width:20%}.navbar-primary .navbar-compact-nav.with-6-links>li{width:16%}.navbar-primary .navbar-compact-nav.with-6-links>li:first-child,.navbar-primary .navbar-compact-nav.with-6-links>li:last-child{width:18%}.navbar-primary .navbar-compact-nav.with-7-links>li{width:14%}.navbar-primary .navbar-compact-nav.with-7-links>li:first-child,.navbar-primary .navbar-compact-nav.with-7-links>li:last-child{width:15%}.page-header{margin-top:-20px}.page-header h1{font-size:28px}.site-link,.site-link:link,.site-link:visited{color:#777}.site-link:focus,.site-link:hover{color:#111}.site-link:active{color:#e66a5d}.editable-avatar{background:0 0;border-radius:4px;margin:0;padding:0;position:relative;overflow:hidden}.editable-avatar .help{background:rgba(0,0,0,.7);border-radius:0;display:block;margin:0;padding:4px 0;width:100%;opacity:.6;filter:alpha(opacity=60);position:absolute;bottom:0;color:#fff;font-size:12px;text-shadow:1px 1px 0 #000}.editable-avatar:focus .help,.editable-avatar:hover .help{opacity:1;filter:alpha(opacity=100)}.error-page{text-align:center}.error-page .error-icon{padding-bottom:20px;opacity:.5;filter:alpha(opacity=50);font-size:72px}.error-page .lead{font-size:18px}@media (min-width:768px){.error-page .error-icon{opacity:.3;filter:alpha(opacity=30);font-size:90px}.error-page .lead,.error-page .lead p{font-size:25.2px}}@media (min-width:992px){.error-page .error-icon{font-size:126px}.error-page p{font-size:18px;font-weight:300}}.loader{font-size:11px;text-indent:-99999em;margin:40px auto;position:relative;width:10em;height:10em;box-shadow:inset 0 0 0 1em #d0d0d0}.loader,.loader:after,.loader:before{border-radius:50%}.loader:after,.loader:before{position:absolute;content:''}.loader:before{width:5.2em;height:10.2em;background:#fff;border-radius:10.2em 0 0 10.2em;top:-.1em;left:-.1em;-webkit-transform-origin:5.2em 5.1em;transform-origin:5.2em 5.1em;-webkit-animation:load2 2s infinite ease 1.5s;animation:load2 2s infinite ease 1.5s}.loader:after{width:5.2em;height:10.2em;background:#fff;border-radius:0 10.2em 10.2em 0;top:-.1em;left:5.1em;-webkit-transform-origin:0 5.1em;transform-origin:0 5.1em;-webkit-animation:load2 2s infinite ease;animation:load2 2s infinite ease}@-webkit-keyframes load2{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load2{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}
+ */.bootstrap-datetimepicker-widget{top:0;left:0;width:250px;padding:4px 8px;margin-top:1px;z-index:99999!important;border-radius:4px}.bootstrap-datetimepicker-widget.timepicker-sbs{width:600px}.bootstrap-datetimepicker-widget .dow{width:14.2857%}.bootstrap-datetimepicker-widget.pull-right:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.pull-right:after{left:auto;right:7px}.bootstrap-datetimepicker-widget>ul{list-style-type:none;margin:0}.bootstrap-datetimepicker-widget a[data-action]{padding:6px 0}.bootstrap-datetimepicker-widget .timepicker-hour,.bootstrap-datetimepicker-widget .timepicker-minute,.bootstrap-datetimepicker-widget .timepicker-second{width:54px;font-weight:700;font-size:1.2em;margin:0}.bootstrap-datetimepicker-widget button[data-action]{padding:6px}.bootstrap-datetimepicker-widget table[data-hour-format="12"] .separator{width:4px;padding:0;margin:0}.bootstrap-datetimepicker-widget .datepicker>div{display:none}.bootstrap-datetimepicker-widget .picker-switch{text-align:center}.bootstrap-datetimepicker-widget table{width:100%;margin:0}.bootstrap-datetimepicker-widget td,.bootstrap-datetimepicker-widget th{text-align:center;border-radius:4px}.bootstrap-datetimepicker-widget td{height:54px;line-height:54px;width:54px}.bootstrap-datetimepicker-widget td.day{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget td.day:hover,.bootstrap-datetimepicker-widget td.hour:hover,.bootstrap-datetimepicker-widget td.minute:hover,.bootstrap-datetimepicker-widget td.second:hover{background:#eee;cursor:pointer}.bootstrap-datetimepicker-widget td.new,.bootstrap-datetimepicker-widget td.old{color:#777}.bootstrap-datetimepicker-widget td.today{position:relative}.bootstrap-datetimepicker-widget td.today:before{content:'';display:inline-block;border-left:7px solid transparent;border-bottom:7px solid #3498db;border-top-color:rgba(0,0,0,.2);position:absolute;bottom:4px;right:4px}.bootstrap-datetimepicker-widget td.active,.bootstrap-datetimepicker-widget td.active:hover{background-color:#3498db;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget td.active.today:before{border-bottom-color:#fff}.bootstrap-datetimepicker-widget td.disabled,.bootstrap-datetimepicker-widget td.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget td span{display:block;width:54px;height:54px;line-height:54px;float:left;margin:2px 1.5px;cursor:pointer;border-radius:4px}.bootstrap-datetimepicker-widget td span:hover{background:#eee}.bootstrap-datetimepicker-widget td span.active{background-color:#3498db;color:#fff;text-shadow:0 -1px 0 rgba(0,0,0,.25)}.bootstrap-datetimepicker-widget td span.old{color:#777}.bootstrap-datetimepicker-widget td span.disabled,.bootstrap-datetimepicker-widget td span.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget th{height:20px;line-height:20px;width:20px}.bootstrap-datetimepicker-widget th.switch{width:145px}.bootstrap-datetimepicker-widget th.next,.bootstrap-datetimepicker-widget th.prev{font-size:21px}.bootstrap-datetimepicker-widget th.disabled,.bootstrap-datetimepicker-widget th.disabled:hover{background:0 0;color:#777;cursor:not-allowed}.bootstrap-datetimepicker-widget thead tr:first-child th{cursor:pointer}.bootstrap-datetimepicker-widget thead tr:first-child th:hover{background:#eee}.input-group.date .input-group-addon span{display:block;cursor:pointer;width:16px;height:16px}.bootstrap-datetimepicker-widget.left-oriented:before{left:auto;right:6px}.bootstrap-datetimepicker-widget.left-oriented:after{left:auto;right:7px}.bootstrap-datetimepicker-widget ul.list-unstyled li div.timepicker div.timepicker-picker table.table-condensed tbody>tr>td{padding:0!important}@media screen and (max-width:767px){.bootstrap-datetimepicker-widget.timepicker-sbs{width:283px}}/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}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{border:0;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{background:0 0!important;color:#000!important;box-shadow:none!important;text-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:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.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 td,.table-bordered th{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:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-eur:before,.glyphicon-euro: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-yen:before{content:"\00a5"}.glyphicon-ruble: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"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#111;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#2196f3;text-decoration:none}a:focus,a:hover{color:#5c6bc0;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{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;display:inline-block;max-width:100%;height:auto}.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;margin:-1px;padding:0;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}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-family:inherit;font-weight:200;line-height:1.1;color:#252525}.h1 .small,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#777}.h1,.h2,.h3,h1,h2,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,.h5,.h6,h4,h5,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{background-color:#fcf8e3;padding:.2em}.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:#3498db}a.text-primary:hover{color:#217dbb}.text-success{color:#2ecc71}a.text-success:hover{color:#25a25a}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#e74c3c}a.text-danger:hover{color:#d62c1a}.bg-primary{color:#fff;background-color:#3498db}a.bg-primary:hover{background-color:#217dbb}.bg-success{background-color:#2ecc71}a.bg-success:hover{background-color:#25a25a}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#e74c3c}a.bg-danger:hover{background-color:#d62c1a}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[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 ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer: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;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;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,.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.row{margin-left:-15px;margin-right:-15px}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.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-md-1,.col-md-10,.col-md-11,.col-md-12,.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-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.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-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{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-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{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-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{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-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{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>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{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>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{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;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#2ecc71}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#29b765}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#e74c3c}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#e43725}.table-responsive{overflow-x:auto;min-height:.01%}@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>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width: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:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;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,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{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date],input[type=datetime-local],input[type=month],input[type=time]{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg input[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}}.form-group{margin-bottom:15px}.checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right: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}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.form-group-sm .form-control{height:30px;line-height:30px}select[multiple].form-group-sm .form-control,textarea.form-group-sm .form-control{height:auto}.form-group-sm .form-control-static{height:30px;padding:5px 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}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.form-group-lg .form-control{height:46px;line-height:46px}select[multiple].form-group-lg .form-control,textarea.form-group-lg .form-control{height:auto}.form-group-lg .form-control-static{height:46px;padding:10px 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{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#2ecc71}.has-success .form-control{border-color:#2ecc71;-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:#25a25a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7ee2a8;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #7ee2a8}.has-success .input-group-addon{color:#2ecc71;border-color:#2ecc71;background-color:#2ecc71}.has-success .form-control-feedback{color:#2ecc71}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-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;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#e74c3c}.has-error .form-control{border-color:#e74c3c;-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:#d62c1a;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #f29f97;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #f29f97}.has-error .input-group-addon{color:#e74c3c;border-color:#e74c3c;background-color:#e74c3c}.has-error .form-control-feedback{color:#e74c3c}.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:#515151}@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 .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.33px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;margin-bottom:0;font-weight:300;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#95a5a6;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-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;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#95a5a6;background-color:transparent;border-color:#bdc3c7}.btn-default.active,.btn-default.focus,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#95a5a6;background-color:transparent;border-color:#9ca5ab}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{background-image:none}.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:transparent;border-color:#bdc3c7}.btn-default .badge{color:transparent;background-color:#95a5a6}.btn-primary{color:#fff;background-color:#3498db;border-color:#3498db}.btn-primary.active,.btn-primary.focus,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#217dbb;border-color:#2077b2}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{background-image:none}.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:#3498db;border-color:#3498db}.btn-primary .badge{color:#3498db;background-color:#fff}.btn-success{color:#fff;background-color:#2ecc71;border-color:#2ecc71}.btn-success.active,.btn-success.focus,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#25a25a;border-color:#239a55}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none}.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:#2ecc71;border-color:#2ecc71}.btn-success .badge{color:#2ecc71;background-color:#fff}.btn-info{color:#fff;background-color:#e66a5d;border-color:#e66a5d}.btn-info.active,.btn-info.focus,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#df4131;border-color:#de3928}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{background-image:none}.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:#e66a5d;border-color:#e66a5d}.btn-info .badge{color:#e66a5d;background-color:#fff}.btn-warning{color:#fff;background-color:#ffab40;border-color:#ffab40}.btn-warning.active,.btn-warning.focus,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ff950d;border-color:#ff9003}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{background-image:none}.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:#ffab40;border-color:#ffab40}.btn-warning .badge{color:#ffab40;background-color:#fff}.btn-danger{color:#fff;background-color:#ef5350;border-color:#ef5350}.btn-danger.active,.btn-danger.focus,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#eb2521;border-color:#ea1c18}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{background-image:none}.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:#ef5350;border-color:#ef5350}.btn-danger .badge{color:#ef5350;background-color:#fff}.btn-link{color:#2196f3;font-weight:400;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:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#5c6bc0;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#777;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{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=button].btn-block,input[type=reset].btn-block,input[type=submit].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;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{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;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);background-clip:padding-box}.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:400;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#111;background-color:transparent}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#e66a5d;text-decoration:none;outline:0;background-color:transparent}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#2196f3}.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:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.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:focus,.nav-tabs.nav-justified>.active>a:hover{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:focus,.nav-tabs.nav-justified>.active>a:hover{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:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#3498db}.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{text-align:center;margin-bottom:5px}.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:focus,.nav-tabs-justified>.active>a:hover{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:focus,.nav-tabs-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:46px;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{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;visibility:visible!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{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-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{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;padding:13px 15px;font-size:18px;line-height:20px;height:46px}.navbar-brand:focus,.navbar-brand:hover{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;margin-right:15px;padding:9px 10px;margin-top:6px;margin-bottom:6px;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:6.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;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:13px;padding-bottom:13px}}.navbar-form{margin:6px -15px;padding:10px 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 .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{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;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-radius:4px 4px 0 0}.navbar-btn{margin-top:6px;margin-bottom:6px}.navbar-btn.btn-sm{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-xs{margin-top:12px;margin-bottom:12px}.navbar-text{margin-top:13px;margin-bottom:13px}@media (min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right: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:#fff;border-color:#eee}.navbar-default .navbar-brand{color:#252525}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#252525;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#111;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#e66a5d;background-color:transparent}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#eee}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:transparent;color:#e66a5d}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#111;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#e66a5d;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#111}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:focus,.navbar-default .btn-link:hover{color:#111}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{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:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#080808;color:#fff}@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:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{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:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{color:#444}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.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:focus,.pager li>a:hover{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:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{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]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#3498db}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#217dbb}.label-success{background-color:#2ecc71}.label-success[href]:focus,.label-success[href]:hover{background-color:#25a25a}.label-info{background-color:#e66a5d}.label-info[href]:focus,.label-info[href]:hover{background-color:#df4131}.label-warning{background-color:#ffab40}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ff950d}.label-danger{background-color:#ef5350}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#eb2521}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:300;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#e66a5d;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#2196f3;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}.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 a>img,.thumbnail>img{margin-left:auto;margin-right:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#2196f3}.thumbnail .caption{padding:9px;color:#111}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:6px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.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{background-color:#2ecc71;border-color:#2ecc71;color:#fff}.alert-success hr{border-top-color:#29b765}.alert-success .alert-link{color:#e6e6e6}.alert-info{background-color:#42a5f5;border-color:#42a5f5;color:#fff}.alert-info hr{border-top-color:#2a99f4}.alert-info .alert-link{color:#e6e6e6}.alert-warning{background-color:#ff9800;border-color:#ff9800;color:#fff}.alert-warning hr{border-top-color:#e68900}.alert-warning .alert-link{color:#e6e6e6}.alert-danger{background-color:#ef5350;border-color:#ef5350;color:#fff}.alert-danger hr{border-top-color:#ed3c39}.alert-danger .alert-link{color:#e6e6e6}@-webkit-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{overflow:hidden;height:20px;margin-bottom:20px;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:#3498db;-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-bar-striped,.progress-striped .progress-bar{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);background-size:40px 40px}.progress-bar.active,.progress.active .progress-bar{-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:#2ecc71}.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:#e66a5d}.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:#ffab40}.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:#ef5350}.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{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{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}.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-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.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-right-radius:3px;border-top-left-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}.list-group+.panel-footer,.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-left:15px;padding-right:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody: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:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.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 th:first-child,.panel>.table-responsive:first-child>.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 th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.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 th:last-child,.panel>.table-responsive:first-child>.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 th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table-responsive:last-child>.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 th:first-child,.panel>.table-responsive:last-child>.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 th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.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 th:last-child,.panel>.table-responsive:last-child>.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 th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.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 td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom: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>.list-group,.panel-group .panel-heading+.panel-collapse>.panel-body{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:#3498db}.panel-primary>.panel-heading{color:#fff;background-color:#3498db;border-color:#3498db}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#3498db}.panel-primary>.panel-heading .badge{color:#3498db;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#3498db}.panel-success{border-color:#29b74e}.panel-success>.panel-heading{color:#2ecc71;background-color:#2ecc71;border-color:#29b74e}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#29b74e}.panel-success>.panel-heading .badge{color:#2ecc71;background-color:#2ecc71}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#29b74e}.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:#e42533}.panel-danger>.panel-heading{color:#e74c3c;background-color:#e74c3c;border-color:#e42533}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#e42533}.panel-danger>.panel-heading .badge{color:#e74c3c;background-color:#e74c3c}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#e42533}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.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:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.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;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;background-clip:padding-box;outline:0}.modal-backdrop{position:absolute;top:0;right:0;left:0;background-color:#fff}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.85;filter:alpha(opacity=85)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.43px}.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-left:5px;margin-bottom:0}.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}}.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{content:" ";display:table}.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-left:auto;margin-right: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;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-print,.visible-print-block,.visible-print-inline,.visible-print-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}td.visible-xs,th.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}tr.visible-sm{display:table-row!important}td.visible-sm,th.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}tr.visible-md{display:table-row!important}td.visible-md,th.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}tr.visible-lg{display:table-row!important}td.visible-lg,th.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}}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}@media print{.visible-print-block{display:block!important}}@media print{.visible-print-inline{display:inline!important}}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}.btn-outlined{border-width:2px;padding:5px 12px;font-size:14px;line-height:1.42857143;border-radius:4px}.btn-outlined.btn-lg{padding:9px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-outlined.btn-sm{border-width:1px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-outlined.btn-xs{border-width:1px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-outlined.btn-danger,.btn-outlined.btn-danger:visited,.btn-outlined.btn-default,.btn-outlined.btn-default:visited,.btn-outlined.btn-info,.btn-outlined.btn-info:visited,.btn-outlined.btn-primary,.btn-outlined.btn-primary:visited,.btn-outlined.btn-success,.btn-outlined.btn-success:visited,.btn-outlined.btn-warning,.btn-outlined.btn-warning:visited{background-color:transparent}.btn-outlined.btn-primary,.btn-outlined.btn-primary:visited{background-color:transparent;border-color:#3498db;color:#3498db}.btn-outlined.btn-primary:focus,.btn-outlined.btn-primary:hover{background-color:rgba(52,152,219,.4);border-color:#3498db;color:#fff}.btn-outlined.btn-primary:active{background-color:#217dbb;border-color:#3498db;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-primary.disabled,.btn-outlined.btn-primary.disabled:active,.btn-outlined.btn-primary.disabled:focus,.btn-outlined.btn-primary.disabled:hover,.btn-outlined.btn-primary.disabled:visited{background-color:transparent;border-color:#708c9f;color:#708c9f}.btn-outlined.btn-success,.btn-outlined.btn-success:visited{background-color:transparent;border-color:#2ecc71;color:#2ecc71}.btn-outlined.btn-success:focus,.btn-outlined.btn-success:hover{background-color:rgba(46,204,113,.4);border-color:#2ecc71;color:#fff}.btn-outlined.btn-success:active{background-color:#25a25a;border-color:#2ecc71;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-success.disabled,.btn-outlined.btn-success.disabled:active,.btn-outlined.btn-success.disabled:focus,.btn-outlined.btn-success.disabled:hover,.btn-outlined.btn-success.disabled:visited{background-color:transparent;border-color:#6c8e7a;color:#6c8e7a}.btn-outlined.btn-info,.btn-outlined.btn-info:visited{background-color:transparent;border-color:#e66a5d;color:#e66a5d}.btn-outlined.btn-info:focus,.btn-outlined.btn-info:hover{background-color:rgba(230,106,93,.4);border-color:#e66a5d;color:#fff}.btn-outlined.btn-info:active{background-color:#df4131;border-color:#e66a5d;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-info.disabled,.btn-outlined.btn-info.disabled:active,.btn-outlined.btn-info.disabled:focus,.btn-outlined.btn-info.disabled:hover,.btn-outlined.btn-info.disabled:visited{background-color:transparent;border-color:#b7908c;color:#b7908c}.btn-outlined.btn-warning,.btn-outlined.btn-warning:visited{background-color:transparent;border-color:#ffab40;color:#ffab40}.btn-outlined.btn-warning:focus,.btn-outlined.btn-warning:hover{background-color:rgba(255,171,64,.4);border-color:#ffab40;color:#fff}.btn-outlined.btn-warning:active{background-color:#ff950d;border-color:#ffab40;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-warning.disabled,.btn-outlined.btn-warning.disabled:active,.btn-outlined.btn-warning.disabled:focus,.btn-outlined.btn-warning.disabled:hover,.btn-outlined.btn-warning.disabled:visited{background-color:transparent;border-color:#cfa570;color:#cfa570}.btn-outlined.btn-danger,.btn-outlined.btn-danger:visited{background-color:transparent;border-color:#ef5350;color:#ef5350}.btn-outlined.btn-danger:focus,.btn-outlined.btn-danger:hover{background-color:rgba(239,83,80,.4);border-color:#ef5350;color:#fff}.btn-outlined.btn-danger:active{background-color:#eb2521;border-color:#ef5350;-webkit-box-shadow:none;box-shadow:none;color:#fff}.btn-outlined.btn-danger.disabled,.btn-outlined.btn-danger.disabled:active,.btn-outlined.btn-danger.disabled:focus,.btn-outlined.btn-danger.disabled:hover,.btn-outlined.btn-danger.disabled:visited{background-color:transparent;border-color:#bf8180;color:#bf8180}.btn-outlined.btn-default.focus,.btn-outlined.btn-default:focus,.btn-outlined.btn-default:hover{background-color:transparent;border-color:#4fc3f7;color:#4fc3f7}.btn-outlined.btn-default.active,.btn-outlined.btn-default:active,.open>.dropdown-toggle.btn-outlined.btn-default{background-color:transparent;border-color:#2196f3;color:#2196f3}.dropdown-menu{border-radius:4px;-webkit-box-shadow:0 0 0 3px rgba(85,85,85,.5);box-shadow:0 0 0 3px rgba(85,85,85,.5)}.dropdown-menu>li>a>.badge{float:right}.dropdown-space{padding:7px 20px}.dropdown-footer{background:#f7f7f7;border-top:1px solid #e6e6e6;border-radius:0 0 4px 4px;padding:7px 20px}.user-dropdown{width:300px;padding:0}.user-dropdown .guest-preview,.user-dropdown .user-preview{border-bottom:1px solid #e5e5e5;margin-bottom:8px;padding:12px 20px}.user-dropdown .guest-preview .editable-avatar,.user-dropdown .user-preview .editable-avatar{margin-right:4px}.user-dropdown .guest-preview .row,.user-dropdown .user-preview .row{margin-top:26px}.user-dropdown .guest-preview .row div:first-child,.user-dropdown .user-preview .row div:first-child{padding-right:4px}.user-dropdown .guest-preview .row div:last-child,.user-dropdown .user-preview .row div:last-child{padding-left:4px}.user-dropdown .guest-preview{border-bottom:0;margin-bottom:4px}.user-dropdown .dropdown-footer{margin-top:8px}.toast-message{position:fixed;top:-100%;width:100%;z-index:1050;text-align:center;font-size:18px;transition:top 300ms ease}.toast-message.visible{top:0;transition:top 200ms ease}.toast-message .message-success{background:#2ecc71;border:1px solid #2ecc71;border-top:none;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);padding:15px;color:#fff;font-size:18px}.toast-message .message-success .fa{margin-right:7px}.toast-message .message-info{background:#42a5f5;border:1px solid #42a5f5;border-top:none;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);padding:15px;color:#fff;font-size:18px}.toast-message .message-info .fa{margin-right:7px}.toast-message .message-warning{background:#ff9800;border:1px solid #ff9800;border-top:none;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);padding:15px;color:#fff;font-size:18px}.toast-message .message-warning .fa{margin-right:7px}.toast-message .message-danger{background:#ef5350;border:1px solid #ef5350;border-top:none;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);padding:15px;color:#fff;font-size:18px}.toast-message .message-danger .fa{margin-right:7px}@media (min-width:768px){.toast-message{padding:0 16px;pointer-events:none}.toast-message p{border-left:none;border-right:none;border-radius:0 0 6px 6px;display:inline-block;padding:10px 16px;font-size:14px}}.desync-message{background:rgba(255,255,255,.95);padding:30px 0;-webkit-box-shadow:0 0 3px rgba(51,51,51,.3);box-shadow:0 0 3px rgba(51,51,51,.3);position:fixed;top:-100%;width:100%;z-index:1060;color:#111;text-align:center}.desync-message.visible{top:0;transition:top 200ms ease}.site-footer{margin-top:20px;padding-bottom:30px;color:#555;font-weight:300;text-align:center}.site-footer a,.site-footer a:focus,.site-footer a:hover,.site-footer a:link,.site-footer a:visited{color:#111}.site-footer a:active{color:#e66a5d}.site-footer .site-footnote{opacity:.7;filter:alpha(opacity=70);font-size:12px}.site-footer .misago-branding:active,.site-footer .misago-branding:link,.site-footer .misago-branding:visited .site-footer .misago-branding:hover{opacity:.8;filter:alpha(opacity=80);color:#777;font-size:12px;text-decoration:none}@media (min-width:768px){.site-footer{overflow:auto;text-align:left}.site-footer .footer-content{border-top:1px solid #eee;padding-top:20px}.site-footer .footer-nav{float:left}.site-footer .site-footnote{opacity:1;filter:alpha(opacity=100);font-size:14px}.site-footer .misago-branding{float:right}}.panel-form{background:#f5f5f5;border:none;border-color:#fff}.panel-form>.panel-heading{color:#555;background-color:transparent;border-color:#e8e8e8}.panel-form>.panel-heading+.panel-collapse>.panel-body{border-top-color:#fff}.panel-form>.panel-heading .badge{color:transparent;background-color:#555}.panel-form>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#fff}.panel-form .panel-body,.panel-form .panel-heading{padding:15px}.panel-form .panel-footer{background:#f5f5f5;border-top-color:#dbdbdb}.footer-extra{margin-top:20px}.form-group .help-block{margin-bottom:0;padding:0;font-size:12px}.form-group .help-block.errors{font-weight:700}.form-group .help-block.errors p{margin-bottom:6px;padding:0}.form-group .help-block.errors:last-child{margin-bottom:0}.panel-form .panel-loader .loader:after,.panel-form .panel-loader .loader:before{background:#f5f5f5}.panel-form .panel-error{padding:20px 0}.panel-form .panel-error .error-icon{padding-bottom:20px;opacity:.5;filter:alpha(opacity=50);font-size:72px}.panel-form .panel-error .error-message{font-size:18px;text-align:center}.panel-form .panel-error .error-message p{margin-bottom:0}.well-form{background:#f5f5f5;border-color:#fff;-webkit-box-shadow:none;box-shadow:none}.well-form form{margin:0;padding:0}input.form-control,textarea.form-control{border-width:2px;-webkit-box-shadow:none;box-shadow:none}input.form-control.diabled,textarea.form-control.diabled{opacity:50;filter:alpha(opacity=5000)}.password-strength{height:auto;margin:6.67px 0 0}.password-strength .progress-bar{-webkit-box-shadow:none;box-shadow:none;height:10px}.form-recaptcha{padding-bottom:6px}.form-recaptcha #g-captcha div{margin:0 auto}.form-recaptcha p{margin:13.2px 0 0;padding:0}.modal-content{-webkit-box-shadow:0 0 0 4px rgba(0,0,0,.15);box-shadow:0 0 0 4px rgba(0,0,0,.15)}.modal-message{padding-top:30px;padding-bottom:30px}.modal-message p{margin:6.67px 0 0;text-align:center}.modal-message p.lead{margin-top:0;font-size:18px}.modal-sign-in .modal-body{padding-top:6px;padding-bottom:6px}.modal-sign-in .modal-body .form-group{margin:10px 0}.modal-sign-in .modal-body.modal-ban-message p{margin-top:10px;margin-bottom:10px}.modal-sign-in .modal-footer>*{display:block;text-align:center}.modal-register-form .modal-body{padding-bottom:0}.modal-register-form .modal-body .lead,.navbar-spacer{margin-bottom:20px}.navbar-spacer .navbar-primary{border-bottom-width:1px;margin:0}.navbar-spacer .navbar-primary.affix{-webkit-box-shadow:0 0 3px rgba(51,51,51,.25);box-shadow:0 0 3px rgba(51,51,51,.25);width:100%;top:0}.navbar-primary .navbar-brand{font-size:21.6px;font-weight:300}.navbar-primary .navbar-brand img{display:inline-block;height:23px;margin:-1.5px 0;position:relative;bottom:3px}.navbar-primary .navbar-nav,.navbar-primary .navbar-nav>li{float:left}.navbar-primary .navbar-nav>li>a{font-size:16px}.navbar-primary .navbar-nav>li>a:active,.navbar-primary .navbar-nav>li>a:focus{color:#e66a5d}.navbar-primary .navbar-nav>li>a>.badge{vertical-align:inherit;margin:-10px 0}.navbar-primary .navbar-nav>li>a>.glyphicon{position:relative;top:4px}.navbar-primary .navbar-user-nav{float:right}.navbar-primary .navbar-user-nav .btn-success{position:relative;top:1px}.navbar-primary .user-menu .dropdown-toggle .fa{font-size:14px}.navbar-primary .user-menu .dropdown-toggle img{border-radius:4px;margin:-10px 0;width:28px;height:28px}.navbar-primary .navbar-guest-nav{float:right}.navbar-primary .navbar-guest-nav .btn{position:relative;top:1px}.navbar-static-top .navbar-nav>li>.dropdown-menu{border-radius:4px}@media (max-width:991px){.navbar-primary{min-height:40px}}.navbar-primary .navbar-compact-nav{margin:0;float:none;width:100%}.navbar-primary .navbar-compact-nav>li>a{padding:10px 0;height:40px;text-align:center}.navbar-primary .navbar-compact-nav>li>a .glyphicon{position:static;font-size:20px}.navbar-primary .navbar-compact-nav>li>a img{width:28px;margin:-4px 0;position:relative;bottom:2px}.navbar-primary .navbar-compact-nav .dropdown.open .dropdown-toggle,.navbar-primary .navbar-compact-nav>li>a:active{background-color:#e66a5d;color:#fff}.navbar-primary .navbar-compact-nav .dropdown .dropdown-menu{position:absolute;float:right;width:300px;margin-top:2px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 0 0 3px rgba(85,85,85,.5);box-shadow:0 0 0 3px rgba(85,85,85,.5)}.navbar-primary .navbar-compact-nav.with-4-links>li{width:25%}.navbar-primary .navbar-compact-nav.with-5-links>li{width:20%}.navbar-primary .navbar-compact-nav.with-6-links>li{width:16%}.navbar-primary .navbar-compact-nav.with-6-links>li:first-child,.navbar-primary .navbar-compact-nav.with-6-links>li:last-child{width:18%}.navbar-primary .navbar-compact-nav.with-7-links>li{width:14%}.navbar-primary .navbar-compact-nav.with-7-links>li:first-child,.navbar-primary .navbar-compact-nav.with-7-links>li:last-child{width:15%}.page-header{margin-top:-20px}.page-header h1{font-size:28px}.site-link,.site-link:link,.site-link:visited{color:#777}.site-link:focus,.site-link:hover{color:#111}.site-link:active{color:#e66a5d}.editable-avatar{background:0 0;border-radius:4px;margin:0;padding:0;position:relative;overflow:hidden}.editable-avatar .help{background:rgba(0,0,0,.7);border-radius:0;display:block;margin:0;padding:4px 0;width:100%;opacity:.6;filter:alpha(opacity=60);position:absolute;bottom:0;color:#fff;font-size:12px;text-shadow:1px 1px 0 #000}.editable-avatar:focus .help,.editable-avatar:hover .help{opacity:1;filter:alpha(opacity=100)}.error-page{text-align:center}.error-page .error-icon{padding-bottom:20px;opacity:.5;filter:alpha(opacity=50);font-size:72px}.error-page .lead{font-size:18px}@media (min-width:768px){.error-page .error-icon{opacity:.3;filter:alpha(opacity=30);font-size:90px}.error-page .lead,.error-page .lead p{font-size:25.2px}}@media (min-width:992px){.error-page .error-icon{font-size:126px}.error-page p{font-size:18px;font-weight:300}}.loader{font-size:11px;text-indent:-99999em;margin:40px auto;position:relative;width:10em;height:10em;box-shadow:inset 0 0 0 1em #d0d0d0}.loader,.loader:after,.loader:before{border-radius:50%}.loader:after,.loader:before{position:absolute;content:''}.loader:before{width:5.2em;height:10.2em;background:#fff;border-radius:10.2em 0 0 10.2em;top:-.1em;left:-.1em;-webkit-transform-origin:5.2em 5.1em;transform-origin:5.2em 5.1em;-webkit-animation:load2 2s infinite ease 1.5s;animation:load2 2s infinite ease 1.5s}.loader:after{width:5.2em;height:10.2em;background:#fff;border-radius:0 10.2em 10.2em 0;top:-.1em;left:5.1em;-webkit-transform-origin:0 5.1em;transform-origin:0 5.1em;-webkit-animation:load2 2s infinite ease;animation:load2 2s infinite ease}@-webkit-keyframes load2{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes load2{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}

+ 0 - 0
misago/static/misago/css/vendor.css


+ 20 - 21
misago/static/misago/js/vendor.js

@@ -1,26 +1,25 @@
-window.EmberENV={FEATURES:{}};var runningTests=!1,define,requireModule,require,requirejs;if(function(){function e(e,t){try{return e()}finally{t()}}function t(e){throw new Error("an unsupported module was defined, expected `define(name, deps, module)` instead got: `"+e+"` arguments to define`")}function r(e,t,r,n){this.id=d++,this.name=e,this.deps=!t.length&&r.length?f:t,this.exports=n||{},this.callback=r,this.state=void 0,this._require=void 0}function n(e){this.name=e}function i(e,t,r){for(var n,i=e.deps,o=i.length,u=new Array(o),l={},c=0,h=o;h>c;c++)n=i[c],"exports"===n?l.exports=u[c]=r:"require"===n?u[c]=e.makeRequire():"module"===n?(e.exports=r,l=u[c]=e):u[c]=a(s(n,t),t);return{deps:u,module:l}}function a(e,t){var r=l[e];if(!r)throw new Error("Could not find module `"+e+"` imported from `"+t+"`");return require(e)}function o(e){throw new Error("Could not find module "+e)}function s(e,t){if("."!==e.charAt(0))return e;for(var r=e.split("/"),n=t.split("/"),i=n.slice(0,-1),a=0,o=r.length;o>a;a++){var s=r[a];if(".."===s){if(0===i.length)throw new Error("Cannot access parent module of root");i.pop()}else{if("."===s)continue;i.push(s)}}return i.join("/")}var u;u=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var l={},c={},h=!1,d=0,f=["require","exports","module"];r.prototype.makeRequire=function(){var e=this.name;return this._require||(this._require=function(t){return require(s(t,e))})},define=function(e,n,i){arguments.length<2&&t(arguments.length),u(n)||(i=n,n=[]),l[e]=new r(e,n,i)},define.petal={},define.alias=function(e){return new n(e)},requirejs=require=requireModule=function(t){var r=l[t];if(r&&r.callback instanceof n&&(r=l[r.callback.name]),r||o(t),r.state!==h&&c.hasOwnProperty(t))return c[t];var a,s,u=!1;c[t]={},e(function(){a=i(r,t,c[t]),s=r.callback.apply(this,a.deps),u=!0},function(){u||(r.state=h)});var d;return d=void 0===s&&a.module.exports?a.module.exports:c[t]=s,null===d||"object"!=typeof d&&"function"!=typeof d||void 0!==d["default"]||(d["default"]=d),c[t]=d},requirejs.entries=requirejs._eak_seen=l,requirejs.clear=function(){requirejs.entries=requirejs._eak_seen=l={},c=state={}}}(),function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function r(e){var t=e.length,r=ie.type(e);return"function"===r||ie.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===r||0===t||"number"==typeof t&&t>0&&t-1 in e}function n(e,t,r){if(ie.isFunction(t))return ie.grep(e,function(e,n){return!!t.call(e,n,e)!==r});if(t.nodeType)return ie.grep(e,function(e){return e===t!==r});if("string"==typeof t){if(de.test(t))return ie.filter(t,e,r);t=ie.filter(t,e)}return ie.grep(e,function(e){return ie.inArray(e,t)>=0!==r})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function a(e){var t=_e[e]={};return ie.each(e.match(be)||[],function(e,r){t[r]=!0}),t}function o(){pe.addEventListener?(pe.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1)):(pe.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(pe.addEventListener||"load"===event.type||"complete"===pe.readyState)&&(o(),ie.ready())}function u(e,t,r){if(void 0===r&&1===e.nodeType){var n="data-"+t.replace(Te,"-$1").toLowerCase();if(r=e.getAttribute(n),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:Ee.test(r)?ie.parseJSON(r):r}catch(i){}ie.data(e,t,r)}else r=void 0}return r}function l(e){var t;for(t in e)if(("data"!==t||!ie.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(e,t,r,n){if(ie.acceptData(e)){var i,a,o=ie.expando,s=e.nodeType,u=s?ie.cache:e,l=s?e[o]:e[o]&&o;if(l&&u[l]&&(n||u[l].data)||void 0!==r||"string"!=typeof t)return l||(l=s?e[o]=Y.pop()||ie.guid++:o),u[l]||(u[l]=s?{}:{toJSON:ie.noop}),("object"==typeof t||"function"==typeof t)&&(n?u[l]=ie.extend(u[l],t):u[l].data=ie.extend(u[l].data,t)),a=u[l],n||(a.data||(a.data={}),a=a.data),void 0!==r&&(a[ie.camelCase(t)]=r),"string"==typeof t?(i=a[t],null==i&&(i=a[ie.camelCase(t)])):i=a,i}}function h(e,t,r){if(ie.acceptData(e)){var n,i,a=e.nodeType,o=a?ie.cache:e,s=a?e[ie.expando]:ie.expando;if(o[s]){if(t&&(n=r?o[s]:o[s].data)){ie.isArray(t)?t=t.concat(ie.map(t,ie.camelCase)):t in n?t=[t]:(t=ie.camelCase(t),t=t in n?[t]:t.split(" ")),i=t.length;for(;i--;)delete n[t[i]];if(r?!l(n):!ie.isEmptyObject(n))return}(r||(delete o[s].data,l(o[s])))&&(a?ie.cleanData([e],!0):re.deleteExpando||o!=o.window?delete o[s]:o[s]=null)}}}function d(){return!0}function f(){return!1}function p(){try{return pe.activeElement}catch(e){}}function m(e){var t=je.split("|"),r=e.createDocumentFragment();if(r.createElement)for(;t.length;)r.createElement(t.pop());return r}function g(e,t){var r,n,i=0,a=typeof e.getElementsByTagName!==Ce?e.getElementsByTagName(t||"*"):typeof e.querySelectorAll!==Ce?e.querySelectorAll(t||"*"):void 0;if(!a)for(a=[],r=e.childNodes||e;null!=(n=r[i]);i++)!t||ie.nodeName(n,t)?a.push(n):ie.merge(a,g(n,t));return void 0===t||t&&ie.nodeName(e,t)?ie.merge([e],a):a}function v(e){Re.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t){return ie.nodeName(e,"table")&&ie.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function b(e){return e.type=(null!==ie.find.attr(e,"type"))+"/"+e.type,e}function _(e){var t=Ke.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function w(e,t){for(var r,n=0;null!=(r=e[n]);n++)ie._data(r,"globalEval",!t||ie._data(t[n],"globalEval"))}function x(e,t){if(1===t.nodeType&&ie.hasData(e)){var r,n,i,a=ie._data(e),o=ie._data(t,a),s=a.events;if(s){delete o.handle,o.events={};for(r in s)for(n=0,i=s[r].length;i>n;n++)ie.event.add(t,r,s[r][n])}o.data&&(o.data=ie.extend({},o.data))}}function C(e,t){var r,n,i;if(1===t.nodeType){if(r=t.nodeName.toLowerCase(),!re.noCloneEvent&&t[ie.expando]){i=ie._data(t);for(n in i.events)ie.removeEvent(t,n,i.handle);t.removeAttribute(ie.expando)}"script"===r&&t.text!==e.text?(b(t).text=e.text,_(t)):"object"===r?(t.parentNode&&(t.outerHTML=e.outerHTML),re.html5Clone&&e.innerHTML&&!ie.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===r&&Re.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===r?t.defaultSelected=t.selected=e.defaultSelected:("input"===r||"textarea"===r)&&(t.defaultValue=e.defaultValue)}}function E(t,r){var n,i=ie(r.createElement(t)).appendTo(r.body),a=e.getDefaultComputedStyle&&(n=e.getDefaultComputedStyle(i[0]))?n.display:ie.css(i[0],"display");return i.detach(),a}function T(e){var t=pe,r=Ze[e];return r||(r=E(e,t),"none"!==r&&r||(Je=(Je||ie("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=(Je[0].contentWindow||Je[0].contentDocument).document,t.write(),t.close(),r=E(e,t),Je.detach()),Ze[e]=r),r}function S(e,t){return{get:function(){var r=e();if(null!=r)return r?void delete this.get:(this.get=t).apply(this,arguments)}}}function A(e,t){if(t in e)return t;for(var r=t.charAt(0).toUpperCase()+t.slice(1),n=t,i=dt.length;i--;)if(t=dt[i]+r,t in e)return t;return n}function k(e,t){for(var r,n,i,a=[],o=0,s=e.length;s>o;o++)n=e[o],n.style&&(a[o]=ie._data(n,"olddisplay"),r=n.style.display,t?(a[o]||"none"!==r||(n.style.display=""),""===n.style.display&&ke(n)&&(a[o]=ie._data(n,"olddisplay",T(n.nodeName)))):(i=ke(n),(r&&"none"!==r||!i)&&ie._data(n,"olddisplay",i?r:ie.css(n,"display"))));for(o=0;s>o;o++)n=e[o],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?a[o]||"":"none"));return e}function O(e,t,r){var n=ut.exec(t);return n?Math.max(0,n[1]-(r||0))+(n[2]||"px"):t}function R(e,t,r,n,i){for(var a=r===(n?"border":"content")?4:"width"===t?1:0,o=0;4>a;a+=2)"margin"===r&&(o+=ie.css(e,r+Ae[a],!0,i)),n?("content"===r&&(o-=ie.css(e,"padding"+Ae[a],!0,i)),"margin"!==r&&(o-=ie.css(e,"border"+Ae[a]+"Width",!0,i))):(o+=ie.css(e,"padding"+Ae[a],!0,i),"padding"!==r&&(o+=ie.css(e,"border"+Ae[a]+"Width",!0,i)));return o}function P(e,t,r){var n=!0,i="width"===t?e.offsetWidth:e.offsetHeight,a=et(e),o=re.boxSizing&&"border-box"===ie.css(e,"boxSizing",!1,a);if(0>=i||null==i){if(i=tt(e,t,a),(0>i||null==i)&&(i=e.style[t]),nt.test(i))return i;n=o&&(re.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+R(e,t,r||(o?"border":"content"),n,a)+"px"}function N(e,t,r,n,i){return new N.prototype.init(e,t,r,n,i)}function D(){return setTimeout(function(){ft=void 0}),ft=ie.now()}function M(e,t){var r,n={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)r=Ae[i],n["margin"+r]=n["padding"+r]=e;return t&&(n.opacity=n.width=e),n}function F(e,t,r){for(var n,i=(bt[t]||[]).concat(bt["*"]),a=0,o=i.length;o>a;a++)if(n=i[a].call(r,t,e))return n}function j(e,t,r){var n,i,a,o,s,u,l,c,h=this,d={},f=e.style,p=e.nodeType&&ke(e),m=ie._data(e,"fxshow");r.queue||(s=ie._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,h.always(function(){h.always(function(){s.unqueued--,ie.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(r.overflow=[f.overflow,f.overflowX,f.overflowY],l=ie.css(e,"display"),c="none"===l?ie._data(e,"olddisplay")||T(e.nodeName):l,"inline"===c&&"none"===ie.css(e,"float")&&(re.inlineBlockNeedsLayout&&"inline"!==T(e.nodeName)?f.zoom=1:f.display="inline-block")),r.overflow&&(f.overflow="hidden",re.shrinkWrapBlocks()||h.always(function(){f.overflow=r.overflow[0],f.overflowX=r.overflow[1],f.overflowY=r.overflow[2]}));for(n in t)if(i=t[n],mt.exec(i)){if(delete t[n],a=a||"toggle"===i,i===(p?"hide":"show")){if("show"!==i||!m||void 0===m[n])continue;p=!0}d[n]=m&&m[n]||ie.style(e,n)}else l=void 0;if(ie.isEmptyObject(d))"inline"===("none"===l?T(e.nodeName):l)&&(f.display=l);else{m?"hidden"in m&&(p=m.hidden):m=ie._data(e,"fxshow",{}),a&&(m.hidden=!p),p?ie(e).show():h.done(function(){ie(e).hide()}),h.done(function(){var t;ie._removeData(e,"fxshow");for(t in d)ie.style(e,t,d[t])});for(n in d)o=F(p?m[n]:0,n,h),n in m||(m[n]=o.start,p&&(o.end=o.start,o.start="width"===n||"height"===n?1:0))}}function I(e,t){var r,n,i,a,o;for(r in e)if(n=ie.camelCase(r),i=t[n],a=e[r],ie.isArray(a)&&(i=a[1],a=e[r]=a[0]),r!==n&&(e[n]=a,delete e[r]),o=ie.cssHooks[n],o&&"expand"in o){a=o.expand(a),delete e[n];for(r in a)r in e||(e[r]=a[r],t[r]=i)}else t[n]=i}function L(e,t,r){var n,i,a=0,o=yt.length,s=ie.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=ft||D(),r=Math.max(0,l.startTime+l.duration-t),n=r/l.duration||0,a=1-n,o=0,u=l.tweens.length;u>o;o++)l.tweens[o].run(a);return s.notifyWith(e,[l,a,r]),1>a&&u?r:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:ie.extend({},t),opts:ie.extend(!0,{specialEasing:{}},r),originalProperties:t,originalOptions:r,startTime:ft||D(),duration:r.duration,tweens:[],createTween:function(t,r){var n=ie.Tween(e,l.opts,t,r,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(n),n},stop:function(t){var r=0,n=t?l.tweens.length:0;if(i)return this;for(i=!0;n>r;r++)l.tweens[r].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(I(c,l.opts.specialEasing);o>a;a++)if(n=yt[a].call(l,e,c,l.opts))return n;return ie.map(c,F,l),ie.isFunction(l.opts.start)&&l.opts.start.call(e,l),ie.fx.timer(ie.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function V(e){return function(t,r){"string"!=typeof t&&(r=t,t="*");var n,i=0,a=t.toLowerCase().match(be)||[];if(ie.isFunction(r))for(;n=a[i++];)"+"===n.charAt(0)?(n=n.slice(1)||"*",(e[n]=e[n]||[]).unshift(r)):(e[n]=e[n]||[]).push(r)}}function z(e,t,r,n){function i(s){var u;return a[s]=!0,ie.each(e[s]||[],function(e,s){var l=s(t,r,n);return"string"!=typeof l||o||a[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),i(l),!1)}),u}var a={},o=e===$t;return i(t.dataTypes[0])||!a["*"]&&i("*")}function H(e,t){var r,n,i=ie.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ie.extend(!0,e,r),e}function B(e,t,r){for(var n,i,a,o,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(o in s)if(s[o]&&s[o].test(i)){u.unshift(o);break}if(u[0]in r)a=u[0];else{for(o in r){if(!u[0]||e.converters[o+" "+u[0]]){a=o;break}n||(n=o)}a=a||n}return a?(a!==u[0]&&u.unshift(a),r[a]):void 0}function $(e,t,r,n){var i,a,o,s,u,l={},c=e.dataTypes.slice();if(c[1])for(o in e.converters)l[o.toLowerCase()]=e.converters[o];for(a=c.shift();a;)if(e.responseFields[a]&&(r[e.responseFields[a]]=t),!u&&n&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=a,a=c.shift())if("*"===a)a=u;else if("*"!==u&&u!==a){if(o=l[u+" "+a]||l["* "+a],!o)for(i in l)if(s=i.split(" "),s[1]===a&&(o=l[u+" "+s[0]]||l["* "+s[0]])){o===!0?o=l[i]:l[i]!==!0&&(a=s[0],c.unshift(s[1]));break}if(o!==!0)if(o&&e["throws"])t=o(t);else try{t=o(t)}catch(h){return{state:"parsererror",error:o?h:"No conversion from "+u+" to "+a}}}return{state:"success",data:t}}function q(e,t,r,n){var i;if(ie.isArray(t))ie.each(t,function(t,i){r||Kt.test(e)?n(e,i):q(e+"["+("object"==typeof i?t:"")+"]",i,r,n)});else if(r||"object"!==ie.type(t))n(e,t);else for(i in t)q(e+"["+i+"]",t[i],r,n)}function U(){try{return new e.XMLHttpRequest}catch(t){}}function W(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function K(e){return ie.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}var Y=[],G=Y.slice,Q=Y.concat,X=Y.push,J=Y.indexOf,Z={},ee=Z.toString,te=Z.hasOwnProperty,re={},ne="1.11.2",ie=function(e,t){return new ie.fn.init(e,t)},ae=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,oe=/^-ms-/,se=/-([\da-z])/gi,ue=function(e,t){return t.toUpperCase()};ie.fn=ie.prototype={jquery:ne,constructor:ie,selector:"",length:0,toArray:function(){return G.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:G.call(this)},pushStack:function(e){var t=ie.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return ie.each(this,e,t)},map:function(e){return this.pushStack(ie.map(this,function(t,r){return e.call(t,r,t)}))},slice:function(){return this.pushStack(G.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,r=+e+(0>e?t:0);return this.pushStack(r>=0&&t>r?[this[r]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:X,sort:Y.sort,splice:Y.splice},ie.extend=ie.fn.extend=function(){var e,t,r,n,i,a,o=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof o&&(l=o,o=arguments[s]||{},s++),"object"==typeof o||ie.isFunction(o)||(o={}),s===u&&(o=this,s--);u>s;s++)if(null!=(i=arguments[s]))for(n in i)e=o[n],r=i[n],o!==r&&(l&&r&&(ie.isPlainObject(r)||(t=ie.isArray(r)))?(t?(t=!1,a=e&&ie.isArray(e)?e:[]):a=e&&ie.isPlainObject(e)?e:{},o[n]=ie.extend(l,a,r)):void 0!==r&&(o[n]=r));return o},ie.extend({expando:"jQuery"+(ne+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===ie.type(e)},isArray:Array.isArray||function(e){return"array"===ie.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!ie.isArray(e)&&e-parseFloat(e)+1>=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==ie.type(e)||e.nodeType||ie.isWindow(e))return!1;try{if(e.constructor&&!te.call(e,"constructor")&&!te.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(re.ownLast)for(t in e)return te.call(e,t);for(t in e);return void 0===t||te.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?Z[ee.call(e)]||"object":typeof e},globalEval:function(t){t&&ie.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(oe,"ms-").replace(se,ue)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var i,a=0,o=e.length,s=r(e);if(n){if(s)for(;o>a&&(i=t.apply(e[a],n),i!==!1);a++);else for(a in e)if(i=t.apply(e[a],n),i===!1)break}else if(s)for(;o>a&&(i=t.call(e[a],a,e[a]),i!==!1);a++);else for(a in e)if(i=t.call(e[a],a,e[a]),i===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ae,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?ie.merge(n,"string"==typeof e?[e]:e):X.call(n,e)),n},inArray:function(e,t,r){var n;if(t){if(J)return J.call(t,e,r);for(n=t.length,r=r?0>r?Math.max(0,n+r):r:0;n>r;r++)if(r in t&&t[r]===e)return r}return-1},merge:function(e,t){for(var r=+t.length,n=0,i=e.length;r>n;)e[i++]=t[n++];if(r!==r)for(;void 0!==t[n];)e[i++]=t[n++];return e.length=i,e},grep:function(e,t,r){for(var n,i=[],a=0,o=e.length,s=!r;o>a;a++)n=!t(e[a],a),n!==s&&i.push(e[a]);return i},map:function(e,t,n){var i,a=0,o=e.length,s=r(e),u=[];if(s)for(;o>a;a++)i=t(e[a],a,n),null!=i&&u.push(i);else for(a in e)i=t(e[a],a,n),null!=i&&u.push(i);return Q.apply([],u)},guid:1,proxy:function(e,t){var r,n,i;return"string"==typeof t&&(i=e[t],t=e,e=i),ie.isFunction(e)?(r=G.call(arguments,2),n=function(){return e.apply(t||this,r.concat(G.call(arguments)))},n.guid=e.guid=e.guid||ie.guid++,n):void 0},now:function(){return+new Date},support:re}),ie.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Z["[object "+t+"]"]=t.toLowerCase()});var le=function(e){function t(e,t,r,n){var i,a,o,s,u,l,h,f,p,m;if((t?t.ownerDocument||t:z)!==N&&P(t),t=t||N,r=r||[],s=t.nodeType,"string"!=typeof e||!e||1!==s&&9!==s&&11!==s)return r;if(!n&&M){if(11!==s&&(i=ye.exec(e)))if(o=i[1]){if(9===s){if(a=t.getElementById(o),!a||!a.parentNode)return r;if(a.id===o)return r.push(a),r}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(o))&&L(t,a)&&a.id===o)return r.push(a),r}else{if(i[2])return J.apply(r,t.getElementsByTagName(e)),r;if((o=i[3])&&w.getElementsByClassName)return J.apply(r,t.getElementsByClassName(o)),r}if(w.qsa&&(!F||!F.test(e))){if(f=h=V,p=t,m=1!==s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(l=T(e),(h=t.getAttribute("id"))?f=h.replace(_e,"\\$&"):t.setAttribute("id",f),f="[id='"+f+"'] ",u=l.length;u--;)l[u]=f+d(l[u]);p=be.test(e)&&c(t.parentNode)||t,m=l.join(",")}if(m)try{return J.apply(r,p.querySelectorAll(m)),r}catch(g){}finally{h||t.removeAttribute("id")}}}return A(e.replace(ue,"$1"),t,r,n)}function r(){function e(r,n){return t.push(r+" ")>x.cacheLength&&delete e[t.shift()],e[r+" "]=n}var t=[];return e}function n(e){return e[V]=!0,e}function i(e){var t=N.createElement("div");try{return!!e(t)}catch(r){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function a(e,t){for(var r=e.split("|"),n=e.length;n--;)x.attrHandle[r[n]]=t}function o(e,t){var r=t&&e,n=r&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(n)return n;if(r)for(;r=r.nextSibling;)if(r===t)return-1;return e?1:-1}function s(e){return function(t){var r=t.nodeName.toLowerCase();return"input"===r&&t.type===e}}function u(e){return function(t){var r=t.nodeName.toLowerCase();return("input"===r||"button"===r)&&t.type===e}}function l(e){return n(function(t){return t=+t,n(function(r,n){for(var i,a=e([],r.length,t),o=a.length;o--;)r[i=a[o]]&&(r[i]=!(n[i]=r[i]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function h(){}function d(e){for(var t=0,r=e.length,n="";r>t;t++)n+=e[t].value;return n}function f(e,t,r){var n=t.dir,i=r&&"parentNode"===n,a=B++;return t.first?function(t,r,a){for(;t=t[n];)if(1===t.nodeType||i)return e(t,r,a)}:function(t,r,o){var s,u,l=[H,a];if(o){for(;t=t[n];)if((1===t.nodeType||i)&&e(t,r,o))return!0}else for(;t=t[n];)if(1===t.nodeType||i){if(u=t[V]||(t[V]={}),(s=u[n])&&s[0]===H&&s[1]===a)return l[2]=s[2];if(u[n]=l,l[2]=e(t,r,o))return!0}}}function p(e){return e.length>1?function(t,r,n){for(var i=e.length;i--;)if(!e[i](t,r,n))return!1;return!0}:e[0]}function m(e,r,n){for(var i=0,a=r.length;a>i;i++)t(e,r[i],n);return n}function g(e,t,r,n,i){for(var a,o=[],s=0,u=e.length,l=null!=t;u>s;s++)(a=e[s])&&(!r||r(a,n,i))&&(o.push(a),l&&t.push(s));return o}function v(e,t,r,i,a,o){return i&&!i[V]&&(i=v(i)),a&&!a[V]&&(a=v(a,o)),n(function(n,o,s,u){var l,c,h,d=[],f=[],p=o.length,v=n||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!n&&t?v:g(v,d,e,s,u),b=r?a||(n?e:p||i)?[]:o:y;if(r&&r(y,b,s,u),i)for(l=g(b,f),i(l,[],s,u),c=l.length;c--;)(h=l[c])&&(b[f[c]]=!(y[f[c]]=h));if(n){if(a||e){if(a){for(l=[],c=b.length;c--;)(h=b[c])&&l.push(y[c]=h);a(null,b=[],l,u)}for(c=b.length;c--;)(h=b[c])&&(l=a?ee(n,h):d[c])>-1&&(n[l]=!(o[l]=h))}}else b=g(b===o?b.splice(p,b.length):b),a?a(null,o,b,u):J.apply(o,b)})}function y(e){for(var t,r,n,i=e.length,a=x.relative[e[0].type],o=a||x.relative[" "],s=a?1:0,u=f(function(e){return e===t},o,!0),l=f(function(e){return ee(t,e)>-1},o,!0),c=[function(e,r,n){var i=!a&&(n||r!==k)||((t=r).nodeType?u(e,r,n):l(e,r,n));return t=null,i}];i>s;s++)if(r=x.relative[e[s].type])c=[f(p(c),r)];else{if(r=x.filter[e[s].type].apply(null,e[s].matches),r[V]){for(n=++s;i>n&&!x.relative[e[n].type];n++);return v(s>1&&p(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ue,"$1"),r,n>s&&y(e.slice(s,n)),i>n&&y(e=e.slice(n)),i>n&&d(e))}c.push(r)}return p(c)}function b(e,r){var i=r.length>0,a=e.length>0,o=function(n,o,s,u,l){var c,h,d,f=0,p="0",m=n&&[],v=[],y=k,b=n||a&&x.find.TAG("*",l),_=H+=null==y?1:Math.random()||.1,w=b.length;for(l&&(k=o!==N&&o);p!==w&&null!=(c=b[p]);p++){if(a&&c){for(h=0;d=e[h++];)if(d(c,o,s)){u.push(c);break}l&&(H=_)}i&&((c=!d&&c)&&f--,n&&m.push(c))}if(f+=p,i&&p!==f){for(h=0;d=r[h++];)d(m,v,o,s);if(n){if(f>0)for(;p--;)m[p]||v[p]||(v[p]=Q.call(u));v=g(v)}J.apply(u,v),l&&!n&&v.length>0&&f+r.length>1&&t.uniqueSort(u)}return l&&(H=_,k=y),m};return i?n(o):o}var _,w,x,C,E,T,S,A,k,O,R,P,N,D,M,F,j,I,L,V="sizzle"+1*new Date,z=e.document,H=0,B=0,$=r(),q=r(),U=r(),W=function(e,t){return e===t&&(R=!0),0},K=1<<31,Y={}.hasOwnProperty,G=[],Q=G.pop,X=G.push,J=G.push,Z=G.slice,ee=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",re="[\\x20\\t\\r\\n\\f]",ne="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ie=ne.replace("w","w#"),ae="\\["+re+"*("+ne+")(?:"+re+"*([*^$|!~]?=)"+re+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+re+"*\\]",oe=":("+ne+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ae+")*)|.*)\\)|)",se=new RegExp(re+"+","g"),ue=new RegExp("^"+re+"+|((?:^|[^\\\\])(?:\\\\.)*)"+re+"+$","g"),le=new RegExp("^"+re+"*,"+re+"*"),ce=new RegExp("^"+re+"*([>+~]|"+re+")"+re+"*"),he=new RegExp("="+re+"*([^\\]'\"]*?)"+re+"*\\]","g"),de=new RegExp(oe),fe=new RegExp("^"+ie+"$"),pe={ID:new RegExp("^#("+ne+")"),CLASS:new RegExp("^\\.("+ne+")"),TAG:new RegExp("^("+ne.replace("w","w*")+")"),ATTR:new RegExp("^"+ae),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},me=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,ve=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,be=/[+~]/,_e=/'|\\/g,we=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),xe=function(e,t,r){var n="0x"+t-65536;return n!==n||r?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)},Ce=function(){P()};try{J.apply(G=Z.call(z.childNodes),z.childNodes),G[z.childNodes.length].nodeType}catch(Ee){J={apply:G.length?function(e,t){X.apply(e,Z.call(t))}:function(e,t){for(var r=e.length,n=0;e[r++]=t[n++];);e.length=r-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},P=t.setDocument=function(e){var t,r,n=e?e.ownerDocument||e:z;return n!==N&&9===n.nodeType&&n.documentElement?(N=n,D=n.documentElement,r=n.defaultView,r&&r!==r.top&&(r.addEventListener?r.addEventListener("unload",Ce,!1):r.attachEvent&&r.attachEvent("onunload",Ce)),M=!E(n),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=ve.test(n.getElementsByClassName),w.getById=i(function(e){return D.appendChild(e).id=V,!n.getElementsByName||!n.getElementsByName(V).length}),w.getById?(x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&M){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}},x.filter.ID=function(e){var t=e.replace(we,xe);return function(e){return e.getAttribute("id")===t}}):(delete x.find.ID,x.filter.ID=function(e){var t=e.replace(we,xe);return function(e){var r="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return r&&r.value===t}}),x.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var r,n=[],i=0,a=t.getElementsByTagName(e);if("*"===e){for(;r=a[i++];)1===r.nodeType&&n.push(r);return n}return a},x.find.CLASS=w.getElementsByClassName&&function(e,t){return M?t.getElementsByClassName(e):void 0},j=[],F=[],(w.qsa=ve.test(n.querySelectorAll))&&(i(function(e){D.appendChild(e).innerHTML="<a id='"+V+"'></a><select id='"+V+"-\f]' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+re+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+V+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+V+"+*").length||F.push(".#.+[+~]")}),i(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+re+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=ve.test(I=D.matches||D.webkitMatchesSelector||D.mozMatchesSelector||D.oMatchesSelector||D.msMatchesSelector))&&i(function(e){w.disconnectedMatch=I.call(e,"div"),I.call(e,"[s!='']:x"),j.push("!=",oe)}),F=F.length&&new RegExp(F.join("|")),j=j.length&&new RegExp(j.join("|")),t=ve.test(D.compareDocumentPosition),L=t||ve.test(D.contains)?function(e,t){var r=9===e.nodeType?e.documentElement:e,n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(r.contains?r.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},W=t?function(e,t){if(e===t)return R=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!w.sortDetached&&t.compareDocumentPosition(e)===r?e===n||e.ownerDocument===z&&L(z,e)?-1:t===n||t.ownerDocument===z&&L(z,t)?1:O?ee(O,e)-ee(O,t):0:4&r?-1:1)}:function(e,t){if(e===t)return R=!0,0;var r,i=0,a=e.parentNode,s=t.parentNode,u=[e],l=[t];if(!a||!s)return e===n?-1:t===n?1:a?-1:s?1:O?ee(O,e)-ee(O,t):0;if(a===s)return o(e,t);for(r=e;r=r.parentNode;)u.unshift(r);for(r=t;r=r.parentNode;)l.unshift(r);for(;u[i]===l[i];)i++;return i?o(u[i],l[i]):u[i]===z?-1:l[i]===z?1:0},n):N},t.matches=function(e,r){return t(e,null,null,r)},t.matchesSelector=function(e,r){if((e.ownerDocument||e)!==N&&P(e),r=r.replace(he,"='$1']"),!(!w.matchesSelector||!M||j&&j.test(r)||F&&F.test(r)))try{var n=I.call(e,r);if(n||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return t(r,N,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==N&&P(e),L(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==N&&P(e);var r=x.attrHandle[t.toLowerCase()],n=r&&Y.call(x.attrHandle,t.toLowerCase())?r(e,t,!M):void 0;return void 0!==n?n:w.attributes||!M?e.getAttribute(t):(n=e.getAttributeNode(t))&&n.specified?n.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,r=[],n=0,i=0;if(R=!w.detectDuplicates,O=!w.sortStable&&e.slice(0),e.sort(W),R){for(;t=e[i++];)t===e[i]&&(n=r.push(i));for(;n--;)e.splice(r[n],1)}return O=null,e},C=t.getText=function(e){var t,r="",n=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)r+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[n++];)r+=C(t);return r},x=t.selectors={cacheLength:50,createPseudo:n,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(we,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(we,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,r=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":r&&de.test(r)&&(t=T(r,!0))&&(t=r.indexOf(")",r.length-t)-r.length)&&(e[0]=e[0].slice(0,t),e[2]=r.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(we,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,r,n){return function(i){var a=t.attr(i,e);return null==a?"!="===r:r?(a+="","="===r?a===n:"!="===r?a!==n:"^="===r?n&&0===a.indexOf(n):"*="===r?n&&a.indexOf(n)>-1:"$="===r?n&&a.slice(-n.length)===n:"~="===r?(" "+a.replace(se," ")+" ").indexOf(n)>-1:"|="===r?a===n||a.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,r,n,i){var a="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===n&&0===i?function(e){return!!e.parentNode}:function(t,r,u){var l,c,h,d,f,p,m=a!==o?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s;if(g){if(a){for(;m;){for(h=t;h=h[m];)if(s?h.nodeName.toLowerCase()===v:1===h.nodeType)return!1;p=m="only"===e&&!p&&"nextSibling"}return!0}if(p=[o?g.firstChild:g.lastChild],o&&y){for(c=g[V]||(g[V]={}),l=c[e]||[],f=l[0]===H&&l[1],d=l[0]===H&&l[2],h=f&&g.childNodes[f];h=++f&&h&&h[m]||(d=f=0)||p.pop();)if(1===h.nodeType&&++d&&h===t){c[e]=[H,f,d];break}}else if(y&&(l=(t[V]||(t[V]={}))[e])&&l[0]===H)d=l[1];else for(;(h=++f&&h&&h[m]||(d=f=0)||p.pop())&&((s?h.nodeName.toLowerCase()!==v:1!==h.nodeType)||!++d||(y&&((h[V]||(h[V]={}))[e]=[H,d]),h!==t)););return d-=i,d===n||d%n===0&&d/n>=0}}},PSEUDO:function(e,r){var i,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return a[V]?a(r):a.length>1?(i=[e,e,"",r],x.setFilters.hasOwnProperty(e.toLowerCase())?n(function(e,t){for(var n,i=a(e,r),o=i.length;o--;)n=ee(e,i[o]),e[n]=!(t[n]=i[o])}):function(e){return a(e,0,i)}):a}},pseudos:{not:n(function(e){var t=[],r=[],i=S(e.replace(ue,"$1"));return i[V]?n(function(e,t,r,n){for(var a,o=i(e,null,n,[]),s=e.length;s--;)(a=o[s])&&(e[s]=!(t[s]=a))}):function(e,n,a){return t[0]=e,i(t,null,a,r),t[0]=null,!r.pop()}}),has:n(function(e){return function(r){return t(e,r).length>0}}),contains:n(function(e){return e=e.replace(we,xe),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:n(function(e){
-return fe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(we,xe).toLowerCase(),function(t){var r;do if(r=M?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return r=r.toLowerCase(),r===e||0===r.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var r=e.location&&e.location.hash;return r&&r.slice(1)===t.id},root:function(e){return e===D},focus:function(e){return e===N.activeElement&&(!N.hasFocus||N.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return me.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,r){return[0>r?r+t:r]}),even:l(function(e,t){for(var r=0;t>r;r+=2)e.push(r);return e}),odd:l(function(e,t){for(var r=1;t>r;r+=2)e.push(r);return e}),lt:l(function(e,t,r){for(var n=0>r?r+t:r;--n>=0;)e.push(n);return e}),gt:l(function(e,t,r){for(var n=0>r?r+t:r;++n<t;)e.push(n);return e})}},x.pseudos.nth=x.pseudos.eq;for(_ in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[_]=s(_);for(_ in{submit:!0,reset:!0})x.pseudos[_]=u(_);return h.prototype=x.filters=x.pseudos,x.setFilters=new h,T=t.tokenize=function(e,r){var n,i,a,o,s,u,l,c=q[e+" "];if(c)return r?0:c.slice(0);for(s=e,u=[],l=x.preFilter;s;){(!n||(i=le.exec(s)))&&(i&&(s=s.slice(i[0].length)||s),u.push(a=[])),n=!1,(i=ce.exec(s))&&(n=i.shift(),a.push({value:n,type:i[0].replace(ue," ")}),s=s.slice(n.length));for(o in x.filter)!(i=pe[o].exec(s))||l[o]&&!(i=l[o](i))||(n=i.shift(),a.push({value:n,type:o,matches:i}),s=s.slice(n.length));if(!n)break}return r?s.length:s?t.error(e):q(e,u).slice(0)},S=t.compile=function(e,t){var r,n=[],i=[],a=U[e+" "];if(!a){for(t||(t=T(e)),r=t.length;r--;)a=y(t[r]),a[V]?n.push(a):i.push(a);a=U(e,b(i,n)),a.selector=e}return a},A=t.select=function(e,t,r,n){var i,a,o,s,u,l="function"==typeof e&&e,h=!n&&T(e=l.selector||e);if(r=r||[],1===h.length){if(a=h[0]=h[0].slice(0),a.length>2&&"ID"===(o=a[0]).type&&w.getById&&9===t.nodeType&&M&&x.relative[a[1].type]){if(t=(x.find.ID(o.matches[0].replace(we,xe),t)||[])[0],!t)return r;l&&(t=t.parentNode),e=e.slice(a.shift().value.length)}for(i=pe.needsContext.test(e)?0:a.length;i--&&(o=a[i],!x.relative[s=o.type]);)if((u=x.find[s])&&(n=u(o.matches[0].replace(we,xe),be.test(a[0].type)&&c(t.parentNode)||t))){if(a.splice(i,1),e=n.length&&d(a),!e)return J.apply(r,n),r;break}}return(l||S(e,h))(n,t,!M,r,be.test(e)&&c(t.parentNode)||t),r},w.sortStable=V.split("").sort(W).join("")===V,w.detectDuplicates=!!R,P(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(N.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||a("type|href|height|width",function(e,t,r){return r?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||a("value",function(e,t,r){return r||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||a(te,function(e,t,r){var n;return r?void 0:e[t]===!0?t.toLowerCase():(n=e.getAttributeNode(t))&&n.specified?n.value:null}),t}(e);ie.find=le,ie.expr=le.selectors,ie.expr[":"]=ie.expr.pseudos,ie.unique=le.uniqueSort,ie.text=le.getText,ie.isXMLDoc=le.isXML,ie.contains=le.contains;var ce=ie.expr.match.needsContext,he=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,de=/^.[^:#\[\.,]*$/;ie.filter=function(e,t,r){var n=t[0];return r&&(e=":not("+e+")"),1===t.length&&1===n.nodeType?ie.find.matchesSelector(n,e)?[n]:[]:ie.find.matches(e,ie.grep(t,function(e){return 1===e.nodeType}))},ie.fn.extend({find:function(e){var t,r=[],n=this,i=n.length;if("string"!=typeof e)return this.pushStack(ie(e).filter(function(){for(t=0;i>t;t++)if(ie.contains(n[t],this))return!0}));for(t=0;i>t;t++)ie.find(e,n[t],r);return r=this.pushStack(i>1?ie.unique(r):r),r.selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(n(this,e||[],!1))},not:function(e){return this.pushStack(n(this,e||[],!0))},is:function(e){return!!n(this,"string"==typeof e&&ce.test(e)?ie(e):e||[],!1).length}});var fe,pe=e.document,me=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ge=ie.fn.init=function(e,t){var r,n;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:me.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||fe).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ie?t[0]:t,ie.merge(this,ie.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:pe,!0)),he.test(r[1])&&ie.isPlainObject(t))for(r in t)ie.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(n=pe.getElementById(r[2]),n&&n.parentNode){if(n.id!==r[2])return fe.find(e);this.length=1,this[0]=n}return this.context=pe,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):ie.isFunction(e)?"undefined"!=typeof fe.ready?fe.ready(e):e(ie):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),ie.makeArray(e,this))};ge.prototype=ie.fn,fe=ie(pe);var ve=/^(?:parents|prev(?:Until|All))/,ye={children:!0,contents:!0,next:!0,prev:!0};ie.extend({dir:function(e,t,r){for(var n=[],i=e[t];i&&9!==i.nodeType&&(void 0===r||1!==i.nodeType||!ie(i).is(r));)1===i.nodeType&&n.push(i),i=i[t];return n},sibling:function(e,t){for(var r=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&r.push(e);return r}}),ie.fn.extend({has:function(e){var t,r=ie(e,this),n=r.length;return this.filter(function(){for(t=0;n>t;t++)if(ie.contains(this,r[t]))return!0})},closest:function(e,t){for(var r,n=0,i=this.length,a=[],o=ce.test(e)||"string"!=typeof e?ie(e,t||this.context):0;i>n;n++)for(r=this[n];r&&r!==t;r=r.parentNode)if(r.nodeType<11&&(o?o.index(r)>-1:1===r.nodeType&&ie.find.matchesSelector(r,e))){a.push(r);break}return this.pushStack(a.length>1?ie.unique(a):a)},index:function(e){return e?"string"==typeof e?ie.inArray(this[0],ie(e)):ie.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ie.unique(ie.merge(this.get(),ie(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ie.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return ie.dir(e,"parentNode")},parentsUntil:function(e,t,r){return ie.dir(e,"parentNode",r)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return ie.dir(e,"nextSibling")},prevAll:function(e){return ie.dir(e,"previousSibling")},nextUntil:function(e,t,r){return ie.dir(e,"nextSibling",r)},prevUntil:function(e,t,r){return ie.dir(e,"previousSibling",r)},siblings:function(e){return ie.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return ie.sibling(e.firstChild)},contents:function(e){return ie.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:ie.merge([],e.childNodes)}},function(e,t){ie.fn[e]=function(r,n){var i=ie.map(this,t,r);return"Until"!==e.slice(-5)&&(n=r),n&&"string"==typeof n&&(i=ie.filter(n,i)),this.length>1&&(ye[e]||(i=ie.unique(i)),ve.test(e)&&(i=i.reverse())),this.pushStack(i)}});var be=/\S+/g,_e={};ie.Callbacks=function(e){e="string"==typeof e?_e[e]||a(e):ie.extend({},e);var t,r,n,i,o,s,u=[],l=!e.once&&[],c=function(a){for(r=e.memory&&a,n=!0,o=s||0,s=0,i=u.length,t=!0;u&&i>o;o++)if(u[o].apply(a[0],a[1])===!1&&e.stopOnFalse){r=!1;break}t=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:h.disable())},h={add:function(){if(u){var n=u.length;!function a(t){ie.each(t,function(t,r){var n=ie.type(r);"function"===n?e.unique&&h.has(r)||u.push(r):r&&r.length&&"string"!==n&&a(r)})}(arguments),t?i=u.length:r&&(s=n,c(r))}return this},remove:function(){return u&&ie.each(arguments,function(e,r){for(var n;(n=ie.inArray(r,u,n))>-1;)u.splice(n,1),t&&(i>=n&&i--,o>=n&&o--)}),this},has:function(e){return e?ie.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],i=0,this},disable:function(){return u=l=r=void 0,this},disabled:function(){return!u},lock:function(){return l=void 0,r||h.disable(),this},locked:function(){return!l},fireWith:function(e,r){return!u||n&&!l||(r=r||[],r=[e,r.slice?r.slice():r],t?l.push(r):c(r)),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!n}};return h},ie.extend({Deferred:function(e){var t=[["resolve","done",ie.Callbacks("once memory"),"resolved"],["reject","fail",ie.Callbacks("once memory"),"rejected"],["notify","progress",ie.Callbacks("memory")]],r="pending",n={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return ie.Deferred(function(r){ie.each(t,function(t,a){var o=ie.isFunction(e[t])&&e[t];i[a[1]](function(){var e=o&&o.apply(this,arguments);e&&ie.isFunction(e.promise)?e.promise().done(r.resolve).fail(r.reject).progress(r.notify):r[a[0]+"With"](this===n?r.promise():this,o?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?ie.extend(e,n):n}},i={};return n.pipe=n.then,ie.each(t,function(e,a){var o=a[2],s=a[3];n[a[1]]=o.add,s&&o.add(function(){r=s},t[1^e][2].disable,t[2][2].lock),i[a[0]]=function(){return i[a[0]+"With"](this===i?n:this,arguments),this},i[a[0]+"With"]=o.fireWith}),n.promise(i),e&&e.call(i,i),i},when:function(e){var t,r,n,i=0,a=G.call(arguments),o=a.length,s=1!==o||e&&ie.isFunction(e.promise)?o:0,u=1===s?e:ie.Deferred(),l=function(e,r,n){return function(i){r[e]=this,n[e]=arguments.length>1?G.call(arguments):i,n===t?u.notifyWith(r,n):--s||u.resolveWith(r,n)}};if(o>1)for(t=new Array(o),r=new Array(o),n=new Array(o);o>i;i++)a[i]&&ie.isFunction(a[i].promise)?a[i].promise().done(l(i,n,a)).fail(u.reject).progress(l(i,r,t)):--s;return s||u.resolveWith(n,a),u.promise()}});var we;ie.fn.ready=function(e){return ie.ready.promise().done(e),this},ie.extend({isReady:!1,readyWait:1,holdReady:function(e){e?ie.readyWait++:ie.ready(!0)},ready:function(e){if(e===!0?!--ie.readyWait:!ie.isReady){if(!pe.body)return setTimeout(ie.ready);ie.isReady=!0,e!==!0&&--ie.readyWait>0||(we.resolveWith(pe,[ie]),ie.fn.triggerHandler&&(ie(pe).triggerHandler("ready"),ie(pe).off("ready")))}}}),ie.ready.promise=function(t){if(!we)if(we=ie.Deferred(),"complete"===pe.readyState)setTimeout(ie.ready);else if(pe.addEventListener)pe.addEventListener("DOMContentLoaded",s,!1),e.addEventListener("load",s,!1);else{pe.attachEvent("onreadystatechange",s),e.attachEvent("onload",s);var r=!1;try{r=null==e.frameElement&&pe.documentElement}catch(n){}r&&r.doScroll&&!function i(){if(!ie.isReady){try{r.doScroll("left")}catch(e){return setTimeout(i,50)}o(),ie.ready()}}()}return we.promise(t)};var xe,Ce="undefined";for(xe in ie(re))break;re.ownLast="0"!==xe,re.inlineBlockNeedsLayout=!1,ie(function(){var e,t,r,n;r=pe.getElementsByTagName("body")[0],r&&r.style&&(t=pe.createElement("div"),n=pe.createElement("div"),n.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",r.appendChild(n).appendChild(t),typeof t.style.zoom!==Ce&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",re.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(r.style.zoom=1)),r.removeChild(n))}),function(){var e=pe.createElement("div");if(null==re.deleteExpando){re.deleteExpando=!0;try{delete e.test}catch(t){re.deleteExpando=!1}}e=null}(),ie.acceptData=function(e){var t=ie.noData[(e.nodeName+" ").toLowerCase()],r=+e.nodeType||1;return 1!==r&&9!==r?!1:!t||t!==!0&&e.getAttribute("classid")===t};var Ee=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Te=/([A-Z])/g;ie.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?ie.cache[e[ie.expando]]:e[ie.expando],!!e&&!l(e)},data:function(e,t,r){return c(e,t,r)},removeData:function(e,t){return h(e,t)},_data:function(e,t,r){return c(e,t,r,!0)},_removeData:function(e,t){return h(e,t,!0)}}),ie.fn.extend({data:function(e,t){var r,n,i,a=this[0],o=a&&a.attributes;if(void 0===e){if(this.length&&(i=ie.data(a),1===a.nodeType&&!ie._data(a,"parsedAttrs"))){for(r=o.length;r--;)o[r]&&(n=o[r].name,0===n.indexOf("data-")&&(n=ie.camelCase(n.slice(5)),u(a,n,i[n])));ie._data(a,"parsedAttrs",!0)}return i}return"object"==typeof e?this.each(function(){ie.data(this,e)}):arguments.length>1?this.each(function(){ie.data(this,e,t)}):a?u(a,e,ie.data(a,e)):void 0},removeData:function(e){return this.each(function(){ie.removeData(this,e)})}}),ie.extend({queue:function(e,t,r){var n;return e?(t=(t||"fx")+"queue",n=ie._data(e,t),r&&(!n||ie.isArray(r)?n=ie._data(e,t,ie.makeArray(r)):n.push(r)),n||[]):void 0},dequeue:function(e,t){t=t||"fx";var r=ie.queue(e,t),n=r.length,i=r.shift(),a=ie._queueHooks(e,t),o=function(){ie.dequeue(e,t)};"inprogress"===i&&(i=r.shift(),n--),i&&("fx"===t&&r.unshift("inprogress"),delete a.stop,i.call(e,o,a)),!n&&a&&a.empty.fire()},_queueHooks:function(e,t){var r=t+"queueHooks";return ie._data(e,r)||ie._data(e,r,{empty:ie.Callbacks("once memory").add(function(){ie._removeData(e,t+"queue"),ie._removeData(e,r)})})}}),ie.fn.extend({queue:function(e,t){var r=2;return"string"!=typeof e&&(t=e,e="fx",r--),arguments.length<r?ie.queue(this[0],e):void 0===t?this:this.each(function(){var r=ie.queue(this,e,t);ie._queueHooks(this,e),"fx"===e&&"inprogress"!==r[0]&&ie.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ie.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var r,n=1,i=ie.Deferred(),a=this,o=this.length,s=function(){--n||i.resolveWith(a,[a])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";o--;)r=ie._data(a[o],e+"queueHooks"),r&&r.empty&&(n++,r.empty.add(s));return s(),i.promise(t)}});var Se=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Ae=["Top","Right","Bottom","Left"],ke=function(e,t){return e=t||e,"none"===ie.css(e,"display")||!ie.contains(e.ownerDocument,e)},Oe=ie.access=function(e,t,r,n,i,a,o){var s=0,u=e.length,l=null==r;if("object"===ie.type(r)){i=!0;for(s in r)ie.access(e,t,s,r[s],!0,a,o)}else if(void 0!==n&&(i=!0,ie.isFunction(n)||(o=!0),l&&(o?(t.call(e,n),t=null):(l=t,t=function(e,t,r){return l.call(ie(e),r)})),t))for(;u>s;s++)t(e[s],r,o?n:n.call(e[s],s,t(e[s],r)));return i?e:l?t.call(e):u?t(e[0],r):a},Re=/^(?:checkbox|radio)$/i;!function(){var e=pe.createElement("input"),t=pe.createElement("div"),r=pe.createDocumentFragment();if(t.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",re.leadingWhitespace=3===t.firstChild.nodeType,re.tbody=!t.getElementsByTagName("tbody").length,re.htmlSerialize=!!t.getElementsByTagName("link").length,re.html5Clone="<:nav></:nav>"!==pe.createElement("nav").cloneNode(!0).outerHTML,e.type="checkbox",e.checked=!0,r.appendChild(e),re.appendChecked=e.checked,t.innerHTML="<textarea>x</textarea>",re.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue,r.appendChild(t),t.innerHTML="<input type='radio' checked='checked' name='t'/>",re.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,re.noCloneEvent=!0,t.attachEvent&&(t.attachEvent("onclick",function(){re.noCloneEvent=!1}),t.cloneNode(!0).click()),null==re.deleteExpando){re.deleteExpando=!0;try{delete t.test}catch(n){re.deleteExpando=!1}}}(),function(){var t,r,n=pe.createElement("div");for(t in{submit:!0,change:!0,focusin:!0})r="on"+t,(re[t+"Bubbles"]=r in e)||(n.setAttribute(r,"t"),re[t+"Bubbles"]=n.attributes[r].expando===!1);n=null}();var Pe=/^(?:input|select|textarea)$/i,Ne=/^key/,De=/^(?:mouse|pointer|contextmenu)|click/,Me=/^(?:focusinfocus|focusoutblur)$/,Fe=/^([^.]*)(?:\.(.+)|)$/;ie.event={global:{},add:function(e,t,r,n,i){var a,o,s,u,l,c,h,d,f,p,m,g=ie._data(e);if(g){for(r.handler&&(u=r,r=u.handler,i=u.selector),r.guid||(r.guid=ie.guid++),(o=g.events)||(o=g.events={}),(c=g.handle)||(c=g.handle=function(e){return typeof ie===Ce||e&&ie.event.triggered===e.type?void 0:ie.event.dispatch.apply(c.elem,arguments)},c.elem=e),t=(t||"").match(be)||[""],s=t.length;s--;)a=Fe.exec(t[s])||[],f=m=a[1],p=(a[2]||"").split(".").sort(),f&&(l=ie.event.special[f]||{},f=(i?l.delegateType:l.bindType)||f,l=ie.event.special[f]||{},h=ie.extend({type:f,origType:m,data:n,handler:r,guid:r.guid,selector:i,needsContext:i&&ie.expr.match.needsContext.test(i),namespace:p.join(".")},u),(d=o[f])||(d=o[f]=[],d.delegateCount=0,l.setup&&l.setup.call(e,n,p,c)!==!1||(e.addEventListener?e.addEventListener(f,c,!1):e.attachEvent&&e.attachEvent("on"+f,c))),l.add&&(l.add.call(e,h),h.handler.guid||(h.handler.guid=r.guid)),i?d.splice(d.delegateCount++,0,h):d.push(h),ie.event.global[f]=!0);e=null}},remove:function(e,t,r,n,i){var a,o,s,u,l,c,h,d,f,p,m,g=ie.hasData(e)&&ie._data(e);if(g&&(c=g.events)){for(t=(t||"").match(be)||[""],l=t.length;l--;)if(s=Fe.exec(t[l])||[],f=m=s[1],p=(s[2]||"").split(".").sort(),f){for(h=ie.event.special[f]||{},f=(n?h.delegateType:h.bindType)||f,d=c[f]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=a=d.length;a--;)o=d[a],!i&&m!==o.origType||r&&r.guid!==o.guid||s&&!s.test(o.namespace)||n&&n!==o.selector&&("**"!==n||!o.selector)||(d.splice(a,1),o.selector&&d.delegateCount--,h.remove&&h.remove.call(e,o));u&&!d.length&&(h.teardown&&h.teardown.call(e,p,g.handle)!==!1||ie.removeEvent(e,f,g.handle),delete c[f])}else for(f in c)ie.event.remove(e,f+t[l],r,n,!0);ie.isEmptyObject(c)&&(delete g.handle,ie._removeData(e,"events"))}},trigger:function(t,r,n,i){var a,o,s,u,l,c,h,d=[n||pe],f=te.call(t,"type")?t.type:t,p=te.call(t,"namespace")?t.namespace.split("."):[];if(s=c=n=n||pe,3!==n.nodeType&&8!==n.nodeType&&!Me.test(f+ie.event.triggered)&&(f.indexOf(".")>=0&&(p=f.split("."),f=p.shift(),p.sort()),o=f.indexOf(":")<0&&"on"+f,t=t[ie.expando]?t:new ie.Event(f,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=p.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=n),r=null==r?[t]:ie.makeArray(r,[t]),l=ie.event.special[f]||{},i||!l.trigger||l.trigger.apply(n,r)!==!1)){if(!i&&!l.noBubble&&!ie.isWindow(n)){for(u=l.delegateType||f,Me.test(u+f)||(s=s.parentNode);s;s=s.parentNode)d.push(s),c=s;c===(n.ownerDocument||pe)&&d.push(c.defaultView||c.parentWindow||e)}for(h=0;(s=d[h++])&&!t.isPropagationStopped();)t.type=h>1?u:l.bindType||f,a=(ie._data(s,"events")||{})[t.type]&&ie._data(s,"handle"),a&&a.apply(s,r),a=o&&s[o],a&&a.apply&&ie.acceptData(s)&&(t.result=a.apply(s,r),t.result===!1&&t.preventDefault());if(t.type=f,!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),r)===!1)&&ie.acceptData(n)&&o&&n[f]&&!ie.isWindow(n)){c=n[o],c&&(n[o]=null),ie.event.triggered=f;try{n[f]()}catch(m){}ie.event.triggered=void 0,c&&(n[o]=c)}return t.result}},dispatch:function(e){e=ie.event.fix(e);var t,r,n,i,a,o=[],s=G.call(arguments),u=(ie._data(this,"events")||{})[e.type]||[],l=ie.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(o=ie.event.handlers.call(this,e,u),t=0;(i=o[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,a=0;(n=i.handlers[a++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(n.namespace))&&(e.handleObj=n,e.data=n.data,r=((ie.event.special[n.origType]||{}).handle||n.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var r,n,i,a,o=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(i=[],a=0;s>a;a++)n=t[a],r=n.selector+" ",void 0===i[r]&&(i[r]=n.needsContext?ie(r,this).index(u)>=0:ie.find(r,this,null,[u]).length),i[r]&&i.push(n);i.length&&o.push({elem:u,handlers:i})}return s<t.length&&o.push({elem:this,handlers:t.slice(s)}),o},fix:function(e){if(e[ie.expando])return e;var t,r,n,i=e.type,a=e,o=this.fixHooks[i];for(o||(this.fixHooks[i]=o=De.test(i)?this.mouseHooks:Ne.test(i)?this.keyHooks:{}),n=o.props?this.props.concat(o.props):this.props,e=new ie.Event(a),t=n.length;t--;)r=n[t],e[r]=a[r];return e.target||(e.target=a.srcElement||pe),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,o.filter?o.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var r,n,i,a=t.button,o=t.fromElement;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||pe,i=n.documentElement,r=n.body,e.pageX=t.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&o&&(e.relatedTarget=o===e.target?t.toElement:o),e.which||void 0===a||(e.which=1&a?1:2&a?3:4&a?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==p()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===p()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return ie.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(e){return ie.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,r,n){var i=ie.extend(new ie.Event,r,{type:e,isSimulated:!0,originalEvent:{}});n?ie.event.trigger(i,null,t):ie.event.dispatch.call(t,i),i.isDefaultPrevented()&&r.preventDefault()}},ie.removeEvent=pe.removeEventListener?function(e,t,r){e.removeEventListener&&e.removeEventListener(t,r,!1)}:function(e,t,r){var n="on"+t;e.detachEvent&&(typeof e[n]===Ce&&(e[n]=null),e.detachEvent(n,r))},ie.Event=function(e,t){return this instanceof ie.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?d:f):this.type=e,t&&ie.extend(this,t),this.timeStamp=e&&e.timeStamp||ie.now(),void(this[ie.expando]=!0)):new ie.Event(e,t)},ie.Event.prototype={isDefaultPrevented:f,isPropagationStopped:f,isImmediatePropagationStopped:f,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=d,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=d,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=d,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},ie.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){ie.event.special[e]={delegateType:t,bindType:t,handle:function(e){var r,n=this,i=e.relatedTarget,a=e.handleObj;return(!i||i!==n&&!ie.contains(n,i))&&(e.type=a.origType,r=a.handler.apply(this,arguments),e.type=t),r}}}),re.submitBubbles||(ie.event.special.submit={setup:function(){return ie.nodeName(this,"form")?!1:void ie.event.add(this,"click._submit keypress._submit",function(e){var t=e.target,r=ie.nodeName(t,"input")||ie.nodeName(t,"button")?t.form:void 0;r&&!ie._data(r,"submitBubbles")&&(ie.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),ie._data(r,"submitBubbles",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&ie.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return ie.nodeName(this,"form")?!1:void ie.event.remove(this,"._submit")}}),re.changeBubbles||(ie.event.special.change={setup:function(){return Pe.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(ie.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),ie.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),ie.event.simulate("change",this,e,!0)})),!1):void ie.event.add(this,"beforeactivate._change",function(e){var t=e.target;Pe.test(t.nodeName)&&!ie._data(t,"changeBubbles")&&(ie.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||ie.event.simulate("change",this.parentNode,e,!0)}),ie._data(t,"changeBubbles",!0))})},handle:function(e){var t=e.target;return this!==t||e.isSimulated||e.isTrigger||"radio"!==t.type&&"checkbox"!==t.type?e.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return ie.event.remove(this,"._change"),!Pe.test(this.nodeName)}}),re.focusinBubbles||ie.each({focus:"focusin",blur:"focusout"},function(e,t){var r=function(e){ie.event.simulate(t,e.target,ie.event.fix(e),!0)};ie.event.special[t]={setup:function(){var n=this.ownerDocument||this,i=ie._data(n,t);i||n.addEventListener(e,r,!0),ie._data(n,t,(i||0)+1)},teardown:function(){var n=this.ownerDocument||this,i=ie._data(n,t)-1;i?ie._data(n,t,i):(n.removeEventListener(e,r,!0),ie._removeData(n,t))}}}),ie.fn.extend({on:function(e,t,r,n,i){var a,o;if("object"==typeof e){"string"!=typeof t&&(r=r||t,t=void 0);for(a in e)this.on(a,t,r,e[a],i);return this}if(null==r&&null==n?(n=t,r=t=void 0):null==n&&("string"==typeof t?(n=r,r=void 0):(n=r,r=t,t=void 0)),n===!1)n=f;else if(!n)return this;return 1===i&&(o=n,n=function(e){return ie().off(e),o.apply(this,arguments)},n.guid=o.guid||(o.guid=ie.guid++)),this.each(function(){ie.event.add(this,e,n,r,t)})},one:function(e,t,r,n){return this.on(e,t,r,n,1)},off:function(e,t,r){var n,i;if(e&&e.preventDefault&&e.handleObj)return n=e.handleObj,ie(e.delegateTarget).off(n.namespace?n.origType+"."+n.namespace:n.origType,n.selector,n.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(r=t,t=void 0),r===!1&&(r=f),this.each(function(){ie.event.remove(this,e,r,t)})},trigger:function(e,t){return this.each(function(){ie.event.trigger(e,t,this)})},triggerHandler:function(e,t){var r=this[0];return r?ie.event.trigger(e,t,r,!0):void 0}});var je="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Ie=/ jQuery\d+="(?:null|\d+)"/g,Le=new RegExp("<(?:"+je+")[\\s/>]","i"),Ve=/^\s+/,ze=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,He=/<([\w:]+)/,Be=/<tbody/i,$e=/<|&#?\w+;/,qe=/<(?:script|style|link)/i,Ue=/checked\s*(?:[^=]|=\s*.checked.)/i,We=/^$|\/(?:java|ecma)script/i,Ke=/^true\/(.*)/,Ye=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Ge={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:re.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},Qe=m(pe),Xe=Qe.appendChild(pe.createElement("div"));Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td,ie.extend({clone:function(e,t,r){var n,i,a,o,s,u=ie.contains(e.ownerDocument,e);if(re.html5Clone||ie.isXMLDoc(e)||!Le.test("<"+e.nodeName+">")?a=e.cloneNode(!0):(Xe.innerHTML=e.outerHTML,Xe.removeChild(a=Xe.firstChild)),!(re.noCloneEvent&&re.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ie.isXMLDoc(e)))for(n=g(a),s=g(e),o=0;null!=(i=s[o]);++o)n[o]&&C(i,n[o]);if(t)if(r)for(s=s||g(e),n=n||g(a),o=0;null!=(i=s[o]);o++)x(i,n[o]);else x(e,a);return n=g(a,"script"),n.length>0&&w(n,!u&&g(e,"script")),n=s=i=null,a},buildFragment:function(e,t,r,n){for(var i,a,o,s,u,l,c,h=e.length,d=m(t),f=[],p=0;h>p;p++)if(a=e[p],a||0===a)if("object"===ie.type(a))ie.merge(f,a.nodeType?[a]:a);else if($e.test(a)){for(s=s||d.appendChild(t.createElement("div")),u=(He.exec(a)||["",""])[1].toLowerCase(),c=Ge[u]||Ge._default,s.innerHTML=c[1]+a.replace(ze,"<$1></$2>")+c[2],i=c[0];i--;)s=s.lastChild;if(!re.leadingWhitespace&&Ve.test(a)&&f.push(t.createTextNode(Ve.exec(a)[0])),!re.tbody)for(a="table"!==u||Be.test(a)?"<table>"!==c[1]||Be.test(a)?0:s:s.firstChild,i=a&&a.childNodes.length;i--;)ie.nodeName(l=a.childNodes[i],"tbody")&&!l.childNodes.length&&a.removeChild(l);for(ie.merge(f,s.childNodes),s.textContent="";s.firstChild;)s.removeChild(s.firstChild);s=d.lastChild}else f.push(t.createTextNode(a));for(s&&d.removeChild(s),re.appendChecked||ie.grep(g(f,"input"),v),p=0;a=f[p++];)if((!n||-1===ie.inArray(a,n))&&(o=ie.contains(a.ownerDocument,a),s=g(d.appendChild(a),"script"),o&&w(s),r))for(i=0;a=s[i++];)We.test(a.type||"")&&r.push(a);return s=null,d},cleanData:function(e,t){for(var r,n,i,a,o=0,s=ie.expando,u=ie.cache,l=re.deleteExpando,c=ie.event.special;null!=(r=e[o]);o++)if((t||ie.acceptData(r))&&(i=r[s],a=i&&u[i])){if(a.events)for(n in a.events)c[n]?ie.event.remove(r,n):ie.removeEvent(r,n,a.handle);u[i]&&(delete u[i],l?delete r[s]:typeof r.removeAttribute!==Ce?r.removeAttribute(s):r[s]=null,Y.push(i))}}}),ie.fn.extend({text:function(e){return Oe(this,function(e){return void 0===e?ie.text(this):this.empty().append((this[0]&&this[0].ownerDocument||pe).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=y(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=y(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var r,n=e?ie.filter(e,this):this,i=0;null!=(r=n[i]);i++)t||1!==r.nodeType||ie.cleanData(g(r)),r.parentNode&&(t&&ie.contains(r.ownerDocument,r)&&w(g(r,"script")),r.parentNode.removeChild(r));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&ie.cleanData(g(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&ie.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return ie.clone(this,e,t)})},html:function(e){return Oe(this,function(e){var t=this[0]||{},r=0,n=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Ie,""):void 0;if(!("string"!=typeof e||qe.test(e)||!re.htmlSerialize&&Le.test(e)||!re.leadingWhitespace&&Ve.test(e)||Ge[(He.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(ze,"<$1></$2>");try{for(;n>r;r++)t=this[r]||{},1===t.nodeType&&(ie.cleanData(g(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,ie.cleanData(g(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove();
+window.EmberENV={FEATURES:{}};var runningTests=!1,define,requireModule,require,requirejs;!function(){function e(e,t){try{return e()}finally{t()}}function t(e){throw new Error("an unsupported module was defined, expected `define(name, deps, module)` instead got: `"+e+"` arguments to define`")}function r(e,t,r,n){this.id=d++,this.name=e,this.deps=!t.length&&r.length?f:t,this.exports=n||{},this.callback=r,this.state=void 0,this._require=void 0}function n(e){this.name=e}function i(e,t,r){for(var n,i=e.deps,o=i.length,u=new Array(o),l={},c=0,h=o;h>c;c++)n=i[c],"exports"===n?l.exports=u[c]=r:"require"===n?u[c]=e.makeRequire():"module"===n?(e.exports=r,l=u[c]=e):u[c]=a(s(n,t),t);return{deps:u,module:l}}function a(e,t){var r=l[e];if(!r)throw new Error("Could not find module `"+e+"` imported from `"+t+"`");return require(e)}function o(e){throw new Error("Could not find module "+e)}function s(e,t){if("."!==e.charAt(0))return e;for(var r=e.split("/"),n=t.split("/"),i=n.slice(0,-1),a=0,o=r.length;o>a;a++){var s=r[a];if(".."===s){if(0===i.length)throw new Error("Cannot access parent module of root");i.pop()}else{if("."===s)continue;i.push(s)}}return i.join("/")}var u;u=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var l={},c={},h=!1,d=0,f=["require","exports","module"];r.prototype.makeRequire=function(){var e=this.name;return this._require||(this._require=function(t){return require(s(t,e))})},define=function(e,n,i){arguments.length<2&&t(arguments.length),u(n)||(i=n,n=[]),l[e]=new r(e,n,i)},define.petal={},define.alias=function(e){return new n(e)},requirejs=require=requireModule=function(t){var r=l[t];if(r&&r.callback instanceof n&&(r=l[r.callback.name]),r||o(t),r.state!==h&&c.hasOwnProperty(t))return c[t];var a,s,u=!1;c[t]={},e(function(){a=i(r,t,c[t]),s=r.callback.apply(this,a.deps),u=!0},function(){u||(r.state=h)});var d;return d=void 0===s&&a.module.exports?a.module.exports:c[t]=s,null===d||"object"!=typeof d&&"function"!=typeof d||void 0!==d["default"]||(d["default"]=d),c[t]=d},requirejs.entries=requirejs._eak_seen=l,requirejs.clear=function(){requirejs.entries=requirejs._eak_seen=l={},c=state={}}}(),function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function r(e){var t=e.length,r=ie.type(e);return"function"===r||ie.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===r||0===t||"number"==typeof t&&t>0&&t-1 in e}function n(e,t,r){if(ie.isFunction(t))return ie.grep(e,function(e,n){return!!t.call(e,n,e)!==r});if(t.nodeType)return ie.grep(e,function(e){return e===t!==r});if("string"==typeof t){if(de.test(t))return ie.filter(t,e,r);t=ie.filter(t,e)}return ie.grep(e,function(e){return ie.inArray(e,t)>=0!==r})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function a(e){var t=_e[e]={};return ie.each(e.match(be)||[],function(e,r){t[r]=!0}),t}function o(){pe.addEventListener?(pe.removeEventListener("DOMContentLoaded",s,!1),e.removeEventListener("load",s,!1)):(pe.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(pe.addEventListener||"load"===event.type||"complete"===pe.readyState)&&(o(),ie.ready())}function u(e,t,r){if(void 0===r&&1===e.nodeType){var n="data-"+t.replace(Se,"-$1").toLowerCase();if(r=e.getAttribute(n),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:Ee.test(r)?ie.parseJSON(r):r}catch(i){}ie.data(e,t,r)}else r=void 0}return r}function l(e){var t;for(t in e)if(("data"!==t||!ie.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(e,t,r,n){if(ie.acceptData(e)){var i,a,o=ie.expando,s=e.nodeType,u=s?ie.cache:e,l=s?e[o]:e[o]&&o;if(l&&u[l]&&(n||u[l].data)||void 0!==r||"string"!=typeof t)return l||(l=s?e[o]=Y.pop()||ie.guid++:o),u[l]||(u[l]=s?{}:{toJSON:ie.noop}),("object"==typeof t||"function"==typeof t)&&(n?u[l]=ie.extend(u[l],t):u[l].data=ie.extend(u[l].data,t)),a=u[l],n||(a.data||(a.data={}),a=a.data),void 0!==r&&(a[ie.camelCase(t)]=r),"string"==typeof t?(i=a[t],null==i&&(i=a[ie.camelCase(t)])):i=a,i}}function h(e,t,r){if(ie.acceptData(e)){var n,i,a=e.nodeType,o=a?ie.cache:e,s=a?e[ie.expando]:ie.expando;if(o[s]){if(t&&(n=r?o[s]:o[s].data)){ie.isArray(t)?t=t.concat(ie.map(t,ie.camelCase)):t in n?t=[t]:(t=ie.camelCase(t),t=t in n?[t]:t.split(" ")),i=t.length;for(;i--;)delete n[t[i]];if(r?!l(n):!ie.isEmptyObject(n))return}(r||(delete o[s].data,l(o[s])))&&(a?ie.cleanData([e],!0):re.deleteExpando||o!=o.window?delete o[s]:o[s]=null)}}}function d(){return!0}function f(){return!1}function p(){try{return pe.activeElement}catch(e){}}function m(e){var t=je.split("|"),r=e.createDocumentFragment();if(r.createElement)for(;t.length;)r.createElement(t.pop());return r}function g(e,t){var r,n,i=0,a=typeof e.getElementsByTagName!==Ce?e.getElementsByTagName(t||"*"):typeof e.querySelectorAll!==Ce?e.querySelectorAll(t||"*"):void 0;if(!a)for(a=[],r=e.childNodes||e;null!=(n=r[i]);i++)!t||ie.nodeName(n,t)?a.push(n):ie.merge(a,g(n,t));return void 0===t||t&&ie.nodeName(e,t)?ie.merge([e],a):a}function v(e){Re.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t){return ie.nodeName(e,"table")&&ie.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function b(e){return e.type=(null!==ie.find.attr(e,"type"))+"/"+e.type,e}function _(e){var t=Ke.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function w(e,t){for(var r,n=0;null!=(r=e[n]);n++)ie._data(r,"globalEval",!t||ie._data(t[n],"globalEval"))}function x(e,t){if(1===t.nodeType&&ie.hasData(e)){var r,n,i,a=ie._data(e),o=ie._data(t,a),s=a.events;if(s){delete o.handle,o.events={};for(r in s)for(n=0,i=s[r].length;i>n;n++)ie.event.add(t,r,s[r][n])}o.data&&(o.data=ie.extend({},o.data))}}function C(e,t){var r,n,i;if(1===t.nodeType){if(r=t.nodeName.toLowerCase(),!re.noCloneEvent&&t[ie.expando]){i=ie._data(t);for(n in i.events)ie.removeEvent(t,n,i.handle);t.removeAttribute(ie.expando)}"script"===r&&t.text!==e.text?(b(t).text=e.text,_(t)):"object"===r?(t.parentNode&&(t.outerHTML=e.outerHTML),re.html5Clone&&e.innerHTML&&!ie.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===r&&Re.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===r?t.defaultSelected=t.selected=e.defaultSelected:("input"===r||"textarea"===r)&&(t.defaultValue=e.defaultValue)}}function E(t,r){var n,i=ie(r.createElement(t)).appendTo(r.body),a=e.getDefaultComputedStyle&&(n=e.getDefaultComputedStyle(i[0]))?n.display:ie.css(i[0],"display");return i.detach(),a}function S(e){var t=pe,r=Ze[e];return r||(r=E(e,t),"none"!==r&&r||(Je=(Je||ie("<iframe frameborder='0' width='0' height='0'/>")).appendTo(t.documentElement),t=(Je[0].contentWindow||Je[0].contentDocument).document,t.write(),t.close(),r=E(e,t),Je.detach()),Ze[e]=r),r}function T(e,t){return{get:function(){var r=e();if(null!=r)return r?void delete this.get:(this.get=t).apply(this,arguments)}}}function k(e,t){if(t in e)return t;for(var r=t.charAt(0).toUpperCase()+t.slice(1),n=t,i=dt.length;i--;)if(t=dt[i]+r,t in e)return t;return n}function A(e,t){for(var r,n,i,a=[],o=0,s=e.length;s>o;o++)n=e[o],n.style&&(a[o]=ie._data(n,"olddisplay"),r=n.style.display,t?(a[o]||"none"!==r||(n.style.display=""),""===n.style.display&&Ae(n)&&(a[o]=ie._data(n,"olddisplay",S(n.nodeName)))):(i=Ae(n),(r&&"none"!==r||!i)&&ie._data(n,"olddisplay",i?r:ie.css(n,"display"))));for(o=0;s>o;o++)n=e[o],n.style&&(t&&"none"!==n.style.display&&""!==n.style.display||(n.style.display=t?a[o]||"":"none"));return e}function O(e,t,r){var n=ut.exec(t);return n?Math.max(0,n[1]-(r||0))+(n[2]||"px"):t}function R(e,t,r,n,i){for(var a=r===(n?"border":"content")?4:"width"===t?1:0,o=0;4>a;a+=2)"margin"===r&&(o+=ie.css(e,r+ke[a],!0,i)),n?("content"===r&&(o-=ie.css(e,"padding"+ke[a],!0,i)),"margin"!==r&&(o-=ie.css(e,"border"+ke[a]+"Width",!0,i))):(o+=ie.css(e,"padding"+ke[a],!0,i),"padding"!==r&&(o+=ie.css(e,"border"+ke[a]+"Width",!0,i)));return o}function P(e,t,r){var n=!0,i="width"===t?e.offsetWidth:e.offsetHeight,a=et(e),o=re.boxSizing&&"border-box"===ie.css(e,"boxSizing",!1,a);if(0>=i||null==i){if(i=tt(e,t,a),(0>i||null==i)&&(i=e.style[t]),nt.test(i))return i;n=o&&(re.boxSizingReliable()||i===e.style[t]),i=parseFloat(i)||0}return i+R(e,t,r||(o?"border":"content"),n,a)+"px"}function N(e,t,r,n,i){return new N.prototype.init(e,t,r,n,i)}function M(){return setTimeout(function(){ft=void 0}),ft=ie.now()}function D(e,t){var r,n={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)r=ke[i],n["margin"+r]=n["padding"+r]=e;return t&&(n.opacity=n.width=e),n}function F(e,t,r){for(var n,i=(bt[t]||[]).concat(bt["*"]),a=0,o=i.length;o>a;a++)if(n=i[a].call(r,t,e))return n}function j(e,t,r){var n,i,a,o,s,u,l,c,h=this,d={},f=e.style,p=e.nodeType&&Ae(e),m=ie._data(e,"fxshow");r.queue||(s=ie._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,u=s.empty.fire,s.empty.fire=function(){s.unqueued||u()}),s.unqueued++,h.always(function(){h.always(function(){s.unqueued--,ie.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(r.overflow=[f.overflow,f.overflowX,f.overflowY],l=ie.css(e,"display"),c="none"===l?ie._data(e,"olddisplay")||S(e.nodeName):l,"inline"===c&&"none"===ie.css(e,"float")&&(re.inlineBlockNeedsLayout&&"inline"!==S(e.nodeName)?f.zoom=1:f.display="inline-block")),r.overflow&&(f.overflow="hidden",re.shrinkWrapBlocks()||h.always(function(){f.overflow=r.overflow[0],f.overflowX=r.overflow[1],f.overflowY=r.overflow[2]}));for(n in t)if(i=t[n],mt.exec(i)){if(delete t[n],a=a||"toggle"===i,i===(p?"hide":"show")){if("show"!==i||!m||void 0===m[n])continue;p=!0}d[n]=m&&m[n]||ie.style(e,n)}else l=void 0;if(ie.isEmptyObject(d))"inline"===("none"===l?S(e.nodeName):l)&&(f.display=l);else{m?"hidden"in m&&(p=m.hidden):m=ie._data(e,"fxshow",{}),a&&(m.hidden=!p),p?ie(e).show():h.done(function(){ie(e).hide()}),h.done(function(){var t;ie._removeData(e,"fxshow");for(t in d)ie.style(e,t,d[t])});for(n in d)o=F(p?m[n]:0,n,h),n in m||(m[n]=o.start,p&&(o.end=o.start,o.start="width"===n||"height"===n?1:0))}}function I(e,t){var r,n,i,a,o;for(r in e)if(n=ie.camelCase(r),i=t[n],a=e[r],ie.isArray(a)&&(i=a[1],a=e[r]=a[0]),r!==n&&(e[n]=a,delete e[r]),o=ie.cssHooks[n],o&&"expand"in o){a=o.expand(a),delete e[n];for(r in a)r in e||(e[r]=a[r],t[r]=i)}else t[n]=i}function L(e,t,r){var n,i,a=0,o=yt.length,s=ie.Deferred().always(function(){delete u.elem}),u=function(){if(i)return!1;for(var t=ft||M(),r=Math.max(0,l.startTime+l.duration-t),n=r/l.duration||0,a=1-n,o=0,u=l.tweens.length;u>o;o++)l.tweens[o].run(a);return s.notifyWith(e,[l,a,r]),1>a&&u?r:(s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:ie.extend({},t),opts:ie.extend(!0,{specialEasing:{}},r),originalProperties:t,originalOptions:r,startTime:ft||M(),duration:r.duration,tweens:[],createTween:function(t,r){var n=ie.Tween(e,l.opts,t,r,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(n),n},stop:function(t){var r=0,n=t?l.tweens.length:0;if(i)return this;for(i=!0;n>r;r++)l.tweens[r].run(1);return t?s.resolveWith(e,[l,t]):s.rejectWith(e,[l,t]),this}}),c=l.props;for(I(c,l.opts.specialEasing);o>a;a++)if(n=yt[a].call(l,e,c,l.opts))return n;return ie.map(c,F,l),ie.isFunction(l.opts.start)&&l.opts.start.call(e,l),ie.fx.timer(ie.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always)}function V(e){return function(t,r){"string"!=typeof t&&(r=t,t="*");var n,i=0,a=t.toLowerCase().match(be)||[];if(ie.isFunction(r))for(;n=a[i++];)"+"===n.charAt(0)?(n=n.slice(1)||"*",(e[n]=e[n]||[]).unshift(r)):(e[n]=e[n]||[]).push(r)}}function z(e,t,r,n){function i(s){var u;return a[s]=!0,ie.each(e[s]||[],function(e,s){var l=s(t,r,n);return"string"!=typeof l||o||a[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),i(l),!1)}),u}var a={},o=e===qt;return i(t.dataTypes[0])||!a["*"]&&i("*")}function H(e,t){var r,n,i=ie.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ie.extend(!0,e,r),e}function B(e,t,r){for(var n,i,a,o,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===i&&(i=e.mimeType||t.getResponseHeader("Content-Type"));if(i)for(o in s)if(s[o]&&s[o].test(i)){u.unshift(o);break}if(u[0]in r)a=u[0];else{for(o in r){if(!u[0]||e.converters[o+" "+u[0]]){a=o;break}n||(n=o)}a=a||n}return a?(a!==u[0]&&u.unshift(a),r[a]):void 0}function q(e,t,r,n){var i,a,o,s,u,l={},c=e.dataTypes.slice();if(c[1])for(o in e.converters)l[o.toLowerCase()]=e.converters[o];for(a=c.shift();a;)if(e.responseFields[a]&&(r[e.responseFields[a]]=t),!u&&n&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=a,a=c.shift())if("*"===a)a=u;else if("*"!==u&&u!==a){if(o=l[u+" "+a]||l["* "+a],!o)for(i in l)if(s=i.split(" "),s[1]===a&&(o=l[u+" "+s[0]]||l["* "+s[0]])){o===!0?o=l[i]:l[i]!==!0&&(a=s[0],c.unshift(s[1]));break}if(o!==!0)if(o&&e["throws"])t=o(t);else try{t=o(t)}catch(h){return{state:"parsererror",error:o?h:"No conversion from "+u+" to "+a}}}return{state:"success",data:t}}function U(e,t,r,n){var i;if(ie.isArray(t))ie.each(t,function(t,i){r||Kt.test(e)?n(e,i):U(e+"["+("object"==typeof i?t:"")+"]",i,r,n)});else if(r||"object"!==ie.type(t))n(e,t);else for(i in t)U(e+"["+i+"]",t[i],r,n)}function W(){try{return new e.XMLHttpRequest}catch(t){}}function $(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function K(e){return ie.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}var Y=[],G=Y.slice,Q=Y.concat,X=Y.push,J=Y.indexOf,Z={},ee=Z.toString,te=Z.hasOwnProperty,re={},ne="1.11.2",ie=function(e,t){return new ie.fn.init(e,t)},ae=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,oe=/^-ms-/,se=/-([\da-z])/gi,ue=function(e,t){return t.toUpperCase()};ie.fn=ie.prototype={jquery:ne,constructor:ie,selector:"",length:0,toArray:function(){return G.call(this)},get:function(e){return null!=e?0>e?this[e+this.length]:this[e]:G.call(this)},pushStack:function(e){var t=ie.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return ie.each(this,e,t)},map:function(e){return this.pushStack(ie.map(this,function(t,r){return e.call(t,r,t)}))},slice:function(){return this.pushStack(G.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,r=+e+(0>e?t:0);return this.pushStack(r>=0&&t>r?[this[r]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:X,sort:Y.sort,splice:Y.splice},ie.extend=ie.fn.extend=function(){var e,t,r,n,i,a,o=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof o&&(l=o,o=arguments[s]||{},s++),"object"==typeof o||ie.isFunction(o)||(o={}),s===u&&(o=this,s--);u>s;s++)if(null!=(i=arguments[s]))for(n in i)e=o[n],r=i[n],o!==r&&(l&&r&&(ie.isPlainObject(r)||(t=ie.isArray(r)))?(t?(t=!1,a=e&&ie.isArray(e)?e:[]):a=e&&ie.isPlainObject(e)?e:{},o[n]=ie.extend(l,a,r)):void 0!==r&&(o[n]=r));return o},ie.extend({expando:"jQuery"+(ne+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isFunction:function(e){return"function"===ie.type(e)},isArray:Array.isArray||function(e){return"array"===ie.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!ie.isArray(e)&&e-parseFloat(e)+1>=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==ie.type(e)||e.nodeType||ie.isWindow(e))return!1;try{if(e.constructor&&!te.call(e,"constructor")&&!te.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(re.ownLast)for(t in e)return te.call(e,t);for(t in e);return void 0===t||te.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?Z[ee.call(e)]||"object":typeof e},globalEval:function(t){t&&ie.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(oe,"ms-").replace(se,ue)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var i,a=0,o=e.length,s=r(e);if(n){if(s)for(;o>a&&(i=t.apply(e[a],n),i!==!1);a++);else for(a in e)if(i=t.apply(e[a],n),i===!1)break}else if(s)for(;o>a&&(i=t.call(e[a],a,e[a]),i!==!1);a++);else for(a in e)if(i=t.call(e[a],a,e[a]),i===!1)break;return e},trim:function(e){return null==e?"":(e+"").replace(ae,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(r(Object(e))?ie.merge(n,"string"==typeof e?[e]:e):X.call(n,e)),n},inArray:function(e,t,r){var n;if(t){if(J)return J.call(t,e,r);for(n=t.length,r=r?0>r?Math.max(0,n+r):r:0;n>r;r++)if(r in t&&t[r]===e)return r}return-1},merge:function(e,t){for(var r=+t.length,n=0,i=e.length;r>n;)e[i++]=t[n++];if(r!==r)for(;void 0!==t[n];)e[i++]=t[n++];return e.length=i,e},grep:function(e,t,r){for(var n,i=[],a=0,o=e.length,s=!r;o>a;a++)n=!t(e[a],a),n!==s&&i.push(e[a]);return i},map:function(e,t,n){var i,a=0,o=e.length,s=r(e),u=[];if(s)for(;o>a;a++)i=t(e[a],a,n),null!=i&&u.push(i);else for(a in e)i=t(e[a],a,n),null!=i&&u.push(i);return Q.apply([],u)},guid:1,proxy:function(e,t){var r,n,i;return"string"==typeof t&&(i=e[t],t=e,e=i),ie.isFunction(e)?(r=G.call(arguments,2),n=function(){return e.apply(t||this,r.concat(G.call(arguments)))},n.guid=e.guid=e.guid||ie.guid++,n):void 0},now:function(){return+new Date},support:re}),ie.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){Z["[object "+t+"]"]=t.toLowerCase()});var le=function(e){function t(e,t,r,n){var i,a,o,s,u,l,h,f,p,m;if((t?t.ownerDocument||t:z)!==N&&P(t),t=t||N,r=r||[],s=t.nodeType,"string"!=typeof e||!e||1!==s&&9!==s&&11!==s)return r;if(!n&&D){if(11!==s&&(i=ye.exec(e)))if(o=i[1]){if(9===s){if(a=t.getElementById(o),!a||!a.parentNode)return r;if(a.id===o)return r.push(a),r}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(o))&&L(t,a)&&a.id===o)return r.push(a),r}else{if(i[2])return J.apply(r,t.getElementsByTagName(e)),r;if((o=i[3])&&w.getElementsByClassName)return J.apply(r,t.getElementsByClassName(o)),r}if(w.qsa&&(!F||!F.test(e))){if(f=h=V,p=t,m=1!==s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(l=S(e),(h=t.getAttribute("id"))?f=h.replace(_e,"\\$&"):t.setAttribute("id",f),f="[id='"+f+"'] ",u=l.length;u--;)l[u]=f+d(l[u]);p=be.test(e)&&c(t.parentNode)||t,m=l.join(",")}if(m)try{return J.apply(r,p.querySelectorAll(m)),r}catch(g){}finally{h||t.removeAttribute("id")}}}return k(e.replace(ue,"$1"),t,r,n)}function r(){function e(r,n){return t.push(r+" ")>x.cacheLength&&delete e[t.shift()],e[r+" "]=n}var t=[];return e}function n(e){return e[V]=!0,e}function i(e){var t=N.createElement("div");try{return!!e(t)}catch(r){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function a(e,t){for(var r=e.split("|"),n=e.length;n--;)x.attrHandle[r[n]]=t}function o(e,t){var r=t&&e,n=r&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||K)-(~e.sourceIndex||K);if(n)return n;if(r)for(;r=r.nextSibling;)if(r===t)return-1;return e?1:-1}function s(e){return function(t){var r=t.nodeName.toLowerCase();return"input"===r&&t.type===e}}function u(e){return function(t){var r=t.nodeName.toLowerCase();return("input"===r||"button"===r)&&t.type===e}}function l(e){return n(function(t){return t=+t,n(function(r,n){for(var i,a=e([],r.length,t),o=a.length;o--;)r[i=a[o]]&&(r[i]=!(n[i]=r[i]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function h(){}function d(e){for(var t=0,r=e.length,n="";r>t;t++)n+=e[t].value;return n}function f(e,t,r){var n=t.dir,i=r&&"parentNode"===n,a=B++;return t.first?function(t,r,a){for(;t=t[n];)if(1===t.nodeType||i)return e(t,r,a)}:function(t,r,o){var s,u,l=[H,a];if(o){for(;t=t[n];)if((1===t.nodeType||i)&&e(t,r,o))return!0}else for(;t=t[n];)if(1===t.nodeType||i){if(u=t[V]||(t[V]={}),(s=u[n])&&s[0]===H&&s[1]===a)return l[2]=s[2];if(u[n]=l,l[2]=e(t,r,o))return!0}}}function p(e){return e.length>1?function(t,r,n){for(var i=e.length;i--;)if(!e[i](t,r,n))return!1;return!0}:e[0]}function m(e,r,n){for(var i=0,a=r.length;a>i;i++)t(e,r[i],n);return n}function g(e,t,r,n,i){for(var a,o=[],s=0,u=e.length,l=null!=t;u>s;s++)(a=e[s])&&(!r||r(a,n,i))&&(o.push(a),l&&t.push(s));return o}function v(e,t,r,i,a,o){return i&&!i[V]&&(i=v(i)),a&&!a[V]&&(a=v(a,o)),n(function(n,o,s,u){var l,c,h,d=[],f=[],p=o.length,v=n||m(t||"*",s.nodeType?[s]:s,[]),y=!e||!n&&t?v:g(v,d,e,s,u),b=r?a||(n?e:p||i)?[]:o:y;if(r&&r(y,b,s,u),i)for(l=g(b,f),i(l,[],s,u),c=l.length;c--;)(h=l[c])&&(b[f[c]]=!(y[f[c]]=h));if(n){if(a||e){if(a){for(l=[],c=b.length;c--;)(h=b[c])&&l.push(y[c]=h);a(null,b=[],l,u)}for(c=b.length;c--;)(h=b[c])&&(l=a?ee(n,h):d[c])>-1&&(n[l]=!(o[l]=h))}}else b=g(b===o?b.splice(p,b.length):b),a?a(null,o,b,u):J.apply(o,b)})}function y(e){for(var t,r,n,i=e.length,a=x.relative[e[0].type],o=a||x.relative[" "],s=a?1:0,u=f(function(e){return e===t},o,!0),l=f(function(e){return ee(t,e)>-1},o,!0),c=[function(e,r,n){var i=!a&&(n||r!==A)||((t=r).nodeType?u(e,r,n):l(e,r,n));return t=null,i}];i>s;s++)if(r=x.relative[e[s].type])c=[f(p(c),r)];else{if(r=x.filter[e[s].type].apply(null,e[s].matches),r[V]){for(n=++s;i>n&&!x.relative[e[n].type];n++);return v(s>1&&p(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ue,"$1"),r,n>s&&y(e.slice(s,n)),i>n&&y(e=e.slice(n)),i>n&&d(e))}c.push(r)}return p(c)}function b(e,r){var i=r.length>0,a=e.length>0,o=function(n,o,s,u,l){var c,h,d,f=0,p="0",m=n&&[],v=[],y=A,b=n||a&&x.find.TAG("*",l),_=H+=null==y?1:Math.random()||.1,w=b.length;for(l&&(A=o!==N&&o);p!==w&&null!=(c=b[p]);p++){if(a&&c){for(h=0;d=e[h++];)if(d(c,o,s)){u.push(c);break}l&&(H=_)}i&&((c=!d&&c)&&f--,n&&m.push(c))}if(f+=p,i&&p!==f){for(h=0;d=r[h++];)d(m,v,o,s);if(n){if(f>0)for(;p--;)m[p]||v[p]||(v[p]=Q.call(u));v=g(v)}J.apply(u,v),l&&!n&&v.length>0&&f+r.length>1&&t.uniqueSort(u)}return l&&(H=_,A=y),m};return i?n(o):o}var _,w,x,C,E,S,T,k,A,O,R,P,N,M,D,F,j,I,L,V="sizzle"+1*new Date,z=e.document,H=0,B=0,q=r(),U=r(),W=r(),$=function(e,t){return e===t&&(R=!0),0},K=1<<31,Y={}.hasOwnProperty,G=[],Q=G.pop,X=G.push,J=G.push,Z=G.slice,ee=function(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1},te="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",re="[\\x20\\t\\r\\n\\f]",ne="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",ie=ne.replace("w","w#"),ae="\\["+re+"*("+ne+")(?:"+re+"*([*^$|!~]?=)"+re+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+ie+"))|)"+re+"*\\]",oe=":("+ne+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+ae+")*)|.*)\\)|)",se=new RegExp(re+"+","g"),ue=new RegExp("^"+re+"+|((?:^|[^\\\\])(?:\\\\.)*)"+re+"+$","g"),le=new RegExp("^"+re+"*,"+re+"*"),ce=new RegExp("^"+re+"*([>+~]|"+re+")"+re+"*"),he=new RegExp("="+re+"*([^\\]'\"]*?)"+re+"*\\]","g"),de=new RegExp(oe),fe=new RegExp("^"+ie+"$"),pe={ID:new RegExp("^#("+ne+")"),CLASS:new RegExp("^\\.("+ne+")"),TAG:new RegExp("^("+ne.replace("w","w*")+")"),ATTR:new RegExp("^"+ae),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},me=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,ve=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,be=/[+~]/,_e=/'|\\/g,we=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),xe=function(e,t,r){var n="0x"+t-65536;return n!==n||r?t:0>n?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320)},Ce=function(){P()};try{J.apply(G=Z.call(z.childNodes),z.childNodes),G[z.childNodes.length].nodeType}catch(Ee){J={apply:G.length?function(e,t){X.apply(e,Z.call(t))}:function(e,t){for(var r=e.length,n=0;e[r++]=t[n++];);e.length=r-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},P=t.setDocument=function(e){var t,r,n=e?e.ownerDocument||e:z;return n!==N&&9===n.nodeType&&n.documentElement?(N=n,M=n.documentElement,r=n.defaultView,r&&r!==r.top&&(r.addEventListener?r.addEventListener("unload",Ce,!1):r.attachEvent&&r.attachEvent("onunload",Ce)),D=!E(n),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=ve.test(n.getElementsByClassName),w.getById=i(function(e){return M.appendChild(e).id=V,!n.getElementsByName||!n.getElementsByName(V).length}),w.getById?(x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&D){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}},x.filter.ID=function(e){var t=e.replace(we,xe);return function(e){return e.getAttribute("id")===t}}):(delete x.find.ID,x.filter.ID=function(e){var t=e.replace(we,xe);return function(e){var r="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return r&&r.value===t}}),x.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var r,n=[],i=0,a=t.getElementsByTagName(e);if("*"===e){for(;r=a[i++];)1===r.nodeType&&n.push(r);return n}return a},x.find.CLASS=w.getElementsByClassName&&function(e,t){return D?t.getElementsByClassName(e):void 0},j=[],F=[],(w.qsa=ve.test(n.querySelectorAll))&&(i(function(e){M.appendChild(e).innerHTML="<a id='"+V+"'></a><select id='"+V+"-\f]' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+re+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+V+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+V+"+*").length||F.push(".#.+[+~]")}),i(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+re+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=ve.test(I=M.matches||M.webkitMatchesSelector||M.mozMatchesSelector||M.oMatchesSelector||M.msMatchesSelector))&&i(function(e){w.disconnectedMatch=I.call(e,"div"),I.call(e,"[s!='']:x"),j.push("!=",oe)}),F=F.length&&new RegExp(F.join("|")),j=j.length&&new RegExp(j.join("|")),t=ve.test(M.compareDocumentPosition),L=t||ve.test(M.contains)?function(e,t){var r=9===e.nodeType?e.documentElement:e,n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(r.contains?r.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},$=t?function(e,t){if(e===t)return R=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r?r:(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&r||!w.sortDetached&&t.compareDocumentPosition(e)===r?e===n||e.ownerDocument===z&&L(z,e)?-1:t===n||t.ownerDocument===z&&L(z,t)?1:O?ee(O,e)-ee(O,t):0:4&r?-1:1)}:function(e,t){if(e===t)return R=!0,0;var r,i=0,a=e.parentNode,s=t.parentNode,u=[e],l=[t];if(!a||!s)return e===n?-1:t===n?1:a?-1:s?1:O?ee(O,e)-ee(O,t):0;if(a===s)return o(e,t);for(r=e;r=r.parentNode;)u.unshift(r);for(r=t;r=r.parentNode;)l.unshift(r);for(;u[i]===l[i];)i++;return i?o(u[i],l[i]):u[i]===z?-1:l[i]===z?1:0},n):N},t.matches=function(e,r){return t(e,null,null,r)},t.matchesSelector=function(e,r){if((e.ownerDocument||e)!==N&&P(e),r=r.replace(he,"='$1']"),!(!w.matchesSelector||!D||j&&j.test(r)||F&&F.test(r)))try{var n=I.call(e,r);if(n||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return t(r,N,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==N&&P(e),L(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==N&&P(e);var r=x.attrHandle[t.toLowerCase()],n=r&&Y.call(x.attrHandle,t.toLowerCase())?r(e,t,!D):void 0;return void 0!==n?n:w.attributes||!D?e.getAttribute(t):(n=e.getAttributeNode(t))&&n.specified?n.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,r=[],n=0,i=0;if(R=!w.detectDuplicates,O=!w.sortStable&&e.slice(0),e.sort($),R){for(;t=e[i++];)t===e[i]&&(n=r.push(i));for(;n--;)e.splice(r[n],1)}return O=null,e},C=t.getText=function(e){var t,r="",n=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)r+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[n++];)r+=C(t);return r},x=t.selectors={cacheLength:50,createPseudo:n,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(we,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(we,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,r=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":r&&de.test(r)&&(t=S(r,!0))&&(t=r.indexOf(")",r.length-t)-r.length)&&(e[0]=e[0].slice(0,t),e[2]=r.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(we,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=q[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&q(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,r,n){return function(i){var a=t.attr(i,e);return null==a?"!="===r:r?(a+="","="===r?a===n:"!="===r?a!==n:"^="===r?n&&0===a.indexOf(n):"*="===r?n&&a.indexOf(n)>-1:"$="===r?n&&a.slice(-n.length)===n:"~="===r?(" "+a.replace(se," ")+" ").indexOf(n)>-1:"|="===r?a===n||a.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,r,n,i){var a="nth"!==e.slice(0,3),o="last"!==e.slice(-4),s="of-type"===t;return 1===n&&0===i?function(e){return!!e.parentNode}:function(t,r,u){var l,c,h,d,f,p,m=a!==o?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s;if(g){if(a){for(;m;){for(h=t;h=h[m];)if(s?h.nodeName.toLowerCase()===v:1===h.nodeType)return!1;p=m="only"===e&&!p&&"nextSibling"}return!0}if(p=[o?g.firstChild:g.lastChild],o&&y){for(c=g[V]||(g[V]={}),l=c[e]||[],f=l[0]===H&&l[1],d=l[0]===H&&l[2],h=f&&g.childNodes[f];h=++f&&h&&h[m]||(d=f=0)||p.pop();)if(1===h.nodeType&&++d&&h===t){c[e]=[H,f,d];break}}else if(y&&(l=(t[V]||(t[V]={}))[e])&&l[0]===H)d=l[1];else for(;(h=++f&&h&&h[m]||(d=f=0)||p.pop())&&((s?h.nodeName.toLowerCase()!==v:1!==h.nodeType)||!++d||(y&&((h[V]||(h[V]={}))[e]=[H,d]),h!==t)););return d-=i,d===n||d%n===0&&d/n>=0}}},PSEUDO:function(e,r){var i,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return a[V]?a(r):a.length>1?(i=[e,e,"",r],x.setFilters.hasOwnProperty(e.toLowerCase())?n(function(e,t){for(var n,i=a(e,r),o=i.length;o--;)n=ee(e,i[o]),e[n]=!(t[n]=i[o])}):function(e){return a(e,0,i)}):a}},pseudos:{not:n(function(e){var t=[],r=[],i=T(e.replace(ue,"$1"));return i[V]?n(function(e,t,r,n){for(var a,o=i(e,null,n,[]),s=e.length;s--;)(a=o[s])&&(e[s]=!(t[s]=a))}):function(e,n,a){return t[0]=e,i(t,null,a,r),t[0]=null,!r.pop()}}),has:n(function(e){return function(r){return t(e,r).length>0}}),contains:n(function(e){return e=e.replace(we,xe),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:n(function(e){
+return fe.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(we,xe).toLowerCase(),function(t){var r;do if(r=D?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return r=r.toLowerCase(),r===e||0===r.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var r=e.location&&e.location.hash;return r&&r.slice(1)===t.id},root:function(e){return e===M},focus:function(e){return e===N.activeElement&&(!N.hasFocus||N.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!x.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return me.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,r){return[0>r?r+t:r]}),even:l(function(e,t){for(var r=0;t>r;r+=2)e.push(r);return e}),odd:l(function(e,t){for(var r=1;t>r;r+=2)e.push(r);return e}),lt:l(function(e,t,r){for(var n=0>r?r+t:r;--n>=0;)e.push(n);return e}),gt:l(function(e,t,r){for(var n=0>r?r+t:r;++n<t;)e.push(n);return e})}},x.pseudos.nth=x.pseudos.eq;for(_ in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[_]=s(_);for(_ in{submit:!0,reset:!0})x.pseudos[_]=u(_);return h.prototype=x.filters=x.pseudos,x.setFilters=new h,S=t.tokenize=function(e,r){var n,i,a,o,s,u,l,c=U[e+" "];if(c)return r?0:c.slice(0);for(s=e,u=[],l=x.preFilter;s;){(!n||(i=le.exec(s)))&&(i&&(s=s.slice(i[0].length)||s),u.push(a=[])),n=!1,(i=ce.exec(s))&&(n=i.shift(),a.push({value:n,type:i[0].replace(ue," ")}),s=s.slice(n.length));for(o in x.filter)!(i=pe[o].exec(s))||l[o]&&!(i=l[o](i))||(n=i.shift(),a.push({value:n,type:o,matches:i}),s=s.slice(n.length));if(!n)break}return r?s.length:s?t.error(e):U(e,u).slice(0)},T=t.compile=function(e,t){var r,n=[],i=[],a=W[e+" "];if(!a){for(t||(t=S(e)),r=t.length;r--;)a=y(t[r]),a[V]?n.push(a):i.push(a);a=W(e,b(i,n)),a.selector=e}return a},k=t.select=function(e,t,r,n){var i,a,o,s,u,l="function"==typeof e&&e,h=!n&&S(e=l.selector||e);if(r=r||[],1===h.length){if(a=h[0]=h[0].slice(0),a.length>2&&"ID"===(o=a[0]).type&&w.getById&&9===t.nodeType&&D&&x.relative[a[1].type]){if(t=(x.find.ID(o.matches[0].replace(we,xe),t)||[])[0],!t)return r;l&&(t=t.parentNode),e=e.slice(a.shift().value.length)}for(i=pe.needsContext.test(e)?0:a.length;i--&&(o=a[i],!x.relative[s=o.type]);)if((u=x.find[s])&&(n=u(o.matches[0].replace(we,xe),be.test(a[0].type)&&c(t.parentNode)||t))){if(a.splice(i,1),e=n.length&&d(a),!e)return J.apply(r,n),r;break}}return(l||T(e,h))(n,t,!D,r,be.test(e)&&c(t.parentNode)||t),r},w.sortStable=V.split("").sort($).join("")===V,w.detectDuplicates=!!R,P(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(N.createElement("div"))}),i(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||a("type|href|height|width",function(e,t,r){return r?void 0:e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||a("value",function(e,t,r){return r||"input"!==e.nodeName.toLowerCase()?void 0:e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||a(te,function(e,t,r){var n;return r?void 0:e[t]===!0?t.toLowerCase():(n=e.getAttributeNode(t))&&n.specified?n.value:null}),t}(e);ie.find=le,ie.expr=le.selectors,ie.expr[":"]=ie.expr.pseudos,ie.unique=le.uniqueSort,ie.text=le.getText,ie.isXMLDoc=le.isXML,ie.contains=le.contains;var ce=ie.expr.match.needsContext,he=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,de=/^.[^:#\[\.,]*$/;ie.filter=function(e,t,r){var n=t[0];return r&&(e=":not("+e+")"),1===t.length&&1===n.nodeType?ie.find.matchesSelector(n,e)?[n]:[]:ie.find.matches(e,ie.grep(t,function(e){return 1===e.nodeType}))},ie.fn.extend({find:function(e){var t,r=[],n=this,i=n.length;if("string"!=typeof e)return this.pushStack(ie(e).filter(function(){for(t=0;i>t;t++)if(ie.contains(n[t],this))return!0}));for(t=0;i>t;t++)ie.find(e,n[t],r);return r=this.pushStack(i>1?ie.unique(r):r),r.selector=this.selector?this.selector+" "+e:e,r},filter:function(e){return this.pushStack(n(this,e||[],!1))},not:function(e){return this.pushStack(n(this,e||[],!0))},is:function(e){return!!n(this,"string"==typeof e&&ce.test(e)?ie(e):e||[],!1).length}});var fe,pe=e.document,me=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ge=ie.fn.init=function(e,t){var r,n;if(!e)return this;if("string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:me.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||fe).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ie?t[0]:t,ie.merge(this,ie.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:pe,!0)),he.test(r[1])&&ie.isPlainObject(t))for(r in t)ie.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(n=pe.getElementById(r[2]),n&&n.parentNode){if(n.id!==r[2])return fe.find(e);this.length=1,this[0]=n}return this.context=pe,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):ie.isFunction(e)?"undefined"!=typeof fe.ready?fe.ready(e):e(ie):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),ie.makeArray(e,this))};ge.prototype=ie.fn,fe=ie(pe);var ve=/^(?:parents|prev(?:Until|All))/,ye={children:!0,contents:!0,next:!0,prev:!0};ie.extend({dir:function(e,t,r){for(var n=[],i=e[t];i&&9!==i.nodeType&&(void 0===r||1!==i.nodeType||!ie(i).is(r));)1===i.nodeType&&n.push(i),i=i[t];return n},sibling:function(e,t){for(var r=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&r.push(e);return r}}),ie.fn.extend({has:function(e){var t,r=ie(e,this),n=r.length;return this.filter(function(){for(t=0;n>t;t++)if(ie.contains(this,r[t]))return!0})},closest:function(e,t){for(var r,n=0,i=this.length,a=[],o=ce.test(e)||"string"!=typeof e?ie(e,t||this.context):0;i>n;n++)for(r=this[n];r&&r!==t;r=r.parentNode)if(r.nodeType<11&&(o?o.index(r)>-1:1===r.nodeType&&ie.find.matchesSelector(r,e))){a.push(r);break}return this.pushStack(a.length>1?ie.unique(a):a)},index:function(e){return e?"string"==typeof e?ie.inArray(this[0],ie(e)):ie.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ie.unique(ie.merge(this.get(),ie(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ie.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return ie.dir(e,"parentNode")},parentsUntil:function(e,t,r){return ie.dir(e,"parentNode",r)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return ie.dir(e,"nextSibling")},prevAll:function(e){return ie.dir(e,"previousSibling")},nextUntil:function(e,t,r){return ie.dir(e,"nextSibling",r)},prevUntil:function(e,t,r){return ie.dir(e,"previousSibling",r)},siblings:function(e){return ie.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return ie.sibling(e.firstChild)},contents:function(e){return ie.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:ie.merge([],e.childNodes)}},function(e,t){ie.fn[e]=function(r,n){var i=ie.map(this,t,r);return"Until"!==e.slice(-5)&&(n=r),n&&"string"==typeof n&&(i=ie.filter(n,i)),this.length>1&&(ye[e]||(i=ie.unique(i)),ve.test(e)&&(i=i.reverse())),this.pushStack(i)}});var be=/\S+/g,_e={};ie.Callbacks=function(e){e="string"==typeof e?_e[e]||a(e):ie.extend({},e);var t,r,n,i,o,s,u=[],l=!e.once&&[],c=function(a){for(r=e.memory&&a,n=!0,o=s||0,s=0,i=u.length,t=!0;u&&i>o;o++)if(u[o].apply(a[0],a[1])===!1&&e.stopOnFalse){r=!1;break}t=!1,u&&(l?l.length&&c(l.shift()):r?u=[]:h.disable())},h={add:function(){if(u){var n=u.length;!function a(t){ie.each(t,function(t,r){var n=ie.type(r);"function"===n?e.unique&&h.has(r)||u.push(r):r&&r.length&&"string"!==n&&a(r)})}(arguments),t?i=u.length:r&&(s=n,c(r))}return this},remove:function(){return u&&ie.each(arguments,function(e,r){for(var n;(n=ie.inArray(r,u,n))>-1;)u.splice(n,1),t&&(i>=n&&i--,o>=n&&o--)}),this},has:function(e){return e?ie.inArray(e,u)>-1:!(!u||!u.length)},empty:function(){return u=[],i=0,this},disable:function(){return u=l=r=void 0,this},disabled:function(){return!u},lock:function(){return l=void 0,r||h.disable(),this},locked:function(){return!l},fireWith:function(e,r){return!u||n&&!l||(r=r||[],r=[e,r.slice?r.slice():r],t?l.push(r):c(r)),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!n}};return h},ie.extend({Deferred:function(e){var t=[["resolve","done",ie.Callbacks("once memory"),"resolved"],["reject","fail",ie.Callbacks("once memory"),"rejected"],["notify","progress",ie.Callbacks("memory")]],r="pending",n={state:function(){return r},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return ie.Deferred(function(r){ie.each(t,function(t,a){var o=ie.isFunction(e[t])&&e[t];i[a[1]](function(){var e=o&&o.apply(this,arguments);e&&ie.isFunction(e.promise)?e.promise().done(r.resolve).fail(r.reject).progress(r.notify):r[a[0]+"With"](this===n?r.promise():this,o?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?ie.extend(e,n):n}},i={};return n.pipe=n.then,ie.each(t,function(e,a){var o=a[2],s=a[3];n[a[1]]=o.add,s&&o.add(function(){r=s},t[1^e][2].disable,t[2][2].lock),i[a[0]]=function(){return i[a[0]+"With"](this===i?n:this,arguments),this},i[a[0]+"With"]=o.fireWith}),n.promise(i),e&&e.call(i,i),i},when:function(e){var t,r,n,i=0,a=G.call(arguments),o=a.length,s=1!==o||e&&ie.isFunction(e.promise)?o:0,u=1===s?e:ie.Deferred(),l=function(e,r,n){return function(i){r[e]=this,n[e]=arguments.length>1?G.call(arguments):i,n===t?u.notifyWith(r,n):--s||u.resolveWith(r,n)}};if(o>1)for(t=new Array(o),r=new Array(o),n=new Array(o);o>i;i++)a[i]&&ie.isFunction(a[i].promise)?a[i].promise().done(l(i,n,a)).fail(u.reject).progress(l(i,r,t)):--s;return s||u.resolveWith(n,a),u.promise()}});var we;ie.fn.ready=function(e){return ie.ready.promise().done(e),this},ie.extend({isReady:!1,readyWait:1,holdReady:function(e){e?ie.readyWait++:ie.ready(!0)},ready:function(e){if(e===!0?!--ie.readyWait:!ie.isReady){if(!pe.body)return setTimeout(ie.ready);ie.isReady=!0,e!==!0&&--ie.readyWait>0||(we.resolveWith(pe,[ie]),ie.fn.triggerHandler&&(ie(pe).triggerHandler("ready"),ie(pe).off("ready")))}}}),ie.ready.promise=function(t){if(!we)if(we=ie.Deferred(),"complete"===pe.readyState)setTimeout(ie.ready);else if(pe.addEventListener)pe.addEventListener("DOMContentLoaded",s,!1),e.addEventListener("load",s,!1);else{pe.attachEvent("onreadystatechange",s),e.attachEvent("onload",s);var r=!1;try{r=null==e.frameElement&&pe.documentElement}catch(n){}r&&r.doScroll&&!function i(){if(!ie.isReady){try{r.doScroll("left")}catch(e){return setTimeout(i,50)}o(),ie.ready()}}()}return we.promise(t)};var xe,Ce="undefined";for(xe in ie(re))break;re.ownLast="0"!==xe,re.inlineBlockNeedsLayout=!1,ie(function(){var e,t,r,n;r=pe.getElementsByTagName("body")[0],r&&r.style&&(t=pe.createElement("div"),n=pe.createElement("div"),n.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",r.appendChild(n).appendChild(t),typeof t.style.zoom!==Ce&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",re.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(r.style.zoom=1)),r.removeChild(n))}),function(){var e=pe.createElement("div");if(null==re.deleteExpando){re.deleteExpando=!0;try{delete e.test}catch(t){re.deleteExpando=!1}}e=null}(),ie.acceptData=function(e){var t=ie.noData[(e.nodeName+" ").toLowerCase()],r=+e.nodeType||1;return 1!==r&&9!==r?!1:!t||t!==!0&&e.getAttribute("classid")===t};var Ee=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Se=/([A-Z])/g;ie.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?ie.cache[e[ie.expando]]:e[ie.expando],!!e&&!l(e)},data:function(e,t,r){return c(e,t,r)},removeData:function(e,t){return h(e,t)},_data:function(e,t,r){return c(e,t,r,!0)},_removeData:function(e,t){return h(e,t,!0)}}),ie.fn.extend({data:function(e,t){var r,n,i,a=this[0],o=a&&a.attributes;if(void 0===e){if(this.length&&(i=ie.data(a),1===a.nodeType&&!ie._data(a,"parsedAttrs"))){for(r=o.length;r--;)o[r]&&(n=o[r].name,0===n.indexOf("data-")&&(n=ie.camelCase(n.slice(5)),u(a,n,i[n])));ie._data(a,"parsedAttrs",!0)}return i}return"object"==typeof e?this.each(function(){ie.data(this,e)}):arguments.length>1?this.each(function(){ie.data(this,e,t)}):a?u(a,e,ie.data(a,e)):void 0},removeData:function(e){return this.each(function(){ie.removeData(this,e)})}}),ie.extend({queue:function(e,t,r){var n;return e?(t=(t||"fx")+"queue",n=ie._data(e,t),r&&(!n||ie.isArray(r)?n=ie._data(e,t,ie.makeArray(r)):n.push(r)),n||[]):void 0},dequeue:function(e,t){t=t||"fx";var r=ie.queue(e,t),n=r.length,i=r.shift(),a=ie._queueHooks(e,t),o=function(){ie.dequeue(e,t)};"inprogress"===i&&(i=r.shift(),n--),i&&("fx"===t&&r.unshift("inprogress"),delete a.stop,i.call(e,o,a)),!n&&a&&a.empty.fire()},_queueHooks:function(e,t){var r=t+"queueHooks";return ie._data(e,r)||ie._data(e,r,{empty:ie.Callbacks("once memory").add(function(){ie._removeData(e,t+"queue"),ie._removeData(e,r)})})}}),ie.fn.extend({queue:function(e,t){var r=2;return"string"!=typeof e&&(t=e,e="fx",r--),arguments.length<r?ie.queue(this[0],e):void 0===t?this:this.each(function(){var r=ie.queue(this,e,t);ie._queueHooks(this,e),"fx"===e&&"inprogress"!==r[0]&&ie.dequeue(this,e)})},dequeue:function(e){return this.each(function(){ie.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var r,n=1,i=ie.Deferred(),a=this,o=this.length,s=function(){--n||i.resolveWith(a,[a])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";o--;)r=ie._data(a[o],e+"queueHooks"),r&&r.empty&&(n++,r.empty.add(s));return s(),i.promise(t)}});var Te=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,ke=["Top","Right","Bottom","Left"],Ae=function(e,t){return e=t||e,"none"===ie.css(e,"display")||!ie.contains(e.ownerDocument,e)},Oe=ie.access=function(e,t,r,n,i,a,o){var s=0,u=e.length,l=null==r;if("object"===ie.type(r)){i=!0;for(s in r)ie.access(e,t,s,r[s],!0,a,o)}else if(void 0!==n&&(i=!0,ie.isFunction(n)||(o=!0),l&&(o?(t.call(e,n),t=null):(l=t,t=function(e,t,r){return l.call(ie(e),r)})),t))for(;u>s;s++)t(e[s],r,o?n:n.call(e[s],s,t(e[s],r)));return i?e:l?t.call(e):u?t(e[0],r):a},Re=/^(?:checkbox|radio)$/i;!function(){var e=pe.createElement("input"),t=pe.createElement("div"),r=pe.createDocumentFragment();if(t.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",re.leadingWhitespace=3===t.firstChild.nodeType,re.tbody=!t.getElementsByTagName("tbody").length,re.htmlSerialize=!!t.getElementsByTagName("link").length,re.html5Clone="<:nav></:nav>"!==pe.createElement("nav").cloneNode(!0).outerHTML,e.type="checkbox",e.checked=!0,r.appendChild(e),re.appendChecked=e.checked,t.innerHTML="<textarea>x</textarea>",re.noCloneChecked=!!t.cloneNode(!0).lastChild.defaultValue,r.appendChild(t),t.innerHTML="<input type='radio' checked='checked' name='t'/>",re.checkClone=t.cloneNode(!0).cloneNode(!0).lastChild.checked,re.noCloneEvent=!0,t.attachEvent&&(t.attachEvent("onclick",function(){re.noCloneEvent=!1}),t.cloneNode(!0).click()),null==re.deleteExpando){re.deleteExpando=!0;try{delete t.test}catch(n){re.deleteExpando=!1}}}(),function(){var t,r,n=pe.createElement("div");for(t in{submit:!0,change:!0,focusin:!0})r="on"+t,(re[t+"Bubbles"]=r in e)||(n.setAttribute(r,"t"),re[t+"Bubbles"]=n.attributes[r].expando===!1);n=null}();var Pe=/^(?:input|select|textarea)$/i,Ne=/^key/,Me=/^(?:mouse|pointer|contextmenu)|click/,De=/^(?:focusinfocus|focusoutblur)$/,Fe=/^([^.]*)(?:\.(.+)|)$/;ie.event={global:{},add:function(e,t,r,n,i){var a,o,s,u,l,c,h,d,f,p,m,g=ie._data(e);if(g){for(r.handler&&(u=r,r=u.handler,i=u.selector),r.guid||(r.guid=ie.guid++),(o=g.events)||(o=g.events={}),(c=g.handle)||(c=g.handle=function(e){return typeof ie===Ce||e&&ie.event.triggered===e.type?void 0:ie.event.dispatch.apply(c.elem,arguments)},c.elem=e),t=(t||"").match(be)||[""],s=t.length;s--;)a=Fe.exec(t[s])||[],f=m=a[1],p=(a[2]||"").split(".").sort(),f&&(l=ie.event.special[f]||{},f=(i?l.delegateType:l.bindType)||f,l=ie.event.special[f]||{},h=ie.extend({type:f,origType:m,data:n,handler:r,guid:r.guid,selector:i,needsContext:i&&ie.expr.match.needsContext.test(i),namespace:p.join(".")},u),(d=o[f])||(d=o[f]=[],d.delegateCount=0,l.setup&&l.setup.call(e,n,p,c)!==!1||(e.addEventListener?e.addEventListener(f,c,!1):e.attachEvent&&e.attachEvent("on"+f,c))),l.add&&(l.add.call(e,h),h.handler.guid||(h.handler.guid=r.guid)),i?d.splice(d.delegateCount++,0,h):d.push(h),ie.event.global[f]=!0);e=null}},remove:function(e,t,r,n,i){var a,o,s,u,l,c,h,d,f,p,m,g=ie.hasData(e)&&ie._data(e);if(g&&(c=g.events)){for(t=(t||"").match(be)||[""],l=t.length;l--;)if(s=Fe.exec(t[l])||[],f=m=s[1],p=(s[2]||"").split(".").sort(),f){for(h=ie.event.special[f]||{},f=(n?h.delegateType:h.bindType)||f,d=c[f]||[],s=s[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),u=a=d.length;a--;)o=d[a],!i&&m!==o.origType||r&&r.guid!==o.guid||s&&!s.test(o.namespace)||n&&n!==o.selector&&("**"!==n||!o.selector)||(d.splice(a,1),o.selector&&d.delegateCount--,h.remove&&h.remove.call(e,o));u&&!d.length&&(h.teardown&&h.teardown.call(e,p,g.handle)!==!1||ie.removeEvent(e,f,g.handle),delete c[f])}else for(f in c)ie.event.remove(e,f+t[l],r,n,!0);ie.isEmptyObject(c)&&(delete g.handle,ie._removeData(e,"events"))}},trigger:function(t,r,n,i){var a,o,s,u,l,c,h,d=[n||pe],f=te.call(t,"type")?t.type:t,p=te.call(t,"namespace")?t.namespace.split("."):[];if(s=c=n=n||pe,3!==n.nodeType&&8!==n.nodeType&&!De.test(f+ie.event.triggered)&&(f.indexOf(".")>=0&&(p=f.split("."),f=p.shift(),p.sort()),o=f.indexOf(":")<0&&"on"+f,t=t[ie.expando]?t:new ie.Event(f,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=p.join("."),t.namespace_re=t.namespace?new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=n),r=null==r?[t]:ie.makeArray(r,[t]),l=ie.event.special[f]||{},i||!l.trigger||l.trigger.apply(n,r)!==!1)){if(!i&&!l.noBubble&&!ie.isWindow(n)){for(u=l.delegateType||f,De.test(u+f)||(s=s.parentNode);s;s=s.parentNode)d.push(s),c=s;c===(n.ownerDocument||pe)&&d.push(c.defaultView||c.parentWindow||e)}for(h=0;(s=d[h++])&&!t.isPropagationStopped();)t.type=h>1?u:l.bindType||f,a=(ie._data(s,"events")||{})[t.type]&&ie._data(s,"handle"),a&&a.apply(s,r),a=o&&s[o],a&&a.apply&&ie.acceptData(s)&&(t.result=a.apply(s,r),t.result===!1&&t.preventDefault());if(t.type=f,!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),r)===!1)&&ie.acceptData(n)&&o&&n[f]&&!ie.isWindow(n)){c=n[o],c&&(n[o]=null),ie.event.triggered=f;try{n[f]()}catch(m){}ie.event.triggered=void 0,c&&(n[o]=c)}return t.result}},dispatch:function(e){e=ie.event.fix(e);var t,r,n,i,a,o=[],s=G.call(arguments),u=(ie._data(this,"events")||{})[e.type]||[],l=ie.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(o=ie.event.handlers.call(this,e,u),t=0;(i=o[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,a=0;(n=i.handlers[a++])&&!e.isImmediatePropagationStopped();)(!e.namespace_re||e.namespace_re.test(n.namespace))&&(e.handleObj=n,e.data=n.data,r=((ie.event.special[n.origType]||{}).handle||n.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var r,n,i,a,o=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(i=[],a=0;s>a;a++)n=t[a],r=n.selector+" ",void 0===i[r]&&(i[r]=n.needsContext?ie(r,this).index(u)>=0:ie.find(r,this,null,[u]).length),i[r]&&i.push(n);i.length&&o.push({elem:u,handlers:i})}return s<t.length&&o.push({elem:this,handlers:t.slice(s)}),o},fix:function(e){if(e[ie.expando])return e;var t,r,n,i=e.type,a=e,o=this.fixHooks[i];for(o||(this.fixHooks[i]=o=Me.test(i)?this.mouseHooks:Ne.test(i)?this.keyHooks:{}),n=o.props?this.props.concat(o.props):this.props,e=new ie.Event(a),t=n.length;t--;)r=n[t],e[r]=a[r];return e.target||(e.target=a.srcElement||pe),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,o.filter?o.filter(e,a):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,t){var r,n,i,a=t.button,o=t.fromElement;return null==e.pageX&&null!=t.clientX&&(n=e.target.ownerDocument||pe,i=n.documentElement,r=n.body,e.pageX=t.clientX+(i&&i.scrollLeft||r&&r.scrollLeft||0)-(i&&i.clientLeft||r&&r.clientLeft||0),e.pageY=t.clientY+(i&&i.scrollTop||r&&r.scrollTop||0)-(i&&i.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&o&&(e.relatedTarget=o===e.target?t.toElement:o),e.which||void 0===a||(e.which=1&a?1:2&a?3:4&a?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==p()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===p()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return ie.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):void 0},_default:function(e){return ie.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,r,n){var i=ie.extend(new ie.Event,r,{type:e,isSimulated:!0,originalEvent:{}});n?ie.event.trigger(i,null,t):ie.event.dispatch.call(t,i),i.isDefaultPrevented()&&r.preventDefault()}},ie.removeEvent=pe.removeEventListener?function(e,t,r){e.removeEventListener&&e.removeEventListener(t,r,!1)}:function(e,t,r){var n="on"+t;e.detachEvent&&(typeof e[n]===Ce&&(e[n]=null),e.detachEvent(n,r))},ie.Event=function(e,t){return this instanceof ie.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&e.returnValue===!1?d:f):this.type=e,t&&ie.extend(this,t),this.timeStamp=e&&e.timeStamp||ie.now(),void(this[ie.expando]=!0)):new ie.Event(e,t)},ie.Event.prototype={isDefaultPrevented:f,isPropagationStopped:f,isImmediatePropagationStopped:f,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=d,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=d,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=d,e&&e.stopImmediatePropagation&&e.stopImmediatePropagation(),this.stopPropagation()}},ie.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,t){ie.event.special[e]={delegateType:t,bindType:t,handle:function(e){var r,n=this,i=e.relatedTarget,a=e.handleObj;return(!i||i!==n&&!ie.contains(n,i))&&(e.type=a.origType,r=a.handler.apply(this,arguments),e.type=t),r}}}),re.submitBubbles||(ie.event.special.submit={setup:function(){return ie.nodeName(this,"form")?!1:void ie.event.add(this,"click._submit keypress._submit",function(e){var t=e.target,r=ie.nodeName(t,"input")||ie.nodeName(t,"button")?t.form:void 0;r&&!ie._data(r,"submitBubbles")&&(ie.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),ie._data(r,"submitBubbles",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&ie.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return ie.nodeName(this,"form")?!1:void ie.event.remove(this,"._submit")}}),re.changeBubbles||(ie.event.special.change={setup:function(){return Pe.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(ie.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),ie.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),ie.event.simulate("change",this,e,!0)})),!1):void ie.event.add(this,"beforeactivate._change",function(e){var t=e.target;Pe.test(t.nodeName)&&!ie._data(t,"changeBubbles")&&(ie.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||ie.event.simulate("change",this.parentNode,e,!0)}),ie._data(t,"changeBubbles",!0))})},handle:function(e){var t=e.target;return this!==t||e.isSimulated||e.isTrigger||"radio"!==t.type&&"checkbox"!==t.type?e.handleObj.handler.apply(this,arguments):void 0},teardown:function(){return ie.event.remove(this,"._change"),!Pe.test(this.nodeName)}}),re.focusinBubbles||ie.each({focus:"focusin",blur:"focusout"},function(e,t){var r=function(e){ie.event.simulate(t,e.target,ie.event.fix(e),!0)};ie.event.special[t]={setup:function(){var n=this.ownerDocument||this,i=ie._data(n,t);i||n.addEventListener(e,r,!0),ie._data(n,t,(i||0)+1)},teardown:function(){var n=this.ownerDocument||this,i=ie._data(n,t)-1;i?ie._data(n,t,i):(n.removeEventListener(e,r,!0),ie._removeData(n,t))}}}),ie.fn.extend({on:function(e,t,r,n,i){var a,o;if("object"==typeof e){"string"!=typeof t&&(r=r||t,t=void 0);for(a in e)this.on(a,t,r,e[a],i);return this}if(null==r&&null==n?(n=t,r=t=void 0):null==n&&("string"==typeof t?(n=r,r=void 0):(n=r,r=t,t=void 0)),n===!1)n=f;else if(!n)return this;return 1===i&&(o=n,n=function(e){return ie().off(e),o.apply(this,arguments)},n.guid=o.guid||(o.guid=ie.guid++)),this.each(function(){ie.event.add(this,e,n,r,t)})},one:function(e,t,r,n){return this.on(e,t,r,n,1)},off:function(e,t,r){var n,i;if(e&&e.preventDefault&&e.handleObj)return n=e.handleObj,ie(e.delegateTarget).off(n.namespace?n.origType+"."+n.namespace:n.origType,n.selector,n.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return(t===!1||"function"==typeof t)&&(r=t,t=void 0),r===!1&&(r=f),this.each(function(){ie.event.remove(this,e,r,t)})},trigger:function(e,t){return this.each(function(){ie.event.trigger(e,t,this)})},triggerHandler:function(e,t){var r=this[0];return r?ie.event.trigger(e,t,r,!0):void 0}});var je="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",Ie=/ jQuery\d+="(?:null|\d+)"/g,Le=new RegExp("<(?:"+je+")[\\s/>]","i"),Ve=/^\s+/,ze=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,He=/<([\w:]+)/,Be=/<tbody/i,qe=/<|&#?\w+;/,Ue=/<(?:script|style|link)/i,We=/checked\s*(?:[^=]|=\s*.checked.)/i,$e=/^$|\/(?:java|ecma)script/i,Ke=/^true\/(.*)/,Ye=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Ge={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:re.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},Qe=m(pe),Xe=Qe.appendChild(pe.createElement("div"));Ge.optgroup=Ge.option,Ge.tbody=Ge.tfoot=Ge.colgroup=Ge.caption=Ge.thead,Ge.th=Ge.td,ie.extend({clone:function(e,t,r){var n,i,a,o,s,u=ie.contains(e.ownerDocument,e);if(re.html5Clone||ie.isXMLDoc(e)||!Le.test("<"+e.nodeName+">")?a=e.cloneNode(!0):(Xe.innerHTML=e.outerHTML,Xe.removeChild(a=Xe.firstChild)),!(re.noCloneEvent&&re.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ie.isXMLDoc(e)))for(n=g(a),s=g(e),o=0;null!=(i=s[o]);++o)n[o]&&C(i,n[o]);if(t)if(r)for(s=s||g(e),n=n||g(a),o=0;null!=(i=s[o]);o++)x(i,n[o]);else x(e,a);return n=g(a,"script"),n.length>0&&w(n,!u&&g(e,"script")),n=s=i=null,a},buildFragment:function(e,t,r,n){for(var i,a,o,s,u,l,c,h=e.length,d=m(t),f=[],p=0;h>p;p++)if(a=e[p],a||0===a)if("object"===ie.type(a))ie.merge(f,a.nodeType?[a]:a);else if(qe.test(a)){for(s=s||d.appendChild(t.createElement("div")),u=(He.exec(a)||["",""])[1].toLowerCase(),c=Ge[u]||Ge._default,s.innerHTML=c[1]+a.replace(ze,"<$1></$2>")+c[2],i=c[0];i--;)s=s.lastChild;if(!re.leadingWhitespace&&Ve.test(a)&&f.push(t.createTextNode(Ve.exec(a)[0])),!re.tbody)for(a="table"!==u||Be.test(a)?"<table>"!==c[1]||Be.test(a)?0:s:s.firstChild,i=a&&a.childNodes.length;i--;)ie.nodeName(l=a.childNodes[i],"tbody")&&!l.childNodes.length&&a.removeChild(l);for(ie.merge(f,s.childNodes),s.textContent="";s.firstChild;)s.removeChild(s.firstChild);s=d.lastChild}else f.push(t.createTextNode(a));for(s&&d.removeChild(s),re.appendChecked||ie.grep(g(f,"input"),v),p=0;a=f[p++];)if((!n||-1===ie.inArray(a,n))&&(o=ie.contains(a.ownerDocument,a),s=g(d.appendChild(a),"script"),o&&w(s),r))for(i=0;a=s[i++];)$e.test(a.type||"")&&r.push(a);return s=null,d},cleanData:function(e,t){for(var r,n,i,a,o=0,s=ie.expando,u=ie.cache,l=re.deleteExpando,c=ie.event.special;null!=(r=e[o]);o++)if((t||ie.acceptData(r))&&(i=r[s],a=i&&u[i])){if(a.events)for(n in a.events)c[n]?ie.event.remove(r,n):ie.removeEvent(r,n,a.handle);u[i]&&(delete u[i],l?delete r[s]:typeof r.removeAttribute!==Ce?r.removeAttribute(s):r[s]=null,Y.push(i))}}}),ie.fn.extend({text:function(e){return Oe(this,function(e){return void 0===e?ie.text(this):this.empty().append((this[0]&&this[0].ownerDocument||pe).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=y(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=y(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){for(var r,n=e?ie.filter(e,this):this,i=0;null!=(r=n[i]);i++)t||1!==r.nodeType||ie.cleanData(g(r)),r.parentNode&&(t&&ie.contains(r.ownerDocument,r)&&w(g(r,"script")),r.parentNode.removeChild(r));return this},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&ie.cleanData(g(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&ie.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return ie.clone(this,e,t)})},html:function(e){return Oe(this,function(e){var t=this[0]||{},r=0,n=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Ie,""):void 0;if(!("string"!=typeof e||Ue.test(e)||!re.htmlSerialize&&Le.test(e)||!re.leadingWhitespace&&Ve.test(e)||Ge[(He.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(ze,"<$1></$2>");try{for(;n>r;r++)t=this[r]||{},1===t.nodeType&&(ie.cleanData(g(t,!1)),t.innerHTML=e);t=0}catch(i){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=arguments[0];return this.domManip(arguments,function(t){e=this.parentNode,ie.cleanData(g(this)),e&&e.replaceChild(t,this)}),e&&(e.length||e.nodeType)?this:this.remove();
 
-},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=Q.apply([],e);var r,n,i,a,o,s,u=0,l=this.length,c=this,h=l-1,d=e[0],f=ie.isFunction(d);if(f||l>1&&"string"==typeof d&&!re.checkClone&&Ue.test(d))return this.each(function(r){var n=c.eq(r);f&&(e[0]=d.call(this,r,n.html())),n.domManip(e,t)});if(l&&(s=ie.buildFragment(e,this[0].ownerDocument,!1,this),r=s.firstChild,1===s.childNodes.length&&(s=r),r)){for(a=ie.map(g(s,"script"),b),i=a.length;l>u;u++)n=s,u!==h&&(n=ie.clone(n,!0,!0),i&&ie.merge(a,g(n,"script"))),t.call(this[u],n,u);if(i)for(o=a[a.length-1].ownerDocument,ie.map(a,_),u=0;i>u;u++)n=a[u],We.test(n.type||"")&&!ie._data(n,"globalEval")&&ie.contains(o,n)&&(n.src?ie._evalUrl&&ie._evalUrl(n.src):ie.globalEval((n.text||n.textContent||n.innerHTML||"").replace(Ye,"")));s=r=null}return this}}),ie.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){ie.fn[e]=function(e){for(var r,n=0,i=[],a=ie(e),o=a.length-1;o>=n;n++)r=n===o?this:this.clone(!0),ie(a[n])[t](r),X.apply(i,r.get());return this.pushStack(i)}});var Je,Ze={};!function(){var e;re.shrinkWrapBlocks=function(){if(null!=e)return e;e=!1;var t,r,n;return r=pe.getElementsByTagName("body")[0],r&&r.style?(t=pe.createElement("div"),n=pe.createElement("div"),n.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",r.appendChild(n).appendChild(t),typeof t.style.zoom!==Ce&&(t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",t.appendChild(pe.createElement("div")).style.width="5px",e=3!==t.offsetWidth),r.removeChild(n),e):void 0}}();var et,tt,rt=/^margin/,nt=new RegExp("^("+Se+")(?!px)[a-z%]+$","i"),it=/^(top|right|bottom|left)$/;e.getComputedStyle?(et=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)},tt=function(e,t,r){var n,i,a,o,s=e.style;return r=r||et(e),o=r?r.getPropertyValue(t)||r[t]:void 0,r&&(""!==o||ie.contains(e.ownerDocument,e)||(o=ie.style(e,t)),nt.test(o)&&rt.test(t)&&(n=s.width,i=s.minWidth,a=s.maxWidth,s.minWidth=s.maxWidth=s.width=o,o=r.width,s.width=n,s.minWidth=i,s.maxWidth=a)),void 0===o?o:o+""}):pe.documentElement.currentStyle&&(et=function(e){return e.currentStyle},tt=function(e,t,r){var n,i,a,o,s=e.style;return r=r||et(e),o=r?r[t]:void 0,null==o&&s&&s[t]&&(o=s[t]),nt.test(o)&&!it.test(t)&&(n=s.left,i=e.runtimeStyle,a=i&&i.left,a&&(i.left=e.currentStyle.left),s.left="fontSize"===t?"1em":o,o=s.pixelLeft+"px",s.left=n,a&&(i.left=a)),void 0===o?o:o+""||"auto"}),function(){function t(){var t,r,n,i;r=pe.getElementsByTagName("body")[0],r&&r.style&&(t=pe.createElement("div"),n=pe.createElement("div"),n.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",r.appendChild(n).appendChild(t),t.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",a=o=!1,u=!0,e.getComputedStyle&&(a="1%"!==(e.getComputedStyle(t,null)||{}).top,o="4px"===(e.getComputedStyle(t,null)||{width:"4px"}).width,i=t.appendChild(pe.createElement("div")),i.style.cssText=t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",t.style.width="1px",u=!parseFloat((e.getComputedStyle(i,null)||{}).marginRight),t.removeChild(i)),t.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=t.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",s=0===i[0].offsetHeight,s&&(i[0].style.display="",i[1].style.display="none",s=0===i[0].offsetHeight),r.removeChild(n))}var r,n,i,a,o,s,u;r=pe.createElement("div"),r.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",i=r.getElementsByTagName("a")[0],n=i&&i.style,n&&(n.cssText="float:left;opacity:.5",re.opacity="0.5"===n.opacity,re.cssFloat=!!n.cssFloat,r.style.backgroundClip="content-box",r.cloneNode(!0).style.backgroundClip="",re.clearCloneStyle="content-box"===r.style.backgroundClip,re.boxSizing=""===n.boxSizing||""===n.MozBoxSizing||""===n.WebkitBoxSizing,ie.extend(re,{reliableHiddenOffsets:function(){return null==s&&t(),s},boxSizingReliable:function(){return null==o&&t(),o},pixelPosition:function(){return null==a&&t(),a},reliableMarginRight:function(){return null==u&&t(),u}}))}(),ie.swap=function(e,t,r,n){var i,a,o={};for(a in t)o[a]=e.style[a],e.style[a]=t[a];i=r.apply(e,n||[]);for(a in t)e.style[a]=o[a];return i};var at=/alpha\([^)]*\)/i,ot=/opacity\s*=\s*([^)]*)/,st=/^(none|table(?!-c[ea]).+)/,ut=new RegExp("^("+Se+")(.*)$","i"),lt=new RegExp("^([+-])=("+Se+")","i"),ct={position:"absolute",visibility:"hidden",display:"block"},ht={letterSpacing:"0",fontWeight:"400"},dt=["Webkit","O","Moz","ms"];ie.extend({cssHooks:{opacity:{get:function(e,t){if(t){var r=tt(e,"opacity");return""===r?"1":r}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":re.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,r,n){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,a,o,s=ie.camelCase(t),u=e.style;if(t=ie.cssProps[s]||(ie.cssProps[s]=A(u,s)),o=ie.cssHooks[t]||ie.cssHooks[s],void 0===r)return o&&"get"in o&&void 0!==(i=o.get(e,!1,n))?i:u[t];if(a=typeof r,"string"===a&&(i=lt.exec(r))&&(r=(i[1]+1)*i[2]+parseFloat(ie.css(e,t)),a="number"),null!=r&&r===r&&("number"!==a||ie.cssNumber[s]||(r+="px"),re.clearCloneStyle||""!==r||0!==t.indexOf("background")||(u[t]="inherit"),!(o&&"set"in o&&void 0===(r=o.set(e,r,n)))))try{u[t]=r}catch(l){}}},css:function(e,t,r,n){var i,a,o,s=ie.camelCase(t);return t=ie.cssProps[s]||(ie.cssProps[s]=A(e.style,s)),o=ie.cssHooks[t]||ie.cssHooks[s],o&&"get"in o&&(a=o.get(e,!0,r)),void 0===a&&(a=tt(e,t,n)),"normal"===a&&t in ht&&(a=ht[t]),""===r||r?(i=parseFloat(a),r===!0||ie.isNumeric(i)?i||0:a):a}}),ie.each(["height","width"],function(e,t){ie.cssHooks[t]={get:function(e,r,n){return r?st.test(ie.css(e,"display"))&&0===e.offsetWidth?ie.swap(e,ct,function(){return P(e,t,n)}):P(e,t,n):void 0},set:function(e,r,n){var i=n&&et(e);return O(e,r,n?R(e,t,n,re.boxSizing&&"border-box"===ie.css(e,"boxSizing",!1,i),i):0)}}}),re.opacity||(ie.cssHooks.opacity={get:function(e,t){return ot.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var r=e.style,n=e.currentStyle,i=ie.isNumeric(t)?"alpha(opacity="+100*t+")":"",a=n&&n.filter||r.filter||"";r.zoom=1,(t>=1||""===t)&&""===ie.trim(a.replace(at,""))&&r.removeAttribute&&(r.removeAttribute("filter"),""===t||n&&!n.filter)||(r.filter=at.test(a)?a.replace(at,i):a+" "+i)}}),ie.cssHooks.marginRight=S(re.reliableMarginRight,function(e,t){return t?ie.swap(e,{display:"inline-block"},tt,[e,"marginRight"]):void 0}),ie.each({margin:"",padding:"",border:"Width"},function(e,t){ie.cssHooks[e+t]={expand:function(r){for(var n=0,i={},a="string"==typeof r?r.split(" "):[r];4>n;n++)i[e+Ae[n]+t]=a[n]||a[n-2]||a[0];return i}},rt.test(e)||(ie.cssHooks[e+t].set=O)}),ie.fn.extend({css:function(e,t){return Oe(this,function(e,t,r){var n,i,a={},o=0;if(ie.isArray(t)){for(n=et(e),i=t.length;i>o;o++)a[t[o]]=ie.css(e,t[o],!1,n);return a}return void 0!==r?ie.style(e,t,r):ie.css(e,t)},e,t,arguments.length>1)},show:function(){return k(this,!0)},hide:function(){return k(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ke(this)?ie(this).show():ie(this).hide()})}}),ie.Tween=N,N.prototype={constructor:N,init:function(e,t,r,n,i,a){this.elem=e,this.prop=r,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=n,this.unit=a||(ie.cssNumber[r]?"":"px")},cur:function(){var e=N.propHooks[this.prop];return e&&e.get?e.get(this):N.propHooks._default.get(this)},run:function(e){var t,r=N.propHooks[this.prop];return this.pos=t=this.options.duration?ie.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),r&&r.set?r.set(this):N.propHooks._default.set(this),this}},N.prototype.init.prototype=N.prototype,N.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=ie.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){ie.fx.step[e.prop]?ie.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[ie.cssProps[e.prop]]||ie.cssHooks[e.prop])?ie.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},N.propHooks.scrollTop=N.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ie.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},ie.fx=N.prototype.init,ie.fx.step={};var ft,pt,mt=/^(?:toggle|show|hide)$/,gt=new RegExp("^(?:([+-])=|)("+Se+")([a-z%]*)$","i"),vt=/queueHooks$/,yt=[j],bt={"*":[function(e,t){var r=this.createTween(e,t),n=r.cur(),i=gt.exec(t),a=i&&i[3]||(ie.cssNumber[e]?"":"px"),o=(ie.cssNumber[e]||"px"!==a&&+n)&&gt.exec(ie.css(r.elem,e)),s=1,u=20;if(o&&o[3]!==a){a=a||o[3],i=i||[],o=+n||1;do s=s||".5",o/=s,ie.style(r.elem,e,o+a);while(s!==(s=r.cur()/n)&&1!==s&&--u)}return i&&(o=r.start=+o||+n||0,r.unit=a,r.end=i[1]?o+(i[1]+1)*i[2]:+i[2]),r}]};ie.Animation=ie.extend(L,{tweener:function(e,t){ie.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var r,n=0,i=e.length;i>n;n++)r=e[n],bt[r]=bt[r]||[],bt[r].unshift(t)},prefilter:function(e,t){t?yt.unshift(e):yt.push(e)}}),ie.speed=function(e,t,r){var n=e&&"object"==typeof e?ie.extend({},e):{complete:r||!r&&t||ie.isFunction(e)&&e,duration:e,easing:r&&t||t&&!ie.isFunction(t)&&t};return n.duration=ie.fx.off?0:"number"==typeof n.duration?n.duration:n.duration in ie.fx.speeds?ie.fx.speeds[n.duration]:ie.fx.speeds._default,(null==n.queue||n.queue===!0)&&(n.queue="fx"),n.old=n.complete,n.complete=function(){ie.isFunction(n.old)&&n.old.call(this),n.queue&&ie.dequeue(this,n.queue)},n},ie.fn.extend({fadeTo:function(e,t,r,n){return this.filter(ke).css("opacity",0).show().end().animate({opacity:t},e,r,n)},animate:function(e,t,r,n){var i=ie.isEmptyObject(e),a=ie.speed(t,r,n),o=function(){var t=L(this,ie.extend({},e),a);(i||ie._data(this,"finish"))&&t.stop(!0)};return o.finish=o,i||a.queue===!1?this.each(o):this.queue(a.queue,o)},stop:function(e,t,r){var n=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",a=ie.timers,o=ie._data(this);if(i)o[i]&&o[i].stop&&n(o[i]);else for(i in o)o[i]&&o[i].stop&&vt.test(i)&&n(o[i]);for(i=a.length;i--;)a[i].elem!==this||null!=e&&a[i].queue!==e||(a[i].anim.stop(r),t=!1,a.splice(i,1));(t||!r)&&ie.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,r=ie._data(this),n=r[e+"queue"],i=r[e+"queueHooks"],a=ie.timers,o=n?n.length:0;for(r.finish=!0,ie.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=a.length;t--;)a[t].elem===this&&a[t].queue===e&&(a[t].anim.stop(!0),a.splice(t,1));for(t=0;o>t;t++)n[t]&&n[t].finish&&n[t].finish.call(this);delete r.finish})}}),ie.each(["toggle","show","hide"],function(e,t){var r=ie.fn[t];ie.fn[t]=function(e,n,i){return null==e||"boolean"==typeof e?r.apply(this,arguments):this.animate(M(t,!0),e,n,i)}}),ie.each({slideDown:M("show"),slideUp:M("hide"),slideToggle:M("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){ie.fn[e]=function(e,r,n){return this.animate(t,e,r,n)}}),ie.timers=[],ie.fx.tick=function(){var e,t=ie.timers,r=0;for(ft=ie.now();r<t.length;r++)e=t[r],e()||t[r]!==e||t.splice(r--,1);t.length||ie.fx.stop(),ft=void 0},ie.fx.timer=function(e){ie.timers.push(e),e()?ie.fx.start():ie.timers.pop()},ie.fx.interval=13,ie.fx.start=function(){pt||(pt=setInterval(ie.fx.tick,ie.fx.interval))},ie.fx.stop=function(){clearInterval(pt),pt=null},ie.fx.speeds={slow:600,fast:200,_default:400},ie.fn.delay=function(e,t){return e=ie.fx?ie.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,r){var n=setTimeout(t,e);r.stop=function(){clearTimeout(n)}})},function(){var e,t,r,n,i;t=pe.createElement("div"),t.setAttribute("className","t"),t.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=t.getElementsByTagName("a")[0],r=pe.createElement("select"),i=r.appendChild(pe.createElement("option")),e=t.getElementsByTagName("input")[0],n.style.cssText="top:1px",re.getSetAttribute="t"!==t.className,re.style=/top/.test(n.getAttribute("style")),re.hrefNormalized="/a"===n.getAttribute("href"),re.checkOn=!!e.value,re.optSelected=i.selected,re.enctype=!!pe.createElement("form").enctype,r.disabled=!0,re.optDisabled=!i.disabled,e=pe.createElement("input"),e.setAttribute("value",""),re.input=""===e.getAttribute("value"),e.value="t",e.setAttribute("type","radio"),re.radioValue="t"===e.value}();var _t=/\r/g;ie.fn.extend({val:function(e){var t,r,n,i=this[0];{if(arguments.length)return n=ie.isFunction(e),this.each(function(r){var i;1===this.nodeType&&(i=n?e.call(this,r,ie(this).val()):e,null==i?i="":"number"==typeof i?i+="":ie.isArray(i)&&(i=ie.map(i,function(e){return null==e?"":e+""})),t=ie.valHooks[this.type]||ie.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=ie.valHooks[i.type]||ie.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(r=t.get(i,"value"))?r:(r=i.value,"string"==typeof r?r.replace(_t,""):null==r?"":r)}}}),ie.extend({valHooks:{option:{get:function(e){var t=ie.find.attr(e,"value");return null!=t?t:ie.trim(ie.text(e))}},select:{get:function(e){for(var t,r,n=e.options,i=e.selectedIndex,a="select-one"===e.type||0>i,o=a?null:[],s=a?i+1:n.length,u=0>i?s:a?i:0;s>u;u++)if(r=n[u],!(!r.selected&&u!==i||(re.optDisabled?r.disabled:null!==r.getAttribute("disabled"))||r.parentNode.disabled&&ie.nodeName(r.parentNode,"optgroup"))){if(t=ie(r).val(),a)return t;o.push(t)}return o},set:function(e,t){for(var r,n,i=e.options,a=ie.makeArray(t),o=i.length;o--;)if(n=i[o],ie.inArray(ie.valHooks.option.get(n),a)>=0)try{n.selected=r=!0}catch(s){n.scrollHeight}else n.selected=!1;return r||(e.selectedIndex=-1),i}}}}),ie.each(["radio","checkbox"],function(){ie.valHooks[this]={set:function(e,t){return ie.isArray(t)?e.checked=ie.inArray(ie(e).val(),t)>=0:void 0}},re.checkOn||(ie.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var wt,xt,Ct=ie.expr.attrHandle,Et=/^(?:checked|selected)$/i,Tt=re.getSetAttribute,St=re.input;ie.fn.extend({attr:function(e,t){return Oe(this,ie.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ie.removeAttr(this,e)})}}),ie.extend({attr:function(e,t,r){var n,i,a=e.nodeType;if(e&&3!==a&&8!==a&&2!==a)return typeof e.getAttribute===Ce?ie.prop(e,t,r):(1===a&&ie.isXMLDoc(e)||(t=t.toLowerCase(),n=ie.attrHooks[t]||(ie.expr.match.bool.test(t)?xt:wt)),void 0===r?n&&"get"in n&&null!==(i=n.get(e,t))?i:(i=ie.find.attr(e,t),null==i?void 0:i):null!==r?n&&"set"in n&&void 0!==(i=n.set(e,r,t))?i:(e.setAttribute(t,r+""),r):void ie.removeAttr(e,t))},removeAttr:function(e,t){var r,n,i=0,a=t&&t.match(be);if(a&&1===e.nodeType)for(;r=a[i++];)n=ie.propFix[r]||r,ie.expr.match.bool.test(r)?St&&Tt||!Et.test(r)?e[n]=!1:e[ie.camelCase("default-"+r)]=e[n]=!1:ie.attr(e,r,""),e.removeAttribute(Tt?r:n)},attrHooks:{type:{set:function(e,t){if(!re.radioValue&&"radio"===t&&ie.nodeName(e,"input")){var r=e.value;return e.setAttribute("type",t),r&&(e.value=r),t}}}}}),xt={set:function(e,t,r){return t===!1?ie.removeAttr(e,r):St&&Tt||!Et.test(r)?e.setAttribute(!Tt&&ie.propFix[r]||r,r):e[ie.camelCase("default-"+r)]=e[r]=!0,r}},ie.each(ie.expr.match.bool.source.match(/\w+/g),function(e,t){var r=Ct[t]||ie.find.attr;Ct[t]=St&&Tt||!Et.test(t)?function(e,t,n){var i,a;return n||(a=Ct[t],Ct[t]=i,i=null!=r(e,t,n)?t.toLowerCase():null,Ct[t]=a),i}:function(e,t,r){return r?void 0:e[ie.camelCase("default-"+t)]?t.toLowerCase():null}}),St&&Tt||(ie.attrHooks.value={set:function(e,t,r){return ie.nodeName(e,"input")?void(e.defaultValue=t):wt&&wt.set(e,t,r)}}),Tt||(wt={set:function(e,t,r){var n=e.getAttributeNode(r);return n||e.setAttributeNode(n=e.ownerDocument.createAttribute(r)),n.value=t+="","value"===r||t===e.getAttribute(r)?t:void 0}},Ct.id=Ct.name=Ct.coords=function(e,t,r){var n;return r?void 0:(n=e.getAttributeNode(t))&&""!==n.value?n.value:null},ie.valHooks.button={get:function(e,t){var r=e.getAttributeNode(t);return r&&r.specified?r.value:void 0},set:wt.set},ie.attrHooks.contenteditable={set:function(e,t,r){wt.set(e,""===t?!1:t,r)}},ie.each(["width","height"],function(e,t){ie.attrHooks[t]={set:function(e,r){return""===r?(e.setAttribute(t,"auto"),r):void 0}}})),re.style||(ie.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var At=/^(?:input|select|textarea|button|object)$/i,kt=/^(?:a|area)$/i;ie.fn.extend({prop:function(e,t){return Oe(this,ie.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ie.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ie.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,r){var n,i,a,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return a=1!==o||!ie.isXMLDoc(e),a&&(t=ie.propFix[t]||t,i=ie.propHooks[t]),void 0!==r?i&&"set"in i&&void 0!==(n=i.set(e,r,t))?n:e[t]=r:i&&"get"in i&&null!==(n=i.get(e,t))?n:e[t]},propHooks:{tabIndex:{get:function(e){var t=ie.find.attr(e,"tabindex");return t?parseInt(t,10):At.test(e.nodeName)||kt.test(e.nodeName)&&e.href?0:-1}}}}),re.hrefNormalized||ie.each(["href","src"],function(e,t){ie.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),re.optSelected||(ie.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ie.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ie.propFix[this.toLowerCase()]=this}),re.enctype||(ie.propFix.enctype="encoding");var Ot=/[\t\r\n\f]/g;ie.fn.extend({addClass:function(e){var t,r,n,i,a,o,s=0,u=this.length,l="string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(be)||[];u>s;s++)if(r=this[s],n=1===r.nodeType&&(r.className?(" "+r.className+" ").replace(Ot," "):" ")){for(a=0;i=t[a++];)n.indexOf(" "+i+" ")<0&&(n+=i+" ");o=ie.trim(n),r.className!==o&&(r.className=o)}return this},removeClass:function(e){var t,r,n,i,a,o,s=0,u=this.length,l=0===arguments.length||"string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(be)||[];u>s;s++)if(r=this[s],n=1===r.nodeType&&(r.className?(" "+r.className+" ").replace(Ot," "):"")){for(a=0;i=t[a++];)for(;n.indexOf(" "+i+" ")>=0;)n=n.replace(" "+i+" "," ");o=e?ie.trim(n):"",r.className!==o&&(r.className=o)}return this},toggleClass:function(e,t){var r=typeof e;return"boolean"==typeof t&&"string"===r?t?this.addClass(e):this.removeClass(e):this.each(ie.isFunction(e)?function(r){ie(this).toggleClass(e.call(this,r,this.className,t),t)}:function(){if("string"===r)for(var t,n=0,i=ie(this),a=e.match(be)||[];t=a[n++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(r===Ce||"boolean"===r)&&(this.className&&ie._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ie._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",r=0,n=this.length;n>r;r++)if(1===this[r].nodeType&&(" "+this[r].className+" ").replace(Ot," ").indexOf(t)>=0)return!0;return!1}}),ie.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ie.fn[t]=function(e,r){return arguments.length>0?this.on(t,null,e,r):this.trigger(t)}}),ie.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,r){return this.on(e,null,t,r)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,r,n){return this.on(t,e,r,n)},undelegate:function(e,t,r){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",r)}});var Rt=ie.now(),Pt=/\?/,Nt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ie.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var r,n=null,i=ie.trim(t+"");return i&&!ie.trim(i.replace(Nt,function(e,t,i,a){return r&&t&&(n=0),0===n?e:(r=i||t,n+=!a-!i,"")}))?Function("return "+i)():ie.error("Invalid JSON: "+t)},ie.parseXML=function(t){var r,n;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(n=new DOMParser,r=n.parseFromString(t,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(t))}catch(i){r=void 0}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||ie.error("Invalid XML: "+t),r};var Dt,Mt,Ft=/#.*$/,jt=/([?&])_=[^&]*/,It=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Lt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Vt=/^(?:GET|HEAD)$/,zt=/^\/\//,Ht=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Bt={},$t={},qt="*/".concat("*");try{Mt=location.href}catch(Ut){Mt=pe.createElement("a"),Mt.href="",Mt=Mt.href}Dt=Ht.exec(Mt.toLowerCase())||[],ie.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Mt,type:"GET",isLocal:Lt.test(Dt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":qt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ie.parseJSON,"text xml":ie.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?H(H(e,ie.ajaxSettings),t):H(ie.ajaxSettings,e)},ajaxPrefilter:V(Bt),ajaxTransport:V($t),ajax:function(e,t){function r(e,t,r,n){var i,c,v,y,_,x=t;2!==b&&(b=2,s&&clearTimeout(s),l=void 0,o=n||"",w.readyState=e>0?4:0,i=e>=200&&300>e||304===e,r&&(y=B(h,w,r)),y=$(h,y,w,i),i?(h.ifModified&&(_=w.getResponseHeader("Last-Modified"),_&&(ie.lastModified[a]=_),_=w.getResponseHeader("etag"),_&&(ie.etag[a]=_)),204===e||"HEAD"===h.type?x="nocontent":304===e?x="notmodified":(x=y.state,c=y.data,v=y.error,i=!v)):(v=x,(e||!x)&&(x="error",0>e&&(e=0))),w.status=e,w.statusText=(t||x)+"",i?p.resolveWith(d,[c,x,w]):p.rejectWith(d,[w,x,v]),w.statusCode(g),g=void 0,u&&f.trigger(i?"ajaxSuccess":"ajaxError",[w,h,i?c:v]),m.fireWith(d,[w,x]),u&&(f.trigger("ajaxComplete",[w,h]),--ie.active||ie.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,i,a,o,s,u,l,c,h=ie.ajaxSetup({},t),d=h.context||h,f=h.context&&(d.nodeType||d.jquery)?ie(d):ie.event,p=ie.Deferred(),m=ie.Callbacks("once memory"),g=h.statusCode||{},v={},y={},b=0,_="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c)for(c={};t=It.exec(o);)c[t[1].toLowerCase()]=t[2];t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?o:null},setRequestHeader:function(e,t){var r=e.toLowerCase();return b||(e=y[r]=y[r]||e,v[e]=t),this},overrideMimeType:function(e){return b||(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)g[t]=[g[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||_;return l&&l.abort(t),r(0,t),this}};if(p.promise(w).complete=m.add,w.success=w.done,w.error=w.fail,h.url=((e||h.url||Mt)+"").replace(Ft,"").replace(zt,Dt[1]+"//"),h.type=t.method||t.type||h.method||h.type,h.dataTypes=ie.trim(h.dataType||"*").toLowerCase().match(be)||[""],null==h.crossDomain&&(n=Ht.exec(h.url.toLowerCase()),h.crossDomain=!(!n||n[1]===Dt[1]&&n[2]===Dt[2]&&(n[3]||("http:"===n[1]?"80":"443"))===(Dt[3]||("http:"===Dt[1]?"80":"443")))),h.data&&h.processData&&"string"!=typeof h.data&&(h.data=ie.param(h.data,h.traditional)),z(Bt,h,t,w),2===b)return w;u=ie.event&&h.global,u&&0===ie.active++&&ie.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Vt.test(h.type),a=h.url,h.hasContent||(h.data&&(a=h.url+=(Pt.test(a)?"&":"?")+h.data,delete h.data),h.cache===!1&&(h.url=jt.test(a)?a.replace(jt,"$1_="+Rt++):a+(Pt.test(a)?"&":"?")+"_="+Rt++)),h.ifModified&&(ie.lastModified[a]&&w.setRequestHeader("If-Modified-Since",ie.lastModified[a]),ie.etag[a]&&w.setRequestHeader("If-None-Match",ie.etag[a])),(h.data&&h.hasContent&&h.contentType!==!1||t.contentType)&&w.setRequestHeader("Content-Type",h.contentType),w.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+qt+"; q=0.01":""):h.accepts["*"]);for(i in h.headers)w.setRequestHeader(i,h.headers[i]);if(h.beforeSend&&(h.beforeSend.call(d,w,h)===!1||2===b))return w.abort();_="abort";for(i in{success:1,error:1,complete:1})w[i](h[i]);if(l=z($t,h,t,w)){w.readyState=1,u&&f.trigger("ajaxSend",[w,h]),h.async&&h.timeout>0&&(s=setTimeout(function(){w.abort("timeout")},h.timeout));try{b=1,l.send(v,r)}catch(x){if(!(2>b))throw x;r(-1,x)}}else r(-1,"No Transport");return w},getJSON:function(e,t,r){return ie.get(e,t,r,"json")},getScript:function(e,t){return ie.get(e,void 0,t,"script")}}),ie.each(["get","post"],function(e,t){ie[t]=function(e,r,n,i){return ie.isFunction(r)&&(i=i||n,n=r,r=void 0),ie.ajax({url:e,type:t,dataType:i,data:r,success:n})}}),ie._evalUrl=function(e){return ie.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},ie.fn.extend({wrapAll:function(e){if(ie.isFunction(e))return this.each(function(t){ie(this).wrapAll(e.call(this,t))});if(this[0]){var t=ie(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return this.each(ie.isFunction(e)?function(t){ie(this).wrapInner(e.call(this,t))}:function(){var t=ie(this),r=t.contents();r.length?r.wrapAll(e):t.append(e)})},wrap:function(e){var t=ie.isFunction(e);return this.each(function(r){ie(this).wrapAll(t?e.call(this,r):e)})},unwrap:function(){return this.parent().each(function(){ie.nodeName(this,"body")||ie(this).replaceWith(this.childNodes)}).end()}}),ie.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||!re.reliableHiddenOffsets()&&"none"===(e.style&&e.style.display||ie.css(e,"display"))},ie.expr.filters.visible=function(e){return!ie.expr.filters.hidden(e)};var Wt=/%20/g,Kt=/\[\]$/,Yt=/\r?\n/g,Gt=/^(?:submit|button|image|reset|file)$/i,Qt=/^(?:input|select|textarea|keygen)/i;ie.param=function(e,t){var r,n=[],i=function(e,t){t=ie.isFunction(t)?t():null==t?"":t,n[n.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=ie.ajaxSettings&&ie.ajaxSettings.traditional),ie.isArray(e)||e.jquery&&!ie.isPlainObject(e))ie.each(e,function(){i(this.name,this.value)});else for(r in e)q(r,e[r],t,i);return n.join("&").replace(Wt,"+")},ie.fn.extend({serialize:function(){return ie.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ie.prop(this,"elements");return e?ie.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ie(this).is(":disabled")&&Qt.test(this.nodeName)&&!Gt.test(e)&&(this.checked||!Re.test(e))}).map(function(e,t){var r=ie(this).val();return null==r?null:ie.isArray(r)?ie.map(r,function(e){return{name:t.name,value:e.replace(Yt,"\r\n")}}):{name:t.name,value:r.replace(Yt,"\r\n")}}).get()}}),ie.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&U()||W()}:U;var Xt=0,Jt={},Zt=ie.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in Jt)Jt[e](void 0,!0)}),re.cors=!!Zt&&"withCredentials"in Zt,Zt=re.ajax=!!Zt,Zt&&ie.ajaxTransport(function(e){if(!e.crossDomain||re.cors){var t;return{send:function(r,n){var i,a=e.xhr(),o=++Xt;if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)a[i]=e.xhrFields[i];e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(i in r)void 0!==r[i]&&a.setRequestHeader(i,r[i]+"");a.send(e.hasContent&&e.data||null),t=function(r,i){var s,u,l;if(t&&(i||4===a.readyState))if(delete Jt[o],t=void 0,a.onreadystatechange=ie.noop,i)4!==a.readyState&&a.abort();else{l={},s=a.status,"string"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(c){u=""}s||!e.isLocal||e.crossDomain?1223===s&&(s=204):s=l.text?200:404}l&&n(s,u,l,a.getAllResponseHeaders())},e.async?4===a.readyState?setTimeout(t):a.onreadystatechange=Jt[o]=t:t()},abort:function(){t&&t(void 0,!0)}}}}),ie.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return ie.globalEval(e),e}}}),ie.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),ie.ajaxTransport("script",function(e){if(e.crossDomain){var t,r=pe.head||ie("head")[0]||pe.documentElement;return{send:function(n,i){t=pe.createElement("script"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,r){(r||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,r||i(200,"success"))},r.insertBefore(t,r.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var er=[],tr=/(=)\?(?=&|$)|\?\?/;ie.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=er.pop()||ie.expando+"_"+Rt++;return this[e]=!0,e}}),ie.ajaxPrefilter("json jsonp",function(t,r,n){var i,a,o,s=t.jsonp!==!1&&(tr.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&tr.test(t.data)&&"data");return s||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=ie.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(tr,"$1"+i):t.jsonp!==!1&&(t.url+=(Pt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return o||ie.error(i+" was not called"),o[0]},t.dataTypes[0]="json",a=e[i],e[i]=function(){o=arguments},n.always(function(){e[i]=a,t[i]&&(t.jsonpCallback=r.jsonpCallback,er.push(i)),o&&ie.isFunction(a)&&a(o[0]),o=a=void 0}),"script"):void 0}),ie.parseHTML=function(e,t,r){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(r=t,t=!1),t=t||pe;var n=he.exec(e),i=!r&&[];return n?[t.createElement(n[1])]:(n=ie.buildFragment([e],t,i),i&&i.length&&ie(i).remove(),ie.merge([],n.childNodes))};var rr=ie.fn.load;ie.fn.load=function(e,t,r){if("string"!=typeof e&&rr)return rr.apply(this,arguments);var n,i,a,o=this,s=e.indexOf(" ");return s>=0&&(n=ie.trim(e.slice(s,e.length)),e=e.slice(0,s)),ie.isFunction(t)?(r=t,t=void 0):t&&"object"==typeof t&&(a="POST"),o.length>0&&ie.ajax({url:e,type:a,dataType:"html",data:t}).done(function(e){i=arguments,o.html(n?ie("<div>").append(ie.parseHTML(e)).find(n):e)}).complete(r&&function(e,t){o.each(r,i||[e.responseText,t,e])}),this},ie.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ie.fn[t]=function(e){return this.on(t,e)}}),ie.expr.filters.animated=function(e){return ie.grep(ie.timers,function(t){return e===t.elem}).length};var nr=e.document.documentElement;ie.offset={setOffset:function(e,t,r){
-var n,i,a,o,s,u,l,c=ie.css(e,"position"),h=ie(e),d={};"static"===c&&(e.style.position="relative"),s=h.offset(),a=ie.css(e,"top"),u=ie.css(e,"left"),l=("absolute"===c||"fixed"===c)&&ie.inArray("auto",[a,u])>-1,l?(n=h.position(),o=n.top,i=n.left):(o=parseFloat(a)||0,i=parseFloat(u)||0),ie.isFunction(t)&&(t=t.call(e,r,s)),null!=t.top&&(d.top=t.top-s.top+o),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):h.css(d)}},ie.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){ie.offset.setOffset(this,e,t)});var t,r,n={top:0,left:0},i=this[0],a=i&&i.ownerDocument;if(a)return t=a.documentElement,ie.contains(t,i)?(typeof i.getBoundingClientRect!==Ce&&(n=i.getBoundingClientRect()),r=K(a),{top:n.top+(r.pageYOffset||t.scrollTop)-(t.clientTop||0),left:n.left+(r.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):n},position:function(){if(this[0]){var e,t,r={top:0,left:0},n=this[0];return"fixed"===ie.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),ie.nodeName(e[0],"html")||(r=e.offset()),r.top+=ie.css(e[0],"borderTopWidth",!0),r.left+=ie.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-ie.css(n,"marginTop",!0),left:t.left-r.left-ie.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||nr;e&&!ie.nodeName(e,"html")&&"static"===ie.css(e,"position");)e=e.offsetParent;return e||nr})}}),ie.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var r=/Y/.test(t);ie.fn[e]=function(n){return Oe(this,function(e,n,i){var a=K(e);return void 0===i?a?t in a?a[t]:a.document.documentElement[n]:e[n]:void(a?a.scrollTo(r?ie(a).scrollLeft():i,r?i:ie(a).scrollTop()):e[n]=i)},e,n,arguments.length,null)}}),ie.each(["top","left"],function(e,t){ie.cssHooks[t]=S(re.pixelPosition,function(e,r){return r?(r=tt(e,t),nt.test(r)?ie(e).position()[t]+"px":r):void 0})}),ie.each({Height:"height",Width:"width"},function(e,t){ie.each({padding:"inner"+e,content:t,"":"outer"+e},function(r,n){ie.fn[n]=function(n,i){var a=arguments.length&&(r||"boolean"!=typeof n),o=r||(n===!0||i===!0?"margin":"border");return Oe(this,function(t,r,n){var i;return ie.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===n?ie.css(t,r,o):ie.style(t,r,n,o)},t,a?n:void 0,a,null)}})}),ie.fn.size=function(){return this.length},ie.fn.andSelf=ie.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return ie});var ir=e.jQuery,ar=e.$;return ie.noConflict=function(t){return e.$===ie&&(e.$=ar),t&&e.jQuery===ie&&(e.jQuery=ir),ie},typeof t===Ce&&(e.jQuery=e.$=ie),ie}),function(){var e,t,r,n,i,a=this;!function(){function a(){}function o(e,t){if("."!==e.charAt(0))return e;for(var r=e.split("/"),n=t.split("/").slice(0,-1),i=0,a=r.length;a>i;i++){var o=r[i];if(".."===o)n.pop();else{if("."===o)continue;n.push(o)}}return n.join("/")}if(i=this.Ember=this.Ember||{},"undefined"==typeof i&&(i={}),"undefined"==typeof i.__loader){var s={},u={};e=function(e,t,r){var n={};r?(n.deps=t,n.callback=r):(n.deps=[],n.callback=t),s[e]=n},n=r=t=function(e){var r=u[e];if(void 0!==r)return u[e];if(r===a)return void 0;if(u[e]={},!s[e])throw new Error("Could not find module "+e);for(var n,i=s[e],l=i.deps,c=i.callback,h=[],d=l.length,f=0;d>f;f++)h.push("exports"===l[f]?n={}:t(o(l[f],e)));var p=0===d?c.call(this):c.apply(this,h);return u[e]=n||(void 0===p?a:p)},n._eak_seen=s,i.__loader={define:e,require:r,registry:s}}else e=i.__loader.define,n=r=t=i.__loader.require}(),e("backburner",["backburner/utils","backburner/platform","backburner/binary-search","backburner/deferred-action-queues","exports"],function(e,t,r,n,i){"use strict";function a(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[],this._debouncees=[],this._throttlers=[],this._timers=[]}function o(e){return e.onError||e.onErrorTarget&&e.onErrorTarget[e.onErrorMethod]}function s(e){e.begin(),e._autorun=T.setTimeout(function(){e._autorun=null,e.end()})}function u(e,t,r){var n=b();(!e._laterTimer||t<e._laterTimerExpiresAt||e._laterTimerExpiresAt<n)&&(e._laterTimer&&(clearTimeout(e._laterTimer),e._laterTimerExpiresAt<n&&(r=Math.max(0,t-n))),e._laterTimer=T.setTimeout(function(){e._laterTimer=null,e._laterTimerExpiresAt=null,l(e)},r),e._laterTimerExpiresAt=n+r)}function l(e){var t,r,n,i=b();e.run(function(){for(r=w(i,e._timers),t=e._timers.splice(0,r),r=1,n=t.length;n>r;r+=2)e.schedule(e.options.defaultQueue,null,t[r])}),e._timers.length&&u(e,e._timers[0],e._timers[0]-i)}function c(e,t,r){return d(e,t,r)}function h(e,t,r){return d(e,t,r)}function d(e,t,r){for(var n,i=-1,a=0,o=r.length;o>a;a++)if(n=r[a],n[0]===e&&n[1]===t){i=a;break}return i}var f=e.each,p=e.isString,m=e.isFunction,g=e.isNumber,v=e.isCoercableNumber,y=e.wrapInTryCatch,b=e.now,_=t.needsIETryCatchFix,w=r["default"],x=n["default"],C=[].slice,E=[].pop,T=this;if(a.prototype={begin:function(){var e=this.options,t=e&&e.onBegin,r=this.currentInstance;r&&this.instanceStack.push(r),this.currentInstance=new x(this.queueNames,e),t&&t(this.currentInstance,r)},end:function(){var e=this.options,t=e&&e.onEnd,r=this.currentInstance,n=null,i=!1;try{r.flush()}finally{i||(i=!0,this.currentInstance=null,this.instanceStack.length&&(n=this.instanceStack.pop(),this.currentInstance=n),t&&t(r,n))}},run:function(e,t){var r=o(this.options);this.begin(),t||(t=e,e=null),p(t)&&(t=e[t]);var n=C.call(arguments,2),i=!1;if(r)try{return t.apply(e,n)}catch(a){r(a)}finally{i||(i=!0,this.end())}else try{return t.apply(e,n)}finally{i||(i=!0,this.end())}},join:function(e,t){return this.currentInstance?(t||(t=e,e=null),p(t)&&(t=e[t]),t.apply(e,C.call(arguments,2))):this.run.apply(this,arguments)},defer:function(e,t,r){r||(r=t,t=null),p(r)&&(r=t[r]);var n,i=this.DEBUG?new Error:void 0,a=arguments.length;if(a>3){n=new Array(a-3);for(var o=3;a>o;o++)n[o-3]=arguments[o]}else n=void 0;return this.currentInstance||s(this),this.currentInstance.schedule(e,t,r,n,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),p(r)&&(r=t[r]);var n,i=this.DEBUG?new Error:void 0,a=arguments.length;if(a>3){n=new Array(a-3);for(var o=3;a>o;o++)n[o-3]=arguments[o]}else n=void 0;return this.currentInstance||s(this),this.currentInstance.schedule(e,t,r,n,!0,i)},setTimeout:function(){function e(){if(y)try{i.apply(s,r)}catch(e){y(e)}else i.apply(s,r)}for(var t=arguments.length,r=new Array(t),n=0;t>n;n++)r[n]=arguments[n];var i,a,s,l,c,h,d=r.length;if(0!==d){if(1===d)i=r.shift(),a=0;else if(2===d)l=r[0],c=r[1],m(c)||m(l[c])?(s=r.shift(),i=r.shift(),a=0):v(c)?(i=r.shift(),a=r.shift()):(i=r.shift(),a=0);else{var f=r[r.length-1];a=v(f)?r.pop():0,l=r[0],h=r[1],m(h)||p(h)&&null!==l&&h in l?(s=r.shift(),i=r.shift()):i=r.shift()}var g=b()+parseInt(a,10);p(i)&&(i=s[i]);var y=o(this.options),_=w(g,this._timers);return this._timers.splice(_,0,g,e),u(this,g,a),e}},throttle:function(e,t){var r,n,i,a,o=this,s=arguments,u=E.call(s);return g(u)||p(u)?(r=u,u=!0):r=E.call(s),r=parseInt(r,10),i=h(e,t,this._throttlers),i>-1?this._throttlers[i]:(a=T.setTimeout(function(){u||o.run.apply(o,s);var r=h(e,t,o._throttlers);r>-1&&o._throttlers.splice(r,1)},r),u&&this.run.apply(this,s),n=[e,t,a],this._throttlers.push(n),n)},debounce:function(e,t){var r,n,i,a,o=this,s=arguments,u=E.call(s);return g(u)||p(u)?(r=u,u=!1):r=E.call(s),r=parseInt(r,10),n=c(e,t,this._debouncees),n>-1&&(i=this._debouncees[n],this._debouncees.splice(n,1),clearTimeout(i[2])),a=T.setTimeout(function(){u||o.run.apply(o,s);var r=c(e,t,o._debouncees);r>-1&&o._debouncees.splice(r,1)},r),u&&-1===n&&o.run.apply(o,s),i=[e,t,a],o._debouncees.push(i),i},cancelTimers:function(){var e=function(e){clearTimeout(e[2])};f(this._throttlers,e),this._throttlers=[],f(this._debouncees,e),this._debouncees=[],this._laterTimer&&(clearTimeout(this._laterTimer),this._laterTimer=null),this._timers=[],this._autorun&&(clearTimeout(this._autorun),this._autorun=null)},hasTimers:function(){return!!this._timers.length||!!this._debouncees.length||!!this._throttlers.length||this._autorun},cancel:function(e){var t=typeof e;if(e&&"object"===t&&e.queue&&e.method)return e.queue.cancel(e);if("function"!==t)return"[object Array]"===Object.prototype.toString.call(e)?this._cancelItem(h,this._throttlers,e)||this._cancelItem(c,this._debouncees,e):void 0;for(var r=0,n=this._timers.length;n>r;r+=2)if(this._timers[r+1]===e)return this._timers.splice(r,2),0===r&&(this._laterTimer&&(clearTimeout(this._laterTimer),this._laterTimer=null),this._timers.length>0&&u(this,this._timers[0],this._timers[0]-b())),!0},_cancelItem:function(e,t,r){var n,i;return r.length<3?!1:(i=e(r[0],r[1],t),i>-1&&(n=t[i],n[2]===r[2])?(t.splice(i,1),clearTimeout(r[2]),!0):!1)}},a.prototype.schedule=a.prototype.defer,a.prototype.scheduleOnce=a.prototype.deferOnce,a.prototype.later=a.prototype.setTimeout,_){var S=a.prototype.run;a.prototype.run=y(S);var A=a.prototype.end;a.prototype.end=y(A)}i["default"]=a}),e("backburner.umd",["./backburner"],function(t){"use strict";var r=t["default"];"function"==typeof e&&e.amd?e(function(){return r}):"undefined"!=typeof module&&module.exports?module.exports=r:"undefined"!=typeof this&&(this.Backburner=r)}),e("backburner/binary-search",["exports"],function(e){"use strict";e["default"]=function(e,t){for(var r,n,i=0,a=t.length-2;a>i;)n=(a-i)/2,r=i+n-n%2,e>=t[r]?i=r+2:a=r;return e>=t[i]?i+2:i}}),e("backburner/deferred-action-queues",["./utils","./queue","exports"],function(e,t,r){"use strict";function n(e,t){var r=this.queues=Object.create(null);this.queueNames=e=e||[],this.options=t,a(e,function(e){r[e]=new o(e,t[e],t)})}function i(e){throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist")}var a=e.each,o=t["default"];n.prototype={schedule:function(e,t,r,n,a,o){var s=this.queues,u=s[e];return u||i(e),a?u.pushUnique(t,r,n,o):u.push(t,r,n,o)},flush:function(){var e,t,r=this.queues,n=this.queueNames,i=0,a=n.length;for(this.options;a>i;){e=n[i],t=r[e];var o=t._queue.length;0===o?i++:(t.flush(!1),i=0)}}},r["default"]=n}),e("backburner/platform",["exports"],function(e){"use strict";var t=function(e,t){try{t()}catch(e){}return!!e}();e.needsIETryCatchFix=t}),e("backburner/queue",["./utils","exports"],function(e,t){"use strict";function r(e,t,r){this.name=e,this.globalOptions=r||{},this.options=t,this._queue=[],this.targetQueues=Object.create(null),this._queueBeingFlushed=void 0}var n=e.isString;r.prototype={push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUniqueWithoutGuid:function(e,t,r,n){for(var i=this._queue,a=0,o=i.length;o>a;a+=4){var s=i[a],u=i[a+1];if(s===e&&u===t)return i[a+2]=r,void(i[a+3]=n)}i.push(e,t,r,n)},targetQueue:function(e,t,r,n,i){for(var a=this._queue,o=0,s=e.length;s>o;o+=4){var u=e[o],l=e[o+1];if(u===r)return a[l+2]=n,void(a[l+3]=i)}e.push(r,a.push(t,r,n,i)-4)},pushUniqueWithGuid:function(e,t,r,n,i){var a=this.targetQueues[e];return a?this.targetQueue(a,t,r,n,i):this.targetQueues[e]=[r,this._queue.push(t,r,n,i)-4],{queue:this,target:t,method:r}},pushUnique:function(e,t,r,n){var i=(this._queue,this.globalOptions.GUID_KEY);if(e&&i){var a=e[i];if(a)return this.pushUniqueWithGuid(a,e,t,r,n)}return this.pushUniqueWithoutGuid(e,t,r,n),{queue:this,target:e,method:t}},invoke:function(e,t,r,n,i){r&&r.length>0?t.apply(e,r):t.call(e)},invokeWithOnError:function(e,t,r,n,i){try{r&&r.length>0?t.apply(e,r):t.call(e)}catch(a){n(a,i)}},flush:function(e){var t=this._queue,r=t.length;if(0!==r){var i,a,o,s,u=this.globalOptions,l=this.options,c=l&&l.before,h=l&&l.after,d=u.onError||u.onErrorTarget&&u.onErrorTarget[u.onErrorMethod],f=d?this.invokeWithOnError:this.invoke;this.targetQueues=Object.create(null);var p=this._queueBeingFlushed=this._queue.slice();this._queue=[],c&&c();for(var m=0;r>m;m+=4)i=p[m],a=p[m+1],o=p[m+2],s=p[m+3],n(a)&&(a=i[a]),a&&f(i,a,o,d,s);h&&h(),this._queueBeingFlushed=void 0,e!==!1&&this._queue.length>0&&this.flush(!0)}},cancel:function(e){var t,r,n,i,a=this._queue,o=e.target,s=e.method,u=this.globalOptions.GUID_KEY;if(u&&this.targetQueues&&o){var l=this.targetQueues[o[u]];if(l)for(n=0,i=l.length;i>n;n++)l[n]===s&&l.splice(n,1)}for(n=0,i=a.length;i>n;n+=4)if(t=a[n],r=a[n+1],t===o&&r===s)return a.splice(n,4),!0;if(a=this._queueBeingFlushed)for(n=0,i=a.length;i>n;n+=4)if(t=a[n],r=a[n+1],t===o&&r===s)return a[n+1]=null,!0}},t["default"]=r}),e("backburner/utils",["exports"],function(e){"use strict";function t(e,t){for(var r=0;r<e.length;r++)t(e[r])}function r(e){return"string"==typeof e}function n(e){return"function"==typeof e}function i(e){return"number"==typeof e}function a(e){return i(e)||s.test(e)}function o(e){return function(){try{return e.apply(this,arguments)}catch(t){throw t}}}var s=/\d+/;e.each=t;var u=Date.now||function(){return(new Date).getTime()};e.now=u,e.isString=r,e.isFunction=n,e.isNumber=i,e.isCoercableNumber=a,e.wrapInTryCatch=o}),e("calculateVersion",[],function(){"use strict";var e=r("fs"),t=r("path");module.exports=function(){var n=r("../package.json").version,i=[n],a=t.join(__dirname,"..",".git"),o=t.join(a,"HEAD");if(n.indexOf("+")>-1){try{if(e.existsSync(o)){var s,u=e.readFileSync(o,{encoding:"utf8"}),l=u.split("/").slice(-1)[0].trim(),c=u.split(" ")[1];if(c){var h=t.join(a,c.trim());s=e.readFileSync(h)}else s=l;i.push(s.slice(0,10))}}catch(d){console.error(d.stack)}return i.join(".")}return n}}),e("container",["exports","container/registry","container/container"],function(e,t,r){"use strict";i.MODEL_FACTORY_INJECTIONS=!1,i.ENV&&"undefined"!=typeof i.ENV.MODEL_FACTORY_INJECTIONS&&(i.MODEL_FACTORY_INJECTIONS=!!i.ENV.MODEL_FACTORY_INJECTIONS),e.Registry=t["default"],e.Container=r["default"]}),e("container/container",["exports","ember-metal/core","ember-metal/keys","ember-metal/dictionary"],function(e,r,n,i){"use strict";function a(e,r){this._registry=e||function(){return m||(m=t("container/registry")["default"]),new m}(),this.cache=i["default"](r&&r.cache?r.cache:null),this.factoryCache=i["default"](r&&r.factoryCache?r.factoryCache:null),this.validationCache=i["default"](r&&r.validationCache?r.validationCache:null)}function o(e,t,r){if(r=r||{},e.cache[t]&&r.singleton!==!1)return e.cache[t];var n=h(e,t);return void 0!==n?(e._registry.getOption(t,"singleton")!==!1&&r.singleton!==!1&&(e.cache[t]=n),n):void 0}function s(e){var t={};if(arguments.length>1){for(var r,n=Array.prototype.slice.call(arguments,1),i=[],a=0,s=n.length;s>a;a++)n[a]&&(i=i.concat(n[a]));for(e._registry.validateInjections(i),a=0,s=i.length;s>a;a++)r=i[a],t[r.property]=o(e,r.fullName)}return t}function u(e,t){var n=e.factoryCache;if(n[t])return n[t];var i=e._registry,a=i.resolve(t);if(void 0!==a){var o=t.split(":")[0];if(!a||"function"!=typeof a.extend||!r["default"].MODEL_FACTORY_INJECTIONS&&"model"===o)return a&&"function"==typeof a._onLookup&&a._onLookup(t),n[t]=a,a;var s=l(e,t),u=c(e,t);u._toString=i.makeToString(a,t);var h=a.extend(s);return h.reopenClass(u),a&&"function"==typeof a._onLookup&&a._onLookup(t),n[t]=h,h}}function l(e,t){var r=e._registry,n=t.split(":"),i=n[0],a=s(e,r.getTypeInjections(i),r.getInjections(t));return a._debugContainerKey=t,a.container=e,a}function c(e,t){var r=e._registry,n=t.split(":"),i=n[0],a=s(e,r.getFactoryTypeInjections(i),r.getFactoryInjections(t));return a._debugContainerKey=t,a}function h(e,t){var r,n,i=u(e,t);if(e._registry.getOption(t,"instantiate")===!1)return i;if(i){if("function"!=typeof i.create)throw new Error("Failed to create an instance of '"+t+"'. Most likely an improperly defined class or an invalid module export.");return n=e.validationCache,n[t]||"function"!=typeof i._lazyInjections||(r=i._lazyInjections(),r=e._registry.normalizeInjectionsHash(r),e._registry.validateInjections(r)),n[t]=!0,"function"==typeof i.extend?i.create():i.create(l(e,t))}}function d(e,t){for(var r,i,a=e.cache,o=n["default"](a),s=0,u=o.length;u>s;s++)r=o[s],i=a[r],e._registry.getOption(r,"instantiate")!==!1&&t(i)}function f(e){d(e,function(e){e.destroy&&e.destroy()}),e.cache.dict=i["default"](null)}function p(e,t){var r=e.cache[t];delete e.factoryCache[t],r&&(delete e.cache[t],r.destroy&&r.destroy())}var m;a.prototype={_registry:null,cache:null,factoryCache:null,validationCache:null,lookup:function(e,t){return o(this,this._registry.normalize(e),t)},lookupFactory:function(e){return u(this,this._registry.normalize(e))},destroy:function(){d(this,function(e){e.destroy&&e.destroy()}),this.isDestroyed=!0},reset:function(e){arguments.length>0?p(this,this._registry.normalize(e)):f(this)}},function(){function e(e){a.prototype[e]=function(){return this._registry[e].apply(this._registry,arguments)}}for(var t=["register","unregister","resolve","normalize","typeInjection","injection","factoryInjection","factoryTypeInjection","has","options","optionsForType"],r=0,n=t.length;n>r;r++)e(t[r])}(),e["default"]=a}),e("container/registry",["exports","ember-metal/core","ember-metal/dictionary","./container"],function(e,t,r,n){"use strict";function i(e){this.fallback=e&&e.fallback?e.fallback:null,this.resolver=e&&e.resolver?e.resolver:function(){},this.registrations=r["default"](e&&e.registrations?e.registrations:null),this._typeInjections=r["default"](null),this._injections=r["default"](null),this._factoryTypeInjections=r["default"](null),this._factoryInjections=r["default"](null),this._normalizeCache=r["default"](null),this._resolveCache=r["default"](null),this._options=r["default"](null),this._typeOptions=r["default"](null)}function a(e,t){var r=e._resolveCache[t];if(r)return r;var n=e.resolver(t)||e.registrations[t];return e._resolveCache[t]=n,n}function o(e,t){return void 0!==e.resolve(t)}var s=/^[^:]+.+:[^:]+$/;i.prototype={fallback:null,resolver:null,registrations:null,_typeInjections:null,_injections:null,_factoryTypeInjections:null,_factoryInjections:null,_normalizeCache:null,_resolveCache:null,_options:null,_typeOptions:null,_defaultContainer:null,container:function(e){var t=new n["default"](this,e);return this.registerContainer(t),t},registerContainer:function(e){this._defaultContainer||(this._defaultContainer=e),this.fallback&&this.fallback.registerContainer(e)},lookup:function(e,t){return this._defaultContainer.lookup(e,t)},lookupFactory:function(e){return this._defaultContainer.lookupFactory(e)},register:function(e,t,r){if(void 0===t)throw new TypeError("Attempting to register an unknown factory: `"+e+"`");var n=this.normalize(e);if(this._resolveCache[n])throw new Error("Cannot re-register: `"+e+"`, as it has already been resolved.");this.registrations[n]=t,this._options[n]=r||{}},unregister:function(e){var t=this.normalize(e);delete this.registrations[t],delete this._resolveCache[t],delete this._options[t]},resolve:function(e){var t=a(this,this.normalize(e));return void 0===t&&this.fallback&&(t=this.fallback.resolve(e)),t},describe:function(e){return e},normalizeFullName:function(e){return e},normalize:function(e){return this._normalizeCache[e]||(this._normalizeCache[e]=this.normalizeFullName(e))},makeToString:function(e,t){return e.toString()},has:function(e){return o(this,this.normalize(e))},optionsForType:function(e,t){this._typeOptions[e]=t},getOptionsForType:function(e){var t=this._typeOptions[e];return void 0===t&&this.fallback&&(t=this.fallback.getOptionsForType(e)),t},options:function(e,t){t=t||{};var r=this.normalize(e);this._options[r]=t},getOptions:function(e){var t=this.normalize(e),r=this._options[t];return void 0===r&&this.fallback&&(r=this.fallback.getOptions(e)),r},getOption:function(e,t){var r=this._options[e];if(r&&void 0!==r[t])return r[t];var n=e.split(":")[0];return r=this._typeOptions[n],r&&void 0!==r[t]?r[t]:this.fallback?this.fallback.getOption(e,t):void 0},option:function(e,t){return this.getOption(e,t)},typeInjection:function(e,t,r){var n=r.split(":")[0];if(n===e)throw new Error("Cannot inject a `"+r+"` on other "+e+"(s).");var i=this._typeInjections[e]||(this._typeInjections[e]=[]);i.push({property:t,fullName:r})},injection:function(e,t,r){this.validateFullName(r);var n=this.normalize(r);if(-1===e.indexOf(":"))return this.typeInjection(e,t,n);var i=this.normalize(e),a=this._injections[i]||(this._injections[i]=[]);a.push({property:t,fullName:n})},factoryTypeInjection:function(e,t,r){var n=this._factoryTypeInjections[e]||(this._factoryTypeInjections[e]=[]);n.push({property:t,fullName:this.normalize(r)})},factoryInjection:function(e,t,r){var n=this.normalize(e),i=this.normalize(r);if(this.validateFullName(r),-1===e.indexOf(":"))return this.factoryTypeInjection(n,t,i);var a=this._factoryInjections[n]||(this._factoryInjections[n]=[]);a.push({property:t,fullName:i})},validateFullName:function(e){if(!s.test(e))throw new TypeError("Invalid Fullname, expected: `type:name` got: "+e);return!0},validateInjections:function(e){if(e)for(var t,r=0,n=e.length;n>r;r++)if(t=e[r].fullName,!this.has(t))throw new Error("Attempting to inject an unknown injection: `"+t+"`")},normalizeInjectionsHash:function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push({property:r,fullName:e[r]});return t},getInjections:function(e){var t=this._injections[e]||[];return this.fallback&&(t=t.concat(this.fallback.getInjections(e))),t},getTypeInjections:function(e){var t=this._typeInjections[e]||[];return this.fallback&&(t=t.concat(this.fallback.getTypeInjections(e))),t},getFactoryInjections:function(e){var t=this._factoryInjections[e]||[];return this.fallback&&(t=t.concat(this.fallback.getFactoryInjections(e))),t},getFactoryTypeInjections:function(e){var t=this._factoryTypeInjections[e]||[];return this.fallback&&(t=t.concat(this.fallback.getFactoryTypeInjections(e))),t}},e["default"]=i}),e("dag-map",["exports"],function(e){"use strict";function t(e,r,n,i){var a,o=e.name,s=e.incoming,u=e.incomingNames,l=u.length;if(n||(n={}),i||(i=[]),!n.hasOwnProperty(o)){for(i.push(o),n[o]=!0,a=0;l>a;a++)t(s[u[a]],r,n,i);r(e,i),i.pop()}}function r(){this.names=[],this.vertices=Object.create(null)}function n(e){this.name=e,this.incoming={},this.incomingNames=[],this.hasOutgoing=!1,this.value=null}r.prototype.add=function(e){if(!e)throw new Error("Can't add Vertex without name");if(void 0!==this.vertices[e])return this.vertices[e];var t=new n(e);return this.vertices[e]=t,this.names.push(e),t},r.prototype.map=function(e,t){this.add(e).value=t},r.prototype.addEdge=function(e,r){function n(e,t){if(e.name===r)throw new Error("cycle detected: "+r+" <- "+t.join(" <- "))}if(e&&r&&e!==r){var i=this.add(e),a=this.add(r);a.incoming.hasOwnProperty(e)||(t(i,n),i.hasOutgoing=!0,a.incoming[e]=i,a.incomingNames.push(e))}},r.prototype.topsort=function(e){var r,n,i={},a=this.vertices,o=this.names,s=o.length;for(r=0;s>r;r++)n=a[o[r]],n.hasOutgoing||t(n,e,i)},r.prototype.addEdges=function(e,t,r,n){var i;if(this.map(e,t),r)if("string"==typeof r)this.addEdge(e,r);else for(i=0;i<r.length;i++)this.addEdge(e,r[i]);if(n)if("string"==typeof n)this.addEdge(n,e);else for(i=0;i<n.length;i++)this.addEdge(n[i],e)},e["default"]=r}),e("dag-map.umd",["./dag-map"],function(t){"use strict";var r=t["default"];"function"==typeof e&&e.amd?e(function(){return r}):"undefined"!=typeof module&&module.exports?module.exports=r:"undefined"!=typeof this&&(this.DAG=r)}),e("dom-helper",["./morph-range","./morph-attr","./dom-helper/build-html-dom","./dom-helper/classes","./dom-helper/prop","exports"],function(e,t,r,n,i,a){"use strict";function o(e){return e&&e.namespaceURI===f&&!p[e.tagName]?f:null}function s(e,t){if("TABLE"===t.tagName){var r=E.exec(e);if(r){var n=r[1];return"tr"===n||"col"===n}}}function u(e,t){var r=t.document.createElement("div");return r.innerHTML="<svg>"+e+"</svg>",r.firstChild.childNodes}function l(e){if(this.document=e||document,!this.document)throw new Error("A document object must be passed to the DOMHelper, or available on the global scope");this.canClone=C,this.namespace=null}var c=e["default"],h=t["default"],d=r.buildHTMLDOM,f=r.svgNamespace,p=r.svgHTMLIntegrationPoints,m=n.addClasses,g=n.removeClasses,v=i.normalizeProperty,y=i.isAttrRemovalValue,b="undefined"==typeof document?!1:document,_=b&&function(e){var t=e.createElement("div");t.appendChild(e.createTextNode(""));var r=t.cloneNode(!0);return 0===r.childNodes.length}(b),w=b&&function(e){var t=e.createElement("input");t.setAttribute("checked","checked");var r=t.cloneNode(!1);return!r.checked}(b),x=b&&(b.createElementNS?function(e){var t=e.createElementNS(f,"svg");return t.setAttribute("viewBox","0 0 100 100"),t.removeAttribute("viewBox"),!t.getAttribute("viewBox")}(b):!0),C=b&&function(e){var t=e.createElement("div");t.appendChild(e.createTextNode(" ")),t.appendChild(e.createTextNode(" "));var r=t.cloneNode(!0);return" "===r.childNodes[0].nodeValue}(b),E=/<([\w:]+)/,T=l.prototype;T.constructor=l,T.getElementById=function(e,t){return t=t||this.document,t.getElementById(e)},T.insertBefore=function(e,t,r){return e.insertBefore(t,r)},T.appendChild=function(e,t){return e.appendChild(t)},T.childAt=function(e,t){for(var r=e,n=0;n<t.length;n++)r=r.childNodes.item(t[n]);return r},T.childAtIndex=function(e,t){for(var r=e.firstChild,n=0;r&&t>n;n++)r=r.nextSibling;return r},T.appendText=function(e,t){return e.appendChild(this.document.createTextNode(t))},T.setAttribute=function(e,t,r){e.setAttribute(t,String(r))},T.setAttributeNS=function(e,t,r,n){e.setAttributeNS(t,r,String(n))},T.removeAttribute=x?function(e,t){e.removeAttribute(t)}:function(e,t){"svg"===e.tagName&&"viewBox"===t?e.setAttribute(t,null):e.removeAttribute(t)},T.setPropertyStrict=function(e,t,r){e[t]=r},T.setProperty=function(e,t,r,n){var i=t.toLowerCase();if(e.namespaceURI===f||"style"===i)y(r)?e.removeAttribute(t):n?e.setAttributeNS(n,t,r):e.setAttribute(t,r);else{var a=v(e,t);a?e[a]=r:y(r)?e.removeAttribute(t):n&&e.setAttributeNS?e.setAttributeNS(n,t,r):e.setAttribute(t,r)}},b&&b.createElementNS?(T.createElement=function(e,t){var r=this.namespace;return t&&(r="svg"===e?f:o(t)),r?this.document.createElementNS(r,e):this.document.createElement(e)},T.setAttributeNS=function(e,t,r,n){e.setAttributeNS(t,r,String(n))}):(T.createElement=function(e){return this.document.createElement(e)},T.setAttributeNS=function(e,t,r,n){e.setAttribute(r,String(n))}),T.addClasses=m,T.removeClasses=g,T.setNamespace=function(e){this.namespace=e},T.detectNamespace=function(e){this.namespace=o(e)},T.createDocumentFragment=function(){return this.document.createDocumentFragment()},T.createTextNode=function(e){return this.document.createTextNode(e)},T.createComment=function(e){return this.document.createComment(e)},T.repairClonedNode=function(e,t,r){if(_&&t.length>0)for(var n=0,i=t.length;i>n;n++){var a=this.document.createTextNode(""),o=t[n],s=this.childAtIndex(e,o);s?e.insertBefore(a,s):e.appendChild(a)}w&&r&&e.setAttribute("checked","checked")},T.cloneNode=function(e,t){var r=e.cloneNode(!!t);return r},T.createAttrMorph=function(e,t,r){return new h(e,t,this,r)},T.createUnsafeAttrMorph=function(e,t,r){var n=this.createAttrMorph(e,t,r);return n.escaped=!1,n},T.createMorph=function(e,t,r,n){if(n&&11===n.nodeType)throw new Error("Cannot pass a fragment as the contextual element to createMorph");n||1!==e.nodeType||(n=e);var i=new c(this,n);return i.firstNode=t,i.lastNode=r,i.state={},i.isDirty=!0,i},T.createUnsafeMorph=function(e,t,r,n){var i=this.createMorph(e,t,r,n);return i.parseTextAsHTML=!0,i},T.createMorphAt=function(e,t,r,n){var i=t===r,a=this.childAtIndex(e,t),o=i?a:this.childAtIndex(e,r);return this.createMorph(e,a,o,n)},T.createUnsafeMorphAt=function(e,t,r,n){var i=this.createMorphAt(e,t,r,n);return i.parseTextAsHTML=!0,i},T.insertMorphBefore=function(e,t,r){var n=this.document.createComment("");return e.insertBefore(n,t),this.createMorph(e,n,n,r)},T.appendMorph=function(e,t){var r=this.document.createComment("");return e.appendChild(r),this.createMorph(e,r,r,t)},T.insertBoundary=function(e,t){var r=null===t?null:this.childAtIndex(e,t);this.insertBefore(e,this.createTextNode(""),r)},T.parseHTML=function(e,t){var r;if(o(t)===f)r=u(e,this);else{var n=d(e,t,this);if(s(e,t)){for(var i=n[0];i&&1!==i.nodeType;)i=i.nextSibling;r=i.childNodes}else r=n}var a=this.document.createDocumentFragment();if(r&&r.length>0){var l=r[0];for("SELECT"===t.tagName&&(l=l.nextSibling);l;){var c=l;l=l.nextSibling,a.appendChild(c)}}return a};var S;T.protocolForURL=function(e){return S||(S=this.document.createElement("a")),S.href=e,S.protocol},a["default"]=l}),e("dom-helper/build-html-dom",["exports"],function(e){"use strict";function t(e,t){t="&shy;"+t,e.innerHTML=t;for(var r=e.childNodes,n=r[0];1===n.nodeType&&!n.nodeName;)n=n.firstChild;if(3===n.nodeType&&"­"===n.nodeValue.charAt(0)){var i=n.nodeValue.slice(1);i.length?n.nodeValue=n.nodeValue.slice(1):n.parentNode.removeChild(n)}return r}function r(e,r){var i=r.tagName,a=r.outerHTML||(new XMLSerializer).serializeToString(r);if(!a)throw"Can't set innerHTML on "+i+" in this browser";e=n(e,r);for(var o=h[i.toLowerCase()],s=a.match(new RegExp("<"+i+"([^>]*)>","i"))[0],u="</"+i+">",l=[s,e,u],c=o.length,d=1+c;c--;)l.unshift("<"+o[c]+">"),l.push("</"+o[c]+">");var f=document.createElement("div");t(f,l.join(""));for(var p=f;d--;)for(p=p.firstChild;p&&1!==p.nodeType;)p=p.nextSibling;for(;p&&p.tagName!==i;)p=p.nextSibling;return p?p.childNodes:[]}function n(e,t){return"SELECT"===t.tagName&&(e="<option></option>"+e),e}var i={foreignObject:1,desc:1,title:1};e.svgHTMLIntegrationPoints=i;var a="http://www.w3.org/2000/svg";e.svgNamespace=a;var o,s="undefined"==typeof document?!1:document,u=s&&function(e){if(void 0!==e.createElementNS){var t=e.createElementNS(a,"title");return t.innerHTML="<div></div>",0===t.childNodes.length||1!==t.childNodes[0].nodeType}}(s),l=s&&function(e){var t=e.createElement("div");return t.innerHTML="<div></div>",t.firstChild.innerHTML="<script></script>",""===t.firstChild.innerHTML}(s),c=s&&function(e){var t=e.createElement("div");return t.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===t.childNodes[0].nodeValue&&" Value"===t.childNodes[2].nodeValue}(s),h=s&&function(e){var t,r,n=e.createElement("table");try{n.innerHTML="<tbody></tbody>"}catch(i){}finally{r=0===n.childNodes.length}r&&(t={colgroup:["table"],table:[],tbody:["table"],tfoot:["table"],thead:["table"],tr:["table","tbody"]});var a=e.createElement("select");return a.innerHTML="<option></option>",a.childNodes[0]||(t=t||{},t.select=[]),t}(s);o=l?function(e,r,i){return e=n(e,r),r=i.cloneNode(r,!1),t(r,e),r.childNodes}:function(e,t,r){return e=n(e,t),t=r.cloneNode(t,!1),t.innerHTML=e,t.childNodes};var d;d=h||c?function(e,t,n){var i=[],a=[];"string"==typeof e&&(e=e.replace(/(\s*)(<script)/g,function(e,t,r){return i.push(t),r}),e=e.replace(/(<\/script>)(\s*)/g,function(e,t,r){return a.push(r),t}));var s;s=h[t.tagName.toLowerCase()]?r(e,t):o(e,t,n);var u,l,c,d,f=[];for(u=0;u<s.length;u++)if(c=s[u],1===c.nodeType)if("SCRIPT"===c.tagName)f.push(c);else for(d=c.getElementsByTagName("script"),l=0;l<d.length;l++)f.push(d[l]);var p,m,g,v;for(u=0;u<f.length;u++)p=f[u],g=i[u],g&&g.length>0&&(m=n.document.createTextNode(g),p.parentNode.insertBefore(m,p)),v=a[u],v&&v.length>0&&(m=n.document.createTextNode(v),p.parentNode.insertBefore(m,p.nextSibling));return s}:o;var f;f=u?function(e,t,r){return i[t.tagName]?d(e,document.createElement("div"),r):d(e,t,r)}:d,e.buildHTMLDOM=f}),e("dom-helper/classes",["exports"],function(e){"use strict";function t(e){var t=e.getAttribute("class")||"";return""!==t&&" "!==t?t.split(" "):[]}function r(e,t){for(var r=0,n=e.length,i=0,a=t.length,o=new Array(a);n>r;r++)for(i=0;a>i;i++)if(t[i]===e[r]){o[i]=r;break}return o}function n(e,n){for(var i=t(e),a=r(i,n),o=!1,s=0,u=n.length;u>s;s++)void 0===a[s]&&(o=!0,i.push(n[s]));o&&e.setAttribute("class",i.length>0?i.join(" "):"")}function i(e,n){for(var i=t(e),a=r(n,i),o=!1,s=[],u=0,l=i.length;l>u;u++)void 0===a[u]?s.push(i[u]):o=!0;o&&e.setAttribute("class",s.length>0?s.join(" "):"")}var a,o,s="undefined"==typeof document?!1:document,u=s&&function(){
-var e=document.createElement("div");return e.classList?(e.classList.add("boo"),e.classList.add("boo","baz"),"boo baz"===e.className):!1}();u?(a=function(e,t){e.classList?1===t.length?e.classList.add(t[0]):2===t.length?e.classList.add(t[0],t[1]):e.classList.add.apply(e.classList,t):n(e,t)},o=function(e,t){e.classList?1===t.length?e.classList.remove(t[0]):2===t.length?e.classList.remove(t[0],t[1]):e.classList.remove.apply(e.classList,t):i(e,t)}):(a=n,o=i),e.addClasses=a,e.removeClasses=o}),e("dom-helper/prop",["exports"],function(e){"use strict";function t(e){return null===e||void 0===e}function r(e,t){var r,i=e.tagName,a=n[i];if(!a){a={};for(r in e)a[r.toLowerCase()]=r;n[i]=a}return a[t]}e.isAttrRemovalValue=t;var n={};e.propertyCaches=n,e.normalizeProperty=r}),e("ember-application",["ember-metal/core","ember-runtime/system/lazy_load","ember-application/system/resolver","ember-application/system/application","ember-application/ext/controller"],function(e,t,r,n){"use strict";e["default"].Application=n["default"],e["default"].Resolver=r.Resolver,e["default"].DefaultResolver=r["default"],t.runLoadHooks("Ember.Application",n["default"])}),e("ember-application/ext/controller",["exports","ember-metal/core","ember-metal/property_get","ember-metal/error","ember-metal/utils","ember-metal/computed","ember-runtime/mixins/controller","ember-routing/system/controller_for"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r){var a,o,s,u=[];for(o=0,s=r.length;s>o;o++)a=r[o],-1===a.indexOf(":")&&(a="controller:"+a),t._registry.has(a)||u.push(a);if(u.length)throw new n["default"](i.inspect(e)+" needs [ "+u.join(", ")+" ] but "+(u.length>1?"they":"it")+" could not be found")}var l=a.computed(function(){var e=this;return{needs:r.get(e,"needs"),container:r.get(e,"container"),unknownProperty:function(t){var r,n,a,o=this.needs;for(n=0,a=o.length;a>n;n++)if(r=o[n],r===t)return this.container.lookup("controller:"+t);var s=i.inspect(e)+"#needs does not include `"+t+"`. To access the "+t+" controller from "+i.inspect(e)+", "+i.inspect(e)+" should have a `needs` property that is an array of the controllers it has access to.";throw new ReferenceError(s)},setUnknownProperty:function(t,r){throw new Error("You cannot overwrite the value of `controllers."+t+"` of "+i.inspect(e))}}});o["default"].reopen({concatenatedProperties:["needs"],needs:[],init:function(){var e=r.get(this,"needs"),t=r.get(e,"length");t>0&&(this.container&&u(this,this.container,e),r.get(this,"controllers")),this._super.apply(this,arguments)},controllerFor:function(e){return s["default"](r.get(this,"container"),e)},controllers:l}),e["default"]=o["default"]}),e("ember-application/system/application-instance",["exports","ember-metal/property_set","ember-runtime/system/object","ember-metal/run_loop","container/registry"],function(e,t,r,n,i){"use strict";e["default"]=r["default"].extend({container:null,applicationRegistry:null,registry:null,customEvents:null,rootElement:null,init:function(){this._super.apply(this,arguments),this.registry=new i["default"]({fallback:this.applicationRegistry,resolver:this.applicationRegistry.resolver}),this.registry.normalizeFullName=this.applicationRegistry.normalizeFullName,this.registry.makeToString=this.applicationRegistry.makeToString,this.container=this.registry.container(),this.registry.register("-application-instance:main",this,{instantiate:!1})},setupRouter:function(e){var r=this.container.lookup("router:main"),n=e.location;n&&t.set(r,"location",n),r._setupLocation(),r.setupRouter(!0)},didCreateRootView:function(e){e.appendTo(this.rootElement)},startRouting:function(){var e=this.container.lookup("router:main");if(e){var t=!!this.registry.resolver.moduleBasedResolver;e.startRouting(t)}},handleURL:function(e){var t=this.container.lookup("router:main");return t.handleURL(e)},setupEventDispatcher:function(){var e=this.container.lookup("event_dispatcher:main");return e.setup(this.customEvents,this.rootElement),e},willDestroy:function(){this._super.apply(this,arguments),n["default"](this.container,"destroy")}})}),e("ember-application/system/application",["exports","dag-map","container/registry","ember-metal","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/lazy_load","ember-runtime/system/namespace","ember-runtime/mixins/deferred","ember-application/system/resolver","ember-metal/platform/create","ember-metal/run_loop","ember-metal/utils","ember-runtime/controllers/controller","ember-metal/enumerable_utils","ember-runtime/controllers/object_controller","ember-runtime/controllers/array_controller","ember-views/system/renderer","dom-helper","ember-views/views/select","ember-routing-views/views/outlet","ember-views/views/view","ember-views/views/metamorph_view","ember-views/system/event_dispatcher","ember-views/system/jquery","ember-routing/system/route","ember-routing/system/router","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/location/none_location","ember-routing/system/cache","ember-application/system/application-instance","ember-extension-support/container_debug_adapter","ember-metal/environment"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C,E,T,S,A,k,O,R,P,N,D,M){"use strict";function F(e){var t=[];for(var r in e)t.push(r);return t}function j(e){function t(e){return n.resolve(e)}var r=e.get("resolver")||e.get("Resolver")||l["default"],n=r.create({namespace:e});return t.describe=function(e){return n.lookupDescription(e)},t.makeToString=function(e,t){return n.makeToString(e,t)},t.normalize=function(e){return n.normalize?n.normalize(e):e},t.__resolver__=n,t}function I(){z||(z=!0,M["default"].hasDOM&&n["default"].libraries.registerCoreLibrary("jQuery",E["default"]().jquery))}function L(){if(n["default"].LOG_VERSION){n["default"].LOG_VERSION=!1;for(var e=n["default"].libraries._registry,t=p["default"].map(e,function(e){return i.get(e,"name.length")}),r=Math.max.apply(this,t),a=0,o=e.length;o>a;a++){var s=e[a];new Array(r-s.name.length+1).join(" ")}}}function V(e,t){return function(t){if(void 0!==this.superclass[e]&&this.superclass[e]===this[e]){var r={};r[e]=c["default"](this[e]),this.reopenClass(r)}this[e][t.name]=t}}var z=!1,H=s["default"].extend(u["default"],{_suppressDeferredDeprecation:!0,rootElement:"body",eventDispatcher:null,customEvents:null,autoboot:!0,init:function(){this._super.apply(this,arguments),this.$||(this.$=E["default"]),this.buildRegistry(),I(),L(),this._readinessDeferrals=1,this.Router=(this.Router||S["default"]).extend(),this.waitForDOMReady(this.buildDefaultInstance())},buildRegistry:function(){var e=this.registry=H.buildRegistry(this);return e},buildInstance:function(){return N["default"].create({customEvents:i.get(this,"customEvents"),rootElement:i.get(this,"rootElement"),applicationRegistry:this.registry})},buildDefaultInstance:function(){var e=this.buildInstance();return this.__deprecatedInstance__=e,this.__container__=e.container,e},waitForDOMReady:function(e){!this.$||this.$.isReady?h["default"].schedule("actions",this,"domReady",e):this.$().ready(h["default"].bind(this,"domReady",e))},deferReadiness:function(){this._readinessDeferrals++},advanceReadiness:function(){this._readinessDeferrals--,0===this._readinessDeferrals&&h["default"].once(this,this.didBecomeReady)},register:function(){this.registry.register.apply(this.registry,arguments)},inject:function(){this.registry.injection.apply(this.registry,arguments)},initialize:function(){},domReady:function(e){if(!this.isDestroyed){var t=this;return this.boot().then(function(){t.runInstanceInitializers(e)}),this}},boot:function(){if(this._bootPromise)return this._bootPromise;var e=new n["default"].RSVP.defer;return this._bootPromise=e.promise,this._bootResolver=e,this.runInitializers(this.registry),o.runLoadHooks("application",this),this.advanceReadiness(),this._bootPromise},reset:function(){function e(){h["default"](t,"destroy"),this.buildDefaultInstance(),h["default"].schedule("actions",this,"domReady")}var t=this.__deprecatedInstance__;this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,h["default"].join(this,e)},runInitializers:function(e){var t=this;this._runInitializer("initializers",function(r,n){var i=n.initialize;i(e,t)})},runInstanceInitializers:function(e){this._runInitializer("instanceInitializers",function(t,r){r.initialize(e)})},_runInitializer:function(e,r){for(var n,a=i.get(this.constructor,e),o=F(a),s=new t["default"],u=0;u<o.length;u++)n=a[o[u]],s.addEdges(n.name,n,n.before,n.after);s.topsort(function(e){r(e.name,e.value)})},didBecomeReady:function(){this.autoboot&&(M["default"].hasDOM&&this.__deprecatedInstance__.setupEventDispatcher(),this.ready(),this.__deprecatedInstance__.startRouting(),n["default"].testing||(n["default"].Namespace.processAll(),n["default"].BOOTED=!0),this.resolve(this)),this._bootResolver.resolve()},ready:function(){return this},resolver:null,Resolver:null,willDestroy:function(){n["default"].BOOTED=!1,this._bootPromise=null,this._bootResolver=null,this.__deprecatedInstance__.destroy()},initializer:function(e){this.constructor.initializer(e)},then:function(){this._super.apply(this,arguments)}});H.reopenClass({initializers:c["default"](null),instanceInitializers:c["default"](null),initializer:V("initializers","initializer"),buildRegistry:function(e){var t=new r["default"];return t.set=a.set,t.resolver=j(e),t.normalizeFullName=t.resolver.normalize,t.describe=t.resolver.describe,t.makeToString=t.resolver.makeToString,t.optionsForType("component",{singleton:!1}),t.optionsForType("view",{singleton:!1}),t.optionsForType("template",{instantiate:!1}),t.optionsForType("helper",{instantiate:!1}),t.register("application:main",e,{instantiate:!1}),t.register("controller:basic",f["default"],{instantiate:!1}),t.register("controller:object",m["default"],{instantiate:!1}),t.register("controller:array",g["default"],{instantiate:!1}),t.register("renderer:-dom",{create:function(){return new v["default"](new y["default"])}}),t.injection("view","renderer","renderer:-dom"),t.register("view:select",b["default"]),t.register("view:-outlet",_.OutletView),t.register("view:default",x["default"]),t.register("view:toplevel",w["default"].extend()),t.register("route:basic",T["default"],{instantiate:!1}),t.register("event_dispatcher:main",C["default"]),t.injection("router:main","namespace","application:main"),t.injection("view:-outlet","namespace","application:main"),t.register("location:auto",O["default"]),t.register("location:hash",A["default"]),t.register("location:history",k["default"]),t.register("location:none",R["default"]),t.injection("controller","target","router:main"),t.injection("controller","namespace","application:main"),t.register("-bucket-cache:main",P["default"]),t.injection("router","_bucketCache","-bucket-cache:main"),t.injection("route","_bucketCache","-bucket-cache:main"),t.injection("controller","_bucketCache","-bucket-cache:main"),t.injection("route","router","router:main"),t.injection("location","rootURL","-location-setting:root-url"),t.register("resolver-for-debugging:main",t.resolver.__resolver__,{instantiate:!1}),t.injection("container-debug-adapter:main","resolver","resolver-for-debugging:main"),t.injection("data-adapter:main","containerDebugAdapter","container-debug-adapter:main"),t.register("container-debug-adapter:main",D["default"]),t}}),e["default"]=H}),e("ember-application/system/resolver",["exports","ember-metal/core","ember-metal/property_get","ember-metal/logger","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/system/namespace","ember-htmlbars/helpers","ember-metal/dictionary"],function(e,t,r,n,i,a,o,s,u){"use strict";var l=a["default"].extend({namespace:null,normalize:t["default"].required(Function),resolve:t["default"].required(Function),parseName:t["default"].required(Function),lookupDescription:t["default"].required(Function),makeToString:t["default"].required(Function),resolveOther:t["default"].required(Function),_logLookup:t["default"].required(Function)});e["default"]=a["default"].extend({namespace:null,init:function(){this._parseNameCache=u["default"](null)},normalize:function(e){var t=e.split(":",2),r=t[0],n=t[1];if("template"!==r){var i=n;return i.indexOf(".")>-1&&(i=i.replace(/\.(.)/g,function(e){return e.charAt(1).toUpperCase()})),n.indexOf("_")>-1&&(i=i.replace(/_(.)/g,function(e){return e.charAt(1).toUpperCase()})),r+":"+i}return e},resolve:function(e){var t,r=this.parseName(e),n=r.resolveMethodName;return this[n]&&(t=this[n](r)),t=t||this.resolveOther(r),r.root&&r.root.LOG_RESOLVER&&this._logLookup(t,r),t},parseName:function(e){return this._parseNameCache[e]||(this._parseNameCache[e]=this._parseName(e))},_parseName:function(e){var t=e.split(":"),n=t[0],a=t[1],s=a,u=r.get(this,"namespace"),l=u;if("template"!==n&&-1!==s.indexOf("/")){var c=s.split("/");s=c[c.length-1];var h=i.capitalize(c.slice(0,-1).join("."));l=o["default"].byName(h)}var d="main"===a?"Main":i.classify(n);if(!s||!n)throw new TypeError("Invalid fullName: `"+e+"`, must be of the form `type:name` ");return{fullName:e,type:n,fullNameWithoutType:a,name:s,root:l,resolveMethodName:"resolve"+d}},lookupDescription:function(e){var t,r=this.parseName(e);return"template"===r.type?"template at "+r.fullNameWithoutType.replace(/\./g,"/"):(t=r.root+"."+i.classify(r.name).replace(/\./g,""),"model"!==r.type&&(t+=i.classify(r.type)),t)},makeToString:function(e,t){return e.toString()},useRouterNaming:function(e){e.name=e.name.replace(/\./g,"_"),"basic"===e.name&&(e.name="")},resolveTemplate:function(e){var r=e.fullNameWithoutType.replace(/\./g,"/");return t["default"].TEMPLATES[r]?t["default"].TEMPLATES[r]:(r=i.decamelize(r),t["default"].TEMPLATES[r]?t["default"].TEMPLATES[r]:void 0)},resolveView:function(e){return this.useRouterNaming(e),this.resolveOther(e)},resolveController:function(e){return this.useRouterNaming(e),this.resolveOther(e)},resolveRoute:function(e){return this.useRouterNaming(e),this.resolveOther(e)},resolveModel:function(e){var t=i.classify(e.name),n=r.get(e.root,t);return n?n:void 0},resolveHelper:function(e){return this.resolveOther(e)||s["default"][e.fullNameWithoutType]},resolveOther:function(e){var t=i.classify(e.name)+i.classify(e.type),n=r.get(e.root,t);return n?n:void 0},resolveMain:function(e){var t=i.classify(e.type);return r.get(e.root,t)},_logLookup:function(e,t){var r,i;r=e?"[✓]":"[ ]",i=t.fullName.length>60?".":new Array(60-t.fullName.length).join("."),n["default"].info(r,t.fullName,i,this.lookupDescription(t.fullName))}}),e.Resolver=l}),e("ember-extension-support",["ember-metal/core","ember-extension-support/data_adapter","ember-extension-support/container_debug_adapter"],function(e,t,r){"use strict";e["default"].DataAdapter=t["default"],e["default"].ContainerDebugAdapter=r["default"]}),e("ember-extension-support/container_debug_adapter",["exports","ember-metal/core","ember-runtime/system/native_array","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object"],function(e,t,r,n,i,a,o){"use strict";e["default"]=o["default"].extend({container:null,resolver:null,canCatalogEntriesByType:function(e){return"model"===e||"template"===e?!1:!0},catalogEntriesByType:function(e){var o=r.A(a["default"].NAMESPACES),s=r.A(),u=new RegExp(i.classify(e)+"$");return o.forEach(function(e){if(e!==t["default"])for(var r in e)if(e.hasOwnProperty(r)&&u.test(r)){var a=e[r];"class"===n.typeOf(a)&&s.push(i.dasherize(r.replace(u,"")))}}),s}})}),e("ember-extension-support/data_adapter",["exports","ember-metal/property_get","ember-metal/run_loop","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/native_array","ember-application/system/application"],function(e,t,r,n,i,a,o,s){"use strict";e["default"]=a["default"].extend({init:function(){this._super.apply(this,arguments),this.releaseMethods=o.A()},container:null,containerDebugAdapter:void 0,attributeLimit:3,releaseMethods:o.A(),getFilters:function(){return o.A()},watchModelTypes:function(e,t){var r,n=this.getModelTypes(),i=this,a=o.A();r=n.map(function(e){var r=e.klass,n=i.wrapModelType(r,e.name);return a.push(i.observeModelType(r,t)),n}),e(r);var s=function(){a.forEach(function(e){e()}),i.releaseMethods.removeObject(s)};return this.releaseMethods.pushObject(s),s},_nameToClass:function(e){return"string"==typeof e&&(e=this.container.lookupFactory("model:"+e)),e},watchRecords:function(e,t,r,n){var i,a=this,s=o.A(),u=this.getRecords(e),l=function(e){r([e])},c=u.map(function(e){return s.push(a.observeRecord(e,l)),a.wrapRecord(e)}),h=function(e,r,i,o){for(var u=r;r+o>u;u++){var c=e.objectAt(u),h=a.wrapRecord(c);s.push(a.observeRecord(c,l)),t([h])}i&&n(r,i)},d={didChange:h,willChange:function(){return this}};return u.addArrayObserver(a,d),i=function(){s.forEach(function(e){e()}),u.removeArrayObserver(a,d),a.releaseMethods.removeObject(i)},t(c),this.releaseMethods.pushObject(i),i},willDestroy:function(){this._super.apply(this,arguments),this.releaseMethods.forEach(function(e){e()})},detect:function(e){return!1},columnsForType:function(e){return o.A()},observeModelType:function(e,t){var n=this,i=this.getRecords(e),a=function(){t([n.wrapModelType(e)])},o={didChange:function(){r["default"].scheduleOnce("actions",this,a)},willChange:function(){return this}};i.addArrayObserver(this,o);var s=function(){i.removeArrayObserver(n,o)};return s},wrapModelType:function(e,r){var n,i=this.getRecords(e);return n={name:r||e.toString(),count:t.get(i,"length"),columns:this.columnsForType(e),object:e}},getModelTypes:function(){var e,t=this,r=this.get("containerDebugAdapter");return e=r.canCatalogEntriesByType("model")?r.catalogEntriesByType("model"):this._getObjectsOnNamespaces(),e=o.A(e).map(function(e){return{klass:t._nameToClass(e),name:e}}),e=o.A(e).filter(function(e){return t.detect(e.klass)}),o.A(e)},_getObjectsOnNamespaces:function(){var e=o.A(i["default"].NAMESPACES),t=o.A(),r=this;return e.forEach(function(e){for(var i in e)if(e.hasOwnProperty(i)&&r.detect(e[i])){var a=n.dasherize(i);e instanceof s["default"]||!e.toString()||(a=e+"/"+a),t.push(a)}}),t},getRecords:function(e){return o.A()},wrapRecord:function(e){var t={object:e};return t.columnValues=this.getRecordColumnValues(e),t.searchKeywords=this.getRecordKeywords(e),t.filterValues=this.getRecordFilterValues(e),t.color=this.getRecordColor(e),t},getRecordColumnValues:function(e){return{}},getRecordKeywords:function(e){return o.A()},getRecordFilterValues:function(e){return{}},getRecordColor:function(e){return null},observeRecord:function(e,t){return function(){}}})}),e("ember-htmlbars",["ember-metal/core","ember-template-compiler","ember-htmlbars/system/make-view-helper","ember-htmlbars/system/make_bound_helper","ember-htmlbars/helpers","ember-htmlbars/helpers/view","ember-htmlbars/helpers/component","ember-htmlbars/helpers/yield","ember-htmlbars/helpers/with","ember-htmlbars/helpers/log","ember-htmlbars/helpers/debugger","ember-htmlbars/helpers/bind-attr","ember-htmlbars/helpers/if_unless","ember-htmlbars/helpers/loc","ember-htmlbars/helpers/partial","ember-htmlbars/helpers/template","ember-htmlbars/helpers/input","ember-htmlbars/helpers/text_area","ember-htmlbars/helpers/collection","ember-htmlbars/helpers/each","ember-htmlbars/helpers/unbound","ember-htmlbars/system/bootstrap","ember-htmlbars/compat"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_){"use strict";i.registerHelper("view",a.viewHelper),i.registerHelper("component",o.componentHelper),i.registerHelper("yield",s.yieldHelper),i.registerHelper("with",u.withHelper),i.registerHelper("if",d.ifHelper),i.registerHelper("unless",d.unlessHelper),i.registerHelper("log",l.logHelper),i.registerHelper("debugger",c.debuggerHelper),i.registerHelper("loc",f.locHelper),i.registerHelper("partial",p.partialHelper),i.registerHelper("template",m.templateHelper),i.registerHelper("bind-attr",h.bindAttrHelper),i.registerHelper("bindAttr",h.bindAttrHelperDeprecated),i.registerHelper("input",g.inputHelper),i.registerHelper("textarea",v.textareaHelper),i.registerHelper("collection",y.collectionHelper),i.registerHelper("each",b.eachHelper),i.registerHelper("unbound",_.unboundHelper),e["default"].HTMLBars={_registerHelper:i.registerHelper,template:t.template,compile:t.compile,precompile:t.precompile,makeViewHelper:r["default"],makeBoundHelper:n["default"],registerPlugin:t.registerPlugin}}),e("ember-htmlbars/compat",["exports","ember-metal/core","ember-htmlbars/helpers","ember-htmlbars/compat/helper","ember-htmlbars/compat/handlebars-get","ember-htmlbars/compat/make-bound-helper","ember-htmlbars/compat/register-bound-helper","ember-htmlbars/system/make-view-helper","ember-htmlbars/utils/string"],function(e,t,r,n,i,a,o,s,u){"use strict";var l=t["default"].Handlebars=t["default"].Handlebars||{};l.helpers=r["default"],l.helper=n.handlebarsHelper,l.registerHelper=n.registerHandlebarsCompatibleHelper,l.registerBoundHelper=o["default"],l.makeBoundHelper=a["default"],l.get=i["default"],l.makeViewHelper=s["default"],l.SafeString=u.SafeString,l.Utils={escapeExpression:u.escapeExpression},e["default"]=l}),e("ember-htmlbars/compat/handlebars-get",["exports"],function(e){"use strict";function t(e,t,r){return r.data.view.getStream(t).value()}e["default"]=t}),e("ember-htmlbars/compat/helper",["exports","ember-metal/merge","ember-htmlbars/helpers","ember-views/views/view","ember-views/views/component","ember-htmlbars/system/make-view-helper","ember-htmlbars/compat/make-bound-helper","ember-metal/streams/utils"],function(e,t,r,n,i,a,o,s){"use strict";function u(e){if(s.isStream(e))return"ID";var t=typeof e;return t.toUpperCase()}function l(e){this.helperFunction=function(r,n,i,a){var o,l,c,h=this,d={hash:{},types:new Array(r.length),hashTypes:{}};t["default"](d,i),t["default"](d,a),d.hash={},i.isBlock&&(d.fn=function(){l=i.template.render(h,a,i.morph.contextualElement)});for(var f in n)o=n[f],d.hashTypes[f]=u(o),d.hash[f]=s.isStream(o)?o._label:o;for(var p=new Array(r.length),m=0,g=r.length;g>m;m++)o=r[m],d.types[m]=u(o),p[m]=s.isStream(o)?o._label:o;return p.push(d),c=e.apply(this,p),i.isBlock?l:c},this.isHTMLBars=!0}function c(e,t){var n;n=t&&t.isHTMLBars?t:new l(t),r["default"][e]=n}function h(e,t){if(n["default"].detect(t))r["default"][e]=a["default"](t);else{var i=d.call(arguments,1),s=o["default"].apply(this,i);r["default"][e]=s}}e.registerHandlebarsCompatibleHelper=c,e.handlebarsHelper=h;var d=[].slice;l.prototype={preprocessArguments:function(){}},e["default"]=l}),e("ember-htmlbars/compat/make-bound-helper",["exports","ember-metal/core","ember-metal/mixin","ember-htmlbars/system/helper","ember-metal/streams/stream","ember-metal/streams/utils"],function(e,t,r,n,i,a){"use strict";function o(e,t){function o(t,n,o,l){function c(){for(var r=a.readArray(t),i=new Array(t.length),o=0,s=t.length;s>o;o++)h=t[o],i[o]=a.isStream(h)?h._label:h;return r.push({hash:a.readHash(n),data:{properties:i}}),e.apply(d,r)}var h,d=l.data.view,f=t.length;for(var p in n)r.IS_BINDING.test(p)&&(n[p.slice(0,-7)]=d.getStream(n[p]),delete n[p]);var m=a.scanArray(t)||a.scanHash(n);if(m){var g=new i["default"](c);for(u=0;f>u;u++)h=t[u],a.isStream(h)&&h.subscribe(g.notify,g);for(p in n)h=n[p],a.isStream(h)&&h.subscribe(g.notify,g);if(f>0){var v=t[0];if(a.isStream(v)){var y=function(e){e.value(),g.notify()};for(u=0;u<s.length;u++){var b=v.get(s[u]);b.value(),b.subscribe(y)}}}return g}return c()}for(var s=[],u=1;u<arguments.length;u++)s.push(arguments[u]);return new n["default"](o)}e["default"]=o}),e("ember-htmlbars/compat/register-bound-helper",["exports","ember-htmlbars/helpers","ember-htmlbars/compat/make-bound-helper"],function(e,t,r){"use strict";function n(e,n){var a=i.call(arguments,1),o=r["default"].apply(this,a);t["default"][e]=o}var i=[].slice;e["default"]=n}),e("ember-htmlbars/env",["exports","ember-metal/environment","dom-helper","ember-htmlbars/hooks/inline","ember-htmlbars/hooks/content","ember-htmlbars/hooks/component","ember-htmlbars/hooks/block","ember-htmlbars/hooks/element","ember-htmlbars/hooks/subexpr","ember-htmlbars/hooks/attribute","ember-htmlbars/hooks/concat","ember-htmlbars/hooks/get","ember-htmlbars/hooks/set","ember-htmlbars/helpers"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f){"use strict";e["default"]={hooks:{get:h["default"],set:d["default"],inline:n["default"],content:i["default"],block:o["default"],element:s["default"],subexpr:u["default"],component:a["default"],attribute:l["default"],concat:c["default"]},helpers:f["default"],useFragmentCache:!0};var p=t["default"].hasDOM?new r["default"]:null;e.domHelper=p}),e("ember-htmlbars/helpers",["exports","ember-metal/platform/create","ember-htmlbars/system/helper"],function(e,t,r){"use strict";function n(e,t){var n;n=t&&t.isHelper?t:new r["default"](t),i[e]=n}e.registerHelper=n;var i=t["default"](null);e["default"]=i}),e("ember-htmlbars/helpers/bind-attr",["exports","ember-metal/core","ember-runtime/system/string","ember-views/attr_nodes/attr_node","ember-views/attr_nodes/legacy_bind","ember-metal/keys","ember-htmlbars/helpers","ember-metal/enumerable_utils","ember-metal/streams/utils","ember-views/streams/class_name_binding"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e,t,r,o){var s=r.element,l=o.data.view,c=t["class"];if(null!==c&&void 0!==c){u.isStream(c)||(c=h(c,l));var d=new n["default"]("class",c);d._morph=o.dom.createAttrMorph(s,"class"),l.appendChild(d)}for(var f,p,m,g,v=a["default"](t),y=0,b=v.length;b>y;y++)f=v[y],"class"!==f&&(p=t[f],m=u.isStream(p)?p:l.getStream(p),g=new i["default"](f,m),g._morph=o.dom.createAttrMorph(s,f),l.appendChild(g))}function h(e,t){var r=e.split(" "),n=s.map(r,function(e){return l.streamifyClassNameBinding(t,e)}),i=u.concat(n," ");return i}function d(){return o["default"]["bind-attr"].helperFunction.apply(this,arguments)}e.bindAttrHelper=c,e.bindAttrHelperDeprecated=d,e["default"]=c}),e("ember-htmlbars/helpers/collection",["exports","ember-metal/core","ember-metal/mixin","ember-runtime/system/string","ember-metal/property_get","ember-views/views/collection_view","ember-views/streams/utils","ember-metal/enumerable_utils","ember-views/streams/class_name_binding","ember-htmlbars/system/merge-view-bindings"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e,t,n,c){var h,d=e[0],f=c.data,p=n.template,m=n.inverse,g=f.view,v=i.get(g,"controller"),y=v&&v.container?v.container:g.container;h=d?o.readViewFactory(d,y):a["default"];var b,_,w={},x=h.proto();_=t.itemView?o.readViewFactory(t.itemView,y):t.itemViewClass?o.readViewFactory(t.itemViewClass,y):x.itemViewClass,"string"==typeof _&&(_=y.lookupFactory("view:"+_)),delete t.itemViewClass,delete t.itemView;for(var C in t)if("itemController"!==C&&"itemClassBinding"!==C&&t.hasOwnProperty(C)&&(b=C.match(/^item(.)(.*)$/))){var E=b[1].toLowerCase()+b[2];w[E]=r.IS_BINDING.test(C)?g._getBindingForStream(t[C]):t[C],delete t[C]}p&&(w.template=p,delete n.template);var T;m?(T=i.get(x,"emptyViewClass"),T=T.extend({template:m,tagName:w.tagName})):t.emptyViewClass&&(T=o.readViewFactory(t.emptyViewClass,y)),T&&(t.emptyView=T);var S=l["default"](g,{},w);if(t.itemClassBinding){var A=t.itemClassBinding.split(" ");S.classNameBindings=s.map(A,function(e){return u.streamifyClassNameBinding(g,e)})}return t.itemViewClass=_,t._itemViewProps=S,n.helperName=n.helperName||"collection",c.helpers.view.helperFunction.call(this,[h],t,n,c)}e.collectionHelper=c}),e("ember-htmlbars/helpers/component",["exports","ember-metal/core","ember-metal/streams/utils","ember-views/streams/utils","ember-metal/error","ember-views/views/bound_component_view","ember-htmlbars/system/merge-view-bindings","ember-htmlbars/system/append-templated-view"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,u,l,c){var h=c.data.view,d=e[0],f=h.container||r.read(h._keywords.view).container,p={helperName:l.helperName||"component"};l.template&&(p.template=l.template);var m;if(r.isStream(d))m=a["default"],p={_boundComponentOptions:t["default"].merge(u,p)},p._boundComponentOptions.componentNameStream=d;else{if(m=n.readComponentFactory(d,f),!m)throw new i["default"]('HTMLBars error: Could not find component named "'+d+'".');o["default"](h,p,u)}s["default"](h,l.morph,m,p)}e.componentHelper=u}),e("ember-htmlbars/helpers/debugger",["exports","ember-metal/logger"],function(e,t){"use strict";function r(e,r,n,i){{var a=i.data.view;a.get("context")}t["default"].info("Use `view`, `context`, and `get(<path>)` to debug this template.")}e.debuggerHelper=r}),e("ember-htmlbars/helpers/each",["exports","ember-metal/core","ember-views/views/each"],function(e,t,r){"use strict";function n(e,t,n,i){var a=i.data.view,o="each",s=e[0]||a.getStream(""),u=n.template&&n.template.blockParams;return u&&(t.keyword=!0,t.blockParams=u),t.dataSource=s,n.helperName=n.helperName||o,i.helpers.collection.helperFunction.call(this,[r["default"]],t,n,i)}e.eachHelper=n,e.EachView=r["default"]}),e("ember-htmlbars/helpers/if_unless",["exports","ember-metal/core","ember-metal/streams/conditional","ember-views/streams/should_display","ember-metal/property_get","ember-metal/streams/utils","ember-views/views/bound_if_view","ember-htmlbars/templates/empty"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r,n){var i=r.helperName||"if";return c(!1,i,e,t,r,n)}function l(e,t,r,n){var i=r.helperName||"unless";return c(!0,i,e,t,r,n)}function c(e,t,r,n,i,a){var o=a.data.view;return i.isBlock?h(o,e,t,r,n,i,a):d(o,e,t,r,n,i,a)}function h(e,t,r,u,l,c,h){var d=n["default"](u[0]),f=(t?c.inverse:c.template)||s["default"],p=(t?c.template:c.inverse)||s["default"];if(a.isStream(d))e.appendChild(o["default"],{_morph:c.morph,_context:i.get(e,"context"),conditionStream:d,truthyTemplate:f,falsyTemplate:p,helperName:r});else{var m=d?f:p;if(m)return m.render(e,h,c.morph.contextualElement)}}function d(e,t,i,a){return r["default"](n["default"](a[0]),t?a[2]:a[1],t?a[1]:a[2])}e.ifHelper=u,e.unlessHelper=l}),e("ember-htmlbars/helpers/input",["exports","ember-views/views/checkbox","ember-views/views/text_field","ember-metal/streams/utils","ember-metal/core"],function(e,t,r,n,i){"use strict";function a(e,i,a,o){var s,u=i.on;s=n.read(i.type),"checkbox"===s?(delete i.type,o.helpers.view.helperFunction.call(this,[t["default"]],i,a,o)):(delete i.on,i.onEvent=u||"enter",o.helpers.view.helperFunction.call(this,[r["default"]],i,a,o))}e.inputHelper=a}),e("ember-htmlbars/helpers/loc",["exports","ember-metal/core","ember-runtime/system/string","ember-metal/streams/utils"],function(e,t,r,n){"use strict";function i(e,t,n,i){return r.loc.apply(i.data.view,e)}e.locHelper=i}),e("ember-htmlbars/helpers/log",["exports","ember-metal/logger","ember-metal/streams/utils"],function(e,t,r){"use strict";function n(e,n,i,a){for(var o=t["default"].log,s=[],u=0;u<e.length;u++)s.push(r.read(e[u]));o.apply(o,s)}e.logHelper=n}),e("ember-htmlbars/helpers/partial",["exports","ember-metal/property_get","ember-metal/streams/utils","ember-views/views/bound_partial_view","ember-views/system/lookup_partial"],function(e,t,r,n,i){"use strict";function a(e,a,o,s){var u=s.data.view,l=e[0];if(!r.isStream(l)){var c=i["default"](u,l);return c.render(u,s,o.morph.contextualElement)}u.appendChild(n["default"],{_morph:o.morph,_context:t.get(u,"context"),templateNameStream:l,helperName:o.helperName||"partial"})}e.partialHelper=a}),e("ember-htmlbars/helpers/template",["exports","ember-metal/core"],function(e,t){"use strict";function r(e,t,r,n){return r.helperName=r.helperName||"template",n.helpers.partial.helperFunction.call(this,e,t,r,n)}e.templateHelper=r}),e("ember-htmlbars/helpers/text_area",["exports","ember-metal/core","ember-views/views/text_area"],function(e,t,r){"use strict";function n(e,t,n,i){return i.helpers.view.helperFunction.call(this,[r["default"]],t,n,i)}e.textareaHelper=n}),e("ember-htmlbars/helpers/unbound",["exports","ember-metal/error","ember-metal/mixin","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n,i){"use strict";function a(e,r,a,u){
-if(1===e.length)return n.read(e[0]);a.helperName=a.helperName||"unbound";var l=u.data.view,c=e[0]._label,h=i["default"](c,l,u);if(!h)throw new t["default"]("HTMLBars error: Could not find component or helper named "+c+".");return h.helperFunction.call(this,o(e),s(r,l),a,u)}function o(e){for(var t=e.length,r=new Array(t-1),i=1;t>i;i++)r[i-1]=n.read(e[i]);return r}function s(e,t){var i={};for(var a in e)if(r.IS_BINDING.test(a)){var o=e[a];"string"==typeof o&&(o=t.getStream(o)),i[a.slice(0,-7)]=n.read(o)}else i[a]=n.read(e[a]);return i}e.unboundHelper=a}),e("ember-htmlbars/helpers/view",["exports","ember-metal/core","ember-metal/streams/utils","ember-views/streams/utils","ember-views/views/view","ember-htmlbars/system/merge-view-bindings","ember-htmlbars/system/append-templated-view"],function(e,t,r,n,i,a,o){"use strict";function s(e,t,s,u){var l,c=u.data.view,h=c.container||r.read(c._keywords.view).container;l=0===e.length?h?h.lookupFactory("view:toplevel"):i["default"]:n.readViewFactory(e[0],h);var d={helperName:s.helperName||"view"};s.template&&(d.template=s.template),a["default"](c,d,t),o["default"](c,s.morph,l,d)}e.viewHelper=s}),e("ember-htmlbars/helpers/with",["exports","ember-metal/core","ember-views/views/with_view"],function(e,t,r){"use strict";function n(e,t,n,i){var a,o=i.data.view;a=n.template.blockParams?!0:!1,o.appendChild(r["default"],{_morph:n.morph,withValue:e[0],preserveContext:a,previousContext:o.get("context"),controllerName:t.controller,mainTemplate:n.template,inverseTemplate:n.inverse,helperName:n.helperName||"with"})}e.withHelper=n}),e("ember-htmlbars/helpers/yield",["exports","ember-metal/core","ember-metal/property_get"],function(e,t,r){"use strict";function n(e,t,n,i){for(var a=i.data.view,o=a;o&&!r.get(o,"layout");)o=o._contextView?o._contextView:o._parentView;return o._yield(a,i,n.morph,e)}e.yieldHelper=n}),e("ember-htmlbars/hooks/attribute",["exports","ember-views/attr_nodes/attr_node","ember-metal/error","ember-metal/streams/utils","morph-attr/sanitize-attribute-value"],function(e,t,r,n,i){"use strict";function a(e,a,s,u,l){if(o){var c=new t["default"](u,l);c._morph=a,e.data.view.appendChild(c)}else{if(n.isStream(l))throw new r["default"]("Bound attributes are not yet supported in Ember.js");var h=i["default"](e.dom,s,u,l);e.dom.setProperty(s,u,h)}}var o=!1;o=!0,e["default"]=a}),e("ember-htmlbars/hooks/block",["exports","ember-views/views/simple_bound_view","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n){"use strict";function i(e,i,a,o,s,u,l,c){var h=n["default"](o,a,e),d={morph:i,template:l,inverse:c,isBlock:!0},f=h.helperFunction.call(void 0,s,u,d,e);r.isStream(f)?t.appendSimpleBoundView(a,i,f):i.setContent(f)}e["default"]=i}),e("ember-htmlbars/hooks/component",["exports","ember-metal/core","ember-htmlbars/system/lookup-helper"],function(e,t,r){"use strict";function n(e,t,n,i,a,o){var s=r["default"](i,n,e);return s.helperFunction.call(void 0,[],a,{morph:t,template:o},e)}e["default"]=n}),e("ember-htmlbars/hooks/concat",["exports","ember-metal/streams/utils"],function(e,t){"use strict";function r(e,r){return t.concat(r,"")}e["default"]=r}),e("ember-htmlbars/hooks/content",["exports","ember-views/views/simple_bound_view","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n){"use strict";function i(e,i,a,o){var s,u=n["default"](o,a,e);if(u){var l={morph:i,isInline:!0};s=u.helperFunction.call(void 0,[],{},l,e)}else s=a.getStream(o);r.isStream(s)?t.appendSimpleBoundView(a,i,s):i.setContent(s)}e["default"]=i}),e("ember-htmlbars/hooks/element",["exports","ember-metal/core","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n){"use strict";function i(e,t,i,a,o,s){var u,l=n["default"](a,i,e);if(l){var c={element:t};u=l.helperFunction.call(void 0,o,s,c,e)}else u=i.getStream(a);var h=r.read(u);if(h)for(var d=h.toString().split(/\s+/),f=0,p=d.length;p>f;f++){var m=d[f].split("="),g=m[0],v=m[1];v=v.replace(/^['"]/,"").replace(/['"]$/,""),e.dom.setAttribute(t,g,v)}}e["default"]=i}),e("ember-htmlbars/hooks/get",["exports"],function(e){"use strict";function t(e,t,r){return t.getStream(r)}e["default"]=t}),e("ember-htmlbars/hooks/inline",["exports","ember-views/views/simple_bound_view","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n){"use strict";function i(e,i,a,o,s,u){var l=n["default"](o,a,e),c=l.helperFunction.call(void 0,s,u,{morph:i},e);r.isStream(c)?t.appendSimpleBoundView(a,i,c):i.setContent(c)}e["default"]=i}),e("ember-htmlbars/hooks/set",["exports"],function(e){"use strict";function t(e,t,r,n){t._keywords[r]=n}e["default"]=t}),e("ember-htmlbars/hooks/subexpr",["exports","ember-htmlbars/system/lookup-helper"],function(e,t){"use strict";function r(e,r,n,i,a){var o=t["default"](n,r,e),s={isInline:!0};return o.helperFunction.call(void 0,i,a,s,e)}e["default"]=r}),e("ember-htmlbars/system/append-templated-view",["exports","ember-metal/core","ember-metal/property_get","ember-views/views/view"],function(e,t,r,n){"use strict";function i(e,t,i,a){var o;o=n["default"].detectInstance(i)?i:i.proto();var s=!o.controller;return o.controller&&o.controller.isDescriptor&&(s=!0),!s||o.controllerBinding||a.controller||a.controllerBinding||(a._context=r.get(e,"context")),a._morph=t,e.appendChild(i,a)}e["default"]=i}),e("ember-htmlbars/system/bootstrap",["exports","ember-metal/core","ember-views/component_lookup","ember-views/system/jquery","ember-metal/error","ember-runtime/system/lazy_load","ember-template-compiler/system/compile","ember-metal/environment"],function(e,t,r,n,i,a,o,s){"use strict";function u(e){var r='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';n["default"](r,e).each(function(){var e=n["default"](this),r="text/x-raw-handlebars"===e.attr("type")?n["default"].proxy(Handlebars.compile,Handlebars):o["default"],a=e.attr("data-template-name")||e.attr("id")||"application",s=r(e.html());if(void 0!==t["default"].TEMPLATES[a])throw new i["default"]('Template named "'+a+'" already exists.');t["default"].TEMPLATES[a]=s,e.remove()})}function l(){u(n["default"](document))}function c(e){e.register("component-lookup:main",r["default"])}a.onLoad("Ember.Application",function(e){e.initializer({name:"domTemplates",initialize:s["default"].hasDOM?l:function(){}}),e.initializer({name:"registerComponentLookup",after:"domTemplates",initialize:c})}),e["default"]=u}),e("ember-htmlbars/system/helper",["exports"],function(e){"use strict";function t(e){this.helperFunction=e,this.isHelper=!0,this.isHTMLBars=!0}e["default"]=t}),e("ember-htmlbars/system/lookup-helper",["exports","ember-metal/core","ember-metal/cache","ember-htmlbars/system/make-view-helper","ember-htmlbars/compat/helper"],function(e,t,r,n,i){"use strict";function a(e,t,r){var a=r.helpers[e];if(a)return a;var s=t.container;if(s&&!o.get(e)){var u="helper:"+e;if(a=s.lookup(u),!a){var l=s.lookup("component-lookup:main"),c=l.lookupFactory(e,s);c&&(a=n["default"](c),s._registry.register(u,a))}return a&&!a.isHTMLBars&&(a=new i["default"](a),s._registry.unregister(u),s._registry.register(u,a)),a}}var o=new r["default"](1e3,function(e){return-1===e.indexOf("-")});e["default"]=a,e.ISNT_HELPER_CACHE=o}),e("ember-htmlbars/system/make-view-helper",["exports","ember-metal/core","ember-htmlbars/system/helper"],function(e,t,r){"use strict";function n(e){function t(t,r,n,i){return i.helpers.view.helperFunction.call(this,[e],r,n,i)}return new r["default"](t)}e["default"]=n}),e("ember-htmlbars/system/make_bound_helper",["exports","ember-metal/core","ember-htmlbars/system/helper","ember-metal/streams/stream","ember-metal/streams/utils"],function(e,t,r,n,i){"use strict";function a(e){function t(t,r,a,o){function s(){return e.call(c,i.readArray(t),i.readHash(r),a,o)}var u,l,c=o.data.view,h=t.length,d=i.scanArray(t)||i.scanHash(r);if(d){for(var f=new n["default"](s),p=0;h>p;p++)u=t[p],i.subscribe(u,f.notify,f);for(l in r)u=r[l],i.subscribe(u,f.notify,f);return f}return s()}return new r["default"](t)}e["default"]=a}),e("ember-htmlbars/system/merge-view-bindings",["exports","ember-metal/core","ember-metal/mixin","ember-metal/streams/simple","ember-metal/streams/utils","ember-views/streams/class_name_binding"],function(e,t,r,n,i,a){"use strict";function o(e,t,r){return s(e,t,r),u(e,t,r),t}function s(e,t,n){for(var a in n)if("id"!==a&&"tag"!==a&&"class"!==a&&"classBinding"!==a&&"classNameBindings"!==a&&"attributeBindings"!==a){var o=n[a];r.IS_BINDING.test(a)?t[a]="string"==typeof o?e._getBindingForStream(o):i.isStream(o)?e._getBindingForStream(o):o:i.isStream(o)?t[a+"Binding"]=e._getBindingForStream(o):t[a]=o}}function u(e,t,r){r.id&&(t.id=t.elementId=i.read(r.id)),r.tag&&(t.tagName=i.read(r.tag));var o=[];if(r["class"]&&("string"==typeof r["class"]?t.classNames=r["class"].split(" "):o.push(r["class"]._label?r["class"]._label:r["class"])),r.classBinding&&l.apply(o,r.classBinding.split(" ")),r.classNameBindings&&l.apply(o,r.classNameBindings.split(" ")),o.length>0){t.classNameBindings=o;for(var s=0;s<o.length;s++){var u,c=o[s];u=i.isStream(c)?c:a.streamifyClassNameBinding(e,c),o[s]=i.isStream(u)?u:new n["default"](u)}}}var l=Array.prototype.push;e["default"]=o}),e("ember-htmlbars/system/render-view",["exports","ember-metal/core","ember-metal/property_get","ember-htmlbars/env"],function(e,t,r,n){"use strict";function i(e,t,r){if(r){var n;n=r.isHTMLBars?a(e,t,r):o(e,t,r),void 0!==n&&t.push(n)}}function a(e,t,r){var i=t.innerContextualElement(),a=e._blockArguments,o={view:this,dom:e.renderer._dom,hooks:n["default"].hooks,helpers:n["default"].helpers,useFragmentCache:n["default"].useFragmentCache,data:{view:e,buffer:t}};return r.render(e,o,i,a)}function o(e,t,n){var i=r.get(e,"context"),a={data:{view:e,buffer:t}};return n(i,a)}e["default"]=i}),e("ember-htmlbars/templates/component",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.content;n.detectNamespace(r);var o;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(o=this.build(n),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=n.cloneNode(this.cachedFragment,!0))):o=this.build(n);var s=n.createMorphAt(o,0,0,r);return n.insertBoundary(o,null),n.insertBoundary(o,0),a(t,s,e,"yield"),o}}}())}),e("ember-htmlbars/templates/empty",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment();return t},render:function(e,t,r){var n=t.dom;n.detectNamespace(r);var i;return t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(i=this.build(n),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=n.cloneNode(this.cachedFragment,!0))):i=this.build(n),i}}}())}),e("ember-htmlbars/templates/link-to-escaped",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.content;n.detectNamespace(r);var o;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(o=this.build(n),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=n.cloneNode(this.cachedFragment,!0))):o=this.build(n);var s=n.createMorphAt(o,0,0,r);return n.insertBoundary(o,null),n.insertBoundary(o,0),a(t,s,e,"linkTitle"),o}}}())}),e("ember-htmlbars/templates/link-to-unescaped",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.content;n.detectNamespace(r);var o;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(o=this.build(n),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=n.cloneNode(this.cachedFragment,!0))):o=this.build(n);var s=n.createUnsafeMorphAt(o,0,0,r);return n.insertBoundary(o,null),n.insertBoundary(o,0),a(t,s,e,"linkTitle"),o}}}())}),e("ember-htmlbars/templates/select",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){var e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createElement("option");e.setAttribute(r,"value","");var n=e.createComment("");return e.appendChild(r,n),e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.content;n.detectNamespace(r);var o;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(o=this.build(n),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=n.cloneNode(this.cachedFragment,!0))):o=this.build(n);var s=n.createMorphAt(n.childAt(o,[0]),0,0);return a(t,s,e,"view.prompt"),o}}}(),t=function(){var e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.get,o=i.inline;n.detectNamespace(r);var s;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(s=this.build(n),this.hasRendered?this.cachedFragment=s:this.hasRendered=!0),this.cachedFragment&&(s=n.cloneNode(this.cachedFragment,!0))):s=this.build(n);var u=n.createMorphAt(s,0,0,r);return n.insertBoundary(s,null),n.insertBoundary(s,0),o(t,u,e,"view",[a(t,e,"view.groupView")],{content:a(t,e,"group.content"),label:a(t,e,"group.label")}),s}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(t,r,n){var i=r.dom,a=r.hooks,o=a.get,s=a.block;i.detectNamespace(n);var u;r.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(u=this.build(i),this.hasRendered?this.cachedFragment=u:this.hasRendered=!0),this.cachedFragment&&(u=i.cloneNode(this.cachedFragment,!0))):u=this.build(i);var l=i.createMorphAt(u,0,0,n);return i.insertBoundary(u,null),i.insertBoundary(u,0),s(r,l,t,"each",[o(r,t,"view.groupedContent")],{keyword:"group"},e,null),u}}}(),r=function(){var e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.get,o=i.inline;n.detectNamespace(r);var s;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(s=this.build(n),this.hasRendered?this.cachedFragment=s:this.hasRendered=!0),this.cachedFragment&&(s=n.cloneNode(this.cachedFragment,!0))):s=this.build(n);var u=n.createMorphAt(s,0,0,r);return n.insertBoundary(s,null),n.insertBoundary(s,0),o(t,u,e,"view",[a(t,e,"view.optionView")],{content:a(t,e,"item")}),s}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(t,r,n){var i=r.dom,a=r.hooks,o=a.get,s=a.block;i.detectNamespace(n);var u;r.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(u=this.build(i),this.hasRendered?this.cachedFragment=u:this.hasRendered=!0),this.cachedFragment&&(u=i.cloneNode(this.cachedFragment,!0))):u=this.build(i);var l=i.createMorphAt(u,0,0,n);return i.insertBoundary(u,null),i.insertBoundary(u,0),s(r,l,t,"each",[o(r,t,"view.content")],{keyword:"item"},e,null),u}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");e.appendChild(t,r);var r=e.createComment("");e.appendChild(t,r);var r=e.createTextNode("\n");return e.appendChild(t,r),t},render:function(n,i,a){var o=i.dom,s=i.hooks,u=s.get,l=s.block;o.detectNamespace(a);var c;i.useFragmentCache&&o.canClone?(null===this.cachedFragment&&(c=this.build(o),this.hasRendered?this.cachedFragment=c:this.hasRendered=!0),this.cachedFragment&&(c=o.cloneNode(this.cachedFragment,!0))):c=this.build(o);var h=o.createMorphAt(c,0,0,a),d=o.createMorphAt(c,1,1,a);return o.insertBoundary(c,0),l(i,h,n,"if",[u(i,n,"view.prompt")],{},e,null),l(i,d,n,"if",[u(i,n,"view.optionGroupPath")],{},t,r),c}}}())}),e("ember-htmlbars/utils/string",["exports","htmlbars-util","ember-runtime/system/string"],function(e,t,r){"use strict";function n(e){return null===e||void 0===e?"":("string"!=typeof e&&(e=""+e),new t.SafeString(e))}e.htmlSafe=n,r["default"].htmlSafe=n,(i.EXTEND_PROTOTYPES===!0||i.EXTEND_PROTOTYPES.String)&&(String.prototype.htmlSafe=function(){return n(this)}),e.SafeString=t.SafeString,e.escapeExpression=t.escapeExpression}),e("ember-metal-views",["exports","ember-metal-views/renderer"],function(e,t){"use strict";e.Renderer=t["default"]}),e("ember-metal-views/renderer",["exports","dom-helper","ember-metal/environment"],function(e,t,r){"use strict";function n(e,t){this._uuid=0,this._views=new Array(2e3),this._queue=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this._parents=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this._elements=new Array(17),this._inserts={},this._dom=e||l,this._destinedForDOM=void 0===t?!0:t}function i(e,t,r){var n=this._views;n[0]=e;var i=0,a=1,o=t?t._level+1:0,s=null==t?e:t._root,u=!!s._morph,l=this._queue;l[0]=0;for(var c,h,d,f=1,p=-1,m=this._parents,g=t||null,v=this._elements,y=null,b=null,_=0,w=e;f;){if(v[_]=y,w._morph||(w._morph=null),w._root=s,this.uuid(w),w._level=o+_,w._elementCreated&&this.remove(w,!1,!0),this.willCreateElement(w),b=w._morph&&w._morph.contextualElement,!b&&g&&g._childViewsMorph&&(b=g._childViewsMorph.contextualElement),!b&&w._didCreateElementWithoutMorph&&(b="undefined"!=typeof document?document.body:null),y=this.createElement(w,b),m[_++]=p,p=i,g=w,l[f++]=i,c=this.childViews(w))for(h=c.length-1;h>=0;h--)d=c[h],i=a++,n[i]=d,l[f++]=i,w=d;for(i=l[--f],w=n[i];p===i;){if(_--,w._elementCreated=!0,this.didCreateElement(w),u&&this.willInsertElement(w),0===_){f--;break}p=m[_],g=-1===p?t:n[p],this.insertElement(w,g,y,null),i=l[--f],w=n[i],y=v[_],v[_]=null}}for(this.insertElement(w,t,y,r),h=a-1;h>=0;h--)u&&(n[h]._elementInserted=!0,this.didInsertElement(n[h])),n[h]=null;return y}function a(e,t,r){var n=this.uuid(e);if(this._inserts[n]&&(this.cancelRender(this._inserts[n]),this._inserts[n]=void 0),e._elementCreated){var i,a,o,s,u,l,c,h=[],d=[],f=e._morph;for(h.push(e),i=0;i<h.length;i++)if(o=h[i],s=!t&&o._childViewsMorph?h:d,this.beforeRemove(h[i]),u=o._childViews)for(l=0,c=u.length;c>l;l++)s.push(u[l]);for(i=0;i<d.length;i++)if(o=d[i],this.beforeRemove(d[i]),u=o._childViews)for(l=0,c=u.length;c>l;l++)d.push(u[l]);for(f&&!r&&f.destroy(),i=0,a=h.length;a>i;i++)this.afterRemove(h[i],!1);for(i=0,a=d.length;a>i;i++)this.afterRemove(d[i],!0);r&&(e._morph=f)}}function o(e,t,r,n){null!==r&&void 0!==r&&(e._morph?e._morph.setContent(r):t&&(e._morph=t._childViewsMorph.insertContentBeforeMorph(r,n)))}function s(e){e._elementCreated&&this.willDestroyElement(e),e._elementInserted&&this.willRemoveElement(e)}function u(e,t){e._elementInserted=!1,e._morph=null,e._childViewsMorph=null,e._elementCreated&&(e._elementCreated=!1,this.didDestroyElement(e)),t&&this.destroyView(e)}var l=r["default"].hasDOM?new t["default"]:null;n.prototype.uuid=function(e){return void 0===e._uuid&&(e._uuid=++this._uuid,e._renderer=this),e._uuid},n.prototype.scheduleInsert=function(e,t){if(e._morph||e._elementCreated)throw new Error("You cannot insert a View that has already been rendered");e._morph=t;var r=this.uuid(e);this._inserts[r]=this.scheduleRender(this,function(){this._inserts[r]=null,this.renderTree(e)})},n.prototype.appendTo=function(e,t){var r=this._dom.appendMorph(t);this.scheduleInsert(e,r)},n.prototype.appendAttrTo=function(e,t,r){var n=this._dom.createAttrMorph(t,r);this.scheduleInsert(e,n)},n.prototype.replaceIn=function(e,t){var r;r=t.firstNode?this._dom.createMorph(t,t.firstNode,t.lastNode):this._dom.appendMorph(t),this.scheduleInsert(e,r)},n.prototype.remove=a,n.prototype.removeAndDestroy=function(e){this.remove(e,!0)},n.prototype.renderTree=i,n.prototype.insertElement=o,n.prototype.beforeRemove=s,n.prototype.afterRemove=u;var c=function(){};n.prototype.willCreateElement=c,n.prototype.createElement=c,n.prototype.didCreateElement=c,n.prototype.willInsertElement=c,n.prototype.didInsertElement=c,n.prototype.willRemoveElement=c,n.prototype.willDestroyElement=c,n.prototype.didDestroyElement=c,n.prototype.destroyView=c,n.prototype.childViews=c,e["default"]=n}),e("ember-metal",["exports","ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/cache","ember-metal/platform/define_property","ember-metal/platform/create","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/alias","ember-metal/computed_macros","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","ember-metal/is_present","ember-metal/keys","backburner","ember-metal/streams/utils","ember-metal/streams/stream"],function(e,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C,E,T,S,A,k,O,R,P,N,D,M,F,j,I,L,V,z,H,B){"use strict";A.computed.empty=O.empty,A.computed.notEmpty=O.notEmpty,A.computed.none=O.none,A.computed.not=O.not,A.computed.bool=O.bool,A.computed.match=O.match,A.computed.equal=O.equal,A.computed.gt=O.gt,A.computed.gte=O.gte,A.computed.lt=O.lt,A.computed.lte=O.lte,A.computed.alias=k["default"],A.computed.oneWay=O.oneWay,A.computed.reads=O.oneWay,A.computed.readOnly=O.readOnly,A.computed.defaultTo=O.defaultTo,A.computed.deprecatingAlias=O.deprecatingAlias,A.computed.and=O.and,A.computed.or=O.or,A.computed.any=O.any,A.computed.collect=O.collect;var $=r["default"].Instrumentation={};$.instrument=i.instrument,$.subscribe=i.subscribe,$.unsubscribe=i.unsubscribe,$.reset=i.reset,r["default"].instrument=i.instrument,r["default"].subscribe=i.subscribe,r["default"]._Cache=u["default"],r["default"].generateGuid=a.generateGuid,r["default"].GUID_KEY=a.GUID_KEY,r["default"].create=c["default"],r["default"].keys=V["default"],r["default"].platform={defineProperty:v.defineProperty,hasPropertyAccessors:l.hasPropertyAccessors};var q=r["default"].ArrayPolyfills={};q.map=h.map,q.forEach=h.forEach,q.filter=h.filter,q.indexOf=h.indexOf,r["default"].Error=o["default"],r["default"].guidFor=a.guidFor,r["default"].META_DESC=a.META_DESC,r["default"].EMPTY_META=a.EMPTY_META,r["default"].meta=a.meta,r["default"].getMeta=a.getMeta,r["default"].setMeta=a.setMeta,r["default"].metaPath=a.metaPath,r["default"].inspect=a.inspect,r["default"].typeOf=a.typeOf,r["default"].tryCatchFinally=a.tryCatchFinally,r["default"].isArray=a.isArray,r["default"].makeArray=a.makeArray,r["default"].canInvoke=a.canInvoke,r["default"].tryInvoke=a.tryInvoke,r["default"].tryFinally=a.tryFinally,r["default"].wrap=a.wrap,r["default"].apply=a.apply,r["default"].applyStr=a.applyStr,r["default"].uuid=a.uuid,r["default"].Logger=d["default"],r["default"].get=f.get,r["default"].getWithDefault=f.getWithDefault,r["default"].normalizeTuple=f.normalizeTuple,r["default"]._getPath=f._getPath,r["default"].EnumerableUtils=s["default"],r["default"].on=p.on,r["default"].addListener=p.addListener,r["default"].removeListener=p.removeListener,r["default"]._suspendListener=p.suspendListener,r["default"]._suspendListeners=p.suspendListeners,r["default"].sendEvent=p.sendEvent,r["default"].hasListeners=p.hasListeners,r["default"].watchedEvents=p.watchedEvents,r["default"].listenersFor=p.listenersFor,r["default"].accumulateListeners=p.accumulateListeners,r["default"]._ObserverSet=m["default"],r["default"].propertyWillChange=g.propertyWillChange,r["default"].propertyDidChange=g.propertyDidChange,r["default"].overrideChains=g.overrideChains,r["default"].beginPropertyChanges=g.beginPropertyChanges,r["default"].endPropertyChanges=g.endPropertyChanges,r["default"].changeProperties=g.changeProperties,r["default"].Descriptor=v.Descriptor,r["default"].defineProperty=v.defineProperty,r["default"].set=y.set,r["default"].trySet=y.trySet,r["default"].OrderedSet=b.OrderedSet,r["default"].Map=b.Map,r["default"].MapWithDefault=b.MapWithDefault,r["default"].getProperties=_["default"],r["default"].setProperties=w["default"],r["default"].watchKey=x.watchKey,r["default"].unwatchKey=x.unwatchKey,r["default"].flushPendingChains=C.flushPendingChains,r["default"].removeChainWatcher=C.removeChainWatcher,r["default"]._ChainNode=C.ChainNode,r["default"].finishChains=C.finishChains,r["default"].watchPath=E.watchPath,r["default"].unwatchPath=E.unwatchPath,r["default"].watch=T.watch,r["default"].isWatching=T.isWatching,r["default"].unwatch=T.unwatch,r["default"].rewatch=T.rewatch,r["default"].destroy=T.destroy,r["default"].expandProperties=S["default"],r["default"].ComputedProperty=A.ComputedProperty,r["default"].computed=A.computed,r["default"].cacheFor=A.cacheFor,r["default"].addObserver=R.addObserver,r["default"].observersFor=R.observersFor,r["default"].removeObserver=R.removeObserver,r["default"].addBeforeObserver=R.addBeforeObserver,r["default"]._suspendBeforeObserver=R._suspendBeforeObserver,r["default"]._suspendBeforeObservers=R._suspendBeforeObservers,r["default"]._suspendObserver=R._suspendObserver,r["default"]._suspendObservers=R._suspendObservers,r["default"].beforeObserversFor=R.beforeObserversFor,r["default"].removeBeforeObserver=R.removeBeforeObserver,r["default"].IS_BINDING=P.IS_BINDING,r["default"].required=P.required,r["default"].aliasMethod=P.aliasMethod,r["default"].observer=P.observer,r["default"].immediateObserver=P.immediateObserver,r["default"].beforeObserver=P.beforeObserver,r["default"].mixin=P.mixin,r["default"].Mixin=P.Mixin,r["default"].oneWay=N.oneWay,r["default"].bind=N.bind,r["default"].Binding=N.Binding,r["default"].isGlobalPath=N.isGlobalPath,r["default"].run=D["default"],r["default"].Backburner=z["default"],r["default"].libraries=new M["default"],r["default"].libraries.registerCoreLibrary("Ember",r["default"].VERSION),r["default"].isNone=F["default"],r["default"].isEmpty=j["default"],r["default"].isBlank=I["default"],r["default"].isPresent=L["default"],r["default"].merge=n["default"],r["default"].onerror=null,r["default"].__loader.registry["ember-debug"]&&t("ember-debug"),e["default"]=r["default"]}),e("ember-metal/alias",["exports","ember-metal/property_get","ember-metal/property_set","ember-metal/core","ember-metal/error","ember-metal/properties","ember-metal/computed","ember-metal/platform/create","ember-metal/utils","ember-metal/dependent_keys"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e){return new h(e)}function h(e){this.isDescriptor=!0,this.altKey=e,this._dependentKeys=[e]}function d(e,t,r){throw new i["default"]('Cannot set read-only property "'+t+'" on object: '+u.inspect(e))}function f(e,t,n){return a.defineProperty(e,t,null),r.set(e,t,n)}e.AliasedProperty=h,e["default"]=c,h.prototype=s["default"](a.Descriptor.prototype),h.prototype.get=function(e,r){return t.get(e,this.altKey)},h.prototype.set=function(e,t,n){return r.set(e,this.altKey,n)},h.prototype.willWatch=function(e,t){l.addDependentKeys(this,e,t,u.meta(e))},h.prototype.didUnwatch=function(e,t){l.removeDependentKeys(this,e,t,u.meta(e))},h.prototype.setup=function(e,t){var r=u.meta(e);r.watching[t]&&l.addDependentKeys(this,e,t,r)},h.prototype.teardown=function(e,t){var r=u.meta(e);r.watching[t]&&l.removeDependentKeys(this,e,t,r)},h.prototype.readOnly=function(){return this.set=d,this},h.prototype.oneWay=function(){return this.set=f,this},h.prototype._meta=void 0,h.prototype.meta=o.ComputedProperty.prototype.meta}),e("ember-metal/array",["exports"],function(e){"use strict";var t=Array.prototype,r=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},n=function(e,t){return r(e)?e:t},a=n(t.map,function(e){if(void 0===this||null===this||"function"!=typeof e)throw new TypeError;for(var t=Object(this),r=t.length>>>0,n=new Array(r),i=arguments[1],a=0;r>a;a++)a in t&&(n[a]=e.call(i,t[a],a,t));return n}),o=n(t.forEach,function(e){if(void 0===this||null===this||"function"!=typeof e)throw new TypeError;for(var t=Object(this),r=t.length>>>0,n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)}),s=n(t.indexOf,function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1}),u=n(t.lastIndexOf,function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1}),l=n(t.filter,function(e,t){var r,n,i=[],a=this.length;for(r=0;a>r;r++)this.hasOwnProperty(r)&&(n=this[r],e.call(t,n,r,this)&&i.push(n));return i});i.SHIM_ES5&&(t.map=t.map||a,t.forEach=t.forEach||o,t.filter=t.filter||l,t.indexOf=t.indexOf||s,t.lastIndexOf=t.lastIndexOf||u),e.map=a,e.forEach=o,e.filter=l,e.indexOf=s,e.lastIndexOf=u}),e("ember-metal/binding",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/run_loop","ember-metal/path_cache"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,n){return r.get(s.isGlobal(n)?t["default"].lookup:e,n)}function l(e,t){this._direction=void 0,this._from=t,this._to=e,this._readyToSync=void 0,this._oneWay=void 0}function c(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}function h(e,t,r){return new l(t,r).connect(e)}function d(e,t,r){return new l(t,r).oneWay().connect(e)}e.bind=h,e.oneWay=d,e.Binding=l,t["default"].LOG_BINDINGS=!1||!!t["default"].ENV.LOG_BINDINGS,l.prototype={copy:function(){var e=new l(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+i.guidFor(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(e){var t=this._from,r=this._to;return n.trySet(e,r,u(e,t)),a.addObserver(e,t,this,this.fromDidChange),this._oneWay||a.addObserver(e,r,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var t=!this._oneWay;return a.removeObserver(e,this._from,this,this.fromDidChange),t&&a.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,t){var r=this._direction;void 0===r&&(o["default"].schedule("sync",this,this._sync,e),this._direction=t),"back"===r&&"fwd"===t&&(this._direction="fwd")},_sync:function(e){var i=t["default"].LOG_BINDINGS;if(!e.isDestroyed&&this._readyToSync){var o=this._direction,l=this._from,c=this._to;if(this._direction=void 0,
-"fwd"===o){var h=u(e,this._from);i&&t["default"].Logger.log(" ",this.toString(),"->",h,e),this._oneWay?n.trySet(e,c,h):a._suspendObserver(e,c,this,this.toDidChange,function(){n.trySet(e,c,h)})}else if("back"===o){var d=r.get(e,this._to);i&&t["default"].Logger.log(" ",this.toString(),"<-",d,e),a._suspendObserver(e,l,this,this.fromDidChange,function(){n.trySet(s.isGlobal(l)?t["default"].lookup:e,l,d)})}}}},c(l,{from:function(e){var t=this;return new t(void 0,e)},to:function(e){var t=this;return new t(e,void 0)},oneWay:function(e,t){var r=this;return new r(void 0,e).oneWay(t)}}),e.isGlobalPath=s.isGlobal}),e("ember-metal/cache",["exports","ember-metal/dictionary"],function(e,t){"use strict";function r(e,r){this.store=t["default"](null),this.size=0,this.misses=0,this.hits=0,this.limit=e,this.func=r}e["default"]=r;var n=function(){};r.prototype={set:function(e,t){return this.limit>this.size&&(this.size++,this.store[e]=void 0===t?n:t),t},get:function(e){var t=this.store[e];return void 0===t?(this.misses++,t=this.set(e,this.func(e))):t===n?(this.hits++,t=void 0):this.hits++,t},purge:function(){this.store=t["default"](null),this.size=0,this.hits=0,this.misses=0}}}),e("ember-metal/chains",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/array","ember-metal/watch_key"],function(e,t,r,n,i,a){"use strict";function o(e){return e.match(p)[0]}function s(){if(0!==m.length){var e=m;m=[],i.forEach.call(e,function(e){e[0].add(e[1])}),f("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===m.length)}}function u(e,t,r){if(e&&"object"==typeof e){var i=n.meta(e),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[t]||(o[t]=[]),o[t].push(r),a.watchKey(e,t,i)}}function l(e,t,r){if(e&&"object"==typeof e){var n=e.__ember_meta__;if(!n||n.hasOwnProperty("chainWatchers")){var i=n&&n.chainWatchers;if(i&&i[t]){i=i[t];for(var o=0,s=i.length;s>o;o++)if(i[o]===r){i.splice(o,1);break}}a.unwatchKey(e,t,n)}}}function c(e,t,r){this._parent=e,this._key=t,this._watching=void 0===r,this._value=r,this._paths={},this._watching&&(this._object=e.value(),this._object&&u(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()}function h(e,t){if(!e)return void 0;var n=e.__ember_meta__;if(n&&n.proto===e)return void 0;if("@each"===t)return r.get(e,t);var i=e[t],a=null!==i&&"object"==typeof i&&i.isDescriptor?i:void 0;return a&&a._cacheable?n.cache&&t in n.cache?n.cache[t]:void 0:r.get(e,t)}function d(e){var t,r,i,a=e.__ember_meta__;if(a){if(r=a.chainWatchers)for(var o in r)if(r.hasOwnProperty(o)&&(i=r[o]))for(var s=0,u=i.length;u>s;s++)i[s].didChange(null);t=a.chains,t&&t.value()!==e&&(n.meta(e).chains=t=t.copy(e))}}e.flushPendingChains=s,e.finishChains=d,e.removeChainWatcher=l,e.ChainNode=c;var f=t["default"].warn,p=/^([^\.]+)/,m=[],g=c.prototype;g.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=h(e,this._key)}return this._value},g.destroy=function(){if(this._watching){var e=this._object;e&&l(e,this._key,this),this._watching=!1}},g.copy=function(e){var t,r=new c(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},g.add=function(e){var t,n,i,a,s;if(s=this._paths,s[e]=(s[e]||0)+1,t=this.value(),n=r.normalizeTuple(t,e),n[0]&&n[0]===t)e=n[1],i=o(e),e=e.slice(i.length+1);else{if(!n[0])return m.push([this,e]),void(n.length=0);a=n[0],i=e.slice(0,0-(n[1].length+1)),e=n[1]}n.length=0,this.chain(i,e,a)},g.remove=function(e){var t,n,i,a,s;s=this._paths,s[e]>0&&s[e]--,t=this.value(),n=r.normalizeTuple(t,e),n[0]===t?(e=n[1],i=o(e),e=e.slice(i.length+1)):(a=n[0],i=e.slice(0,0-(n[1].length+1)),e=n[1]),n.length=0,this.unchain(i,e)},g.count=0,g.chain=function(e,t,r){var n,i=this._chains;i||(i=this._chains={}),n=i[e],n||(n=i[e]=new c(this,e,r)),n.count++,t&&(e=o(t),t=t.slice(e.length+1),n.chain(e,t))},g.unchain=function(e,t){var r=this._chains,n=r[e];if(t&&t.length>1){var i=o(t),a=t.slice(i.length+1);n.unchain(i,a)}n.count--,n.count<=0&&(delete r[n._key],n.destroy())},g.willChange=function(e){var t=this._chains;if(t)for(var r in t)t.hasOwnProperty(r)&&t[r].willChange(e);this._parent&&this._parent.chainWillChange(this,this._key,1,e)},g.chainWillChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},g.chainDidChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},g.didChange=function(e){if(this._watching){var t=this._parent.value();t!==this._object&&(l(this._object,this._key,this),this._object=t,u(t,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var r=this._chains;if(r)for(var n in r)r.hasOwnProperty(n)&&r[n].didChange(e);null!==e&&this._parent&&this._parent.chainDidChange(this,this._key,1,e)}}),e("ember-metal/computed",["exports","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/dependent_keys"],function(e,t,r,n,i,a,o,s){"use strict";function u(){}function l(e,t){this.isDescriptor=!0,e.__ember_arity=e.length,this._getter=e,e.__ember_arity>1&&(this._setter=e),this._dependentKeys=void 0,this._suspended=void 0,this._meta=void 0,this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)||!1}function c(e){for(var t=0,r=e.length;r>t;t++)e[t].didChange(null)}function h(e){var t;arguments.length>1&&(t=p.call(arguments),e=t.pop());var r=new l(e);if("function"!=typeof e)throw new i["default"]("Computed Property declared without a property function");return t&&r.property.apply(r,t),r}function d(e,t){var r=e.__ember_meta__,n=r&&r.cache,i=n&&n[t];return i===u?void 0:i}e.ComputedProperty=l,e.computed=h,e.cacheFor=d;var f=r.meta,p=[].slice;l.prototype=new a.Descriptor;var m=l.prototype;m.cacheable=function(e){return this._cacheable=e!==!1,this},m["volatile"]=function(){return this._cacheable=!1,this},m.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},m.property=function(){var e,t=function(t){e.push(t)};e=[];for(var r=0,i=arguments.length;i>r;r++)n["default"](arguments[r],t);return this._dependentKeys=e,this},m.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},m.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=f(e);r.cache&&void 0!==r.cache[t]&&(r.cache[t]=void 0,s.removeDependentKeys(this,e,t,r))}},m.get=function(e,t){var r,n,i,a;if(this._cacheable){i=f(e),n=i.cache;var o=n&&n[t];if(o===u)return void 0;if(void 0!==o)return o;r=this._getter.call(e,t),n=i.cache,n||(n=i.cache={}),n[t]=void 0===r?u:r,a=i.chainWatchers&&i.chainWatchers[t],a&&c(a),s.addDependentKeys(this,e,t,i)}else r=this._getter.call(e,t);return r},m.set=function(e,t,r){var n=this._suspended;this._suspended=e;try{this._set(e,t,r)}finally{this._suspended=n}},m._set=function(e,n,l){var c,h,d=this._cacheable,p=this._setter,m=f(e,d),g=m.cache,v=!1;if(this._readOnly)throw new i["default"]('Cannot set read-only property "'+n+'" on object: '+r.inspect(e));if(d&&g&&void 0!==g[n]&&(g[n]!==u&&(c=g[n]),v=!0),!p)return a.defineProperty(e,n,null,c),void t.set(e,n,l);if(h=2===p.__ember_arity?p.call(e,n,l):p.call(e,n,l,c),!v||c!==h){var y=m.watching[n];return y&&o.propertyWillChange(e,n),v&&(g[n]=void 0),d&&(v||s.addDependentKeys(this,e,n,m),g||(g=m.cache={}),g[n]=void 0===h?u:h),y&&o.propertyDidChange(e,n),h}},m.teardown=function(e,t){var r=f(e);return r.cache&&(t in r.cache&&s.removeDependentKeys(this,e,t,r),this._cacheable&&delete r.cache[t]),null},d.set=function(e,t,r){e[t]=void 0===r?u:r},d.get=function(e,t){var r=e[t];return r===u?void 0:r},d.remove=function(e,t){e[t]=void 0}}),e("ember-metal/computed_macros",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/is_empty","ember-metal/is_none","ember-metal/alias"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t){for(var n={},i=0;i<t.length;i++)n[t[i]]=r.get(e,t[i]);return n}function l(e){return function(){var t=T.call(arguments),r=i.computed(function(){return e.apply(this,[u(this,t)])});return r.property.apply(r,t)}}function c(e){return i.computed(e+".length",function(){return a["default"](r.get(this,e))})}function h(e){return i.computed(e+".length",function(){return!a["default"](r.get(this,e))})}function d(e){return i.computed(e,function(){return o["default"](r.get(this,e))})}function f(e){return i.computed(e,function(){return!r.get(this,e)})}function p(e){return i.computed(e,function(){return!!r.get(this,e)})}function m(e,t){return i.computed(e,function(){var n=r.get(this,e);return"string"==typeof n?t.test(n):!1})}function g(e,t){return i.computed(e,function(){return r.get(this,e)===t})}function v(e,t){return i.computed(e,function(){return r.get(this,e)>t})}function y(e,t){return i.computed(e,function(){return r.get(this,e)>=t})}function b(e,t){return i.computed(e,function(){return r.get(this,e)<t})}function _(e,t){return i.computed(e,function(){return r.get(this,e)<=t})}function w(e){return s["default"](e).oneWay()}function x(e){return s["default"](e).readOnly()}function C(e){return i.computed(function(t,n,i){return 1===arguments.length?r.get(this,e):null!=n?n:r.get(this,e)})}function E(e){return i.computed(e,function(t,i){return arguments.length>1?(n.set(this,e,i),i):r.get(this,e)})}e.empty=c,e.notEmpty=h,e.none=d,e.not=f,e.bool=p,e.match=m,e.equal=g,e.gt=v,e.gte=y,e.lt=b,e.lte=_,e.oneWay=w,e.readOnly=x,e.defaultTo=C,e.deprecatingAlias=E;var T=[].slice,S=l(function(e){var t;for(var r in e)if(t=e[r],e.hasOwnProperty(r)&&!t)return!1;return t}),A=l(function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return!1}),k=l(function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),O=l(function(e){var r=t["default"].A();for(var n in e)e.hasOwnProperty(n)&&r.push(o["default"](e[n])?null:e[n]);return r});e.and=S,e.or=A,e.any=k,e.collect=O}),e("ember-metal/core",["exports"],function(e){"use strict";function t(){return this}e.K=t,"undefined"==typeof i&&(i={});var r=a||{};i.imports=i.imports||r,i.lookup=i.lookup||r;var n=i.exports=i.exports||r;n.Em=n.Ember=i,i.isNamespace=!0,i.toString=function(){return"Ember"},i.VERSION="1.11.0",i.ENV||(i.ENV="undefined"!=typeof EmberENV?EmberENV:"undefined"!=typeof ENV?ENV:{}),i.config=i.config||{},"undefined"==typeof i.ENV.DISABLE_RANGE_API&&(i.ENV.DISABLE_RANGE_API=!0),i.FEATURES=i.ENV.FEATURES,i.FEATURES||(i.FEATURES={"features-stripped-test":!1,"ember-routing-named-substates":!0,"mandatory-setter":!1,"ember-htmlbars-component-generation":!1,"ember-htmlbars-component-helper":!0,"ember-htmlbars-inline-if-helper":!0,"ember-htmlbars-attribute-syntax":!0,"ember-routing-transitioning-classes":!0,"new-computed-syntax":!1,"ember-testing-checkbox-helpers":!1,"ember-metal-stream":!1,"ember-htmlbars-each-with-index":!0,"ember-application-instance-initializers":!1,"ember-application-initializer-context":!1,"ember-router-willtransition":!0,"ember-application-visit":!1}),i.FEATURES.isEnabled=function(e){var t=i.FEATURES[e];return i.ENV.ENABLE_ALL_FEATURES?!0:t===!0||t===!1||void 0===t?t:i.ENV.ENABLE_OPTIONAL_FEATURES?!0:!1},i.EXTEND_PROTOTYPES=i.ENV.EXTEND_PROTOTYPES,"undefined"==typeof i.EXTEND_PROTOTYPES&&(i.EXTEND_PROTOTYPES=!0),i.LOG_STACKTRACE_ON_DEPRECATION=i.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,i.SHIM_ES5=i.ENV.SHIM_ES5===!1?!1:i.EXTEND_PROTOTYPES,i.LOG_VERSION=i.ENV.LOG_VERSION===!1?!1:!0,i.K=t,"undefined"==typeof i.assert&&(i.assert=t),"undefined"==typeof i.warn&&(i.warn=t),"undefined"==typeof i.debug&&(i.debug=t),"undefined"==typeof i.runInDebug&&(i.runInDebug=t),"undefined"==typeof i.deprecate&&(i.deprecate=t),"undefined"==typeof i.deprecateFunc&&(i.deprecateFunc=function(e,t){return t}),e["default"]=i}),e("ember-metal/dependent_keys",["exports","ember-metal/platform/create","ember-metal/watching"],function(e,t,r){function n(e,r){var n=e[r];return n?e.hasOwnProperty(r)||(n=e[r]=t["default"](n)):n=e[r]={},n}function i(e){return n(e,"deps")}function a(e,t,a,o){var s,u,l,c,h,d=e._dependentKeys;if(d)for(s=i(o),u=0,l=d.length;l>u;u++)c=d[u],h=n(s,c),h[a]=(h[a]||0)+1,r.watch(t,c,o)}function o(e,t,a,o){var s,u,l,c,h,d=e._dependentKeys;if(d)for(s=i(o),u=0,l=d.length;l>u;u++)c=d[u],h=n(s,c),h[a]=(h[a]||0)-1,r.unwatch(t,c,o)}e.addDependentKeys=a,e.removeDependentKeys=o}),e("ember-metal/deprecate_property",["exports","ember-metal/core","ember-metal/platform/define_property","ember-metal/properties","ember-metal/property_get","ember-metal/property_set"],function(e,t,r,n,i,a){"use strict";function o(e,t,o){function s(){}r.hasPropertyAccessors&&n.defineProperty(e,t,{configurable:!0,enumerable:!1,set:function(e){s(),a.set(this,o,e)},get:function(){return s(),i.get(this,o)}})}e.deprecateProperty=o}),e("ember-metal/dictionary",["exports","ember-metal/platform/create"],function(e,t){"use strict";function r(e){var r=t["default"](e);return r._dict=null,delete r._dict,r}e["default"]=r}),e("ember-metal/enumerable_utils",["exports","ember-metal/array"],function(e,t){"use strict";function r(e,r,n){return e.map?e.map(r,n):t.map.call(e,r,n)}function n(e,r,n){return e.forEach?e.forEach(r,n):t.forEach.call(e,r,n)}function i(e,r,n){return e.filter?e.filter(r,n):t.filter.call(e,r,n)}function a(e,r,n){return e.indexOf?e.indexOf(r,n):t.indexOf.call(e,r,n)}function o(e,t){return void 0===t?[]:r(t,function(t){return a(e,t)})}function s(e,t){var r=a(e,t);-1===r&&e.push(t)}function u(e,t){var r=a(e,t);-1!==r&&e.splice(r,1)}function l(e,t,r,n){for(var i,a,o=[].concat(n),s=[],u=6e4,l=t,c=r;o.length;)i=c>u?u:c,0>=i&&(i=0),a=o.splice(0,u),a=[l,i].concat(a),l+=u,c-=i,s=s.concat(d.apply(e,a));return s}function c(e,t,r,n){return e.replace?e.replace(t,r,n):l(e,t,r,n)}function h(e,t){var r=[];return n(e,function(e){a(t,e)>=0&&r.push(e)}),r}e.map=r,e.forEach=n,e.filter=i,e.indexOf=a,e.indexesOf=o,e.addObject=s,e.removeObject=u,e._replace=l,e.replace=c,e.intersection=h;var d=Array.prototype.splice;e["default"]={_replace:l,addObject:s,filter:i,forEach:n,indexOf:a,indexesOf:o,intersection:h,map:r,removeObject:u,replace:c}}),e("ember-metal/environment",["exports","ember-metal/core"],function(e,t){"use strict";var r,n="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof document.createElement&&!t["default"].ENV.disableBrowserEnvironment;r=n?{hasDOM:!0,isChrome:!!window.chrome&&!window.opera,location:window.location,history:window.history,userAgent:window.navigator.userAgent}:{hasDOM:!1,isChrome:!1,location:null,history:null,userAgent:"Lynx (textmode)"},e["default"]=r}),e("ember-metal/error",["exports","ember-metal/platform/create"],function(e,t){"use strict";function r(){var e=Error.apply(this,arguments);Error.captureStackTrace&&Error.captureStackTrace(this,i.Error);for(var t=0;t<n.length;t++)this[n[t]]=e[n[t]]}var n=["description","fileName","lineNumber","message","name","number","stack"];r.prototype=t["default"](Error.prototype),e["default"]=r}),e("ember-metal/events",["exports","ember-metal/core","ember-metal/utils","ember-metal/platform/create"],function(e,t,r,n){function i(e,t,r){for(var n=-1,i=e.length-3;i>=0;i-=3)if(t===e[i]&&r===e[i+1]){n=i;break}return n}function a(e,t){var i,a=r.meta(e,!0),o=a.listeners;return o?o.__source__!==e&&(o=a.listeners=n["default"](o),o.__source__=e):(o=a.listeners=n["default"](null),o.__source__=e),i=o[t],i&&i.__source__!==e?(i=o[t]=o[t].slice(),i.__source__=e):i||(i=o[t]=[],i.__source__=e),i}function o(e,t,r){var n=e.__ember_meta__,a=n&&n.listeners&&n.listeners[t];if(a){for(var o=[],s=a.length-3;s>=0;s-=3){var u=a[s],l=a[s+1],c=a[s+2],h=i(r,u,l);-1===h&&(r.push(u,l,c),o.push(u,l,c))}return o}}function s(e,t,r,n,o){n||"function"!=typeof r||(n=r,r=null);var s=a(e,t),u=i(s,r,n),l=0;o&&(l|=v),-1===u&&(s.push(r,n,l),"function"==typeof e.didAddListener&&e.didAddListener(t,r,n))}function u(e,t,r,n){function o(r,n){var o=a(e,t),s=i(o,r,n);-1!==s&&(o.splice(s,3),"function"==typeof e.didRemoveListener&&e.didRemoveListener(t,r,n))}if(n||"function"!=typeof r||(n=r,r=null),n)o(r,n);else{var s=e.__ember_meta__,u=s&&s.listeners&&s.listeners[t];if(!u)return;for(var l=u.length-3;l>=0;l-=3)o(u[l],u[l+1])}}function l(e,t,n,o,s){function u(){return s.call(n)}function l(){-1!==h&&(c[h+2]&=~y)}o||"function"!=typeof n||(o=n,n=null);var c=a(e,t),h=i(c,n,o);return-1!==h&&(c[h+2]|=y),r.tryFinally(u,l)}function c(e,t,n,o,s){function u(){return s.call(n)}function l(){for(var e=0,t=p.length;t>e;e++){var r=p[e];m[e][r+2]&=~y}}o||"function"!=typeof n||(o=n,n=null);var c,h,d,f,p=[],m=[];for(d=0,f=t.length;f>d;d++){c=t[d],h=a(e,c);var g=i(h,n,o);-1!==g&&(h[g+2]|=y,p.push(g),m.push(h))}return r.tryFinally(u,l)}function h(e){var t=e.__ember_meta__.listeners,r=[];if(t)for(var n in t)"__source__"!==n&&t[n]&&r.push(n);return r}function d(e,n,i,a){if(e!==t["default"]&&"function"==typeof e.sendEvent&&e.sendEvent(n,i),!a){var o=e.__ember_meta__;a=o&&o.listeners&&o.listeners[n]}if(a){for(var s=a.length-3;s>=0;s-=3){var l=a[s],c=a[s+1],h=a[s+2];c&&(h&y||(h&v&&u(e,n,l,c),l||(l=e),"string"==typeof c?i?r.applyStr(l,c,i):l[c]():i?r.apply(l,c,i):c.call(l)))}return!0}}function f(e,t){var r=e.__ember_meta__,n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function p(e,t){var r=[],n=e.__ember_meta__,i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var a=0,o=i.length;o>a;a+=3){var s=i[a],u=i[a+1];r.push([s,u])}return r}function m(){var e=g.call(arguments,-1)[0],t=g.call(arguments,0,-1);return e.__ember_listens__=t,e}e.accumulateListeners=o,e.addListener=s,e.suspendListener=l,e.suspendListeners=c,e.watchedEvents=h,e.sendEvent=d,e.hasListeners=f,e.listenersFor=p,e.on=m,e.removeListener=u;var g=[].slice,v=1,y=2}),e("ember-metal/expand_properties",["exports","ember-metal/error","ember-metal/enumerable_utils","ember-metal/utils"],function(e,t,r,n){"use strict";function i(e,i){if(e.indexOf(" ")>-1)throw new t["default"]("Brace expanded properties cannot contain spaces, e.g. `user.{firstName, lastName}` should be `user.{firstName,lastName}`");if("string"===n.typeOf(e)){var s=e.split(o),u=[s];r.forEach(s,function(e,t){e.indexOf(",")>=0&&(u=a(u,e.split(","),t))}),r.forEach(u,function(e){i(e.join(""))})}else i(e)}function a(e,t,n){var i=[];return r.forEach(e,function(e){r.forEach(t,function(t){var r=e.slice(0);r[n]=t,i.push(r)})}),i}var o=/\{|\}/;e["default"]=i}),e("ember-metal/get_properties",["exports","ember-metal/property_get","ember-metal/utils"],function(e,t,r){"use strict";function n(e){var n={},i=arguments,a=1;2===arguments.length&&"array"===r.typeOf(arguments[1])&&(a=0,i=arguments[1]);for(var o=i.length;o>a;a++)n[i[a]]=t.get(e,i[a]);return n}e["default"]=n}),e("ember-metal/injected_property",["exports","ember-metal/core","ember-metal/computed","ember-metal/alias","ember-metal/properties","ember-metal/platform/create"],function(e,t,r,n,i,a){"use strict";function o(e,t){this.type=e,this.name=t,this._super$Constructor(s),c.oneWay.call(this)}function s(e){var t=this[e],r=null!==t&&"object"==typeof t&&t.isDescriptor?t:void 0;return this.container.lookup(r.type+":"+(r.name||e))}o.prototype=a["default"](i.Descriptor.prototype);var u=o.prototype,l=r.ComputedProperty.prototype,c=n.AliasedProperty.prototype;u._super$Constructor=r.ComputedProperty,u.get=l.get,u.readOnly=l.readOnly,u.teardown=l.teardown,e["default"]=o}),e("ember-metal/instrumentation",["exports","ember-metal/core","ember-metal/utils"],function(e,t,r){"use strict";function n(e,t,n,a){if(arguments.length<=3&&"function"==typeof t&&(a=n,n=t,t=void 0),0===u.length)return n.call(a);var o=t||{},s=i(e,function(){return o});if(s){var l=function(){return n.call(a)},c=function(e){o.exception=e};return r.tryCatchFinally(l,c,s)}return n.call(a)}function i(e,r){var n=l[e];if(n||(n=c(e)),0!==n.length){var i,a=r(),o=t["default"].STRUCTURED_PROFILE;o&&(i=e+": "+a.object,console.time(i));var s,u,d=n.length,f=new Array(d),p=h();for(s=0;d>s;s++)u=n[s],f[s]=u.before(e,p,a);return function(){var t,r,s,u=h();for(t=0,r=n.length;r>t;t++)s=n[t],s.after(e,u,a,f[t]);o&&console.timeEnd(i)}}}function a(e,t){for(var r,n=e.split("."),i=[],a=0,o=n.length;o>a;a++)r=n[a],i.push("*"===r?"[^\\.]*":r);i=i.join("\\."),i+="(\\..*)?";var s={pattern:e,regex:new RegExp("^"+i+"$"),object:t};return u.push(s),l={},s}function o(e){for(var t,r=0,n=u.length;n>r;r++)u[r]===e&&(t=r);u.splice(t,1),l={}}function s(){u.length=0,l={}}e.instrument=n,e._instrumentStart=i,e.subscribe=a,e.unsubscribe=o,e.reset=s;var u=[],l={},c=function(e){for(var t,r=[],n=0,i=u.length;i>n;n++)t=u[n],t.regex.test(e)&&r.push(t.object);return l[e]=r,r},h=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return t?t.bind(e):function(){return+new Date}}();e.subscribers=u}),e("ember-metal/is_blank",["exports","ember-metal/is_empty"],function(e,t){"use strict";function r(e){return t["default"](e)||"string"==typeof e&&null===e.match(/\S/)}e["default"]=r}),e("ember-metal/is_empty",["exports","ember-metal/property_get","ember-metal/is_none"],function(e,t,r){"use strict";function n(e){var n=r["default"](e);if(n)return n;if("number"==typeof e.size)return!e.size;var i=typeof e;if("object"===i){var a=t.get(e,"size");if("number"==typeof a)return!a}if("number"==typeof e.length&&"function"!==i)return!e.length;if("object"===i){var o=t.get(e,"length");if("number"==typeof o)return!o}return!1}e["default"]=n}),e("ember-metal/is_none",["exports"],function(e){"use strict";function t(e){return null===e||void 0===e}e["default"]=t}),e("ember-metal/is_present",["exports","ember-metal/is_blank"],function(e,t){"use strict";function r(e){return!t["default"](e)}e["default"]=r}),e("ember-metal/keys",["exports","ember-metal/platform/define_property"],function(e,t){"use strict";var r=Object.keys;r&&t.canDefineNonEnumerableProperties||(r=function(){var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),r=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=r.length;return function(i){if("object"!=typeof i&&("function"!=typeof i||null===i))throw new TypeError("Object.keys called on non-object");var a,o,s=[];for(a in i)"_super"!==a&&0!==a.lastIndexOf("__",0)&&e.call(i,a)&&s.push(a);if(t)for(o=0;n>o;o++)e.call(i,r[o])&&s.push(r[o]);return s}}()),e["default"]=r}),e("ember-metal/libraries",["exports","ember-metal/core","ember-metal/enumerable_utils"],function(e,t,r){"use strict";function n(){this._registry=[],this._coreLibIndex=0}n.prototype={constructor:n,_getLibraryByName:function(e){for(var t=this._registry,r=t.length,n=0;r>n;n++)if(t[n].name===e)return t[n]},register:function(e,t,r){var n=this._registry.length;this._getLibraryByName(e)||(r&&(n=this._coreLibIndex++),this._registry.splice(n,0,{name:e,version:t}))},registerCoreLibrary:function(e,t){this.register(e,t,!0)},deRegister:function(e){var t,n=this._getLibraryByName(e);n&&(t=r.indexOf(this._registry,n),this._registry.splice(t,1))},each:function(e){r.forEach(this._registry,function(t){e(t.name,t.version)})}},e["default"]=n}),e("ember-metal/logger",["exports","ember-metal/core","ember-metal/error"],function(e,t,r){"use strict";function n(){return this}function i(e){var r,n;t["default"].imports.console?r=t["default"].imports.console:"undefined"!=typeof console&&(r=console);var i="object"==typeof r?r[e]:null;return i?"function"==typeof i.bind?(n=i.bind(r),n.displayName="console."+e,n):"function"==typeof i.apply?(n=function(){i.apply(r,arguments)},n.displayName="console."+e,n):function(){var e=Array.prototype.join.call(arguments,", ");i(e)}:void 0}function a(e,t){if(!e)try{throw new r["default"]("assertion failed: "+t)}catch(n){setTimeout(function(){throw n},0)}}e["default"]={log:i("log")||n,warn:i("warn")||n,error:i("error")||n,info:i("info")||n,debug:i("debug")||i("info")||n,assert:i("assert")||a}}),e("ember-metal/map",["exports","ember-metal/utils","ember-metal/array","ember-metal/platform/create","ember-metal/deprecate_property"],function(e,t,r,n,a){"use strict";function o(e){throw new TypeError(""+Object.prototype.toString.call(e)+" is not a function")}function s(e){throw new TypeError("Constructor "+e+"requires 'new'")}function u(e){var t=n["default"](null);for(var r in e)t[r]=e[r];return t}function l(e,t){var r=e._keys.copy(),n=u(e._values);return t._keys=r,t._values=n,t.size=e.size,t}function c(){this instanceof c?(this.clear(),this._silenceRemoveDeprecation=!1):s("OrderedSet")}function h(){this instanceof this.constructor?(this._keys=c.create(),this._keys._silenceRemoveDeprecation=!0,this._values=n["default"](null),this.size=0):s("OrderedSet")}function d(e){this._super$constructor(),this.defaultValue=e.defaultValue}e.OrderedSet=c,e.Map=h,e.MapWithDefault=d,c.create=function(){var e=this;return new e},c.prototype={constructor:c,clear:function(){this.presenceSet=n["default"](null),this.list=[],this.size=0},add:function(e,r){var n=r||t.guidFor(e),i=this.presenceSet,a=this.list;return i[n]!==!0&&(i[n]=!0,this.size=a.push(e)),this},remove:function(e,t){return this["delete"](e,t)},"delete":function(e,n){var i=n||t.guidFor(e),a=this.presenceSet,o=this.list;if(a[i]===!0){delete a[i];var s=r.indexOf.call(o,e);return s>-1&&o.splice(s,1),this.size=o.length,!0}return!1},isEmpty:function(){return 0===this.size},has:function(e){if(0===this.size)return!1;var r=t.guidFor(e),n=this.presenceSet;return n[r]===!0},forEach:function(e){if("function"!=typeof e&&o(e),0!==this.size){var t,r=this.list,n=arguments.length;if(2===n)for(t=0;t<r.length;t++)e.call(arguments[1],r[t]);else for(t=0;t<r.length;t++)e(r[t])}},toArray:function(){return this.list.slice()},copy:function(){var e=this.constructor,t=new e;return t._silenceRemoveDeprecation=this._silenceRemoveDeprecation,t.presenceSet=u(this.presenceSet),t.list=this.toArray(),t.size=this.size,t}},a.deprecateProperty(c.prototype,"length","size"),i.Map=h,h.create=function(){var e=this;return new e},h.prototype={constructor:h,size:0,get:function(e){if(0!==this.size){var r=this._values,n=t.guidFor(e);return r[n]}},set:function(e,r){var n=this._keys,i=this._values,a=t.guidFor(e),o=e===-0?0:e;return n.add(o,a),i[a]=r,this.size=n.size,this},remove:function(e){return this["delete"](e)},"delete":function(e){if(0===this.size)return!1;var r=this._keys,n=this._values,i=t.guidFor(e);return r["delete"](e,i)?(delete n[i],this.size=r.size,!0):!1},has:function(e){return this._keys.has(e)},forEach:function(e){if("function"!=typeof e&&o(e),0!==this.size){var t,r,n=arguments.length,i=this;2===n?(r=arguments[1],t=function(t){e.call(r,i.get(t),t,i)}):t=function(t){e(i.get(t),t,i)},this._keys.forEach(t)}},clear:function(){this._keys.clear(),this._values=n["default"](null),this.size=0},copy:function(){return l(this,new h)}},a.deprecateProperty(h.prototype,"length","size"),d.create=function(e){return e?new d(e):new h},d.prototype=n["default"](h.prototype),d.prototype.constructor=d,d.prototype._super$constructor=h,d.prototype._super$get=h.prototype.get,d.prototype.get=function(e){var t=this.has(e);if(t)return this._super$get(e);var r=this.defaultValue(e);return this.set(e,r),r},d.prototype.copy=function(){var e=this.constructor;return l(this,new e({defaultValue:this.defaultValue}))},e["default"]=h}),e("ember-metal/merge",["exports","ember-metal/keys"],function(e,t){"use strict";function r(e,r){if(!r||"object"!=typeof r)return e;for(var n,i=t["default"](r),a=i.length,o=0;a>o;o++)n=i[o],e[n]=r[n];return e}e["default"]=r}),e("ember-metal/mixin",["exports","ember-metal/core","ember-metal/merge","ember-metal/array","ember-metal/platform/create","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/properties","ember-metal/computed","ember-metal/binding","ember-metal/observer","ember-metal/events","ember-metal/streams/utils"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p){function m(){var e,t=this.__nextSuper;if(t){var r=arguments.length;return this.__nextSuper=null,e=0===r?t.call(this):1===r?t.call(this,arguments[0]):2===r?t.call(this,arguments[0],arguments[1]):t.apply(this,arguments),this.__nextSuper=t,e}}function g(e){var t=s.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=i["default"](r)):r=t.mixins={},r}function v(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function y(e,t){var r;return t instanceof F?(r=s.guidFor(t),e[r]?K:(e[r]=t,t.properties)):t}function b(e,t,r,n){var i;return i=r[e]||n[e],t[e]&&(i=i?i.concat(t[e]):t[e]),i}function _(e,t,r,n,a,o){var u;if(void 0===n[t]&&(u=a[t]),!u){var l=o[t],h=null!==l&&"object"==typeof l&&l.isDescriptor?l:void 0;u=h}return void 0!==u&&u instanceof c.ComputedProperty?(r=i["default"](r),r._getter=s.wrap(r._getter,u._getter),u._setter&&(r._setter=r._setter?s.wrap(r._setter,u._setter):u._setter),r):r}function w(e,t,r,n,i){var a;if(void 0===i[t]&&(a=n[t]),a=a||e[t],void 0===a||"function"!=typeof a)return r;var o;return Y&&(o=r.__hasSuper,void 0===o&&(o=r.toString().indexOf("_super")>-1,r.__hasSuper=o)),Y===!1||o?s.wrap(r,a):r}function x(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?null===r||void 0===r?i:i.concat(r):s.makeArray(i).concat(r):s.makeArray(r)}function C(e,t,n,i){var a=i[t]||e[t];if(!a)return n;var o=r["default"]({},a),s=!1;for(var u in n)if(n.hasOwnProperty(u)){var l=n[u];v(l)?(s=!0,o[u]=w(e,u,l,a,{})):o[u]=l}return s&&(o._super=m),o}function E(e,t,r,i,a,o,s,u){if(r instanceof l.Descriptor){if(r===q&&a[t])return K;r._getter&&(r=_(i,t,r,o,a,e)),a[t]=r,o[t]=void 0}else s&&n.indexOf.call(s,t)>=0||"concatenatedProperties"===t||"mergedProperties"===t?r=x(e,t,r,o):u&&n.indexOf.call(u,t)>=0?r=C(e,t,r,o):v(r)&&(r=w(e,t,r,o,a)),a[t]=void 0,o[t]=r}function T(e,t,r,i,a,o){function u(e){delete r[e],delete i[e]}for(var l,c,h,d,f,p,m=0,g=e.length;g>m;m++)if(l=e[m],c=y(t,l),c!==K)if(c){p=s.meta(a),a.willMergeMixin&&a.willMergeMixin(c),d=b("concatenatedProperties",c,i,a),f=b("mergedProperties",c,i,a);for(h in c)c.hasOwnProperty(h)&&(o.push(h),E(a,h,c[h],p,r,i,d,f));c.hasOwnProperty("toString")&&(a.toString=c.toString)}else l.mixins&&(T(l.mixins,t,r,i,a,o),l._without&&n.forEach.call(l._without,u))}function S(e,t,r,n){if(G.test(t)){var a=n.bindings;a?n.hasOwnProperty("bindings")||(a=n.bindings=i["default"](n.bindings)):a=n.bindings={},a[t]=r}}function A(e,t,r){var n=function(r){d._suspendObserver(e,t,null,s,function(){o.trySet(e,t,r.value())})},s=function(){r.setValue(a.get(e,t),n)};o.set(e,t,r.value()),d.addObserver(e,t,null,s),r.subscribe(n),void 0===e._streamBindingSubscriptions&&(e._streamBindingSubscriptions=i["default"](null)),e._streamBindingSubscriptions[t]=n}function k(e,t){var r,n,i,a=t.bindings;if(a){for(r in a)if(n=a[r]){if(i=r.slice(0,-7),p.isStream(n)){A(e,i,n);continue}n instanceof h.Binding?(n=n.copy(),n.to(i)):n=new h.Binding(i,n),n.connect(e),e[r]=n}t.bindings={}}}function O(e,t){return k(e,t||s.meta(e)),e}function R(e,t,r,n,i){var a,o,s=t.methodName;return n[s]||i[s]?(a=i[s],t=n[s]):(o=e[s])&&null!==o&&"object"==typeof o&&o.isDescriptor?(t=o,a=void 0):(t=void 0,a=e[s]),{desc:t,value:a}}function P(e,t,r,n,i){var a=r[n];if(a)for(var o=0,s=a.length;s>o;o++)i(e,a[o],null,t)}function N(e,t,r){var n=e[t];"function"==typeof n&&(P(e,t,n,"__ember_observesBefore__",d.removeBeforeObserver),P(e,t,n,"__ember_observes__",d.removeObserver),P(e,t,n,"__ember_listens__",f.removeListener)),"function"==typeof r&&(P(e,t,r,"__ember_observesBefore__",d.addBeforeObserver),P(e,t,r,"__ember_observes__",d.addObserver),P(e,t,r,"__ember_listens__",f.addListener))}function D(e,t,r){var n,i,a,o={},u={},c=s.meta(e),h=[];e._super=m,T(t,g(e),o,u,e,h);for(var d=0,f=h.length;f>d;d++)if(n=h[d],"constructor"!==n&&u.hasOwnProperty(n)&&(a=o[n],
-i=u[n],a!==q)){for(;a&&a instanceof V;){var p=R(e,a,c,o,u);a=p.desc,i=p.value}(void 0!==a||void 0!==i)&&(N(e,n,i),S(e,n,i,c),l.defineProperty(e,n,a,i,c))}return r||O(e,c),e}function M(e){var t=U.call(arguments,1);return D(e,t,!1),e}function F(e,t){this.properties=t;var r=e&&e.length;if(r>0){for(var n=new Array(r),i=0;r>i;i++){var a=e[i];n[i]=a instanceof F?a:new F(void 0,a)}this.mixins=n}else this.mixins=void 0;this.ownerConstructor=void 0}function j(e,t,r){var n=s.guidFor(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,a=i?i.length:0;--a>=0;)if(j(i[a],t,r))return!0;return!1}function I(e,t,r){if(!r[s.guidFor(t)])if(r[s.guidFor(t)]=!0,t.properties){var i=t.properties;for(var a in i)i.hasOwnProperty(a)&&(e[a]=!0)}else t.mixins&&n.forEach.call(t.mixins,function(t){I(e,t,r)})}function L(){return q}function V(e){this.isDescriptor=!0,this.methodName=e}function z(e){return new V(e)}function H(){var e,r=U.call(arguments,-1)[0],n=function(t){e.push(t)},i=U.call(arguments,0,-1);"function"!=typeof r&&(r=arguments[0],i=U.call(arguments,1)),e=[];for(var a=0;a<i.length;++a)u["default"](i[a],n);if("function"!=typeof r)throw new t["default"].Error("Ember.observer called without a function");return r.__ember_observes__=e,r}function B(){for(var e=0,t=arguments.length;t>e;e++){arguments[e]}return H.apply(this,arguments)}function $(){var e,r=U.call(arguments,-1)[0],n=function(t){e.push(t)},i=U.call(arguments,0,-1);"function"!=typeof r&&(r=arguments[0],i=U.call(arguments,1)),e=[];for(var a=0;a<i.length;++a)u["default"](i[a],n);if("function"!=typeof r)throw new t["default"].Error("Ember.beforeObserver called without a function");return r.__ember_observesBefore__=e,r}e.mixin=M,e.required=L,e.aliasMethod=z,e.observer=H,e.immediateObserver=B,e.beforeObserver=$,e.Mixin=F;var q,U=[].slice,W={__nextSuper:function(e,t,r,n){}};m.call(W),m.call(W,1),m.call(W,1,2),m.call(W,1,2,3);var K={},Y=function(){return this}.toString().indexOf("return this;")>-1,G=/^.+Binding$/;e["default"]=F,F._apply=D,F.applyPartial=function(e){var t=U.call(arguments,1);return D(e,t,!0)},F.finishPartial=O,t["default"].anyUnprocessedMixins=!1,F.create=function(){t["default"].anyUnprocessedMixins=!0;for(var e=this,r=arguments.length,n=new Array(r),i=0;r>i;i++)n[i]=arguments[i];return new e(n,void 0)};var Q=F.prototype;Q.reopen=function(){var e;this.properties?(e=new F(void 0,this.properties),this.properties=void 0,this.mixins=[e]):this.mixins||(this.mixins=[]);var t,r=arguments.length,n=this.mixins;for(t=0;r>t;t++)e=arguments[t],n.push(e instanceof F?e:new F(void 0,e));return this},Q.apply=function(e){return D(e,[this],!1)},Q.applyPartial=function(e){return D(e,[this],!0)},Q.detect=function(e){if(!e)return!1;if(e instanceof F)return j(e,this,{});var t=e.__ember_meta__,r=t&&t.mixins;return r?!!r[s.guidFor(this)]:!1},Q.without=function(){var e=new F([this]);return e._without=U.call(arguments),e},Q.keys=function(){var e={},t={},r=[];I(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},F.mixins=function(e){var t=e.__ember_meta__,r=t&&t.mixins,n=[];if(!r)return n;for(var i in r){var a=r[i];a.properties||n.push(a)}return n},q=new l.Descriptor,q.toString=function(){return"(Required Property)"},V.prototype=new l.Descriptor,e.IS_BINDING=G}),e("ember-metal/observer",["exports","ember-metal/watching","ember-metal/array","ember-metal/events"],function(e,t,r,n){"use strict";function i(e){return e+g}function a(e){return e+v}function o(e,r,a,o){return n.addListener(e,i(r),a,o),t.watch(e,r),this}function s(e,t){return n.listenersFor(e,i(t))}function u(e,r,a,o){return t.unwatch(e,r),n.removeListener(e,i(r),a,o),this}function l(e,r,i,o){return n.addListener(e,a(r),i,o),t.watch(e,r),this}function c(e,t,r,i,o){return n.suspendListener(e,a(t),r,i,o)}function h(e,t,r,a,o){return n.suspendListener(e,i(t),r,a,o)}function d(e,t,i,o,s){var u=r.map.call(t,a);return n.suspendListeners(e,u,i,o,s)}function f(e,t,a,o,s){var u=r.map.call(t,i);return n.suspendListeners(e,u,a,o,s)}function p(e,t){return n.listenersFor(e,a(t))}function m(e,r,i,o){return t.unwatch(e,r),n.removeListener(e,a(r),i,o),this}e.addObserver=o,e.observersFor=s,e.removeObserver=u,e.addBeforeObserver=l,e._suspendBeforeObserver=c,e._suspendObserver=h,e._suspendBeforeObservers=d,e._suspendObservers=f,e.beforeObserversFor=p,e.removeBeforeObserver=m;var g=":change",v=":before"}),e("ember-metal/observer_set",["exports","ember-metal/utils","ember-metal/events"],function(e,t,r){"use strict";function n(){this.clear()}e["default"]=n,n.prototype.add=function(e,r,n){var i,a=this.observerSet,o=this.observers,s=t.guidFor(e),u=a[s];return u||(a[s]=u={}),i=u[r],void 0===i&&(i=o.push({sender:e,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),o[i].listeners},n.prototype.flush=function(){var e,t,n,i,a=this.observers;for(this.clear(),e=0,t=a.length;t>e;++e)n=a[e],i=n.sender,i.isDestroying||i.isDestroyed||r.sendEvent(i,n.eventName,[i,n.keyName],n.listeners)},n.prototype.clear=function(){this.observerSet={},this.observers=[]}}),e("ember-metal/path_cache",["exports","ember-metal/cache"],function(e,t){"use strict";function r(e){return h.get(e)}function n(e){return d.get(e)}function i(e){return f.get(e)}function a(e){return-1!==p.get(e)}function o(e){return m.get(e)}function s(e){return g.get(e)}e.isGlobal=r,e.isGlobalPath=n,e.hasThis=i,e.isPath=a,e.getFirstKey=o,e.getTailPath=s;var u=/^([A-Z$]|([0-9][A-Z$]))/,l=/^([A-Z$]|([0-9][A-Z$])).*[\.]/,c="this.",h=new t["default"](1e3,function(e){return u.test(e)}),d=new t["default"](1e3,function(e){return l.test(e)}),f=new t["default"](1e3,function(e){return 0===e.lastIndexOf(c,0)}),p=new t["default"](1e3,function(e){return e.indexOf(".")}),m=new t["default"](1e3,function(e){var t=p.get(e);return-1===t?e:e.slice(0,t)}),g=new t["default"](1e3,function(e){var t=p.get(e);return-1!==t?e.slice(t+1):void 0}),v={isGlobalCache:h,isGlobalPathCache:d,hasThisCache:f,firstDotIndexCache:p,firstKeyCache:m,tailPathCache:g};e.caches=v}),e("ember-metal/platform/create",["exports","ember-metal/platform/define_properties"],function(e,t){"REMOVE_USE_STRICT: true";var r;if(!Object.create||Object.create(null).hasOwnProperty){var n,i=!({__proto__:null}instanceof Object);n=i||"undefined"==typeof document?function(){return{__proto__:null}}:function(){function e(){}var t=document.createElement("iframe"),r=document.body||document.documentElement;t.style.display="none",r.appendChild(t),t.src="javascript:";var i=t.contentWindow.Object.prototype;return r.removeChild(t),t=null,delete i.constructor,delete i.hasOwnProperty,delete i.propertyIsEnumerable,delete i.isPrototypeOf,delete i.toLocaleString,delete i.toString,delete i.valueOf,e.prototype=i,n=function(){return new e},new e},r=Object.create=function(e,r){function i(){}var a;if(null===e)a=n();else{if("object"!=typeof e&&"function"!=typeof e)throw new TypeError("Object prototype may only be an Object or null");i.prototype=e,a=new i}return void 0!==r&&t["default"](a,r),a}}else r=Object.create;e["default"]=r}),e("ember-metal/platform/define_properties",["exports","ember-metal/platform/define_property"],function(e,t){"use strict";var r=Object.defineProperties;r||(r=function(e,r){for(var n in r)r.hasOwnProperty(n)&&"__proto__"!==n&&t.defineProperty(e,n,r[n]);return e},Object.defineProperties=r),e["default"]=r}),e("ember-metal/platform/define_property",["exports"],function(e){"use strict";var t=function(e){if(e)try{var t=5,r={};if(e(r,"a",{configurable:!0,enumerable:!0,get:function(){return t},set:function(e){t=e}}),5!==r.a)return;if(r.a=10,10!==t)return;e(r,"a",{configurable:!0,enumerable:!1,writable:!0,value:!0});for(var n in r)if("a"===n)return;if(r.a!==!0)return;if(e(r,"a",{enumerable:!1}),r.a!==!0)return;return e}catch(i){return}}(Object.defineProperty),r=!!t;if(r&&"undefined"!=typeof document){var n=function(){try{return t(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}();n||(t=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)})}r||(t=function(e,t,r){r.get||(e[t]=r.value)});var i=r,a=r;e.hasES5CompliantDefineProperty=r,e.defineProperty=t,e.hasPropertyAccessors=i,e.canDefineNonEnumerableProperties=a}),e("ember-metal/properties",["exports","ember-metal/core","ember-metal/utils","ember-metal/platform/define_property","ember-metal/property_events"],function(e,t,r,n,i){"use strict";function a(){this.isDescriptor=!0}function o(e){return function(e){}}function s(e){return function(){var t=this.__ember_meta__;return t&&t.values[e]}}function u(e,t,o,s,u){var l,c,h,d;u||(u=r.meta(e));var f=u.watching[t];return l=e[t],c=null!==l&&"object"==typeof l&&l.isDescriptor?l:void 0,h=void 0!==f&&f>0,c&&c.teardown(e,t),o instanceof a?(d=o,e[t]=d,o.setup&&o.setup(e,t)):null==o?(d=s,e[t]=s):(d=o,n.defineProperty(e,t,o)),h&&i.overrideChains(e,t,u),e.didDefineProperty&&e.didDefineProperty(e,t,d),this}e.Descriptor=a,e.MANDATORY_SETTER_FUNCTION=o,e.DEFAULT_GETTER_FUNCTION=s,e.defineProperty=u}),e("ember-metal/property_events",["exports","ember-metal/utils","ember-metal/events","ember-metal/observer_set"],function(e,t,r,n){"use strict";function i(e,t){var r=e.__ember_meta__,n=r&&r.watching[t]>0||"length"===t,i=r&&r.proto,a=e[t],s=null!==a&&"object"==typeof a&&a.isDescriptor?a:void 0;n&&i!==e&&(s&&s.willChange&&s.willChange(e,t),o(e,t,r),c(e,t,r),g(e,t))}function a(e,t){var r=e.__ember_meta__,n=r&&r.watching[t]>0||"length"===t,i=r&&r.proto,a=e[t],o=null!==a&&"object"==typeof a&&a.isDescriptor?a:void 0;i!==e&&(o&&o.didChange&&o.didChange(e,t),(n||"length"===t)&&(r&&r.deps&&r.deps[t]&&s(e,t,r),h(e,t,r,!1),v(e,t)))}function o(e,t,r){if(!e.isDestroying){var n;if(r&&r.deps&&(n=r.deps[t])){var a=y,o=!a;o&&(a=y={}),l(i,e,n,t,a,r),o&&(y=null)}}}function s(e,t,r){if(!e.isDestroying){var n;if(r&&r.deps&&(n=r.deps[t])){var i=b,o=!i;o&&(i=b={}),l(a,e,n,t,i,r),o&&(b=null)}}}function u(e){var t=[];for(var r in e)t.push(r);return t}function l(e,r,n,i,a,o){var s,l,c,h,d,f=t.guidFor(r),p=a[f];if(p||(p=a[f]={}),!p[i]&&(p[i]=!0,n))for(s=u(n),c=0;c<s.length;c++)l=s[c],h=r[l],d=null!==h&&"object"==typeof h&&h.isDescriptor?h:void 0,d&&d._suspended===r||e(r,l)}function c(e,t,r){if(r.hasOwnProperty("chainWatchers")&&r.chainWatchers[t]){var n,a,o=r.chainWatchers[t],s=[];for(n=0,a=o.length;a>n;n++)o[n].willChange(s);for(n=0,a=s.length;a>n;n+=2)i(s[n],s[n+1])}}function h(e,t,r,n){if(r&&r.hasOwnProperty("chainWatchers")&&r.chainWatchers[t]){var i,o,s=r.chainWatchers[t],u=n?null:[];for(i=0,o=s.length;o>i;i++)s[i].didChange(u);if(!n)for(i=0,o=u.length;o>i;i+=2)a(u[i],u[i+1])}}function d(e,t,r){h(e,t,r,!0)}function f(){x++}function p(){x--,0>=x&&(_.clear(),w.flush())}function m(e,r){f(),t.tryFinally(e,p,r)}function g(e,t){if(!e.isDestroying){var n,i,a=t+":before";x?(n=_.add(e,t,a),i=r.accumulateListeners(e,a,n),r.sendEvent(e,a,[e,t],i)):r.sendEvent(e,a,[e,t])}}function v(e,t){if(!e.isDestroying){var n,i=t+":change";x?(n=w.add(e,t,i),r.accumulateListeners(e,i,n)):r.sendEvent(e,i,[e,t])}}e.propertyWillChange=i,e.propertyDidChange=a,e.overrideChains=d,e.beginPropertyChanges=f,e.endPropertyChanges=p,e.changeProperties=m;var y,b,_=new n["default"],w=new n["default"],x=0}),e("ember-metal/property_get",["exports","ember-metal/core","ember-metal/error","ember-metal/path_cache","ember-metal/platform/define_property"],function(e,t,r,n,i){"use strict";function a(e,t){if(""===t)return e;if(t||"string"!=typeof e||(t=e,e=null),null===e){var r=s(e,t);return r}var i,a=(e.__ember_meta__,e[t]),o=null!==a&&"object"==typeof a&&a.isDescriptor?a:void 0;return void 0===o&&n.isPath(t)?s(e,t):o?o.get(e,t):(i=e[t],void 0!==i||"object"!=typeof e||t in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(t))}function o(e,i){var o,s=n.hasThis(i),u=!s&&n.isGlobalPath(i);if((!e||u)&&(e=t["default"].lookup),s&&(i=i.slice(5)),e===t["default"].lookup&&(o=i.match(l)[0],e=a(e,o),i=i.slice(o.length+1)),!i||0===i.length)throw new r["default"]("Path cannot be empty");return[e,i]}function s(e,r){var i,s,u,l,c;if(null===e&&!n.isPath(r))return a(t["default"].lookup,r);for(i=n.hasThis(r),(!e||i)&&(u=o(e,r),e=u[0],r=u[1],u.length=0),s=r.split("."),c=s.length,l=0;null!=e&&c>l;l++)if(e=a(e,s[l],!0),e&&e.isDestroyed)return void 0;return e}function u(e,t,r){var n=a(e,t);return void 0===n?r:n}e.get=a,e.normalizeTuple=o,e._getPath=s,e.getWithDefault=u;var l=/^([^\.]+)/;e["default"]=a}),e("ember-metal/property_set",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_events","ember-metal/properties","ember-metal/error","ember-metal/path_cache","ember-metal/platform/define_property"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r,i){if("string"==typeof e&&(r=t,t=e,e=null),!e)return l(e,t,r,i);var a,s,u=e.__ember_meta__,c=e[t],h=null!==c&&"object"==typeof c&&c.isDescriptor?c:void 0;if(void 0===h&&o.isPath(t))return l(e,t,r,i);if(h)h.set(e,t,r);else{if("object"==typeof e&&null!==e&&void 0!==r&&e[t]===r)return r;a="object"==typeof e&&!(t in e),a&&"function"==typeof e.setUnknownProperty?e.setUnknownProperty(t,r):u&&u.watching[t]>0?(u.proto!==e&&(s=e[t]),r!==s&&(n.propertyWillChange(e,t),e[t]=r,n.propertyDidChange(e,t))):e[t]=r}return r}function l(e,t,n,i){var o;if(o=t.slice(t.lastIndexOf(".")+1),t=t===o?o:t.slice(0,t.length-(o.length+1)),"this"!==t&&(e=r._getPath(e,t)),!o||0===o.length)throw new a["default"]("Property set failed: You passed an empty path");if(!e){if(i)return;throw new a["default"]('Property set failed: object in path "'+t+'" could not be found or was destroyed.')}return u(e,o,n)}function c(e,t,r){return u(e,t,r,!0)}e.set=u,e.trySet=c}),e("ember-metal/run_loop",["exports","ember-metal/core","ember-metal/utils","ember-metal/array","ember-metal/property_events","backburner"],function(e,t,r,n,i,a){"use strict";function o(e){u.currentRunLoop=e}function s(e,t){u.currentRunLoop=t}function u(){return c.run.apply(c,arguments)}function l(){!u.currentRunLoop}var c=new a["default"](["sync","actions","destroy"],{GUID_KEY:r.GUID_KEY,sync:{before:i.beginPropertyChanges,after:i.endPropertyChanges},defaultQueue:"actions",onBegin:o,onEnd:s,onErrorTarget:t["default"],onErrorMethod:"onerror"}),h=[].slice;e["default"]=u,u.join=function(){return c.join.apply(c,arguments)},u.bind=function(e,t){var r=h.call(arguments);return function(){return u.join.apply(u,r.concat(h.call(arguments)))}},u.backburner=c,u.currentRunLoop=null,u.queues=c.queueNames,u.begin=function(){c.begin()},u.end=function(){c.end()},u.schedule=function(e,t,r){l(),c.schedule.apply(c,arguments)},u.hasScheduledTimers=function(){return c.hasTimers()},u.cancelTimers=function(){c.cancelTimers()},u.sync=function(){c.currentInstance&&c.currentInstance.queues.sync.flush()},u.later=function(){return c.later.apply(c,arguments)},u.once=function(){l();var e=arguments.length,t=new Array(e);t[0]="actions";for(var n=0;e>n;n++)t[n+1]=arguments[n];return r.apply(c,c.scheduleOnce,t)},u.scheduleOnce=function(){return l(),c.scheduleOnce.apply(c,arguments)},u.next=function(){var e=h.call(arguments);return e.push(1),r.apply(c,c.later,e)},u.cancel=function(e){return c.cancel(e)},u.debounce=function(){return c.debounce.apply(c,arguments)},u.throttle=function(){return c.throttle.apply(c,arguments)},u._addQueue=function(e,t){-1===n.indexOf.call(u.queues,e)&&u.queues.splice(n.indexOf.call(u.queues,t)+1,0,e)}}),e("ember-metal/set_properties",["exports","ember-metal/property_events","ember-metal/property_set","ember-metal/keys"],function(e,t,r,n){"use strict";function i(e,i){return i&&"object"==typeof i?(t.changeProperties(function(){for(var t,a=n["default"](i),o=0,s=a.length;s>o;o++)t=a[o],r.set(e,t,i[t])}),e):e}e["default"]=i}),e("ember-metal/streams/conditional",["exports","ember-metal/streams/stream","ember-metal/streams/utils","ember-metal/platform/create"],function(e,t,r,n){"use strict";function i(e,t,n){return r.isStream(e)?new a(e,t,n):e?t:n}function a(e,t,r){this.init(),this.oldTestResult=void 0,this.test=e,this.consequent=t,this.alternate=r}e["default"]=i,a.prototype=n["default"](t["default"].prototype),a.prototype.valueFn=function(){var e=this.oldTestResult,t=!!r.read(this.test);if(t!==e){switch(e){case!0:r.unsubscribe(this.consequent,this.notify,this);break;case!1:r.unsubscribe(this.alternate,this.notify,this);break;case void 0:r.subscribe(this.test,this.notify,this)}switch(t){case!0:r.subscribe(this.consequent,this.notify,this);break;case!1:r.subscribe(this.alternate,this.notify,this)}this.oldTestResult=t}return r.read(t?this.consequent:this.alternate)}}),e("ember-metal/streams/simple",["exports","ember-metal/merge","ember-metal/streams/stream","ember-metal/platform/create","ember-metal/streams/utils"],function(e,t,r,n,i){"use strict";function a(e){this.init(),this.source=e,i.isStream(e)&&e.subscribe(this._didChange,this)}a.prototype=n["default"](r["default"].prototype),t["default"](a.prototype,{valueFn:function(){return i.read(this.source)},setValue:function(e){var t=this.source;i.isStream(t)&&t.setValue(e)},setSource:function(e){var t=this.source;e!==t&&(i.isStream(t)&&t.unsubscribe(this._didChange,this),i.isStream(e)&&e.subscribe(this._didChange,this),this.source=e,this.notify())},_didChange:function(){this.notify()},_super$destroy:r["default"].prototype.destroy,destroy:function(){return this._super$destroy()?(i.isStream(this.source)&&this.source.unsubscribe(this._didChange,this),this.source=void 0,!0):void 0}}),e["default"]=a}),e("ember-metal/streams/stream",["exports","ember-metal/platform/create","ember-metal/path_cache"],function(e,t,r){"use strict";function n(e){this.init(),this.valueFn=e}n.prototype={isStream:!0,init:function(){this.state="dirty",this.cache=void 0,this.subscribers=void 0,this.children=void 0,this._label=void 0},get:function(e){var n=r.getFirstKey(e),i=r.getTailPath(e);void 0===this.children&&(this.children=t["default"](null));var a=this.children[n];return void 0===a&&(a=this._makeChildStream(n,e),this.children[n]=a),void 0===i?a:a.get(i)},value:function(){return"clean"===this.state?this.cache:"dirty"===this.state?(this.state="clean",this.cache=this.valueFn()):void 0},valueFn:function(){throw new Error("Stream error: valueFn not implemented")},setValue:function(){throw new Error("Stream error: setValue not implemented")},notify:function(){this.notifyExcept()},notifyExcept:function(e,t){"clean"===this.state&&(this.state="dirty",this._notifySubscribers(e,t))},subscribe:function(e,t){void 0===this.subscribers?this.subscribers=[e,t]:this.subscribers.push(e,t)},unsubscribe:function(e,t){var r=this.subscribers;if(void 0!==r)for(var n=0,i=r.length;i>n;n+=2)if(r[n]===e&&r[n+1]===t)return void r.splice(n,2)},_notifySubscribers:function(e,t){var r=this.subscribers;if(void 0!==r)for(var n=0,i=r.length;i>n;n+=2){var a=r[n],o=r[n+1];(a!==e||o!==t)&&(void 0===o?a(this):a.call(o,this))}},destroy:function(){if("destroyed"!==this.state){this.state="destroyed";var e=this.children;for(var t in e)e[t].destroy();return!0}},isGlobal:function(){for(var e=this;void 0!==e;){if(e._isRoot)return e._isGlobal;e=e.source}}},e["default"]=n}),e("ember-metal/streams/stream_binding",["exports","ember-metal/platform/create","ember-metal/merge","ember-metal/run_loop","ember-metal/streams/stream"],function(e,t,r,n,i){"use strict";function a(e){this.init(),this.stream=e,this.senderCallback=void 0,this.senderContext=void 0,this.senderValue=void 0,e.subscribe(this._onNotify,this)}a.prototype=t["default"](i["default"].prototype),r["default"](a.prototype,{valueFn:function(){return this.stream.value()},_onNotify:function(){this._scheduleSync(void 0,void 0,this)},setValue:function(e,t,r){this._scheduleSync(e,t,r)},_scheduleSync:function(e,t,r){void 0===this.senderCallback&&void 0===this.senderContext?(this.senderCallback=t,this.senderContext=r,this.senderValue=e,n["default"].schedule("sync",this,this._sync)):this.senderContext!==this&&(this.senderCallback=t,this.senderContext=r,this.senderValue=e)},_sync:function(){if("destroyed"!==this.state){this.senderContext!==this&&this.stream.setValue(this.senderValue);var e=this.senderCallback,t=this.senderContext;this.senderCallback=void 0,this.senderContext=void 0,this.senderValue=void 0,this.state="clean",this.notifyExcept(e,t)}},_super$destroy:i["default"].prototype.destroy,destroy:function(){return this._super$destroy()?(this.stream.unsubscribe(this._onNotify,this),!0):void 0}}),e["default"]=a}),e("ember-metal/streams/utils",["exports","./stream"],function(e,t){"use strict";function r(e){return e&&e.isStream}function n(e,t,r){e&&e.isStream&&e.subscribe(t,r)}function i(e,t,r){e&&e.isStream&&e.unsubscribe(t,r)}function a(e){return e&&e.isStream?e.value():e}function o(e){for(var t=e.length,r=new Array(t),n=0;t>n;n++)r[n]=a(e[n]);return r}function s(e){var t={};for(var r in e)t[r]=a(e[r]);return t}function u(e){for(var t=e.length,n=!1,i=0;t>i;i++)if(r(e[i])){n=!0;break}return n}function l(e){var t=!1;for(var n in e)if(r(e[n])){t=!0;break}return t}function c(e,r){var i=u(e);if(i){var a,s,l=new t["default"](function(){return o(e).join(r)});for(a=0,s=e.length;s>a;a++)n(e[a],l.notify,l);return l}return e.join(r)}function h(e,i){if(r(e)){var a=new t["default"](i);return n(e,a.notify,a),a}return i()}e.isStream=r,e.subscribe=n,e.unsubscribe=i,e.read=a,e.readArray=o,e.readHash=s,e.scanArray=u,e.scanHash=l,e.concat=c,e.chain=h}),e("ember-metal/utils",["exports","ember-metal/core","ember-metal/platform/create","ember-metal/platform/define_property","ember-metal/array"],function(e,t,r,n,i){function a(){return++C}function o(e){var t={};t[e]=1;for(var r in t)if(r===e)return r;return e}function s(e,t){t||(t=E);var r=t+a();return e&&(null===e[A]?e[A]=r:(k.value=r,e.__defineNonEnumerable?e.__defineNonEnumerable(D):n.defineProperty(e,A,k))),r}function u(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,r=typeof e;switch(r){case"number":return t=T[e],t||(t=T[e]="nu"+e),t;case"string":return t=S[e],t||(t=S[e]="st"+a()),t;case"boolean":return e?"(true)":"(false)";default:return e[A]?e[A]:e===Object?"(Object)":e===Array?"(Array)":(t=E+a(),null===e[A]?e[A]=t:(k.value=t,e.__defineNonEnumerable?e.__defineNonEnumerable(D):n.defineProperty(e,A,k)),t)}}function l(e){this.watching={},this.cache=void 0,this.cacheMeta=void 0,this.source=e,this.deps=void 0,this.listeners=void 0,this.mixins=void 0,this.bindings=void 0,this.chains=void 0,this.values=void 0,this.proto=void 0}function c(e,t){var i=e.__ember_meta__;return t===!1?i||I:(i?i.source!==e&&(e.__defineNonEnumerable?e.__defineNonEnumerable(N):n.defineProperty(e,"__ember_meta__",P),i=r["default"](i),i.watching=r["default"](i.watching),i.cache=void 0,i.cacheMeta=void 0,i.source=e,e.__ember_meta__=i):(n.canDefineNonEnumerableProperties&&(e.__defineNonEnumerable?e.__defineNonEnumerable(N):n.defineProperty(e,"__ember_meta__",P)),i=new l(e),e.__ember_meta__=i),i)}function h(e,t){var r=c(e,!1);return r[t]}function d(e,t,r){var n=c(e,!0);return n[t]=r,r}function f(e,t,n){for(var i,a,o=c(e,n),s=0,u=t.length;u>s;s++){if(i=t[s],a=o[i]){if(a.__ember_source__!==e){if(!n)return void 0;a=o[i]=r["default"](a),a.__ember_source__=e}}else{if(!n)return void 0;a=o[i]={__ember_source__:e}}o=a}return a}function p(e,t){function r(){var r,n=this&&this.__nextSuper,i=arguments.length;if(this&&(this.__nextSuper=t),0===i)r=e.call(this);else if(1===i)r=e.call(this,arguments[0]);else if(2===i)r=e.call(this,arguments[0],arguments[1]);else{for(var a=new Array(i),o=0;i>o;o++)a[o]=arguments[o];r=w(this,e,a)}return this&&(this.__nextSuper=n),r}return r.wrappedFunction=e,r.__ember_observes__=e.__ember_observes__,r.__ember_observesBefore__=e.__ember_observesBefore__,r.__ember_listens__=e.__ember_listens__,r}function m(e){var r,n;return"undefined"==typeof F&&(r="ember-runtime/mixins/array",t["default"].__loader.registry[r]&&(F=t["default"].__loader.require(r)["default"])),!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:F&&F.detect(e)?!0:(n=b(e),"array"===n?!0:void 0!==e.length&&"object"===n?!0:!1)}function g(e){return null===e||void 0===e?[]:m(e)?e:[e]}function v(e,t){return!(!e||"function"!=typeof e[t])}function y(e,t,r){return v(e,t)?r?x(e,t,r):x(e,t):void 0}function b(e){var r,n;return"undefined"==typeof B&&(n="ember-runtime/system/object",t["default"].__loader.registry[n]&&(B=t["default"].__loader.require(n)["default"])),r=null===e||void 0===e?String(e):z[$.call(e)]||"object","function"===r?B&&B.detect(e)&&(r="class"):"object"===r&&(e instanceof Error?r="error":B&&e instanceof B?r="instance":e instanceof Date&&(r="date")),r}function _(e){var t=b(e);if("array"===t)return"["+e+"]";if("object"!==t)return e+"";var r,n=[];for(var i in e)if(e.hasOwnProperty(i)){if(r=e[i],"toString"===r)continue;"function"===b(r)&&(r="function() { ... }"),n.push(r&&"function"!=typeof r.toString?i+": "+$.call(r):i+": "+r)}return"{"+n.join(", ")+"}"}function w(e,t,r){var n=r&&r.length;if(!r||!n)return t.call(e);switch(n){case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2]);case 4:return t.call(e,r[0],r[1],r[2],r[3]);case 5:return t.call(e,r[0],r[1],r[2],r[3],r[4]);default:return t.apply(e,r)}}function x(e,t,r){var n=r&&r.length;if(!r||!n)return e[t]();switch(n){case 1:return e[t](r[0]);case 2:return e[t](r[0],r[1]);case 3:return e[t](r[0],r[1],r[2]);case 4:return e[t](r[0],r[1],r[2],r[3]);case 5:return e[t](r[0],r[1],r[2],r[3],r[4]);default:return e[t].apply(e,r)}}e.uuid=a,e.generateGuid=s,e.guidFor=u,e.getMeta=h,e.setMeta=d,e.metaPath=f,e.wrap=p,e.makeArray=g,e.tryInvoke=y,e.inspect=_,e.apply=w,e.applyStr=x,e.meta=c,e.typeOf=b,e.isArray=m,e.canInvoke=v;var C=0,E="ember",T=[],S={},A=o("__ember"+ +new Date),k={writable:!0,configurable:!0,enumerable:!1,value:null},O={configurable:!0,writable:!0,enumerable:!1,value:void 0},R={configurable:!0,writable:!0,enumerable:!1,value:null},P={writable:!0,configurable:!0,enumerable:!1,value:null},N={name:"__ember_meta__",descriptor:P},D={name:A,descriptor:R},M={name:"__nextSuper",descriptor:O};l.prototype={chainWatchers:null},n.canDefineNonEnumerableProperties||(l.prototype.__preventPlainObject__=!0,l.prototype.toJSON=function(){});var F,j,I=new l(null),L=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();j=L?function(e,t,r){var n,i,a;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(o){a=o}}if(a)throw a;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i};var V;V=L?function(e,t,r,n){var i,a,o;n=n||this;try{i=e.call(n)}catch(s){i=t.call(n,s)}finally{try{a=r.call(n)}catch(u){o=u}}if(o)throw o;return void 0===a?i:a}:function(e,t,r,n){var i,a;n=n||this;try{i=e.call(n)}catch(o){i=t.call(n,o)}finally{a=r.call(n)}return void 0===a?i:a};var z={},H="Boolean Number String Function Array Date RegExp Object".split(" ");i.forEach.call(H,function(e){z["[object "+e+"]"]=e.toLowerCase()});var B,$=Object.prototype.toString;e.GUID_DESC=k,e.EMBER_META_PROPERTY=N,e.GUID_KEY_PROPERTY=D,e.NEXT_SUPER_PROPERTY=M,e.GUID_KEY=A,e.META_DESC=P,e.EMPTY_META=I,e.tryCatchFinally=V,e.tryFinally=j}),e("ember-metal/watch_key",["exports","ember-metal/core","ember-metal/utils","ember-metal/platform/define_property","ember-metal/properties"],function(e,t,r,n,i){"use strict";function a(e,t,n){if("length"!==t||"array"!==r.typeOf(e)){var i=n||r.meta(e),a=i.watching;if(a[t])a[t]=(a[t]||0)+1;else{a[t]=1;var o=e[t],s=null!==o&&"object"==typeof o&&o.isDescriptor?o:void 0;s&&s.willWatch&&s.willWatch(e,t),"function"==typeof e.willWatchProperty&&e.willWatchProperty(t)}}}function o(e,t,n){var i=n||r.meta(e),a=i.watching;if(1===a[t]){a[t]=0;var o=e[t],s=null!==o&&"object"==typeof o&&o.isDescriptor?o:void 0;s&&s.didUnwatch&&s.didUnwatch(e,t),"function"==typeof e.didUnwatchProperty&&e.didUnwatchProperty(t)}else a[t]>1&&a[t]--}e.watchKey=a,e.unwatchKey=o}),e("ember-metal/watch_path",["exports","ember-metal/utils","ember-metal/chains"],function(e,t,r){"use strict";function n(e,n){var i=n||t.meta(e),a=i.chains;return a?a.value()!==e&&(a=i.chains=a.copy(e)):a=i.chains=new r.ChainNode(null,null,e),a}function i(e,r,i){if("length"!==r||"array"!==t.typeOf(e)){var a=i||t.meta(e),o=a.watching;o[r]?o[r]=(o[r]||0)+1:(o[r]=1,n(e,a).add(r))}}function a(e,r,i){var a=i||t.meta(e),o=a.watching;1===o[r]?(o[r]=0,n(e,a).remove(r)):o[r]>1&&o[r]--}e.watchPath=i,e.unwatchPath=a}),e("ember-metal/watching",["exports","ember-metal/utils","ember-metal/chains","ember-metal/watch_key","ember-metal/watch_path","ember-metal/path_cache"],function(e,t,r,n,i,a){"use strict";function o(e,r,o){("length"!==r||"array"!==t.typeOf(e))&&(a.isPath(r)?i.watchPath(e,r,o):n.watchKey(e,r,o))}function s(e,t){var r=e.__ember_meta__;return(r&&r.watching[t])>0}function u(e,r,o){("length"!==r||"array"!==t.typeOf(e))&&(a.isPath(r)?i.unwatchPath(e,r,o):n.unwatchKey(e,r,o))}function l(e){var t,n,i,a,o=e.__ember_meta__;if(o&&(e.__ember_meta__=null,t=o.chains))for(c.push(t);c.length>0;){if(t=c.pop(),n=t._chains)for(i in n)n.hasOwnProperty(i)&&c.push(n[i]);t._watching&&(a=t._object,a&&r.removeChainWatcher(a,t._key,t))}}e.watch=o,e.isWatching=s,e.unwatch=u,e.destroy=l,o.flushPending=r.flushPendingChains;var c=[]}),e("ember-routing-htmlbars",["exports","ember-metal/core","ember-htmlbars/helpers","ember-routing-htmlbars/helpers/outlet","ember-routing-htmlbars/helpers/render","ember-routing-htmlbars/helpers/link-to","ember-routing-htmlbars/helpers/action","ember-routing-htmlbars/helpers/query-params"],function(e,t,r,n,i,a,o,s){"use strict";r.registerHelper("outlet",n.outletHelper),r.registerHelper("render",i.renderHelper),r.registerHelper("link-to",a.linkToHelper),r.registerHelper("linkTo",a.deprecatedLinkToHelper),r.registerHelper("action",o.actionHelper),r.registerHelper("query-params",s.queryParamsHelper),e["default"]=t["default"]}),e("ember-routing-htmlbars/helpers/action",["exports","ember-metal/core","ember-metal/utils","ember-metal/run_loop","ember-views/streams/utils","ember-views/system/utils","ember-views/system/action_manager","ember-metal/streams/utils"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t){var r,n,a;if(void 0===t)for(r=new Array(e.length),n=0,a=e.length;a>n;n++)r[n]=i.readUnwrappedModel(e[n]);else for(r=new Array(e.length+1),r[0]=t,n=0,a=e.length;a>n;n++)r[n+1]=i.readUnwrappedModel(e[n]);return r}function l(e,t,r,n){var i,a=n.data.view;i=t.target?s.isStream(t.target)?t.target:a.getStream(t.target):a.getStream("controller");var o={eventName:t.on||"click",parameters:e.slice(1),view:a,bubbles:t.bubbles,preventDefault:t.preventDefault,target:i,withKeyCode:t.withKeyCode},u=c.registerAction(e[0],o,t.allowedKeys);n.dom.setAttribute(r.element,"data-ember-action",u)}e.actionHelper=l;var c={};c.registeredActions=o["default"].registeredActions;var h=["alt","shift","meta","ctrl"],d=/^click|mouse|touch/,f=function(e,t){if("undefined"==typeof t){if(d.test(e.type))return a.isSimpleClick(e);t=""}if(t.indexOf("any")>=0)return!0;for(var r=0,n=h.length;n>r;r++)if(e[h[r]+"Key"]&&-1===t.indexOf(h[r]))return!1;return!0};c.registerAction=function(e,t,i){var a=r.uuid(),l=t.eventName,c=t.parameters;return o["default"].registeredActions[a]={eventName:l,handler:function(r){if(!f(r,i))return!0;t.preventDefault!==!1&&r.preventDefault(),t.bubbles===!1&&r.stopPropagation();var a,o=t.target.value();a=s.isStream(e)?e.value():e,n["default"](function(){o.send?o.send.apply(o,u(c,a)):o[a].apply(o,u(c))})}},t.view.on("willClearRender",function(){delete o["default"].registeredActions[a]}),a},e.ActionHelper=c}),e("ember-routing-htmlbars/helpers/link-to",["exports","ember-metal/core","ember-routing-views/views/link","ember-metal/streams/utils","ember-runtime/mixins/controller","ember-htmlbars/templates/link-to-escaped","ember-htmlbars/templates/link-to-unescaped","ember-htmlbars"],function(e,t,r,n,i,a,o){"use strict";function s(e,t,s,u){var l,c=(u.data.view,e[e.length-1]);if(c&&c.isQueryParams&&(t.queryParamsObject=l=e.pop()),t.disabledWhen&&(t.disabled=t.disabledWhen,delete t.disabledWhen),
-!s.template){var h=e.shift(),d=s.morph.parseTextAsHTML;t.layout=d?o["default"]:a["default"],t.linkTitle=h}for(var f=0;f<e.length;f++)if(n.isStream(e[f])){var p=e[f];if(!p._isController)for(;i["default"].detect(p.value());)p=p.get("model");e[f]=p}return t.params=e,s.helperName=s.helperName||"link-to",u.helpers.view.helperFunction.call(this,[r.LinkView],t,s,u)}function u(e,t,r,n){return n.helpers["link-to"].helperFunction.call(this,e,t,r,n)}e.deprecatedLinkToHelper=u,e.linkToHelper=s}),e("ember-routing-htmlbars/helpers/outlet",["exports","ember-metal/core"],function(e,t){"use strict";function r(e,t,r,n){var i,a,o,s=n.data.view,u=e[0]||"main";return i=t.view,i&&(o="view:"+i),a=i?s.container.lookupFactory(o):t.viewClass||s.container.lookupFactory("view:-outlet"),t._outletName=u,r.helperName=r.helperName||"outlet",n.helpers.view.helperFunction.call(this,[a],t,r,n)}e.outletHelper=r}),e("ember-routing-htmlbars/helpers/query-params",["exports","ember-metal/core","ember-routing/system/query_params"],function(e,t,r){"use strict";function n(e,t){return r["default"].create({values:t})}e.queryParamsHelper=n}),e("ember-routing-htmlbars/helpers/render",["exports","ember-metal/core","ember-metal/error","ember-runtime/system/string","ember-routing/system/generate_controller","ember-metal/streams/utils","ember-htmlbars/system/merge-view-bindings","ember-htmlbars/system/append-templated-view","ember-metal/platform/create"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e,t,a,u){var l,h,d,f,p,m=u.data.view,g=e[0],v=e[1];if(l=m._keywords.controller.value().container,h=l.lookup("router:main"),1===e.length);else{if(2!==e.length)throw new r["default"]("You must pass a templateName to render");p=v.value()}g=g.replace(/\//g,".");var y="template:"+g,b=a.template;f=l.lookup("view:"+g),f||(f=l.lookup("view:default"),b=b||l.lookup(y));var _,w;t.controller?(_=t.controller,w="controller:"+_,delete t.controller):(_=g,w="controller:"+_);var x=m._keywords.controller.value();if(e.length>1){var C=l.lookupFactory(w)||i.generateControllerFactory(l,_,p);d=C.create({modelBinding:v,parentController:x,target:x}),f.one("willDestroyElement",function(){d.destroy()})}else d=l.lookup(w)||i["default"](l,_),d.setProperties({target:x,parentController:x});t.viewName=n.camelize(g),h&&!p&&h._connectActiveView(g,f);var E={template:b,controller:d,helperName:'render "'+g+'"'};c(m,f,g),o["default"](m,E,t),s["default"](m,a.morph,f,E)}function c(e,r,n){r._childOutlets=t["default"].A(),r._isOutlet=!0,r._outletName="__ember_orphans__",r._matchOutletName=n,r.setOutletState=function(e){var t;e&&(t=e.outlets[this._matchOutletName])?(this._outletState={render:{name:"render helper stub"},outlets:u["default"](null)},this._outletState.outlets[t.render.outlet]=t,t.wasUsed=!0):this._outletState=null;for(var r=0;r<this._childOutlets.length;r++){var n=this._childOutlets[r];n.setOutletState(this._outletState&&this._outletState.outlets[n._outletName])}};for(var i,a=e;a&&!a._isOutlet;)a=a._parentView;for(;a&&(i=a._parentOutlet());)a=i;a&&(a._childOutlets.push(r),a._outletState&&r.setOutletState(a._outletState.outlets[r._outletName]))}e.renderHelper=l}),e("ember-routing-views",["exports","ember-metal/core","ember-routing-views/views/link","ember-routing-views/views/outlet"],function(e,t,r,n){"use strict";t["default"].LinkView=r.LinkView,t["default"].OutletView=n.OutletView,e["default"]=t["default"]}),e("ember-routing-views/views/link",["exports","ember-metal/core","ember-metal/property_get","ember-metal/merge","ember-metal/run_loop","ember-metal/computed","ember-runtime/system/string","ember-metal/keys","ember-views/system/utils","ember-views/views/component","ember-routing/utils","ember-metal/streams/utils"],function(e,t,r,n,i,a,o,s,u,l,c,h){"use strict";function d(e,t){var r=e.queryParamsObject,n={};if(!r)return n;var i=r.values;for(var a in i)i.hasOwnProperty(a)&&(n[a]=h.read(i[a]));return n}function f(e){for(var t=0,r=e.length;r>t;++t){var n=e[t];if(null===n||"undefined"==typeof n)return!1}return!0}function p(e,t){if(r.get(e,"loading"))return!1;var n=e["current-when"]||e.currentWhen,i=!!n;n=n||r.get(e,"loadedParams").targetRouteName,n=n.split(" ");for(var a=0,o=n.length;o>a;a++)if(m(e,n[a],i,t))return r.get(e,"activeClass");return!1}function m(e,t,n,i){var a=r.get(e,"router"),o=r.get(e,"loadedParams"),s=o.models,u=a.router.recognizer.handlersFor(t),l=u[u.length-1].handler,c=g(t,u);return s.length>c&&(t=l),i.isActiveIntent(t,s,o.queryParams,!n)}var g=function(e,t){for(var r=0,n=0,i=t.length;i>n&&(r+=t[n].names.length,t[n].handler!==e);n++);return r},v=["active","loading","disabled"];v=["active","loading","disabled","transitioningIn","transitioningOut"];var y=l["default"].extend({tagName:"a",currentWhen:null,"current-when":null,title:null,rel:null,tabindex:null,target:null,activeClass:"active",loadingClass:"loading",disabledClass:"disabled",_isDisabled:!1,replace:!1,attributeBindings:["href","title","rel","tabindex","target"],classNameBindings:v,eventName:"click",init:function(){this._super.apply(this,arguments);var e=r.get(this,"eventName");this.on(e,this,this._invoke)},_paramsChanged:function(){this.notifyPropertyChange("resolvedParams")},_setupPathObservers:function(){for(var e=this.params,t=this._wrapAsScheduled(this._paramsChanged),r=0;r<e.length;r++)h.subscribe(e[r],t,this);var n=this.queryParamsObject;if(n){var i=n.values;for(var a in i)i.hasOwnProperty(a)&&h.subscribe(i[a],t,this)}},afterRender:function(){this._super.apply(this,arguments),this._setupPathObservers()},disabled:a.computed(function(e,t){return void 0!==t&&this.set("_isDisabled",t),t?r.get(this,"disabledClass"):!1}),active:a.computed("loadedParams",function(){var e=r.get(this,"router");if(e)return p(this,e.currentState)}),willBeActive:a.computed("router.targetState",function(){var e=r.get(this,"router");if(e){var t=e.targetState;if(e.currentState!==t)return!!p(this,t)}}),transitioningIn:a.computed("active","willBeActive",function(){var e=r.get(this,"willBeActive");return"undefined"==typeof e?!1:!r.get(this,"active")&&e&&"ember-transitioning-in"}),transitioningOut:a.computed("active","willBeActive",function(){var e=r.get(this,"willBeActive");return"undefined"==typeof e?!1:r.get(this,"active")&&!e&&"ember-transitioning-out"}),loading:a.computed("loadedParams",function(){return r.get(this,"loadedParams")?void 0:r.get(this,"loadingClass")}),router:a.computed(function(){var e=r.get(this,"controller");return e&&e.container?e.container.lookup("router:main"):void 0}),_invoke:function(e){if(!u.isSimpleClick(e))return!0;if(this.preventDefault!==!1){var n=r.get(this,"target");n&&"_self"!==n||e.preventDefault()}if(this.bubbles===!1&&e.stopPropagation(),r.get(this,"_isDisabled"))return!1;if(r.get(this,"loading"))return t["default"].Logger.warn("This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid."),!1;var i=r.get(this,"target");if(i&&"_self"!==i)return!1;var a=r.get(this,"router"),o=r.get(this,"loadedParams"),s=a._doTransition(o.targetRouteName,o.models,o.queryParams);return void(r.get(this,"replace")&&s.method("replace"))},_eagerUpdateUrl:function(e,t){if(e.isActive&&e.urlMethod){0===t.indexOf("#")&&(t=t.slice(1));var n=r.get(this,"router.router");"update"===e.urlMethod?n.updateURL(t):"replace"===e.urlMethod&&n.replaceURL(t),e.method(null)}},resolvedParams:a.computed("router.url",function(){var e,t=this.params,n=[],i=0===t.length;if(i){var a=this.container.lookup("controller:application");e=r.get(a,"currentRouteName")}else{e=h.read(t[0]);for(var o=1;o<t.length;o++)n.push(h.read(t[o]))}var s=d(this,e);return{targetRouteName:e,models:n,queryParams:s}}),loadedParams:a.computed("resolvedParams",function(){var e=r.get(this,"router");if(e){var t=r.get(this,"resolvedParams"),n=t.targetRouteName;if(n&&f(t.models))return t}}),queryParamsObject:null,href:a.computed("loadedParams",function(){if("a"===r.get(this,"tagName")){var e=r.get(this,"router"),t=r.get(this,"loadedParams");if(!t)return r.get(this,"loadingHref");var i={};n["default"](i,t.queryParams),e._prepareQueryParams(t.targetRouteName,t.models,i);var a=c.routeArgs(t.targetRouteName,t.models,i),o=e.generate.apply(e,a);return o}}),loadingHref:"#"});y.toString=function(){return"LinkView"},e.LinkView=y}),e("ember-routing-views/views/outlet",["exports","ember-views/views/container_view","ember-views/views/metamorph_view","ember-metal/property_get"],function(e,t,r,n){"use strict";function a(e){return!e.render.ViewClass&&!e.render.template}function o(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;e=e.render,t=t.render;for(var r in e)if(e.hasOwnProperty(r)&&e[r]!==t[r]&&"name"!==r)return!1;return!0}var s=t["default"].extend({init:function(){this._super(),this._childOutlets=i.A(),this._outletState=null},_isOutlet:!0,_parentOutlet:function(){for(var e=this._parentView;e&&!e._isOutlet;)e=e._parentView;return e},_linkParent:i.on("init","parentViewDidChange",function(){var e=this._parentOutlet();e&&(e._childOutlets.push(this),e._outletState&&this.setOutletState(e._outletState.outlets[this._outletName]))}),willDestroy:function(){var e=this._parentOutlet();e&&e._childOutlets.removeObject(this),this._super()},_diffState:function(e){for(;e&&a(e);)e=e.outlets.main;var t=!o(this._outletState,e);return this._outletState=e,t},setOutletState:function(e){if(this._diffState(e)){var t=this._buildView(this._outletState),r=n.get(this,"length");t?this.replace(0,r,[t]):this.replace(0,r,[])}else for(var i=this._childOutlets,a=0;a<i.length;a++){var o=i[a];o.setOutletState(this._outletState&&this._outletState.outlets[o._outletName])}},_buildView:function(e){if(e){var t,r=(n.get(this,"namespace.LOG_VIEW_LOOKUPS"),e.render),i=r.ViewClass,a=!1;return i||(a=!0,i=this.container.lookupFactory(this._isTopLevel?"view:toplevel":"view:default")),t=i.create({_debugTemplateName:r.name,renderedName:r.name,controller:r.controller}),n.get(t,"template")||t.set("template",r.template),t}}}),u=s.extend(r._Metamorph);e.CoreOutletView=s,e.OutletView=u}),e("ember-routing",["exports","ember-metal/core","ember-routing/ext/run_loop","ember-routing/ext/controller","ember-routing/location/api","ember-routing/location/none_location","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/system/generate_controller","ember-routing/system/controller_for","ember-routing/system/dsl","ember-routing/system/router","ember-routing/system/route"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f){"use strict";t["default"].Location=i["default"],t["default"].AutoLocation=u["default"],t["default"].HashLocation=o["default"],t["default"].HistoryLocation=s["default"],t["default"].NoneLocation=a["default"],t["default"].controllerFor=c["default"],t["default"].generateControllerFactory=l.generateControllerFactory,t["default"].generateController=l["default"],t["default"].RouterDSL=h["default"],t["default"].Router=d["default"],t["default"].Route=f["default"],e["default"]=t["default"]}),e("ember-routing/ext/controller",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/utils","ember-metal/merge","ember-runtime/mixins/controller"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t){var r,n=e;"string"===a.typeOf(n)&&(r={},r[n]={as:null},n=r);for(var i in n){if(!n.hasOwnProperty(i))return;var s=n[i];"string"===a.typeOf(s)&&(s={as:s}),r=t[i]||{as:null,scope:"model"},o["default"](r,s),t[i]=r}}function l(e){var t=r.get(e,"_normalizedQueryParams");for(var n in t)t.hasOwnProperty(n)&&e.addObserver(n+".[]",e,e._qpChanged)}s["default"].reopen({concatenatedProperties:["queryParams","_pCacheMeta"],init:function(){this._super.apply(this,arguments),l(this)},queryParams:null,_qpDelegate:null,_normalizedQueryParams:i.computed(function(){var e=a.meta(this);if(e.proto!==this)return r.get(e.proto,"_normalizedQueryParams");var t=r.get(this,"queryParams");if(t._qpMap)return t._qpMap;for(var n=t._qpMap={},i=0,o=t.length;o>i;++i)u(t[i],n);return n}),_cacheMeta:i.computed(function(){var e=a.meta(this);if(e.proto!==this)return r.get(e.proto,"_cacheMeta");var t={},n=r.get(this,"_normalizedQueryParams");for(var i in n)if(n.hasOwnProperty(i)){var o,s=n[i],u=s.scope;"controller"===u&&(o=[]),t[i]={parts:o,values:null,scope:u,prefix:"",def:r.get(this,i)}}return t}),_updateCacheParams:function(e){var t=r.get(this,"_cacheMeta");for(var i in t)if(t.hasOwnProperty(i)){var a=t[i];a.values=e;var o=this._calculateCacheKey(a.prefix,a.parts,a.values),s=this._bucketCache;if(s){var u=s.lookup(o,i,a.def);n.set(this,i,u)}}},_qpChanged:function(e,t){var n=t.substr(0,t.length-3),i=r.get(e,"_cacheMeta"),a=i[n],o=e._calculateCacheKey(a.prefix||"",a.parts,a.values),s=r.get(e,n),u=this._bucketCache;u&&e._bucketCache.stash(o,n,s);var l=e._qpDelegate;l&&l(e,n)},_calculateCacheKey:function(e,t,n){for(var i=t||[],a="",o=0,s=i.length;s>o;++o){var u=i[o],l=r.get(n,u);a+="::"+u+":"+l}return e+a.replace(c,"-")},transitionToRoute:function(){var e=r.get(this,"target"),t=e.transitionToRoute||e.transitionTo;return t.apply(e,arguments)},transitionTo:function(){return this.transitionToRoute.apply(this,arguments)},replaceRoute:function(){var e=r.get(this,"target"),t=e.replaceRoute||e.replaceWith;return t.apply(e,arguments)},replaceWith:function(){return this.replaceRoute.apply(this,arguments)}});var c=/\./g;e["default"]=s["default"]}),e("ember-routing/ext/run_loop",["ember-metal/run_loop"],function(e){"use strict";e["default"]._addQueue("routerTransitions","actions")}),e("ember-routing/location/api",["exports","ember-metal/core","ember-metal/environment"],function(e,t,r){"use strict";e["default"]={create:function(e){var t=e&&e.implementation,r=this.implementations[t];return r.create.apply(r,arguments)},registerImplementation:function(e,t){this.implementations[e]=t},implementations:{},_location:r["default"].location,_getHash:function(){var e=(this._location||this.location).href,t=e.indexOf("#");return-1===t?"":e.substr(t)}}}),e("ember-routing/location/auto_location",["exports","ember-metal/core","ember-metal/property_set","ember-routing/location/api","ember-routing/location/history_location","ember-routing/location/hash_location","ember-routing/location/none_location","ember-metal/environment","ember-routing/location/feature_detect"],function(e,t,r,n,i,a,o,s,u){"use strict";e["default"]={_location:s["default"].location,_history:s["default"].history,cancelRouterSetup:!1,rootURL:"/",_HistoryLocation:i["default"],_HashLocation:a["default"],_NoneLocation:o["default"],_getOrigin:function(){var e=this._location,t=e.origin;return t||(t=e.protocol+"//"+e.hostname,e.port&&(t+=":"+e.port)),t},_userAgent:s["default"].userAgent,_getSupportsHistory:function(){return u.supportsHistory(s["default"].userAgent,s["default"].history)},_getSupportsHashChange:function(){return u.supportsHashChange(document.documentMode,window)},_replacePath:function(e){this._location.replace(this._getOrigin()+e)},_getRootURL:function(){return this.rootURL},_getPath:function(){var e=this._location.pathname;return"/"!==e.charAt(0)&&(e="/"+e),e},_getHash:n["default"]._getHash,_getQuery:function(){return this._location.search},_getFullPath:function(){return this._getPath()+this._getQuery()+this._getHash()},_getHistoryPath:function(){{var e,t,r=this._getRootURL(),n=this._getPath(),i=this._getHash(),a=this._getQuery();n.indexOf(r)}return"#/"===i.substr(0,2)?(t=i.substr(1).split("#"),e=t.shift(),"/"===n.slice(-1)&&(e=e.substr(1)),n+=e,n+=a,t.length&&(n+="#"+t.join("#"))):(n+=a,n+=i),n},_getHashPath:function(){var e=this._getRootURL(),t=e,r=this._getHistoryPath(),n=r.substr(e.length);return""!==n&&("/"!==n.charAt(0)&&(n="/"+n),t+="#"+n),t},create:function(e){e&&e.rootURL&&(this.rootURL=e.rootURL);var t,n,i=!1,a=this._NoneLocation,o=this._getFullPath();this._getSupportsHistory()?(t=this._getHistoryPath(),o===t?a=this._HistoryLocation:"/#"===o.substr(0,2)?(this._history.replaceState({path:t},null,t),a=this._HistoryLocation):(i=!0,this._replacePath(t))):this._getSupportsHashChange()&&(n=this._getHashPath(),o===n||"/"===o&&"/#/"===n?a=this._HashLocation:(i=!0,this._replacePath(n)));var s=a.create.apply(a,arguments);return i&&r.set(s,"cancelRouterSetup",!0),s}}}),e("ember-routing/location/feature_detect",["exports"],function(e){"use strict";function t(e,t){return"onhashchange"in t&&(void 0===e||e>7)}function r(e,t){return-1!==e.indexOf("Android 2")&&-1!==e.indexOf("Mobile Safari")&&-1===e.indexOf("Chrome")?!1:!!(t&&"pushState"in t)}e.supportsHashChange=t,e.supportsHistory=r}),e("ember-routing/location/hash_location",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api"],function(e,t,r,n,i,a,o,s){"use strict";e["default"]=o["default"].extend({implementation:"hash",init:function(){n.set(this,"location",r.get(this,"_location")||window.location)},getHash:s["default"]._getHash,getURL:function(){var e=this.getHash().substr(1),t=e;return"/"!==t.charAt(0)&&(t="/",e&&(t+="#"+e)),t},setURL:function(e){r.get(this,"location").hash=e,n.set(this,"lastSetURL",e)},replaceURL:function(e){r.get(this,"location").replace("#"+e),n.set(this,"lastSetURL",e)},onUpdateURL:function(e){var o=this,s=a.guidFor(this);t["default"].$(window).on("hashchange.ember-location-"+s,function(){i["default"](function(){var t=o.getURL();r.get(o,"lastSetURL")!==t&&(n.set(o,"lastSetURL",null),e(t))})})},formatURL:function(e){return"#"+e},willDestroy:function(){var e=a.guidFor(this);t["default"].$(window).off("hashchange.ember-location-"+e)}})}),e("ember-routing/location/history_location",["exports","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api","ember-views/system/jquery"],function(e,t,r,n,i,a,o){"use strict";var s=!1;e["default"]=i["default"].extend({implementation:"history",init:function(){r.set(this,"location",t.get(this,"location")||window.location),r.set(this,"baseURL",o["default"]("base").attr("href")||"")},initState:function(){r.set(this,"history",t.get(this,"history")||window.history),this.replaceState(this.formatURL(this.getURL()))},rootURL:"/",getURL:function(){var e=t.get(this,"rootURL"),r=t.get(this,"location"),n=r.pathname,i=t.get(this,"baseURL");e=e.replace(/\/$/,""),i=i.replace(/\/$/,"");var a=n.replace(i,"").replace(e,""),o=r.search||"";return a+=o,a+=this.getHash()},setURL:function(e){var t=this._historyState;e=this.formatURL(e),t&&t.path===e||this.pushState(e)},replaceURL:function(e){var t=this._historyState;e=this.formatURL(e),t&&t.path===e||this.replaceState(e)},pushState:function(e){var r={path:e};t.get(this,"history").pushState(null,null,e),this._historyState=r,this._previousURL=this.getURL()},replaceState:function(e){var r={path:e};t.get(this,"history").replaceState(null,null,e),this._historyState=r,this._previousURL=this.getURL()},onUpdateURL:function(e){var t=n.guidFor(this),r=this;o["default"](window).on("popstate.ember-location-"+t,function(t){(s||(s=!0,r.getURL()!==r._previousURL))&&e(r.getURL())})},formatURL:function(e){var r=t.get(this,"rootURL"),n=t.get(this,"baseURL");return""!==e?(r=r.replace(/\/$/,""),n=n.replace(/\/$/,"")):n.match(/^\//)&&r.match(/^\//)&&(n=n.replace(/\/$/,"")),n+r+e},willDestroy:function(){var e=n.guidFor(this);o["default"](window).off("popstate.ember-location-"+e)},getHash:a["default"]._getHash})}),e("ember-routing/location/none_location",["exports","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/object"],function(e,t,r,n){"use strict";e["default"]=n["default"].extend({implementation:"none",path:"",getURL:function(){return t.get(this,"path")},setURL:function(e){r.set(this,"path",e)},onUpdateURL:function(e){this.updateCallback=e},handleURL:function(e){r.set(this,"path",e),this.updateCallback(e)},formatURL:function(e){return e}})}),e("ember-routing/system/cache",["exports","ember-runtime/system/object"],function(e,t){"use strict";e["default"]=t["default"].extend({init:function(){this.cache={}},has:function(e){return e in this.cache},stash:function(e,t,r){var n=this.cache[e];n||(n=this.cache[e]={}),n[t]=r},lookup:function(e,t,r){var n=this.cache;if(!(e in n))return r;var i=n[e];return t in i?i[t]:r},cache:null})}),e("ember-routing/system/controller_for",["exports"],function(e){"use strict";function t(e,t,r){return e.lookup("controller:"+t,r)}e["default"]=t}),e("ember-routing/system/dsl",["exports","ember-metal/core","ember-metal/array"],function(e,t,r){"use strict";function n(e,t){this.parent=e,this.enableLoadingSubstates=t&&t.enableLoadingSubstates,this.matches=[]}function i(e){return e.parent&&"application"!==e.parent}function a(e,t,r){return i(e)&&r!==!0?e.parent+"."+t:t}function o(e,t,r,n){r=r||{};var i=a(e,t,r.resetNamespace);"string"!=typeof r.path&&(r.path="/"+t),e.push(r.path,i,n)}e["default"]=n,n.prototype={route:function(e,t,r){2===arguments.length&&"function"==typeof t&&(r=t,t={}),1===arguments.length&&(t={});t.resetNamespace===!0?"resource":"route";if(this.enableLoadingSubstates&&(o(this,e+"_loading",{resetNamespace:t.resetNamespace}),o(this,e+"_error",{path:"/_unused_dummy_error_path_route_"+e+"/:error"})),r){var i=a(this,e,t.resetNamespace),s=new n(i,{enableLoadingSubstates:this.enableLoadingSubstates});o(s,"loading"),o(s,"error",{path:"/_unused_dummy_error_path_route_"+e+"/:error"}),r.call(s),o(this,e,t,s.generate())}else o(this,e,t)},push:function(e,t,r){var n=t.split(".");(""===e||"/"===e||"index"===n[n.length-1])&&(this.explicitIndex=!0),this.matches.push([e,t,r])},resource:function(e,t,r){2===arguments.length&&"function"==typeof t&&(r=t,t={}),1===arguments.length&&(t={}),t.resetNamespace=!0,this.route(e,t,r)},generate:function(){var e=this.matches;return this.explicitIndex||this.route("index",{path:"/"}),function(t){for(var r=0,n=e.length;n>r;r++){var i=e[r];t(i[0]).to(i[1],i[2])}}}},n.map=function(e){var t=new n;return e.call(t),t}}),e("ember-routing/system/generate_controller",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils"],function(e,t,r,n){"use strict";function i(e,t,r){var i,a,o,s;return s=r&&n.isArray(r)?"array":r?"object":"basic",o="controller:"+s,i=e.lookupFactory(o).extend({isGenerated:!0,toString:function(){return"(generated "+t+" controller)"}}),a="controller:"+t,e._registry.register(a,i),i}function a(e,t,n){i(e,t,n);var a="controller:"+t,o=e.lookup(a);return r.get(o,"namespace.LOG_ACTIVE_GENERATION"),o}e.generateControllerFactory=i,e["default"]=a}),e("ember-routing/system/query_params",["exports","ember-runtime/system/object"],function(e,t){"use strict";e["default"]=t["default"].extend({isQueryParams:!0,values:null})}),e("ember-routing/system/route",["exports","ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/get_properties","ember-metal/enumerable_utils","ember-metal/is_none","ember-metal/computed","ember-metal/merge","ember-metal/utils","ember-metal/run_loop","ember-metal/keys","ember-runtime/copy","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-routing/system/generate_controller","ember-routing/utils"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b){"use strict";function _(){return this}function w(e){var t=x(e,e.router.router.state.handlerInfos,-1);return t&&t.handler}function x(e,t,r){if(t)for(var n,i=r||0,a=0,o=t.length;o>a;a++)if(n=t[a].handler,n===e)return t[a+i]}function C(e,t,i,a,o){var s,u,l,c,h=o&&o.controller,d=(n.get(e.router,"namespace.LOG_VIEW_LOOKUPS"),o&&o.into&&o.into.replace(/\//g,".")),f=o&&o.outlet||"main";if(a?(a=a.replace(/\//g,"."),s=a):(a=e.routeName,s=e.templateName||a),h||(h=t?e.container.lookup("controller:"+a)||e.controllerName||e.routeName:e.controllerName||e.container.lookup("controller:"+a)),"string"==typeof h){var p=h;if(h=e.container.lookup("controller:"+p),!h)throw new r["default"]("You passed `controller: '"+p+"'` into the `render` method, but no such controller could be found.")}o&&o.model&&h.set("model",o.model),u=o&&o.view||t&&a||e.viewName||a,l=e.container.lookupFactory("view:"+u),c=e.container.lookup("template:"+s);var m;d&&(m=w(e))&&d===w(e).routeName&&(d=void 0);var g={into:d,outlet:f,name:a,controller:h,ViewClass:l,template:c};return g}function E(e,t){if(t.fullQueryParams)return t.fullQueryParams;t.fullQueryParams={},l["default"](t.fullQueryParams,t.queryParams);var r=t.handlerInfos[t.handlerInfos.length-1].name;return e._deserializeQueryParams(r,t.fullQueryParams),t.fullQueryParams}function T(e,t){t.queryParamsFor=t.queryParamsFor||{};var r=e.routeName;if(t.queryParamsFor[r])return t.queryParamsFor[r];for(var i=E(e.router,t),a=t.queryParamsFor[r]={},o=n.get(e,"_qp"),s=o.qps,u=0,l=s.length;l>u;++u){var c=s[u],h=c.prop in i;a[c.prop]=h?i[c.prop]:S(c.def)}return a}function S(e){return c.isArray(e)?t["default"].A(e.slice()):e}var A=Array.prototype.slice,k=m["default"].extend(v["default"],g["default"],{queryParams:{},_qp:u.computed(function(){var e=this.controllerName||this.routeName,r=this.container.lookupFactory("controller:"+e);if(!r)return O;var i=r.proto(),a=n.get(i,"_normalizedQueryParams"),o=n.get(i,"_cacheMeta"),s=[],u={},l=this;for(var h in a)if(a.hasOwnProperty(h)){var d=a[h],f=d.as||this.serializeQueryParamKey(h),p=n.get(i,h);c.isArray(p)&&(p=t["default"].A(p.slice()));var m=c.typeOf(p),g=this.serializeQueryParam(p,f,m),v=e+":"+h,y={def:p,sdef:g,type:m,urlKey:f,prop:h,fprop:v,ctrl:e,cProto:i,svalue:g,cacheType:d.scope,route:this,cacheMeta:o[h]};u[h]=u[f]=u[v]=y,s.push(y)}return{qps:s,map:u,states:{active:function(e,t){return l._activeQPChanged(e,u[t])},allowOverrides:function(e,t){return l._updatingQPChanged(e,u[t])},changingKeys:function(e,t){return l._updateSerializedQPValue(e,u[t])}}}}),_names:null,_stashNames:function(e,t){var r=e;if(!this._names){var i=this._names=r._names;i.length||(r=t,i=r&&r._names||[]);for(var a=n.get(this,"_qp.qps"),o=a.length,s=new Array(i.length),u=0,l=i.length;l>u;++u)s[u]=r.name+"."+i[u];for(var c=0;o>c;++c){var h=a[c],d=h.cacheMeta;"model"===d.scope&&(d.parts=s),d.prefix=h.ctrl}}},_updateSerializedQPValue:function(e,t){var r=n.get(e,t.prop);t.svalue=this.serializeQueryParam(r,t.urlKey,t.type)},_activeQPChanged:function(e,t){var r=n.get(e,t.prop);this.router._queuedQPChanges[t.fprop]=r,h["default"].once(this,this._fireQueryParamTransition)},_updatingQPChanged:function(e,t){var r=this.router;r._qpUpdates||(r._qpUpdates={}),r._qpUpdates[t.urlKey]=!0},mergedProperties:["events","queryParams"],paramsFor:function(e){var t=this.container.lookup("route:"+e);if(!t)return{};var r=this.router.router.activeTransition,n=r?r.state:this.router.router.state,i={};return l["default"](i,n.params[e]),l["default"](i,T(t,n)),i},serializeQueryParamKey:function(e){return e},serializeQueryParam:function(e,t,r){return"array"===r?JSON.stringify(e):""+e},deserializeQueryParam:function(e,r,n){return"boolean"===n?"true"===e?!0:!1:"number"===n?Number(e).valueOf():"array"===n?t["default"].A(JSON.parse(e)):e},_fireQueryParamTransition:function(){this.transitionTo({queryParams:this.router._queuedQPChanges}),this.router._queuedQPChanges={}},_optionsForQueryParam:function(e){return n.get(this,"queryParams."+e.urlKey)||n.get(this,"queryParams."+e.prop)||{}},resetController:_,exit:function(){this.deactivate(),this.trigger("deactivate"),this.teardownViews()},_reset:function(e,t){var r=this.controller;r._qpDelegate=n.get(this,"_qp.states.inactive"),this.resetController(r,e,t)},enter:function(){this.connections=[],this.activate(),this.trigger("activate")},viewName:null,templateName:null,controllerName:null,_actions:{queryParamsDidChange:function(e,t,r){for(var i=n.get(this,"_qp").map,a=d["default"](e).concat(d["default"](r)),o=0,s=a.length;s>o;++o){var u=i[a[o]];u&&n.get(this._optionsForQueryParam(u),"refreshModel")&&this.refresh()}return!0},finalizeQueryParamChange:function(e,t,r){if("application"!==this.routeName)return!0;if(r){var a,s=r.state.handlerInfos,u=this.router,l=u._queryParamsFor(s[s.length-1].name),c=u._qpUpdates;b.stashParamNames(u,s);for(var h=0,d=l.qps.length;d>h;++h){var f,p,m=l.qps[h],g=m.route,v=g.controller,y=m.urlKey in e&&m.urlKey;c&&m.urlKey in c?(f=n.get(v,m.prop),p=g.serializeQueryParam(f,m.urlKey,m.type)):y?(p=e[y],f=g.deserializeQueryParam(p,m.urlKey,m.type)):(p=m.sdef,f=S(m.def)),v._qpDelegate=n.get(this,"_qp.states.inactive");var _=p!==m.svalue;if(_){if(r.queryParamsOnly&&a!==!1){var w=g._optionsForQueryParam(m),x=n.get(w,"replace");x?a=!0:x===!1&&(a=!1)}i.set(v,m.prop,f)}m.svalue=p;var C=m.sdef===p;C||t.push({value:p,visible:!0,key:y||m.urlKey})}a&&r.method("replace"),o.forEach(l.qps,function(e){var t=n.get(e.route,"_qp"),r=e.route.controller;r._qpDelegate=n.get(t,"states.active")}),u._qpUpdates=null}}},events:null,deactivate:_,activate:_,transitionTo:function(e,t){var r=this.router;return r.transitionTo.apply(r,arguments)},intermediateTransitionTo:function(){var e=this.router;e.intermediateTransitionTo.apply(e,arguments)},refresh:function(){return this.router.router.refresh(this)},replaceWith:function(){var e=this.router;return e.replaceWith.apply(e,arguments)},send:function(){if(this.router||!t["default"].testing)this.router.send.apply(this.router,arguments);else{var e=arguments[0],r=A.call(arguments,1),n=this._actions[e];if(n)return this._actions[e].apply(this,r)}},setup:function(e,t){var r=this.controllerName||this.routeName,i=this.controllerFor(r,!0);if(i||(i=this.generateController(r,e)),this.controller=i,this.setupControllers)this.setupControllers(i,e);else{var a=n.get(this,"_qp.states");if(t&&(b.stashParamNames(this.router,t.state.handlerInfos),i._qpDelegate=a.changingKeys,i._updateCacheParams(t.params)),i._qpDelegate=a.allowOverrides,t){var o=T(this,t.state);i.setProperties(o)}this.setupController(i,e,t)}this.renderTemplates?this.renderTemplates(e):this.renderTemplate(i,e)},beforeModel:_,afterModel:_,redirect:_,contextDidChange:function(){this.currentModel=this.context},model:function(e,t){var r,i,a,o,s=n.get(this,"_qp.map");for(var u in e)"queryParams"===u||s&&u in s||((r=u.match(/^(.*)_id$/))&&(i=r[1],o=e[u]),a=!0);if(!i&&a)return f["default"](e);if(!i){if(t.resolveIndex<1)return;var l=t.state.handlerInfos[t.resolveIndex-1].context;return l}return this.findModel(i,o)},deserialize:function(e,t){return this.model(this.paramsFor(this.routeName),t)},findModel:function(){var e=n.get(this,"store");return e.find.apply(e,arguments)},store:u.computed(function(){{var e=this.container;this.routeName,n.get(this,"router.namespace")}return{find:function(t,r){var n=e.lookupFactory("model:"+t);if(n)return n.find(r)}}}),serialize:function(e,t){if(!(t.length<1)&&e){var r=t[0],i={};return 1===t.length?r in e?i[r]=n.get(e,r):/_id$/.test(r)&&(i[r]=n.get(e,"id")):i=a["default"](e,t),i}},setupController:function(e,t,r){e&&void 0!==t&&i.set(e,"model",t)},controllerFor:function(e,t){var r,n=this.container,i=n.lookup("route:"+e);return i&&i.controllerName&&(e=i.controllerName),r=n.lookup("controller:"+e)},generateController:function(e,t){var r=this.container;return t=t||this.modelFor(e),y["default"](r,e,t)},modelFor:function(e){var t=this.container.lookup("route:"+e),r=this.router?this.router.router.activeTransition:null;if(r){var n=t&&t.routeName||e;if(r.resolvedModels.hasOwnProperty(n))return r.resolvedModels[n]}return t&&t.currentModel},renderTemplate:function(e,t){this.render()},render:function(e,r){var n,i="string"==typeof e&&!!e,a=0===arguments.length||t["default"].isEmpty(arguments[0]);"object"!=typeof e||r?n=e:(n=this.routeName,r=e);var o=C(this,i,a,n,r);this.connections.push(o),h["default"].once(this.router,"_setOutlets")},disconnectOutlet:function(e){var t,r;e&&"string"!=typeof e?(t=e.outlet,r=e.parentView):t=e,r=r&&r.replace(/\//g,"."),t=t||"main",this._disconnectOutlet(t,r);for(var n=0;n<this.router.router.currentHandlerInfos.length;n++)this.router.router.currentHandlerInfos[n].handler._disconnectOutlet(t,r);
+},detach:function(e){return this.remove(e,!0)},domManip:function(e,t){e=Q.apply([],e);var r,n,i,a,o,s,u=0,l=this.length,c=this,h=l-1,d=e[0],f=ie.isFunction(d);if(f||l>1&&"string"==typeof d&&!re.checkClone&&We.test(d))return this.each(function(r){var n=c.eq(r);f&&(e[0]=d.call(this,r,n.html())),n.domManip(e,t)});if(l&&(s=ie.buildFragment(e,this[0].ownerDocument,!1,this),r=s.firstChild,1===s.childNodes.length&&(s=r),r)){for(a=ie.map(g(s,"script"),b),i=a.length;l>u;u++)n=s,u!==h&&(n=ie.clone(n,!0,!0),i&&ie.merge(a,g(n,"script"))),t.call(this[u],n,u);if(i)for(o=a[a.length-1].ownerDocument,ie.map(a,_),u=0;i>u;u++)n=a[u],$e.test(n.type||"")&&!ie._data(n,"globalEval")&&ie.contains(o,n)&&(n.src?ie._evalUrl&&ie._evalUrl(n.src):ie.globalEval((n.text||n.textContent||n.innerHTML||"").replace(Ye,"")));s=r=null}return this}}),ie.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){ie.fn[e]=function(e){for(var r,n=0,i=[],a=ie(e),o=a.length-1;o>=n;n++)r=n===o?this:this.clone(!0),ie(a[n])[t](r),X.apply(i,r.get());return this.pushStack(i)}});var Je,Ze={};!function(){var e;re.shrinkWrapBlocks=function(){if(null!=e)return e;e=!1;var t,r,n;return r=pe.getElementsByTagName("body")[0],r&&r.style?(t=pe.createElement("div"),n=pe.createElement("div"),n.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",r.appendChild(n).appendChild(t),typeof t.style.zoom!==Ce&&(t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1",t.appendChild(pe.createElement("div")).style.width="5px",e=3!==t.offsetWidth),r.removeChild(n),e):void 0}}();var et,tt,rt=/^margin/,nt=new RegExp("^("+Te+")(?!px)[a-z%]+$","i"),it=/^(top|right|bottom|left)$/;e.getComputedStyle?(et=function(t){return t.ownerDocument.defaultView.opener?t.ownerDocument.defaultView.getComputedStyle(t,null):e.getComputedStyle(t,null)},tt=function(e,t,r){var n,i,a,o,s=e.style;return r=r||et(e),o=r?r.getPropertyValue(t)||r[t]:void 0,r&&(""!==o||ie.contains(e.ownerDocument,e)||(o=ie.style(e,t)),nt.test(o)&&rt.test(t)&&(n=s.width,i=s.minWidth,a=s.maxWidth,s.minWidth=s.maxWidth=s.width=o,o=r.width,s.width=n,s.minWidth=i,s.maxWidth=a)),void 0===o?o:o+""}):pe.documentElement.currentStyle&&(et=function(e){return e.currentStyle},tt=function(e,t,r){var n,i,a,o,s=e.style;return r=r||et(e),o=r?r[t]:void 0,null==o&&s&&s[t]&&(o=s[t]),nt.test(o)&&!it.test(t)&&(n=s.left,i=e.runtimeStyle,a=i&&i.left,a&&(i.left=e.currentStyle.left),s.left="fontSize"===t?"1em":o,o=s.pixelLeft+"px",s.left=n,a&&(i.left=a)),void 0===o?o:o+""||"auto"}),function(){function t(){var t,r,n,i;r=pe.getElementsByTagName("body")[0],r&&r.style&&(t=pe.createElement("div"),n=pe.createElement("div"),n.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",r.appendChild(n).appendChild(t),t.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",a=o=!1,u=!0,e.getComputedStyle&&(a="1%"!==(e.getComputedStyle(t,null)||{}).top,o="4px"===(e.getComputedStyle(t,null)||{width:"4px"}).width,i=t.appendChild(pe.createElement("div")),i.style.cssText=t.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",i.style.marginRight=i.style.width="0",t.style.width="1px",u=!parseFloat((e.getComputedStyle(i,null)||{}).marginRight),t.removeChild(i)),t.innerHTML="<table><tr><td></td><td>t</td></tr></table>",i=t.getElementsByTagName("td"),i[0].style.cssText="margin:0;border:0;padding:0;display:none",s=0===i[0].offsetHeight,s&&(i[0].style.display="",i[1].style.display="none",s=0===i[0].offsetHeight),r.removeChild(n))}var r,n,i,a,o,s,u;r=pe.createElement("div"),r.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",i=r.getElementsByTagName("a")[0],n=i&&i.style,n&&(n.cssText="float:left;opacity:.5",re.opacity="0.5"===n.opacity,re.cssFloat=!!n.cssFloat,r.style.backgroundClip="content-box",r.cloneNode(!0).style.backgroundClip="",re.clearCloneStyle="content-box"===r.style.backgroundClip,re.boxSizing=""===n.boxSizing||""===n.MozBoxSizing||""===n.WebkitBoxSizing,ie.extend(re,{reliableHiddenOffsets:function(){return null==s&&t(),s},boxSizingReliable:function(){return null==o&&t(),o},pixelPosition:function(){return null==a&&t(),a},reliableMarginRight:function(){return null==u&&t(),u}}))}(),ie.swap=function(e,t,r,n){var i,a,o={};for(a in t)o[a]=e.style[a],e.style[a]=t[a];i=r.apply(e,n||[]);for(a in t)e.style[a]=o[a];return i};var at=/alpha\([^)]*\)/i,ot=/opacity\s*=\s*([^)]*)/,st=/^(none|table(?!-c[ea]).+)/,ut=new RegExp("^("+Te+")(.*)$","i"),lt=new RegExp("^([+-])=("+Te+")","i"),ct={position:"absolute",visibility:"hidden",display:"block"},ht={letterSpacing:"0",fontWeight:"400"},dt=["Webkit","O","Moz","ms"];ie.extend({cssHooks:{opacity:{get:function(e,t){if(t){var r=tt(e,"opacity");return""===r?"1":r}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":re.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,r,n){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,a,o,s=ie.camelCase(t),u=e.style;if(t=ie.cssProps[s]||(ie.cssProps[s]=k(u,s)),o=ie.cssHooks[t]||ie.cssHooks[s],void 0===r)return o&&"get"in o&&void 0!==(i=o.get(e,!1,n))?i:u[t];if(a=typeof r,"string"===a&&(i=lt.exec(r))&&(r=(i[1]+1)*i[2]+parseFloat(ie.css(e,t)),a="number"),null!=r&&r===r&&("number"!==a||ie.cssNumber[s]||(r+="px"),re.clearCloneStyle||""!==r||0!==t.indexOf("background")||(u[t]="inherit"),!(o&&"set"in o&&void 0===(r=o.set(e,r,n)))))try{u[t]=r}catch(l){}}},css:function(e,t,r,n){var i,a,o,s=ie.camelCase(t);return t=ie.cssProps[s]||(ie.cssProps[s]=k(e.style,s)),o=ie.cssHooks[t]||ie.cssHooks[s],o&&"get"in o&&(a=o.get(e,!0,r)),void 0===a&&(a=tt(e,t,n)),"normal"===a&&t in ht&&(a=ht[t]),""===r||r?(i=parseFloat(a),r===!0||ie.isNumeric(i)?i||0:a):a}}),ie.each(["height","width"],function(e,t){ie.cssHooks[t]={get:function(e,r,n){return r?st.test(ie.css(e,"display"))&&0===e.offsetWidth?ie.swap(e,ct,function(){return P(e,t,n)}):P(e,t,n):void 0},set:function(e,r,n){var i=n&&et(e);return O(e,r,n?R(e,t,n,re.boxSizing&&"border-box"===ie.css(e,"boxSizing",!1,i),i):0)}}}),re.opacity||(ie.cssHooks.opacity={get:function(e,t){return ot.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var r=e.style,n=e.currentStyle,i=ie.isNumeric(t)?"alpha(opacity="+100*t+")":"",a=n&&n.filter||r.filter||"";r.zoom=1,(t>=1||""===t)&&""===ie.trim(a.replace(at,""))&&r.removeAttribute&&(r.removeAttribute("filter"),""===t||n&&!n.filter)||(r.filter=at.test(a)?a.replace(at,i):a+" "+i)}}),ie.cssHooks.marginRight=T(re.reliableMarginRight,function(e,t){return t?ie.swap(e,{display:"inline-block"},tt,[e,"marginRight"]):void 0}),ie.each({margin:"",padding:"",border:"Width"},function(e,t){ie.cssHooks[e+t]={expand:function(r){for(var n=0,i={},a="string"==typeof r?r.split(" "):[r];4>n;n++)i[e+ke[n]+t]=a[n]||a[n-2]||a[0];return i}},rt.test(e)||(ie.cssHooks[e+t].set=O)}),ie.fn.extend({css:function(e,t){return Oe(this,function(e,t,r){var n,i,a={},o=0;if(ie.isArray(t)){for(n=et(e),i=t.length;i>o;o++)a[t[o]]=ie.css(e,t[o],!1,n);return a}return void 0!==r?ie.style(e,t,r):ie.css(e,t)},e,t,arguments.length>1)},show:function(){return A(this,!0)},hide:function(){return A(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Ae(this)?ie(this).show():ie(this).hide()})}}),ie.Tween=N,N.prototype={constructor:N,init:function(e,t,r,n,i,a){this.elem=e,this.prop=r,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=n,this.unit=a||(ie.cssNumber[r]?"":"px")},cur:function(){var e=N.propHooks[this.prop];return e&&e.get?e.get(this):N.propHooks._default.get(this)},run:function(e){var t,r=N.propHooks[this.prop];return this.pos=t=this.options.duration?ie.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),r&&r.set?r.set(this):N.propHooks._default.set(this),this}},N.prototype.init.prototype=N.prototype,N.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=ie.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){ie.fx.step[e.prop]?ie.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[ie.cssProps[e.prop]]||ie.cssHooks[e.prop])?ie.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},N.propHooks.scrollTop=N.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ie.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},ie.fx=N.prototype.init,ie.fx.step={};var ft,pt,mt=/^(?:toggle|show|hide)$/,gt=new RegExp("^(?:([+-])=|)("+Te+")([a-z%]*)$","i"),vt=/queueHooks$/,yt=[j],bt={"*":[function(e,t){var r=this.createTween(e,t),n=r.cur(),i=gt.exec(t),a=i&&i[3]||(ie.cssNumber[e]?"":"px"),o=(ie.cssNumber[e]||"px"!==a&&+n)&&gt.exec(ie.css(r.elem,e)),s=1,u=20;if(o&&o[3]!==a){a=a||o[3],i=i||[],o=+n||1;do s=s||".5",o/=s,ie.style(r.elem,e,o+a);while(s!==(s=r.cur()/n)&&1!==s&&--u)}return i&&(o=r.start=+o||+n||0,r.unit=a,r.end=i[1]?o+(i[1]+1)*i[2]:+i[2]),r}]};ie.Animation=ie.extend(L,{tweener:function(e,t){ie.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");for(var r,n=0,i=e.length;i>n;n++)r=e[n],bt[r]=bt[r]||[],bt[r].unshift(t)},prefilter:function(e,t){t?yt.unshift(e):yt.push(e)}}),ie.speed=function(e,t,r){var n=e&&"object"==typeof e?ie.extend({},e):{complete:r||!r&&t||ie.isFunction(e)&&e,duration:e,easing:r&&t||t&&!ie.isFunction(t)&&t};return n.duration=ie.fx.off?0:"number"==typeof n.duration?n.duration:n.duration in ie.fx.speeds?ie.fx.speeds[n.duration]:ie.fx.speeds._default,(null==n.queue||n.queue===!0)&&(n.queue="fx"),n.old=n.complete,n.complete=function(){ie.isFunction(n.old)&&n.old.call(this),n.queue&&ie.dequeue(this,n.queue)},n},ie.fn.extend({fadeTo:function(e,t,r,n){return this.filter(Ae).css("opacity",0).show().end().animate({opacity:t},e,r,n)},animate:function(e,t,r,n){var i=ie.isEmptyObject(e),a=ie.speed(t,r,n),o=function(){var t=L(this,ie.extend({},e),a);(i||ie._data(this,"finish"))&&t.stop(!0)};return o.finish=o,i||a.queue===!1?this.each(o):this.queue(a.queue,o)},stop:function(e,t,r){var n=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=t,t=e,e=void 0),t&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,i=null!=e&&e+"queueHooks",a=ie.timers,o=ie._data(this);if(i)o[i]&&o[i].stop&&n(o[i]);else for(i in o)o[i]&&o[i].stop&&vt.test(i)&&n(o[i]);for(i=a.length;i--;)a[i].elem!==this||null!=e&&a[i].queue!==e||(a[i].anim.stop(r),t=!1,a.splice(i,1));(t||!r)&&ie.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,r=ie._data(this),n=r[e+"queue"],i=r[e+"queueHooks"],a=ie.timers,o=n?n.length:0;for(r.finish=!0,ie.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=a.length;t--;)a[t].elem===this&&a[t].queue===e&&(a[t].anim.stop(!0),a.splice(t,1));for(t=0;o>t;t++)n[t]&&n[t].finish&&n[t].finish.call(this);delete r.finish})}}),ie.each(["toggle","show","hide"],function(e,t){var r=ie.fn[t];ie.fn[t]=function(e,n,i){return null==e||"boolean"==typeof e?r.apply(this,arguments):this.animate(D(t,!0),e,n,i)}}),ie.each({slideDown:D("show"),slideUp:D("hide"),slideToggle:D("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){ie.fn[e]=function(e,r,n){return this.animate(t,e,r,n)}}),ie.timers=[],ie.fx.tick=function(){var e,t=ie.timers,r=0;for(ft=ie.now();r<t.length;r++)e=t[r],e()||t[r]!==e||t.splice(r--,1);t.length||ie.fx.stop(),ft=void 0},ie.fx.timer=function(e){ie.timers.push(e),e()?ie.fx.start():ie.timers.pop()},ie.fx.interval=13,ie.fx.start=function(){pt||(pt=setInterval(ie.fx.tick,ie.fx.interval))},ie.fx.stop=function(){clearInterval(pt),pt=null},ie.fx.speeds={slow:600,fast:200,_default:400},ie.fn.delay=function(e,t){return e=ie.fx?ie.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,r){var n=setTimeout(t,e);r.stop=function(){clearTimeout(n)}})},function(){var e,t,r,n,i;t=pe.createElement("div"),t.setAttribute("className","t"),t.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=t.getElementsByTagName("a")[0],r=pe.createElement("select"),i=r.appendChild(pe.createElement("option")),e=t.getElementsByTagName("input")[0],n.style.cssText="top:1px",re.getSetAttribute="t"!==t.className,re.style=/top/.test(n.getAttribute("style")),re.hrefNormalized="/a"===n.getAttribute("href"),re.checkOn=!!e.value,re.optSelected=i.selected,re.enctype=!!pe.createElement("form").enctype,r.disabled=!0,re.optDisabled=!i.disabled,e=pe.createElement("input"),e.setAttribute("value",""),re.input=""===e.getAttribute("value"),e.value="t",e.setAttribute("type","radio"),re.radioValue="t"===e.value}();var _t=/\r/g;ie.fn.extend({val:function(e){var t,r,n,i=this[0];{if(arguments.length)return n=ie.isFunction(e),this.each(function(r){var i;1===this.nodeType&&(i=n?e.call(this,r,ie(this).val()):e,null==i?i="":"number"==typeof i?i+="":ie.isArray(i)&&(i=ie.map(i,function(e){return null==e?"":e+""})),t=ie.valHooks[this.type]||ie.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=ie.valHooks[i.type]||ie.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(r=t.get(i,"value"))?r:(r=i.value,"string"==typeof r?r.replace(_t,""):null==r?"":r)}}}),ie.extend({valHooks:{option:{get:function(e){var t=ie.find.attr(e,"value");return null!=t?t:ie.trim(ie.text(e))}},select:{get:function(e){for(var t,r,n=e.options,i=e.selectedIndex,a="select-one"===e.type||0>i,o=a?null:[],s=a?i+1:n.length,u=0>i?s:a?i:0;s>u;u++)if(r=n[u],!(!r.selected&&u!==i||(re.optDisabled?r.disabled:null!==r.getAttribute("disabled"))||r.parentNode.disabled&&ie.nodeName(r.parentNode,"optgroup"))){if(t=ie(r).val(),a)return t;o.push(t)}return o},set:function(e,t){for(var r,n,i=e.options,a=ie.makeArray(t),o=i.length;o--;)if(n=i[o],ie.inArray(ie.valHooks.option.get(n),a)>=0)try{n.selected=r=!0}catch(s){n.scrollHeight}else n.selected=!1;return r||(e.selectedIndex=-1),i}}}}),ie.each(["radio","checkbox"],function(){ie.valHooks[this]={set:function(e,t){return ie.isArray(t)?e.checked=ie.inArray(ie(e).val(),t)>=0:void 0}},re.checkOn||(ie.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var wt,xt,Ct=ie.expr.attrHandle,Et=/^(?:checked|selected)$/i,St=re.getSetAttribute,Tt=re.input;ie.fn.extend({attr:function(e,t){return Oe(this,ie.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){ie.removeAttr(this,e)})}}),ie.extend({attr:function(e,t,r){var n,i,a=e.nodeType;if(e&&3!==a&&8!==a&&2!==a)return typeof e.getAttribute===Ce?ie.prop(e,t,r):(1===a&&ie.isXMLDoc(e)||(t=t.toLowerCase(),n=ie.attrHooks[t]||(ie.expr.match.bool.test(t)?xt:wt)),void 0===r?n&&"get"in n&&null!==(i=n.get(e,t))?i:(i=ie.find.attr(e,t),null==i?void 0:i):null!==r?n&&"set"in n&&void 0!==(i=n.set(e,r,t))?i:(e.setAttribute(t,r+""),r):void ie.removeAttr(e,t))},removeAttr:function(e,t){var r,n,i=0,a=t&&t.match(be);if(a&&1===e.nodeType)for(;r=a[i++];)n=ie.propFix[r]||r,ie.expr.match.bool.test(r)?Tt&&St||!Et.test(r)?e[n]=!1:e[ie.camelCase("default-"+r)]=e[n]=!1:ie.attr(e,r,""),e.removeAttribute(St?r:n)},attrHooks:{type:{set:function(e,t){if(!re.radioValue&&"radio"===t&&ie.nodeName(e,"input")){var r=e.value;return e.setAttribute("type",t),r&&(e.value=r),t}}}}}),xt={set:function(e,t,r){return t===!1?ie.removeAttr(e,r):Tt&&St||!Et.test(r)?e.setAttribute(!St&&ie.propFix[r]||r,r):e[ie.camelCase("default-"+r)]=e[r]=!0,r}},ie.each(ie.expr.match.bool.source.match(/\w+/g),function(e,t){var r=Ct[t]||ie.find.attr;Ct[t]=Tt&&St||!Et.test(t)?function(e,t,n){var i,a;return n||(a=Ct[t],Ct[t]=i,i=null!=r(e,t,n)?t.toLowerCase():null,Ct[t]=a),i}:function(e,t,r){return r?void 0:e[ie.camelCase("default-"+t)]?t.toLowerCase():null}}),Tt&&St||(ie.attrHooks.value={set:function(e,t,r){return ie.nodeName(e,"input")?void(e.defaultValue=t):wt&&wt.set(e,t,r)}}),St||(wt={set:function(e,t,r){var n=e.getAttributeNode(r);return n||e.setAttributeNode(n=e.ownerDocument.createAttribute(r)),n.value=t+="","value"===r||t===e.getAttribute(r)?t:void 0}},Ct.id=Ct.name=Ct.coords=function(e,t,r){var n;return r?void 0:(n=e.getAttributeNode(t))&&""!==n.value?n.value:null},ie.valHooks.button={get:function(e,t){var r=e.getAttributeNode(t);return r&&r.specified?r.value:void 0},set:wt.set},ie.attrHooks.contenteditable={set:function(e,t,r){wt.set(e,""===t?!1:t,r)}},ie.each(["width","height"],function(e,t){ie.attrHooks[t]={set:function(e,r){return""===r?(e.setAttribute(t,"auto"),r):void 0}}})),re.style||(ie.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var kt=/^(?:input|select|textarea|button|object)$/i,At=/^(?:a|area)$/i;ie.fn.extend({prop:function(e,t){return Oe(this,ie.prop,e,t,arguments.length>1)},removeProp:function(e){return e=ie.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),ie.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(e,t,r){var n,i,a,o=e.nodeType;if(e&&3!==o&&8!==o&&2!==o)return a=1!==o||!ie.isXMLDoc(e),a&&(t=ie.propFix[t]||t,i=ie.propHooks[t]),void 0!==r?i&&"set"in i&&void 0!==(n=i.set(e,r,t))?n:e[t]=r:i&&"get"in i&&null!==(n=i.get(e,t))?n:e[t]},propHooks:{tabIndex:{get:function(e){var t=ie.find.attr(e,"tabindex");return t?parseInt(t,10):kt.test(e.nodeName)||At.test(e.nodeName)&&e.href?0:-1}}}}),re.hrefNormalized||ie.each(["href","src"],function(e,t){ie.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),re.optSelected||(ie.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),ie.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ie.propFix[this.toLowerCase()]=this}),re.enctype||(ie.propFix.enctype="encoding");var Ot=/[\t\r\n\f]/g;ie.fn.extend({addClass:function(e){var t,r,n,i,a,o,s=0,u=this.length,l="string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(be)||[];u>s;s++)if(r=this[s],n=1===r.nodeType&&(r.className?(" "+r.className+" ").replace(Ot," "):" ")){for(a=0;i=t[a++];)n.indexOf(" "+i+" ")<0&&(n+=i+" ");o=ie.trim(n),r.className!==o&&(r.className=o)}return this},removeClass:function(e){var t,r,n,i,a,o,s=0,u=this.length,l=0===arguments.length||"string"==typeof e&&e;if(ie.isFunction(e))return this.each(function(t){ie(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(be)||[];u>s;s++)if(r=this[s],n=1===r.nodeType&&(r.className?(" "+r.className+" ").replace(Ot," "):"")){for(a=0;i=t[a++];)for(;n.indexOf(" "+i+" ")>=0;)n=n.replace(" "+i+" "," ");o=e?ie.trim(n):"",r.className!==o&&(r.className=o)}return this},toggleClass:function(e,t){var r=typeof e;return"boolean"==typeof t&&"string"===r?t?this.addClass(e):this.removeClass(e):this.each(ie.isFunction(e)?function(r){ie(this).toggleClass(e.call(this,r,this.className,t),t)}:function(){if("string"===r)for(var t,n=0,i=ie(this),a=e.match(be)||[];t=a[n++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else(r===Ce||"boolean"===r)&&(this.className&&ie._data(this,"__className__",this.className),this.className=this.className||e===!1?"":ie._data(this,"__className__")||"")})},hasClass:function(e){for(var t=" "+e+" ",r=0,n=this.length;n>r;r++)if(1===this[r].nodeType&&(" "+this[r].className+" ").replace(Ot," ").indexOf(t)>=0)return!0;return!1}}),ie.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){ie.fn[t]=function(e,r){return arguments.length>0?this.on(t,null,e,r):this.trigger(t)}}),ie.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,r){return this.on(e,null,t,r)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,r,n){return this.on(t,e,r,n)},undelegate:function(e,t,r){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",r)}});var Rt=ie.now(),Pt=/\?/,Nt=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;ie.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var r,n=null,i=ie.trim(t+"");return i&&!ie.trim(i.replace(Nt,function(e,t,i,a){return r&&t&&(n=0),0===n?e:(r=i||t,n+=!a-!i,"")}))?Function("return "+i)():ie.error("Invalid JSON: "+t)},ie.parseXML=function(t){var r,n;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(n=new DOMParser,r=n.parseFromString(t,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(t))}catch(i){r=void 0}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||ie.error("Invalid XML: "+t),r};var Mt,Dt,Ft=/#.*$/,jt=/([?&])_=[^&]*/,It=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Lt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Vt=/^(?:GET|HEAD)$/,zt=/^\/\//,Ht=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Bt={},qt={},Ut="*/".concat("*");try{Dt=location.href}catch(Wt){Dt=pe.createElement("a"),Dt.href="",Dt=Dt.href}Mt=Ht.exec(Dt.toLowerCase())||[],ie.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Dt,type:"GET",isLocal:Lt.test(Mt[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Ut,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":ie.parseJSON,"text xml":ie.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?H(H(e,ie.ajaxSettings),t):H(ie.ajaxSettings,e)},ajaxPrefilter:V(Bt),ajaxTransport:V(qt),ajax:function(e,t){function r(e,t,r,n){var i,c,v,y,_,x=t;2!==b&&(b=2,s&&clearTimeout(s),l=void 0,o=n||"",w.readyState=e>0?4:0,i=e>=200&&300>e||304===e,r&&(y=B(h,w,r)),y=q(h,y,w,i),i?(h.ifModified&&(_=w.getResponseHeader("Last-Modified"),_&&(ie.lastModified[a]=_),_=w.getResponseHeader("etag"),_&&(ie.etag[a]=_)),204===e||"HEAD"===h.type?x="nocontent":304===e?x="notmodified":(x=y.state,c=y.data,v=y.error,i=!v)):(v=x,(e||!x)&&(x="error",0>e&&(e=0))),w.status=e,w.statusText=(t||x)+"",i?p.resolveWith(d,[c,x,w]):p.rejectWith(d,[w,x,v]),w.statusCode(g),g=void 0,u&&f.trigger(i?"ajaxSuccess":"ajaxError",[w,h,i?c:v]),m.fireWith(d,[w,x]),u&&(f.trigger("ajaxComplete",[w,h]),--ie.active||ie.event.trigger("ajaxStop")))}"object"==typeof e&&(t=e,e=void 0),t=t||{};var n,i,a,o,s,u,l,c,h=ie.ajaxSetup({},t),d=h.context||h,f=h.context&&(d.nodeType||d.jquery)?ie(d):ie.event,p=ie.Deferred(),m=ie.Callbacks("once memory"),g=h.statusCode||{},v={},y={},b=0,_="canceled",w={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c)for(c={};t=It.exec(o);)c[t[1].toLowerCase()]=t[2];t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?o:null},setRequestHeader:function(e,t){var r=e.toLowerCase();return b||(e=y[r]=y[r]||e,v[e]=t),this},overrideMimeType:function(e){return b||(h.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)g[t]=[g[t],e[t]];else w.always(e[w.status]);return this},abort:function(e){var t=e||_;return l&&l.abort(t),r(0,t),this}};if(p.promise(w).complete=m.add,w.success=w.done,w.error=w.fail,h.url=((e||h.url||Dt)+"").replace(Ft,"").replace(zt,Mt[1]+"//"),h.type=t.method||t.type||h.method||h.type,h.dataTypes=ie.trim(h.dataType||"*").toLowerCase().match(be)||[""],null==h.crossDomain&&(n=Ht.exec(h.url.toLowerCase()),h.crossDomain=!(!n||n[1]===Mt[1]&&n[2]===Mt[2]&&(n[3]||("http:"===n[1]?"80":"443"))===(Mt[3]||("http:"===Mt[1]?"80":"443")))),h.data&&h.processData&&"string"!=typeof h.data&&(h.data=ie.param(h.data,h.traditional)),z(Bt,h,t,w),2===b)return w;u=ie.event&&h.global,u&&0===ie.active++&&ie.event.trigger("ajaxStart"),h.type=h.type.toUpperCase(),h.hasContent=!Vt.test(h.type),a=h.url,h.hasContent||(h.data&&(a=h.url+=(Pt.test(a)?"&":"?")+h.data,delete h.data),h.cache===!1&&(h.url=jt.test(a)?a.replace(jt,"$1_="+Rt++):a+(Pt.test(a)?"&":"?")+"_="+Rt++)),h.ifModified&&(ie.lastModified[a]&&w.setRequestHeader("If-Modified-Since",ie.lastModified[a]),ie.etag[a]&&w.setRequestHeader("If-None-Match",ie.etag[a])),(h.data&&h.hasContent&&h.contentType!==!1||t.contentType)&&w.setRequestHeader("Content-Type",h.contentType),w.setRequestHeader("Accept",h.dataTypes[0]&&h.accepts[h.dataTypes[0]]?h.accepts[h.dataTypes[0]]+("*"!==h.dataTypes[0]?", "+Ut+"; q=0.01":""):h.accepts["*"]);for(i in h.headers)w.setRequestHeader(i,h.headers[i]);if(h.beforeSend&&(h.beforeSend.call(d,w,h)===!1||2===b))return w.abort();_="abort";for(i in{success:1,error:1,complete:1})w[i](h[i]);if(l=z(qt,h,t,w)){w.readyState=1,u&&f.trigger("ajaxSend",[w,h]),h.async&&h.timeout>0&&(s=setTimeout(function(){w.abort("timeout")},h.timeout));try{b=1,l.send(v,r)}catch(x){if(!(2>b))throw x;r(-1,x)}}else r(-1,"No Transport");return w},getJSON:function(e,t,r){return ie.get(e,t,r,"json")},getScript:function(e,t){return ie.get(e,void 0,t,"script")}}),ie.each(["get","post"],function(e,t){ie[t]=function(e,r,n,i){return ie.isFunction(r)&&(i=i||n,n=r,r=void 0),ie.ajax({url:e,type:t,dataType:i,data:r,success:n})}}),ie._evalUrl=function(e){return ie.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},ie.fn.extend({wrapAll:function(e){if(ie.isFunction(e))return this.each(function(t){ie(this).wrapAll(e.call(this,t))});if(this[0]){var t=ie(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return this.each(ie.isFunction(e)?function(t){ie(this).wrapInner(e.call(this,t))}:function(){var t=ie(this),r=t.contents();r.length?r.wrapAll(e):t.append(e)})},wrap:function(e){var t=ie.isFunction(e);return this.each(function(r){ie(this).wrapAll(t?e.call(this,r):e)})},unwrap:function(){return this.parent().each(function(){ie.nodeName(this,"body")||ie(this).replaceWith(this.childNodes)}).end()}}),ie.expr.filters.hidden=function(e){return e.offsetWidth<=0&&e.offsetHeight<=0||!re.reliableHiddenOffsets()&&"none"===(e.style&&e.style.display||ie.css(e,"display"))},ie.expr.filters.visible=function(e){return!ie.expr.filters.hidden(e)};var $t=/%20/g,Kt=/\[\]$/,Yt=/\r?\n/g,Gt=/^(?:submit|button|image|reset|file)$/i,Qt=/^(?:input|select|textarea|keygen)/i;ie.param=function(e,t){var r,n=[],i=function(e,t){t=ie.isFunction(t)?t():null==t?"":t,n[n.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=ie.ajaxSettings&&ie.ajaxSettings.traditional),ie.isArray(e)||e.jquery&&!ie.isPlainObject(e))ie.each(e,function(){i(this.name,this.value)});else for(r in e)U(r,e[r],t,i);return n.join("&").replace($t,"+")},ie.fn.extend({serialize:function(){return ie.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ie.prop(this,"elements");return e?ie.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ie(this).is(":disabled")&&Qt.test(this.nodeName)&&!Gt.test(e)&&(this.checked||!Re.test(e))}).map(function(e,t){var r=ie(this).val();return null==r?null:ie.isArray(r)?ie.map(r,function(e){return{name:t.name,value:e.replace(Yt,"\r\n")}}):{name:t.name,value:r.replace(Yt,"\r\n")}}).get()}}),ie.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&W()||$()}:W;var Xt=0,Jt={},Zt=ie.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in Jt)Jt[e](void 0,!0)}),re.cors=!!Zt&&"withCredentials"in Zt,Zt=re.ajax=!!Zt,Zt&&ie.ajaxTransport(function(e){if(!e.crossDomain||re.cors){var t;return{send:function(r,n){var i,a=e.xhr(),o=++Xt;if(a.open(e.type,e.url,e.async,e.username,e.password),e.xhrFields)for(i in e.xhrFields)a[i]=e.xhrFields[i];e.mimeType&&a.overrideMimeType&&a.overrideMimeType(e.mimeType),e.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(i in r)void 0!==r[i]&&a.setRequestHeader(i,r[i]+"");a.send(e.hasContent&&e.data||null),t=function(r,i){var s,u,l;if(t&&(i||4===a.readyState))if(delete Jt[o],t=void 0,a.onreadystatechange=ie.noop,i)4!==a.readyState&&a.abort();else{l={},s=a.status,"string"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(c){u=""}s||!e.isLocal||e.crossDomain?1223===s&&(s=204):s=l.text?200:404}l&&n(s,u,l,a.getAllResponseHeaders())},e.async?4===a.readyState?setTimeout(t):a.onreadystatechange=Jt[o]=t:t()},abort:function(){t&&t(void 0,!0)}}}}),ie.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return ie.globalEval(e),e}}}),ie.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),ie.ajaxTransport("script",function(e){if(e.crossDomain){var t,r=pe.head||ie("head")[0]||pe.documentElement;return{send:function(n,i){t=pe.createElement("script"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,r){(r||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,r||i(200,"success"))},r.insertBefore(t,r.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var er=[],tr=/(=)\?(?=&|$)|\?\?/;ie.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=er.pop()||ie.expando+"_"+Rt++;return this[e]=!0,e}}),ie.ajaxPrefilter("json jsonp",function(t,r,n){var i,a,o,s=t.jsonp!==!1&&(tr.test(t.url)?"url":"string"==typeof t.data&&!(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&tr.test(t.data)&&"data");return s||"jsonp"===t.dataTypes[0]?(i=t.jsonpCallback=ie.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(tr,"$1"+i):t.jsonp!==!1&&(t.url+=(Pt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return o||ie.error(i+" was not called"),o[0]},t.dataTypes[0]="json",a=e[i],e[i]=function(){o=arguments},n.always(function(){e[i]=a,t[i]&&(t.jsonpCallback=r.jsonpCallback,er.push(i)),o&&ie.isFunction(a)&&a(o[0]),o=a=void 0}),"script"):void 0}),ie.parseHTML=function(e,t,r){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(r=t,t=!1),t=t||pe;var n=he.exec(e),i=!r&&[];return n?[t.createElement(n[1])]:(n=ie.buildFragment([e],t,i),i&&i.length&&ie(i).remove(),ie.merge([],n.childNodes))};var rr=ie.fn.load;ie.fn.load=function(e,t,r){if("string"!=typeof e&&rr)return rr.apply(this,arguments);var n,i,a,o=this,s=e.indexOf(" ");return s>=0&&(n=ie.trim(e.slice(s,e.length)),e=e.slice(0,s)),ie.isFunction(t)?(r=t,t=void 0):t&&"object"==typeof t&&(a="POST"),o.length>0&&ie.ajax({url:e,type:a,dataType:"html",data:t}).done(function(e){i=arguments,o.html(n?ie("<div>").append(ie.parseHTML(e)).find(n):e)}).complete(r&&function(e,t){o.each(r,i||[e.responseText,t,e])}),this},ie.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ie.fn[t]=function(e){return this.on(t,e)}}),ie.expr.filters.animated=function(e){return ie.grep(ie.timers,function(t){return e===t.elem}).length};var nr=e.document.documentElement;ie.offset={setOffset:function(e,t,r){
+var n,i,a,o,s,u,l,c=ie.css(e,"position"),h=ie(e),d={};"static"===c&&(e.style.position="relative"),s=h.offset(),a=ie.css(e,"top"),u=ie.css(e,"left"),l=("absolute"===c||"fixed"===c)&&ie.inArray("auto",[a,u])>-1,l?(n=h.position(),o=n.top,i=n.left):(o=parseFloat(a)||0,i=parseFloat(u)||0),ie.isFunction(t)&&(t=t.call(e,r,s)),null!=t.top&&(d.top=t.top-s.top+o),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):h.css(d)}},ie.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){ie.offset.setOffset(this,e,t)});var t,r,n={top:0,left:0},i=this[0],a=i&&i.ownerDocument;if(a)return t=a.documentElement,ie.contains(t,i)?(typeof i.getBoundingClientRect!==Ce&&(n=i.getBoundingClientRect()),r=K(a),{top:n.top+(r.pageYOffset||t.scrollTop)-(t.clientTop||0),left:n.left+(r.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):n},position:function(){if(this[0]){var e,t,r={top:0,left:0},n=this[0];return"fixed"===ie.css(n,"position")?t=n.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),ie.nodeName(e[0],"html")||(r=e.offset()),r.top+=ie.css(e[0],"borderTopWidth",!0),r.left+=ie.css(e[0],"borderLeftWidth",!0)),{top:t.top-r.top-ie.css(n,"marginTop",!0),left:t.left-r.left-ie.css(n,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){for(var e=this.offsetParent||nr;e&&!ie.nodeName(e,"html")&&"static"===ie.css(e,"position");)e=e.offsetParent;return e||nr})}}),ie.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var r=/Y/.test(t);ie.fn[e]=function(n){return Oe(this,function(e,n,i){var a=K(e);return void 0===i?a?t in a?a[t]:a.document.documentElement[n]:e[n]:void(a?a.scrollTo(r?ie(a).scrollLeft():i,r?i:ie(a).scrollTop()):e[n]=i)},e,n,arguments.length,null)}}),ie.each(["top","left"],function(e,t){ie.cssHooks[t]=T(re.pixelPosition,function(e,r){return r?(r=tt(e,t),nt.test(r)?ie(e).position()[t]+"px":r):void 0})}),ie.each({Height:"height",Width:"width"},function(e,t){ie.each({padding:"inner"+e,content:t,"":"outer"+e},function(r,n){ie.fn[n]=function(n,i){var a=arguments.length&&(r||"boolean"!=typeof n),o=r||(n===!0||i===!0?"margin":"border");return Oe(this,function(t,r,n){var i;return ie.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===n?ie.css(t,r,o):ie.style(t,r,n,o)},t,a?n:void 0,a,null)}})}),ie.fn.size=function(){return this.length},ie.fn.andSelf=ie.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return ie});var ir=e.jQuery,ar=e.$;return ie.noConflict=function(t){return e.$===ie&&(e.$=ar),t&&e.jQuery===ie&&(e.jQuery=ir),ie},typeof t===Ce&&(e.jQuery=e.$=ie),ie}),function(){var e,t,r,n,i,a=this;!function(){function a(){}function o(e,t){if("."!==e.charAt(0))return e;for(var r=e.split("/"),n=t.split("/").slice(0,-1),i=0,a=r.length;a>i;i++){var o=r[i];if(".."===o)n.pop();else{if("."===o)continue;n.push(o)}}return n.join("/")}if(i=this.Ember=this.Ember||{},"undefined"==typeof i&&(i={}),"undefined"==typeof i.__loader){var s={},u={};e=function(e,t,r){var n={};r?(n.deps=t,n.callback=r):(n.deps=[],n.callback=t),s[e]=n},n=r=t=function(e){var r=u[e];if(void 0!==r)return u[e];if(r===a)return void 0;if(u[e]={},!s[e])throw new Error("Could not find module "+e);for(var n,i=s[e],l=i.deps,c=i.callback,h=[],d=l.length,f=0;d>f;f++)h.push("exports"===l[f]?n={}:t(o(l[f],e)));var p=0===d?c.call(this):c.apply(this,h);return u[e]=n||(void 0===p?a:p)},n._eak_seen=s,i.__loader={define:e,require:r,registry:s}}else e=i.__loader.define,n=r=t=i.__loader.require}(),e("backburner",["backburner/utils","backburner/platform","backburner/binary-search","backburner/deferred-action-queues","exports"],function(e,t,r,n,i){"use strict";function a(e,t){this.queueNames=e,this.options=t||{},this.options.defaultQueue||(this.options.defaultQueue=e[0]),this.instanceStack=[],this._debouncees=[],this._throttlers=[],this._timers=[]}function o(e){return e.onError||e.onErrorTarget&&e.onErrorTarget[e.onErrorMethod]}function s(e){e.begin(),e._autorun=S.setTimeout(function(){e._autorun=null,e.end()})}function u(e,t,r){var n=b();(!e._laterTimer||t<e._laterTimerExpiresAt||e._laterTimerExpiresAt<n)&&(e._laterTimer&&(clearTimeout(e._laterTimer),e._laterTimerExpiresAt<n&&(r=Math.max(0,t-n))),e._laterTimer=S.setTimeout(function(){e._laterTimer=null,e._laterTimerExpiresAt=null,l(e)},r),e._laterTimerExpiresAt=n+r)}function l(e){var t,r,n,i=b();e.run(function(){for(r=w(i,e._timers),t=e._timers.splice(0,r),r=1,n=t.length;n>r;r+=2)e.schedule(e.options.defaultQueue,null,t[r])}),e._timers.length&&u(e,e._timers[0],e._timers[0]-i)}function c(e,t,r){return d(e,t,r)}function h(e,t,r){return d(e,t,r)}function d(e,t,r){for(var n,i=-1,a=0,o=r.length;o>a;a++)if(n=r[a],n[0]===e&&n[1]===t){i=a;break}return i}var f=e.each,p=e.isString,m=e.isFunction,g=e.isNumber,v=e.isCoercableNumber,y=e.wrapInTryCatch,b=e.now,_=t.needsIETryCatchFix,w=r["default"],x=n["default"],C=[].slice,E=[].pop,S=this;if(a.prototype={begin:function(){var e=this.options,t=e&&e.onBegin,r=this.currentInstance;r&&this.instanceStack.push(r),this.currentInstance=new x(this.queueNames,e),t&&t(this.currentInstance,r)},end:function(){var e=this.options,t=e&&e.onEnd,r=this.currentInstance,n=null,i=!1;try{r.flush()}finally{i||(i=!0,this.currentInstance=null,this.instanceStack.length&&(n=this.instanceStack.pop(),this.currentInstance=n),t&&t(r,n))}},run:function(e,t){var r=o(this.options);this.begin(),t||(t=e,e=null),p(t)&&(t=e[t]);var n=C.call(arguments,2),i=!1;if(r)try{return t.apply(e,n)}catch(a){r(a)}finally{i||(i=!0,this.end())}else try{return t.apply(e,n)}finally{i||(i=!0,this.end())}},join:function(e,t){return this.currentInstance?(t||(t=e,e=null),p(t)&&(t=e[t]),t.apply(e,C.call(arguments,2))):this.run.apply(this,arguments)},defer:function(e,t,r){r||(r=t,t=null),p(r)&&(r=t[r]);var n,i=this.DEBUG?new Error:void 0,a=arguments.length;if(a>3){n=new Array(a-3);for(var o=3;a>o;o++)n[o-3]=arguments[o]}else n=void 0;return this.currentInstance||s(this),this.currentInstance.schedule(e,t,r,n,!1,i)},deferOnce:function(e,t,r){r||(r=t,t=null),p(r)&&(r=t[r]);var n,i=this.DEBUG?new Error:void 0,a=arguments.length;if(a>3){n=new Array(a-3);for(var o=3;a>o;o++)n[o-3]=arguments[o]}else n=void 0;return this.currentInstance||s(this),this.currentInstance.schedule(e,t,r,n,!0,i)},setTimeout:function(){function e(){if(y)try{i.apply(s,r)}catch(e){y(e)}else i.apply(s,r)}for(var t=arguments.length,r=new Array(t),n=0;t>n;n++)r[n]=arguments[n];var i,a,s,l,c,h,d=r.length;if(0!==d){if(1===d)i=r.shift(),a=0;else if(2===d)l=r[0],c=r[1],m(c)||m(l[c])?(s=r.shift(),i=r.shift(),a=0):v(c)?(i=r.shift(),a=r.shift()):(i=r.shift(),a=0);else{var f=r[r.length-1];a=v(f)?r.pop():0,l=r[0],h=r[1],m(h)||p(h)&&null!==l&&h in l?(s=r.shift(),i=r.shift()):i=r.shift()}var g=b()+parseInt(a,10);p(i)&&(i=s[i]);var y=o(this.options),_=w(g,this._timers);return this._timers.splice(_,0,g,e),u(this,g,a),e}},throttle:function(e,t){var r,n,i,a,o=this,s=arguments,u=E.call(s);return g(u)||p(u)?(r=u,u=!0):r=E.call(s),r=parseInt(r,10),i=h(e,t,this._throttlers),i>-1?this._throttlers[i]:(a=S.setTimeout(function(){u||o.run.apply(o,s);var r=h(e,t,o._throttlers);r>-1&&o._throttlers.splice(r,1)},r),u&&this.run.apply(this,s),n=[e,t,a],this._throttlers.push(n),n)},debounce:function(e,t){var r,n,i,a,o=this,s=arguments,u=E.call(s);return g(u)||p(u)?(r=u,u=!1):r=E.call(s),r=parseInt(r,10),n=c(e,t,this._debouncees),n>-1&&(i=this._debouncees[n],this._debouncees.splice(n,1),clearTimeout(i[2])),a=S.setTimeout(function(){u||o.run.apply(o,s);var r=c(e,t,o._debouncees);r>-1&&o._debouncees.splice(r,1)},r),u&&-1===n&&o.run.apply(o,s),i=[e,t,a],o._debouncees.push(i),i},cancelTimers:function(){var e=function(e){clearTimeout(e[2])};f(this._throttlers,e),this._throttlers=[],f(this._debouncees,e),this._debouncees=[],this._laterTimer&&(clearTimeout(this._laterTimer),this._laterTimer=null),this._timers=[],this._autorun&&(clearTimeout(this._autorun),this._autorun=null)},hasTimers:function(){return!!this._timers.length||!!this._debouncees.length||!!this._throttlers.length||this._autorun},cancel:function(e){var t=typeof e;if(e&&"object"===t&&e.queue&&e.method)return e.queue.cancel(e);if("function"!==t)return"[object Array]"===Object.prototype.toString.call(e)?this._cancelItem(h,this._throttlers,e)||this._cancelItem(c,this._debouncees,e):void 0;for(var r=0,n=this._timers.length;n>r;r+=2)if(this._timers[r+1]===e)return this._timers.splice(r,2),0===r&&(this._laterTimer&&(clearTimeout(this._laterTimer),this._laterTimer=null),this._timers.length>0&&u(this,this._timers[0],this._timers[0]-b())),!0},_cancelItem:function(e,t,r){var n,i;return r.length<3?!1:(i=e(r[0],r[1],t),i>-1&&(n=t[i],n[2]===r[2])?(t.splice(i,1),clearTimeout(r[2]),!0):!1)}},a.prototype.schedule=a.prototype.defer,a.prototype.scheduleOnce=a.prototype.deferOnce,a.prototype.later=a.prototype.setTimeout,_){var T=a.prototype.run;a.prototype.run=y(T);var k=a.prototype.end;a.prototype.end=y(k)}i["default"]=a}),e("backburner.umd",["./backburner"],function(t){"use strict";var r=t["default"];"function"==typeof e&&e.amd?e(function(){return r}):"undefined"!=typeof module&&module.exports?module.exports=r:"undefined"!=typeof this&&(this.Backburner=r)}),e("backburner/binary-search",["exports"],function(e){"use strict";e["default"]=function(e,t){for(var r,n,i=0,a=t.length-2;a>i;)n=(a-i)/2,r=i+n-n%2,e>=t[r]?i=r+2:a=r;return e>=t[i]?i+2:i}}),e("backburner/deferred-action-queues",["./utils","./queue","exports"],function(e,t,r){"use strict";function n(e,t){var r=this.queues=Object.create(null);this.queueNames=e=e||[],this.options=t,a(e,function(e){r[e]=new o(e,t[e],t)})}function i(e){throw new Error("You attempted to schedule an action in a queue ("+e+") that doesn't exist")}var a=e.each,o=t["default"];n.prototype={schedule:function(e,t,r,n,a,o){var s=this.queues,u=s[e];return u||i(e),a?u.pushUnique(t,r,n,o):u.push(t,r,n,o)},flush:function(){var e,t,r=this.queues,n=this.queueNames,i=0,a=n.length;for(this.options;a>i;){e=n[i],t=r[e];var o=t._queue.length;0===o?i++:(t.flush(!1),i=0)}}},r["default"]=n}),e("backburner/platform",["exports"],function(e){"use strict";var t=function(e,t){try{t()}catch(e){}return!!e}();e.needsIETryCatchFix=t}),e("backburner/queue",["./utils","exports"],function(e,t){"use strict";function r(e,t,r){this.name=e,this.globalOptions=r||{},this.options=t,this._queue=[],this.targetQueues=Object.create(null),this._queueBeingFlushed=void 0}var n=e.isString;r.prototype={push:function(e,t,r,n){var i=this._queue;return i.push(e,t,r,n),{queue:this,target:e,method:t}},pushUniqueWithoutGuid:function(e,t,r,n){for(var i=this._queue,a=0,o=i.length;o>a;a+=4){var s=i[a],u=i[a+1];if(s===e&&u===t)return i[a+2]=r,void(i[a+3]=n)}i.push(e,t,r,n)},targetQueue:function(e,t,r,n,i){for(var a=this._queue,o=0,s=e.length;s>o;o+=4){var u=e[o],l=e[o+1];if(u===r)return a[l+2]=n,void(a[l+3]=i)}e.push(r,a.push(t,r,n,i)-4)},pushUniqueWithGuid:function(e,t,r,n,i){var a=this.targetQueues[e];return a?this.targetQueue(a,t,r,n,i):this.targetQueues[e]=[r,this._queue.push(t,r,n,i)-4],{queue:this,target:t,method:r}},pushUnique:function(e,t,r,n){var i=(this._queue,this.globalOptions.GUID_KEY);if(e&&i){var a=e[i];if(a)return this.pushUniqueWithGuid(a,e,t,r,n)}return this.pushUniqueWithoutGuid(e,t,r,n),{queue:this,target:e,method:t}},invoke:function(e,t,r,n,i){r&&r.length>0?t.apply(e,r):t.call(e)},invokeWithOnError:function(e,t,r,n,i){try{r&&r.length>0?t.apply(e,r):t.call(e)}catch(a){n(a,i)}},flush:function(e){var t=this._queue,r=t.length;if(0!==r){var i,a,o,s,u=this.globalOptions,l=this.options,c=l&&l.before,h=l&&l.after,d=u.onError||u.onErrorTarget&&u.onErrorTarget[u.onErrorMethod],f=d?this.invokeWithOnError:this.invoke;this.targetQueues=Object.create(null);var p=this._queueBeingFlushed=this._queue.slice();this._queue=[],c&&c();for(var m=0;r>m;m+=4)i=p[m],a=p[m+1],o=p[m+2],s=p[m+3],n(a)&&(a=i[a]),a&&f(i,a,o,d,s);h&&h(),this._queueBeingFlushed=void 0,e!==!1&&this._queue.length>0&&this.flush(!0)}},cancel:function(e){var t,r,n,i,a=this._queue,o=e.target,s=e.method,u=this.globalOptions.GUID_KEY;if(u&&this.targetQueues&&o){var l=this.targetQueues[o[u]];if(l)for(n=0,i=l.length;i>n;n++)l[n]===s&&l.splice(n,1)}for(n=0,i=a.length;i>n;n+=4)if(t=a[n],r=a[n+1],t===o&&r===s)return a.splice(n,4),!0;if(a=this._queueBeingFlushed)for(n=0,i=a.length;i>n;n+=4)if(t=a[n],r=a[n+1],t===o&&r===s)return a[n+1]=null,!0}},t["default"]=r}),e("backburner/utils",["exports"],function(e){"use strict";function t(e,t){for(var r=0;r<e.length;r++)t(e[r])}function r(e){return"string"==typeof e}function n(e){return"function"==typeof e}function i(e){return"number"==typeof e}function a(e){return i(e)||s.test(e)}function o(e){return function(){try{return e.apply(this,arguments)}catch(t){throw t}}}var s=/\d+/;e.each=t;var u=Date.now||function(){return(new Date).getTime()};e.now=u,e.isString=r,e.isFunction=n,e.isNumber=i,e.isCoercableNumber=a,e.wrapInTryCatch=o}),e("calculateVersion",[],function(){"use strict";var e=r("fs"),t=r("path");module.exports=function(){var n=r("../package.json").version,i=[n],a=t.join(__dirname,"..",".git"),o=t.join(a,"HEAD");if(n.indexOf("+")>-1){try{if(e.existsSync(o)){var s,u=e.readFileSync(o,{encoding:"utf8"}),l=u.split("/").slice(-1)[0].trim(),c=u.split(" ")[1];if(c){var h=t.join(a,c.trim());s=e.readFileSync(h)}else s=l;i.push(s.slice(0,10))}}catch(d){console.error(d.stack)}return i.join(".")}return n}}),e("container",["exports","container/registry","container/container"],function(e,t,r){"use strict";i.MODEL_FACTORY_INJECTIONS=!1,i.ENV&&"undefined"!=typeof i.ENV.MODEL_FACTORY_INJECTIONS&&(i.MODEL_FACTORY_INJECTIONS=!!i.ENV.MODEL_FACTORY_INJECTIONS),e.Registry=t["default"],e.Container=r["default"]}),e("container/container",["exports","ember-metal/core","ember-metal/keys","ember-metal/dictionary"],function(e,r,n,i){"use strict";function a(e,r){this._registry=e||function(){return m||(m=t("container/registry")["default"]),new m}(),this.cache=i["default"](r&&r.cache?r.cache:null),this.factoryCache=i["default"](r&&r.factoryCache?r.factoryCache:null),this.validationCache=i["default"](r&&r.validationCache?r.validationCache:null)}function o(e,t,r){if(r=r||{},e.cache[t]&&r.singleton!==!1)return e.cache[t];var n=h(e,t);return void 0!==n?(e._registry.getOption(t,"singleton")!==!1&&r.singleton!==!1&&(e.cache[t]=n),n):void 0}function s(e){var t={};if(arguments.length>1){for(var r,n=Array.prototype.slice.call(arguments,1),i=[],a=0,s=n.length;s>a;a++)n[a]&&(i=i.concat(n[a]));for(e._registry.validateInjections(i),a=0,s=i.length;s>a;a++)r=i[a],t[r.property]=o(e,r.fullName)}return t}function u(e,t){var n=e.factoryCache;if(n[t])return n[t];var i=e._registry,a=i.resolve(t);if(void 0!==a){var o=t.split(":")[0];if(!a||"function"!=typeof a.extend||!r["default"].MODEL_FACTORY_INJECTIONS&&"model"===o)return a&&"function"==typeof a._onLookup&&a._onLookup(t),n[t]=a,a;var s=l(e,t),u=c(e,t);u._toString=i.makeToString(a,t);var h=a.extend(s);return h.reopenClass(u),a&&"function"==typeof a._onLookup&&a._onLookup(t),n[t]=h,h}}function l(e,t){var r=e._registry,n=t.split(":"),i=n[0],a=s(e,r.getTypeInjections(i),r.getInjections(t));return a._debugContainerKey=t,a.container=e,a}function c(e,t){var r=e._registry,n=t.split(":"),i=n[0],a=s(e,r.getFactoryTypeInjections(i),r.getFactoryInjections(t));return a._debugContainerKey=t,a}function h(e,t){var r,n,i=u(e,t);if(e._registry.getOption(t,"instantiate")===!1)return i;if(i){if("function"!=typeof i.create)throw new Error("Failed to create an instance of '"+t+"'. Most likely an improperly defined class or an invalid module export.");return n=e.validationCache,n[t]||"function"!=typeof i._lazyInjections||(r=i._lazyInjections(),r=e._registry.normalizeInjectionsHash(r),e._registry.validateInjections(r)),n[t]=!0,"function"==typeof i.extend?i.create():i.create(l(e,t))}}function d(e,t){for(var r,i,a=e.cache,o=n["default"](a),s=0,u=o.length;u>s;s++)r=o[s],i=a[r],e._registry.getOption(r,"instantiate")!==!1&&t(i)}function f(e){d(e,function(e){e.destroy&&e.destroy()}),e.cache.dict=i["default"](null)}function p(e,t){var r=e.cache[t];delete e.factoryCache[t],r&&(delete e.cache[t],r.destroy&&r.destroy())}var m;a.prototype={_registry:null,cache:null,factoryCache:null,validationCache:null,lookup:function(e,t){return o(this,this._registry.normalize(e),t)},lookupFactory:function(e){return u(this,this._registry.normalize(e))},destroy:function(){d(this,function(e){e.destroy&&e.destroy()}),this.isDestroyed=!0},reset:function(e){arguments.length>0?p(this,this._registry.normalize(e)):f(this)}},function(){function e(e){a.prototype[e]=function(){return this._registry[e].apply(this._registry,arguments)}}for(var t=["register","unregister","resolve","normalize","typeInjection","injection","factoryInjection","factoryTypeInjection","has","options","optionsForType"],r=0,n=t.length;n>r;r++)e(t[r])}(),e["default"]=a}),e("container/registry",["exports","ember-metal/core","ember-metal/dictionary","./container"],function(e,t,r,n){"use strict";function i(e){this.fallback=e&&e.fallback?e.fallback:null,this.resolver=e&&e.resolver?e.resolver:function(){},this.registrations=r["default"](e&&e.registrations?e.registrations:null),this._typeInjections=r["default"](null),this._injections=r["default"](null),this._factoryTypeInjections=r["default"](null),this._factoryInjections=r["default"](null),this._normalizeCache=r["default"](null),this._resolveCache=r["default"](null),this._options=r["default"](null),this._typeOptions=r["default"](null)}function a(e,t){var r=e._resolveCache[t];if(r)return r;var n=e.resolver(t)||e.registrations[t];return e._resolveCache[t]=n,n}function o(e,t){return void 0!==e.resolve(t)}var s=/^[^:]+.+:[^:]+$/;i.prototype={fallback:null,resolver:null,registrations:null,_typeInjections:null,_injections:null,_factoryTypeInjections:null,_factoryInjections:null,_normalizeCache:null,_resolveCache:null,_options:null,_typeOptions:null,_defaultContainer:null,container:function(e){var t=new n["default"](this,e);return this.registerContainer(t),t},registerContainer:function(e){this._defaultContainer||(this._defaultContainer=e),this.fallback&&this.fallback.registerContainer(e)},lookup:function(e,t){return this._defaultContainer.lookup(e,t)},lookupFactory:function(e){return this._defaultContainer.lookupFactory(e)},register:function(e,t,r){if(void 0===t)throw new TypeError("Attempting to register an unknown factory: `"+e+"`");var n=this.normalize(e);if(this._resolveCache[n])throw new Error("Cannot re-register: `"+e+"`, as it has already been resolved.");this.registrations[n]=t,this._options[n]=r||{}},unregister:function(e){var t=this.normalize(e);delete this.registrations[t],delete this._resolveCache[t],delete this._options[t]},resolve:function(e){var t=a(this,this.normalize(e));return void 0===t&&this.fallback&&(t=this.fallback.resolve(e)),t},describe:function(e){return e},normalizeFullName:function(e){return e},normalize:function(e){return this._normalizeCache[e]||(this._normalizeCache[e]=this.normalizeFullName(e))},makeToString:function(e,t){return e.toString()},has:function(e){return o(this,this.normalize(e))},optionsForType:function(e,t){this._typeOptions[e]=t},getOptionsForType:function(e){var t=this._typeOptions[e];return void 0===t&&this.fallback&&(t=this.fallback.getOptionsForType(e)),t},options:function(e,t){t=t||{};var r=this.normalize(e);this._options[r]=t},getOptions:function(e){var t=this.normalize(e),r=this._options[t];return void 0===r&&this.fallback&&(r=this.fallback.getOptions(e)),r},getOption:function(e,t){var r=this._options[e];if(r&&void 0!==r[t])return r[t];var n=e.split(":")[0];return r=this._typeOptions[n],r&&void 0!==r[t]?r[t]:this.fallback?this.fallback.getOption(e,t):void 0},option:function(e,t){return this.getOption(e,t)},typeInjection:function(e,t,r){var n=r.split(":")[0];if(n===e)throw new Error("Cannot inject a `"+r+"` on other "+e+"(s).");var i=this._typeInjections[e]||(this._typeInjections[e]=[]);i.push({property:t,fullName:r})},injection:function(e,t,r){this.validateFullName(r);var n=this.normalize(r);if(-1===e.indexOf(":"))return this.typeInjection(e,t,n);var i=this.normalize(e),a=this._injections[i]||(this._injections[i]=[]);a.push({property:t,fullName:n})},factoryTypeInjection:function(e,t,r){var n=this._factoryTypeInjections[e]||(this._factoryTypeInjections[e]=[]);n.push({property:t,fullName:this.normalize(r)})},factoryInjection:function(e,t,r){var n=this.normalize(e),i=this.normalize(r);if(this.validateFullName(r),-1===e.indexOf(":"))return this.factoryTypeInjection(n,t,i);var a=this._factoryInjections[n]||(this._factoryInjections[n]=[]);a.push({property:t,fullName:i})},validateFullName:function(e){if(!s.test(e))throw new TypeError("Invalid Fullname, expected: `type:name` got: "+e);return!0},validateInjections:function(e){if(e)for(var t,r=0,n=e.length;n>r;r++)if(t=e[r].fullName,!this.has(t))throw new Error("Attempting to inject an unknown injection: `"+t+"`")},normalizeInjectionsHash:function(e){var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push({property:r,fullName:e[r]});return t},getInjections:function(e){var t=this._injections[e]||[];return this.fallback&&(t=t.concat(this.fallback.getInjections(e))),t},getTypeInjections:function(e){var t=this._typeInjections[e]||[];return this.fallback&&(t=t.concat(this.fallback.getTypeInjections(e))),t},getFactoryInjections:function(e){var t=this._factoryInjections[e]||[];return this.fallback&&(t=t.concat(this.fallback.getFactoryInjections(e))),t},getFactoryTypeInjections:function(e){var t=this._factoryTypeInjections[e]||[];return this.fallback&&(t=t.concat(this.fallback.getFactoryTypeInjections(e))),t}},e["default"]=i}),e("dag-map",["exports"],function(e){"use strict";function t(e,r,n,i){var a,o=e.name,s=e.incoming,u=e.incomingNames,l=u.length;if(n||(n={}),i||(i=[]),!n.hasOwnProperty(o)){for(i.push(o),n[o]=!0,a=0;l>a;a++)t(s[u[a]],r,n,i);r(e,i),i.pop()}}function r(){this.names=[],this.vertices=Object.create(null)}function n(e){this.name=e,this.incoming={},this.incomingNames=[],this.hasOutgoing=!1,this.value=null}r.prototype.add=function(e){if(!e)throw new Error("Can't add Vertex without name");if(void 0!==this.vertices[e])return this.vertices[e];var t=new n(e);return this.vertices[e]=t,this.names.push(e),t},r.prototype.map=function(e,t){this.add(e).value=t},r.prototype.addEdge=function(e,r){function n(e,t){if(e.name===r)throw new Error("cycle detected: "+r+" <- "+t.join(" <- "))}if(e&&r&&e!==r){var i=this.add(e),a=this.add(r);a.incoming.hasOwnProperty(e)||(t(i,n),i.hasOutgoing=!0,a.incoming[e]=i,a.incomingNames.push(e))}},r.prototype.topsort=function(e){var r,n,i={},a=this.vertices,o=this.names,s=o.length;for(r=0;s>r;r++)n=a[o[r]],n.hasOutgoing||t(n,e,i)},r.prototype.addEdges=function(e,t,r,n){var i;if(this.map(e,t),r)if("string"==typeof r)this.addEdge(e,r);else for(i=0;i<r.length;i++)this.addEdge(e,r[i]);if(n)if("string"==typeof n)this.addEdge(n,e);else for(i=0;i<n.length;i++)this.addEdge(n[i],e)},e["default"]=r}),e("dag-map.umd",["./dag-map"],function(t){"use strict";var r=t["default"];"function"==typeof e&&e.amd?e(function(){return r}):"undefined"!=typeof module&&module.exports?module.exports=r:"undefined"!=typeof this&&(this.DAG=r)}),e("dom-helper",["./morph-range","./morph-attr","./dom-helper/build-html-dom","./dom-helper/classes","./dom-helper/prop","exports"],function(e,t,r,n,i,a){"use strict";function o(e){return e&&e.namespaceURI===f&&!p[e.tagName]?f:null}function s(e,t){if("TABLE"===t.tagName){var r=E.exec(e);if(r){var n=r[1];return"tr"===n||"col"===n}}}function u(e,t){var r=t.document.createElement("div");return r.innerHTML="<svg>"+e+"</svg>",r.firstChild.childNodes}function l(e){if(this.document=e||document,!this.document)throw new Error("A document object must be passed to the DOMHelper, or available on the global scope");this.canClone=C,this.namespace=null}var c=e["default"],h=t["default"],d=r.buildHTMLDOM,f=r.svgNamespace,p=r.svgHTMLIntegrationPoints,m=n.addClasses,g=n.removeClasses,v=i.normalizeProperty,y=i.isAttrRemovalValue,b="undefined"==typeof document?!1:document,_=b&&function(e){var t=e.createElement("div");t.appendChild(e.createTextNode(""));var r=t.cloneNode(!0);return 0===r.childNodes.length}(b),w=b&&function(e){var t=e.createElement("input");t.setAttribute("checked","checked");var r=t.cloneNode(!1);return!r.checked}(b),x=b&&(b.createElementNS?function(e){var t=e.createElementNS(f,"svg");return t.setAttribute("viewBox","0 0 100 100"),t.removeAttribute("viewBox"),!t.getAttribute("viewBox")}(b):!0),C=b&&function(e){var t=e.createElement("div");t.appendChild(e.createTextNode(" ")),t.appendChild(e.createTextNode(" "));var r=t.cloneNode(!0);return" "===r.childNodes[0].nodeValue}(b),E=/<([\w:]+)/,S=l.prototype;S.constructor=l,S.getElementById=function(e,t){return t=t||this.document,t.getElementById(e)},S.insertBefore=function(e,t,r){return e.insertBefore(t,r)},S.appendChild=function(e,t){return e.appendChild(t)},S.childAt=function(e,t){for(var r=e,n=0;n<t.length;n++)r=r.childNodes.item(t[n]);return r},S.childAtIndex=function(e,t){for(var r=e.firstChild,n=0;r&&t>n;n++)r=r.nextSibling;return r},S.appendText=function(e,t){return e.appendChild(this.document.createTextNode(t))},S.setAttribute=function(e,t,r){e.setAttribute(t,String(r))},S.setAttributeNS=function(e,t,r,n){e.setAttributeNS(t,r,String(n))},S.removeAttribute=x?function(e,t){e.removeAttribute(t)}:function(e,t){"svg"===e.tagName&&"viewBox"===t?e.setAttribute(t,null):e.removeAttribute(t)},S.setPropertyStrict=function(e,t,r){e[t]=r},S.setProperty=function(e,t,r,n){var i=t.toLowerCase();if(e.namespaceURI===f||"style"===i)y(r)?e.removeAttribute(t):n?e.setAttributeNS(n,t,r):e.setAttribute(t,r);else{var a=v(e,t);a?e[a]=r:y(r)?e.removeAttribute(t):n&&e.setAttributeNS?e.setAttributeNS(n,t,r):e.setAttribute(t,r)}},b&&b.createElementNS?(S.createElement=function(e,t){var r=this.namespace;return t&&(r="svg"===e?f:o(t)),r?this.document.createElementNS(r,e):this.document.createElement(e)},S.setAttributeNS=function(e,t,r,n){e.setAttributeNS(t,r,String(n))}):(S.createElement=function(e){return this.document.createElement(e)},S.setAttributeNS=function(e,t,r,n){e.setAttribute(r,String(n))}),S.addClasses=m,S.removeClasses=g,S.setNamespace=function(e){this.namespace=e},S.detectNamespace=function(e){this.namespace=o(e)},S.createDocumentFragment=function(){return this.document.createDocumentFragment()},S.createTextNode=function(e){return this.document.createTextNode(e)},S.createComment=function(e){return this.document.createComment(e)},S.repairClonedNode=function(e,t,r){if(_&&t.length>0)for(var n=0,i=t.length;i>n;n++){var a=this.document.createTextNode(""),o=t[n],s=this.childAtIndex(e,o);s?e.insertBefore(a,s):e.appendChild(a)}w&&r&&e.setAttribute("checked","checked")},S.cloneNode=function(e,t){var r=e.cloneNode(!!t);return r},S.createAttrMorph=function(e,t,r){return new h(e,t,this,r)},S.createUnsafeAttrMorph=function(e,t,r){var n=this.createAttrMorph(e,t,r);return n.escaped=!1,n},S.createMorph=function(e,t,r,n){if(n&&11===n.nodeType)throw new Error("Cannot pass a fragment as the contextual element to createMorph");n||1!==e.nodeType||(n=e);var i=new c(this,n);return i.firstNode=t,i.lastNode=r,i.state={},i.isDirty=!0,i},S.createUnsafeMorph=function(e,t,r,n){var i=this.createMorph(e,t,r,n);return i.parseTextAsHTML=!0,i},S.createMorphAt=function(e,t,r,n){var i=t===r,a=this.childAtIndex(e,t),o=i?a:this.childAtIndex(e,r);return this.createMorph(e,a,o,n)},S.createUnsafeMorphAt=function(e,t,r,n){var i=this.createMorphAt(e,t,r,n);return i.parseTextAsHTML=!0,i},S.insertMorphBefore=function(e,t,r){var n=this.document.createComment("");return e.insertBefore(n,t),this.createMorph(e,n,n,r)},S.appendMorph=function(e,t){var r=this.document.createComment("");return e.appendChild(r),this.createMorph(e,r,r,t)},S.insertBoundary=function(e,t){var r=null===t?null:this.childAtIndex(e,t);this.insertBefore(e,this.createTextNode(""),r)},S.parseHTML=function(e,t){var r;if(o(t)===f)r=u(e,this);else{var n=d(e,t,this);if(s(e,t)){for(var i=n[0];i&&1!==i.nodeType;)i=i.nextSibling;r=i.childNodes}else r=n}var a=this.document.createDocumentFragment();if(r&&r.length>0){var l=r[0];for("SELECT"===t.tagName&&(l=l.nextSibling);l;){var c=l;l=l.nextSibling,a.appendChild(c)}}return a};var T;S.protocolForURL=function(e){return T||(T=this.document.createElement("a")),T.href=e,T.protocol},a["default"]=l}),e("dom-helper/build-html-dom",["exports"],function(e){"use strict";function t(e,t){t="&shy;"+t,e.innerHTML=t;for(var r=e.childNodes,n=r[0];1===n.nodeType&&!n.nodeName;)n=n.firstChild;if(3===n.nodeType&&"­"===n.nodeValue.charAt(0)){var i=n.nodeValue.slice(1);i.length?n.nodeValue=n.nodeValue.slice(1):n.parentNode.removeChild(n)}return r}function r(e,r){var i=r.tagName,a=r.outerHTML||(new XMLSerializer).serializeToString(r);if(!a)throw"Can't set innerHTML on "+i+" in this browser";e=n(e,r);for(var o=h[i.toLowerCase()],s=a.match(new RegExp("<"+i+"([^>]*)>","i"))[0],u="</"+i+">",l=[s,e,u],c=o.length,d=1+c;c--;)l.unshift("<"+o[c]+">"),l.push("</"+o[c]+">");var f=document.createElement("div");t(f,l.join(""));for(var p=f;d--;)for(p=p.firstChild;p&&1!==p.nodeType;)p=p.nextSibling;for(;p&&p.tagName!==i;)p=p.nextSibling;return p?p.childNodes:[]}function n(e,t){return"SELECT"===t.tagName&&(e="<option></option>"+e),e}var i={foreignObject:1,desc:1,title:1};e.svgHTMLIntegrationPoints=i;var a="http://www.w3.org/2000/svg";e.svgNamespace=a;var o,s="undefined"==typeof document?!1:document,u=s&&function(e){if(void 0!==e.createElementNS){var t=e.createElementNS(a,"title");return t.innerHTML="<div></div>",0===t.childNodes.length||1!==t.childNodes[0].nodeType}}(s),l=s&&function(e){var t=e.createElement("div");return t.innerHTML="<div></div>",t.firstChild.innerHTML="<script></script>",""===t.firstChild.innerHTML}(s),c=s&&function(e){var t=e.createElement("div");return t.innerHTML="Test: <script type='text/x-placeholder'></script>Value","Test:"===t.childNodes[0].nodeValue&&" Value"===t.childNodes[2].nodeValue}(s),h=s&&function(e){var t,r,n=e.createElement("table");try{n.innerHTML="<tbody></tbody>"}catch(i){}finally{r=0===n.childNodes.length}r&&(t={colgroup:["table"],table:[],tbody:["table"],tfoot:["table"],thead:["table"],tr:["table","tbody"]});var a=e.createElement("select");return a.innerHTML="<option></option>",a.childNodes[0]||(t=t||{},t.select=[]),t}(s);o=l?function(e,r,i){return e=n(e,r),r=i.cloneNode(r,!1),t(r,e),r.childNodes}:function(e,t,r){return e=n(e,t),t=r.cloneNode(t,!1),t.innerHTML=e,t.childNodes};var d;d=h||c?function(e,t,n){var i=[],a=[];"string"==typeof e&&(e=e.replace(/(\s*)(<script)/g,function(e,t,r){return i.push(t),r}),e=e.replace(/(<\/script>)(\s*)/g,function(e,t,r){return a.push(r),t}));var s;s=h[t.tagName.toLowerCase()]?r(e,t):o(e,t,n);var u,l,c,d,f=[];for(u=0;u<s.length;u++)if(c=s[u],1===c.nodeType)if("SCRIPT"===c.tagName)f.push(c);else for(d=c.getElementsByTagName("script"),l=0;l<d.length;l++)f.push(d[l]);var p,m,g,v;for(u=0;u<f.length;u++)p=f[u],g=i[u],g&&g.length>0&&(m=n.document.createTextNode(g),p.parentNode.insertBefore(m,p)),v=a[u],v&&v.length>0&&(m=n.document.createTextNode(v),p.parentNode.insertBefore(m,p.nextSibling));return s}:o;var f;f=u?function(e,t,r){return i[t.tagName]?d(e,document.createElement("div"),r):d(e,t,r)}:d,e.buildHTMLDOM=f}),e("dom-helper/classes",["exports"],function(e){"use strict";function t(e){var t=e.getAttribute("class")||"";return""!==t&&" "!==t?t.split(" "):[]}function r(e,t){for(var r=0,n=e.length,i=0,a=t.length,o=new Array(a);n>r;r++)for(i=0;a>i;i++)if(t[i]===e[r]){o[i]=r;break}return o}function n(e,n){for(var i=t(e),a=r(i,n),o=!1,s=0,u=n.length;u>s;s++)void 0===a[s]&&(o=!0,i.push(n[s]));o&&e.setAttribute("class",i.length>0?i.join(" "):"")}function i(e,n){for(var i=t(e),a=r(n,i),o=!1,s=[],u=0,l=i.length;l>u;u++)void 0===a[u]?s.push(i[u]):o=!0;o&&e.setAttribute("class",s.length>0?s.join(" "):"")}var a,o,s="undefined"==typeof document?!1:document,u=s&&function(){
+var e=document.createElement("div");return e.classList?(e.classList.add("boo"),e.classList.add("boo","baz"),"boo baz"===e.className):!1}();u?(a=function(e,t){e.classList?1===t.length?e.classList.add(t[0]):2===t.length?e.classList.add(t[0],t[1]):e.classList.add.apply(e.classList,t):n(e,t)},o=function(e,t){e.classList?1===t.length?e.classList.remove(t[0]):2===t.length?e.classList.remove(t[0],t[1]):e.classList.remove.apply(e.classList,t):i(e,t)}):(a=n,o=i),e.addClasses=a,e.removeClasses=o}),e("dom-helper/prop",["exports"],function(e){"use strict";function t(e){return null===e||void 0===e}function r(e,t){var r,i=e.tagName,a=n[i];if(!a){a={};for(r in e)a[r.toLowerCase()]=r;n[i]=a}return a[t]}e.isAttrRemovalValue=t;var n={};e.propertyCaches=n,e.normalizeProperty=r}),e("ember-application",["ember-metal/core","ember-runtime/system/lazy_load","ember-application/system/resolver","ember-application/system/application","ember-application/ext/controller"],function(e,t,r,n){"use strict";e["default"].Application=n["default"],e["default"].Resolver=r.Resolver,e["default"].DefaultResolver=r["default"],t.runLoadHooks("Ember.Application",n["default"])}),e("ember-application/ext/controller",["exports","ember-metal/core","ember-metal/property_get","ember-metal/error","ember-metal/utils","ember-metal/computed","ember-runtime/mixins/controller","ember-routing/system/controller_for"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r){var a,o,s,u=[];for(o=0,s=r.length;s>o;o++)a=r[o],-1===a.indexOf(":")&&(a="controller:"+a),t._registry.has(a)||u.push(a);if(u.length)throw new n["default"](i.inspect(e)+" needs [ "+u.join(", ")+" ] but "+(u.length>1?"they":"it")+" could not be found")}var l=a.computed(function(){var e=this;return{needs:r.get(e,"needs"),container:r.get(e,"container"),unknownProperty:function(t){var r,n,a,o=this.needs;for(n=0,a=o.length;a>n;n++)if(r=o[n],r===t)return this.container.lookup("controller:"+t);var s=i.inspect(e)+"#needs does not include `"+t+"`. To access the "+t+" controller from "+i.inspect(e)+", "+i.inspect(e)+" should have a `needs` property that is an array of the controllers it has access to.";throw new ReferenceError(s)},setUnknownProperty:function(t,r){throw new Error("You cannot overwrite the value of `controllers."+t+"` of "+i.inspect(e))}}});o["default"].reopen({concatenatedProperties:["needs"],needs:[],init:function(){var e=r.get(this,"needs"),t=r.get(e,"length");t>0&&(this.container&&u(this,this.container,e),r.get(this,"controllers")),this._super.apply(this,arguments)},controllerFor:function(e){return s["default"](r.get(this,"container"),e)},controllers:l}),e["default"]=o["default"]}),e("ember-application/system/application-instance",["exports","ember-metal/property_set","ember-runtime/system/object","ember-metal/run_loop","container/registry"],function(e,t,r,n,i){"use strict";e["default"]=r["default"].extend({container:null,applicationRegistry:null,registry:null,customEvents:null,rootElement:null,init:function(){this._super.apply(this,arguments),this.registry=new i["default"]({fallback:this.applicationRegistry,resolver:this.applicationRegistry.resolver}),this.registry.normalizeFullName=this.applicationRegistry.normalizeFullName,this.registry.makeToString=this.applicationRegistry.makeToString,this.container=this.registry.container(),this.registry.register("-application-instance:main",this,{instantiate:!1})},setupRouter:function(e){var r=this.container.lookup("router:main"),n=e.location;n&&t.set(r,"location",n),r._setupLocation(),r.setupRouter(!0)},didCreateRootView:function(e){e.appendTo(this.rootElement)},startRouting:function(){var e=this.container.lookup("router:main");if(e){var t=!!this.registry.resolver.moduleBasedResolver;e.startRouting(t)}},handleURL:function(e){var t=this.container.lookup("router:main");return t.handleURL(e)},setupEventDispatcher:function(){var e=this.container.lookup("event_dispatcher:main");return e.setup(this.customEvents,this.rootElement),e},willDestroy:function(){this._super.apply(this,arguments),n["default"](this.container,"destroy")}})}),e("ember-application/system/application",["exports","dag-map","container/registry","ember-metal","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/lazy_load","ember-runtime/system/namespace","ember-runtime/mixins/deferred","ember-application/system/resolver","ember-metal/platform/create","ember-metal/run_loop","ember-metal/utils","ember-runtime/controllers/controller","ember-metal/enumerable_utils","ember-runtime/controllers/object_controller","ember-runtime/controllers/array_controller","ember-views/system/renderer","dom-helper","ember-views/views/select","ember-routing-views/views/outlet","ember-views/views/view","ember-views/views/metamorph_view","ember-views/system/event_dispatcher","ember-views/system/jquery","ember-routing/system/route","ember-routing/system/router","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/location/none_location","ember-routing/system/cache","ember-application/system/application-instance","ember-extension-support/container_debug_adapter","ember-metal/environment"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C,E,S,T,k,A,O,R,P,N,M,D){"use strict";function F(e){var t=[];for(var r in e)t.push(r);return t}function j(e){function t(e){return n.resolve(e)}var r=e.get("resolver")||e.get("Resolver")||l["default"],n=r.create({namespace:e});return t.describe=function(e){return n.lookupDescription(e)},t.makeToString=function(e,t){return n.makeToString(e,t)},t.normalize=function(e){return n.normalize?n.normalize(e):e},t.__resolver__=n,t}function I(){z||(z=!0,D["default"].hasDOM&&n["default"].libraries.registerCoreLibrary("jQuery",E["default"]().jquery))}function L(){if(n["default"].LOG_VERSION){n["default"].LOG_VERSION=!1;for(var e=n["default"].libraries._registry,t=p["default"].map(e,function(e){return i.get(e,"name.length")}),r=Math.max.apply(this,t),a=0,o=e.length;o>a;a++){var s=e[a];new Array(r-s.name.length+1).join(" ")}}}function V(e,t){return function(t){if(void 0!==this.superclass[e]&&this.superclass[e]===this[e]){var r={};r[e]=c["default"](this[e]),this.reopenClass(r)}this[e][t.name]=t}}var z=!1,H=s["default"].extend(u["default"],{_suppressDeferredDeprecation:!0,rootElement:"body",eventDispatcher:null,customEvents:null,autoboot:!0,init:function(){this._super.apply(this,arguments),this.$||(this.$=E["default"]),this.buildRegistry(),I(),L(),this._readinessDeferrals=1,this.Router=(this.Router||T["default"]).extend(),this.waitForDOMReady(this.buildDefaultInstance())},buildRegistry:function(){var e=this.registry=H.buildRegistry(this);return e},buildInstance:function(){return N["default"].create({customEvents:i.get(this,"customEvents"),rootElement:i.get(this,"rootElement"),applicationRegistry:this.registry})},buildDefaultInstance:function(){var e=this.buildInstance();return this.__deprecatedInstance__=e,this.__container__=e.container,e},waitForDOMReady:function(e){!this.$||this.$.isReady?h["default"].schedule("actions",this,"domReady",e):this.$().ready(h["default"].bind(this,"domReady",e))},deferReadiness:function(){this._readinessDeferrals++},advanceReadiness:function(){this._readinessDeferrals--,0===this._readinessDeferrals&&h["default"].once(this,this.didBecomeReady)},register:function(){this.registry.register.apply(this.registry,arguments)},inject:function(){this.registry.injection.apply(this.registry,arguments)},initialize:function(){},domReady:function(e){if(!this.isDestroyed){var t=this;return this.boot().then(function(){t.runInstanceInitializers(e)}),this}},boot:function(){if(this._bootPromise)return this._bootPromise;var e=new n["default"].RSVP.defer;return this._bootPromise=e.promise,this._bootResolver=e,this.runInitializers(this.registry),o.runLoadHooks("application",this),this.advanceReadiness(),this._bootPromise},reset:function(){function e(){h["default"](t,"destroy"),this.buildDefaultInstance(),h["default"].schedule("actions",this,"domReady")}var t=this.__deprecatedInstance__;this._readinessDeferrals=1,this._bootPromise=null,this._bootResolver=null,h["default"].join(this,e)},runInitializers:function(e){var t=this;this._runInitializer("initializers",function(r,n){var i=n.initialize;i(e,t)})},runInstanceInitializers:function(e){this._runInitializer("instanceInitializers",function(t,r){r.initialize(e)})},_runInitializer:function(e,r){for(var n,a=i.get(this.constructor,e),o=F(a),s=new t["default"],u=0;u<o.length;u++)n=a[o[u]],s.addEdges(n.name,n,n.before,n.after);s.topsort(function(e){r(e.name,e.value)})},didBecomeReady:function(){this.autoboot&&(D["default"].hasDOM&&this.__deprecatedInstance__.setupEventDispatcher(),this.ready(),this.__deprecatedInstance__.startRouting(),n["default"].testing||(n["default"].Namespace.processAll(),n["default"].BOOTED=!0),this.resolve(this)),this._bootResolver.resolve()},ready:function(){return this},resolver:null,Resolver:null,willDestroy:function(){n["default"].BOOTED=!1,this._bootPromise=null,this._bootResolver=null,this.__deprecatedInstance__.destroy()},initializer:function(e){this.constructor.initializer(e)},then:function(){this._super.apply(this,arguments)}});H.reopenClass({initializers:c["default"](null),instanceInitializers:c["default"](null),initializer:V("initializers","initializer"),buildRegistry:function(e){var t=new r["default"];return t.set=a.set,t.resolver=j(e),t.normalizeFullName=t.resolver.normalize,t.describe=t.resolver.describe,t.makeToString=t.resolver.makeToString,t.optionsForType("component",{singleton:!1}),t.optionsForType("view",{singleton:!1}),t.optionsForType("template",{instantiate:!1}),t.optionsForType("helper",{instantiate:!1}),t.register("application:main",e,{instantiate:!1}),t.register("controller:basic",f["default"],{instantiate:!1}),t.register("controller:object",m["default"],{instantiate:!1}),t.register("controller:array",g["default"],{instantiate:!1}),t.register("renderer:-dom",{create:function(){return new v["default"](new y["default"])}}),t.injection("view","renderer","renderer:-dom"),t.register("view:select",b["default"]),t.register("view:-outlet",_.OutletView),t.register("view:default",x["default"]),t.register("view:toplevel",w["default"].extend()),t.register("route:basic",S["default"],{instantiate:!1}),t.register("event_dispatcher:main",C["default"]),t.injection("router:main","namespace","application:main"),t.injection("view:-outlet","namespace","application:main"),t.register("location:auto",O["default"]),t.register("location:hash",k["default"]),t.register("location:history",A["default"]),t.register("location:none",R["default"]),t.injection("controller","target","router:main"),t.injection("controller","namespace","application:main"),t.register("-bucket-cache:main",P["default"]),t.injection("router","_bucketCache","-bucket-cache:main"),t.injection("route","_bucketCache","-bucket-cache:main"),t.injection("controller","_bucketCache","-bucket-cache:main"),t.injection("route","router","router:main"),t.injection("location","rootURL","-location-setting:root-url"),t.register("resolver-for-debugging:main",t.resolver.__resolver__,{instantiate:!1}),t.injection("container-debug-adapter:main","resolver","resolver-for-debugging:main"),t.injection("data-adapter:main","containerDebugAdapter","container-debug-adapter:main"),t.register("container-debug-adapter:main",M["default"]),t}}),e["default"]=H}),e("ember-application/system/resolver",["exports","ember-metal/core","ember-metal/property_get","ember-metal/logger","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/system/namespace","ember-htmlbars/helpers","ember-metal/dictionary"],function(e,t,r,n,i,a,o,s,u){"use strict";var l=a["default"].extend({namespace:null,normalize:t["default"].required(Function),resolve:t["default"].required(Function),parseName:t["default"].required(Function),lookupDescription:t["default"].required(Function),makeToString:t["default"].required(Function),resolveOther:t["default"].required(Function),_logLookup:t["default"].required(Function)});e["default"]=a["default"].extend({namespace:null,init:function(){this._parseNameCache=u["default"](null)},normalize:function(e){var t=e.split(":",2),r=t[0],n=t[1];if("template"!==r){var i=n;return i.indexOf(".")>-1&&(i=i.replace(/\.(.)/g,function(e){return e.charAt(1).toUpperCase()})),n.indexOf("_")>-1&&(i=i.replace(/_(.)/g,function(e){return e.charAt(1).toUpperCase()})),r+":"+i}return e},resolve:function(e){var t,r=this.parseName(e),n=r.resolveMethodName;return this[n]&&(t=this[n](r)),t=t||this.resolveOther(r),r.root&&r.root.LOG_RESOLVER&&this._logLookup(t,r),t},parseName:function(e){return this._parseNameCache[e]||(this._parseNameCache[e]=this._parseName(e))},_parseName:function(e){var t=e.split(":"),n=t[0],a=t[1],s=a,u=r.get(this,"namespace"),l=u;if("template"!==n&&-1!==s.indexOf("/")){var c=s.split("/");s=c[c.length-1];var h=i.capitalize(c.slice(0,-1).join("."));l=o["default"].byName(h)}var d="main"===a?"Main":i.classify(n);if(!s||!n)throw new TypeError("Invalid fullName: `"+e+"`, must be of the form `type:name` ");return{fullName:e,type:n,fullNameWithoutType:a,name:s,root:l,resolveMethodName:"resolve"+d}},lookupDescription:function(e){var t,r=this.parseName(e);return"template"===r.type?"template at "+r.fullNameWithoutType.replace(/\./g,"/"):(t=r.root+"."+i.classify(r.name).replace(/\./g,""),"model"!==r.type&&(t+=i.classify(r.type)),t)},makeToString:function(e,t){return e.toString()},useRouterNaming:function(e){e.name=e.name.replace(/\./g,"_"),"basic"===e.name&&(e.name="")},resolveTemplate:function(e){var r=e.fullNameWithoutType.replace(/\./g,"/");return t["default"].TEMPLATES[r]?t["default"].TEMPLATES[r]:(r=i.decamelize(r),t["default"].TEMPLATES[r]?t["default"].TEMPLATES[r]:void 0)},resolveView:function(e){return this.useRouterNaming(e),this.resolveOther(e)},resolveController:function(e){return this.useRouterNaming(e),this.resolveOther(e)},resolveRoute:function(e){return this.useRouterNaming(e),this.resolveOther(e)},resolveModel:function(e){var t=i.classify(e.name),n=r.get(e.root,t);return n?n:void 0},resolveHelper:function(e){return this.resolveOther(e)||s["default"][e.fullNameWithoutType]},resolveOther:function(e){var t=i.classify(e.name)+i.classify(e.type),n=r.get(e.root,t);return n?n:void 0},resolveMain:function(e){var t=i.classify(e.type);return r.get(e.root,t)},_logLookup:function(e,t){var r,i;r=e?"[✓]":"[ ]",i=t.fullName.length>60?".":new Array(60-t.fullName.length).join("."),n["default"].info(r,t.fullName,i,this.lookupDescription(t.fullName))}}),e.Resolver=l}),e("ember-extension-support",["ember-metal/core","ember-extension-support/data_adapter","ember-extension-support/container_debug_adapter"],function(e,t,r){"use strict";e["default"].DataAdapter=t["default"],e["default"].ContainerDebugAdapter=r["default"]}),e("ember-extension-support/container_debug_adapter",["exports","ember-metal/core","ember-runtime/system/native_array","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object"],function(e,t,r,n,i,a,o){"use strict";e["default"]=o["default"].extend({container:null,resolver:null,canCatalogEntriesByType:function(e){return"model"===e||"template"===e?!1:!0},catalogEntriesByType:function(e){var o=r.A(a["default"].NAMESPACES),s=r.A(),u=new RegExp(i.classify(e)+"$");return o.forEach(function(e){if(e!==t["default"])for(var r in e)if(e.hasOwnProperty(r)&&u.test(r)){var a=e[r];"class"===n.typeOf(a)&&s.push(i.dasherize(r.replace(u,"")))}}),s}})}),e("ember-extension-support/data_adapter",["exports","ember-metal/property_get","ember-metal/run_loop","ember-runtime/system/string","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/native_array","ember-application/system/application"],function(e,t,r,n,i,a,o,s){"use strict";e["default"]=a["default"].extend({init:function(){this._super.apply(this,arguments),this.releaseMethods=o.A()},container:null,containerDebugAdapter:void 0,attributeLimit:3,releaseMethods:o.A(),getFilters:function(){return o.A()},watchModelTypes:function(e,t){var r,n=this.getModelTypes(),i=this,a=o.A();r=n.map(function(e){var r=e.klass,n=i.wrapModelType(r,e.name);return a.push(i.observeModelType(r,t)),n}),e(r);var s=function(){a.forEach(function(e){e()}),i.releaseMethods.removeObject(s)};return this.releaseMethods.pushObject(s),s},_nameToClass:function(e){return"string"==typeof e&&(e=this.container.lookupFactory("model:"+e)),e},watchRecords:function(e,t,r,n){var i,a=this,s=o.A(),u=this.getRecords(e),l=function(e){r([e])},c=u.map(function(e){return s.push(a.observeRecord(e,l)),a.wrapRecord(e)}),h=function(e,r,i,o){for(var u=r;r+o>u;u++){var c=e.objectAt(u),h=a.wrapRecord(c);s.push(a.observeRecord(c,l)),t([h])}i&&n(r,i)},d={didChange:h,willChange:function(){return this}};return u.addArrayObserver(a,d),i=function(){s.forEach(function(e){e()}),u.removeArrayObserver(a,d),a.releaseMethods.removeObject(i)},t(c),this.releaseMethods.pushObject(i),i},willDestroy:function(){this._super.apply(this,arguments),this.releaseMethods.forEach(function(e){e()})},detect:function(e){return!1},columnsForType:function(e){return o.A()},observeModelType:function(e,t){var n=this,i=this.getRecords(e),a=function(){t([n.wrapModelType(e)])},o={didChange:function(){r["default"].scheduleOnce("actions",this,a)},willChange:function(){return this}};i.addArrayObserver(this,o);var s=function(){i.removeArrayObserver(n,o)};return s},wrapModelType:function(e,r){var n,i=this.getRecords(e);return n={name:r||e.toString(),count:t.get(i,"length"),columns:this.columnsForType(e),object:e}},getModelTypes:function(){var e,t=this,r=this.get("containerDebugAdapter");return e=r.canCatalogEntriesByType("model")?r.catalogEntriesByType("model"):this._getObjectsOnNamespaces(),e=o.A(e).map(function(e){return{klass:t._nameToClass(e),name:e}}),e=o.A(e).filter(function(e){return t.detect(e.klass)}),o.A(e)},_getObjectsOnNamespaces:function(){var e=o.A(i["default"].NAMESPACES),t=o.A(),r=this;return e.forEach(function(e){for(var i in e)if(e.hasOwnProperty(i)&&r.detect(e[i])){var a=n.dasherize(i);e instanceof s["default"]||!e.toString()||(a=e+"/"+a),t.push(a)}}),t},getRecords:function(e){return o.A()},wrapRecord:function(e){var t={object:e};return t.columnValues=this.getRecordColumnValues(e),t.searchKeywords=this.getRecordKeywords(e),t.filterValues=this.getRecordFilterValues(e),t.color=this.getRecordColor(e),t},getRecordColumnValues:function(e){return{}},getRecordKeywords:function(e){return o.A()},getRecordFilterValues:function(e){return{}},getRecordColor:function(e){return null},observeRecord:function(e,t){return function(){}}})}),e("ember-htmlbars",["ember-metal/core","ember-template-compiler","ember-htmlbars/system/make-view-helper","ember-htmlbars/system/make_bound_helper","ember-htmlbars/helpers","ember-htmlbars/helpers/view","ember-htmlbars/helpers/component","ember-htmlbars/helpers/yield","ember-htmlbars/helpers/with","ember-htmlbars/helpers/log","ember-htmlbars/helpers/debugger","ember-htmlbars/helpers/bind-attr","ember-htmlbars/helpers/if_unless","ember-htmlbars/helpers/loc","ember-htmlbars/helpers/partial","ember-htmlbars/helpers/template","ember-htmlbars/helpers/input","ember-htmlbars/helpers/text_area","ember-htmlbars/helpers/collection","ember-htmlbars/helpers/each","ember-htmlbars/helpers/unbound","ember-htmlbars/system/bootstrap","ember-htmlbars/compat"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_){"use strict";i.registerHelper("view",a.viewHelper),i.registerHelper("component",o.componentHelper),i.registerHelper("yield",s.yieldHelper),i.registerHelper("with",u.withHelper),i.registerHelper("if",d.ifHelper),i.registerHelper("unless",d.unlessHelper),i.registerHelper("log",l.logHelper),i.registerHelper("debugger",c.debuggerHelper),i.registerHelper("loc",f.locHelper),i.registerHelper("partial",p.partialHelper),i.registerHelper("template",m.templateHelper),i.registerHelper("bind-attr",h.bindAttrHelper),i.registerHelper("bindAttr",h.bindAttrHelperDeprecated),i.registerHelper("input",g.inputHelper),i.registerHelper("textarea",v.textareaHelper),i.registerHelper("collection",y.collectionHelper),i.registerHelper("each",b.eachHelper),i.registerHelper("unbound",_.unboundHelper),e["default"].HTMLBars={_registerHelper:i.registerHelper,template:t.template,compile:t.compile,precompile:t.precompile,makeViewHelper:r["default"],makeBoundHelper:n["default"],registerPlugin:t.registerPlugin}}),e("ember-htmlbars/compat",["exports","ember-metal/core","ember-htmlbars/helpers","ember-htmlbars/compat/helper","ember-htmlbars/compat/handlebars-get","ember-htmlbars/compat/make-bound-helper","ember-htmlbars/compat/register-bound-helper","ember-htmlbars/system/make-view-helper","ember-htmlbars/utils/string"],function(e,t,r,n,i,a,o,s,u){"use strict";var l=t["default"].Handlebars=t["default"].Handlebars||{};l.helpers=r["default"],l.helper=n.handlebarsHelper,l.registerHelper=n.registerHandlebarsCompatibleHelper,l.registerBoundHelper=o["default"],l.makeBoundHelper=a["default"],l.get=i["default"],l.makeViewHelper=s["default"],l.SafeString=u.SafeString,l.Utils={escapeExpression:u.escapeExpression},e["default"]=l}),e("ember-htmlbars/compat/handlebars-get",["exports"],function(e){"use strict";function t(e,t,r){return r.data.view.getStream(t).value()}e["default"]=t}),e("ember-htmlbars/compat/helper",["exports","ember-metal/merge","ember-htmlbars/helpers","ember-views/views/view","ember-views/views/component","ember-htmlbars/system/make-view-helper","ember-htmlbars/compat/make-bound-helper","ember-metal/streams/utils"],function(e,t,r,n,i,a,o,s){"use strict";function u(e){if(s.isStream(e))return"ID";var t=typeof e;return t.toUpperCase()}function l(e){this.helperFunction=function(r,n,i,a){var o,l,c,h=this,d={hash:{},types:new Array(r.length),hashTypes:{}};t["default"](d,i),t["default"](d,a),d.hash={},i.isBlock&&(d.fn=function(){l=i.template.render(h,a,i.morph.contextualElement)});for(var f in n)o=n[f],d.hashTypes[f]=u(o),d.hash[f]=s.isStream(o)?o._label:o;for(var p=new Array(r.length),m=0,g=r.length;g>m;m++)o=r[m],d.types[m]=u(o),p[m]=s.isStream(o)?o._label:o;return p.push(d),c=e.apply(this,p),i.isBlock?l:c},this.isHTMLBars=!0}function c(e,t){var n;n=t&&t.isHTMLBars?t:new l(t),r["default"][e]=n}function h(e,t){if(n["default"].detect(t))r["default"][e]=a["default"](t);else{var i=d.call(arguments,1),s=o["default"].apply(this,i);r["default"][e]=s}}e.registerHandlebarsCompatibleHelper=c,e.handlebarsHelper=h;var d=[].slice;l.prototype={preprocessArguments:function(){}},e["default"]=l}),e("ember-htmlbars/compat/make-bound-helper",["exports","ember-metal/core","ember-metal/mixin","ember-htmlbars/system/helper","ember-metal/streams/stream","ember-metal/streams/utils"],function(e,t,r,n,i,a){"use strict";function o(e,t){function o(t,n,o,l){function c(){for(var r=a.readArray(t),i=new Array(t.length),o=0,s=t.length;s>o;o++)h=t[o],i[o]=a.isStream(h)?h._label:h;return r.push({hash:a.readHash(n),data:{properties:i}}),e.apply(d,r)}var h,d=l.data.view,f=t.length;for(var p in n)r.IS_BINDING.test(p)&&(n[p.slice(0,-7)]=d.getStream(n[p]),delete n[p]);var m=a.scanArray(t)||a.scanHash(n);if(m){var g=new i["default"](c);for(u=0;f>u;u++)h=t[u],a.isStream(h)&&h.subscribe(g.notify,g);for(p in n)h=n[p],a.isStream(h)&&h.subscribe(g.notify,g);if(f>0){var v=t[0];if(a.isStream(v)){var y=function(e){e.value(),g.notify()};for(u=0;u<s.length;u++){var b=v.get(s[u]);b.value(),b.subscribe(y)}}}return g}return c()}for(var s=[],u=1;u<arguments.length;u++)s.push(arguments[u]);return new n["default"](o)}e["default"]=o}),e("ember-htmlbars/compat/register-bound-helper",["exports","ember-htmlbars/helpers","ember-htmlbars/compat/make-bound-helper"],function(e,t,r){"use strict";function n(e,n){var a=i.call(arguments,1),o=r["default"].apply(this,a);t["default"][e]=o}var i=[].slice;e["default"]=n}),e("ember-htmlbars/env",["exports","ember-metal/environment","dom-helper","ember-htmlbars/hooks/inline","ember-htmlbars/hooks/content","ember-htmlbars/hooks/component","ember-htmlbars/hooks/block","ember-htmlbars/hooks/element","ember-htmlbars/hooks/subexpr","ember-htmlbars/hooks/attribute","ember-htmlbars/hooks/concat","ember-htmlbars/hooks/get","ember-htmlbars/hooks/set","ember-htmlbars/helpers"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f){"use strict";e["default"]={hooks:{get:h["default"],set:d["default"],inline:n["default"],content:i["default"],block:o["default"],element:s["default"],subexpr:u["default"],component:a["default"],attribute:l["default"],concat:c["default"]},helpers:f["default"],useFragmentCache:!0};var p=t["default"].hasDOM?new r["default"]:null;e.domHelper=p}),e("ember-htmlbars/helpers",["exports","ember-metal/platform/create","ember-htmlbars/system/helper"],function(e,t,r){"use strict";function n(e,t){var n;n=t&&t.isHelper?t:new r["default"](t),i[e]=n}e.registerHelper=n;var i=t["default"](null);e["default"]=i}),e("ember-htmlbars/helpers/bind-attr",["exports","ember-metal/core","ember-runtime/system/string","ember-views/attr_nodes/attr_node","ember-views/attr_nodes/legacy_bind","ember-metal/keys","ember-htmlbars/helpers","ember-metal/enumerable_utils","ember-metal/streams/utils","ember-views/streams/class_name_binding"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e,t,r,o){var s=r.element,l=o.data.view,c=t["class"];if(null!==c&&void 0!==c){u.isStream(c)||(c=h(c,l));var d=new n["default"]("class",c);d._morph=o.dom.createAttrMorph(s,"class"),l.appendChild(d)}for(var f,p,m,g,v=a["default"](t),y=0,b=v.length;b>y;y++)f=v[y],"class"!==f&&(p=t[f],m=u.isStream(p)?p:l.getStream(p),g=new i["default"](f,m),g._morph=o.dom.createAttrMorph(s,f),l.appendChild(g))}function h(e,t){var r=e.split(" "),n=s.map(r,function(e){return l.streamifyClassNameBinding(t,e)}),i=u.concat(n," ");return i}function d(){return o["default"]["bind-attr"].helperFunction.apply(this,arguments)}e.bindAttrHelper=c,e.bindAttrHelperDeprecated=d,e["default"]=c}),e("ember-htmlbars/helpers/collection",["exports","ember-metal/core","ember-metal/mixin","ember-runtime/system/string","ember-metal/property_get","ember-views/views/collection_view","ember-views/streams/utils","ember-metal/enumerable_utils","ember-views/streams/class_name_binding","ember-htmlbars/system/merge-view-bindings"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e,t,n,c){var h,d=e[0],f=c.data,p=n.template,m=n.inverse,g=f.view,v=i.get(g,"controller"),y=v&&v.container?v.container:g.container;h=d?o.readViewFactory(d,y):a["default"];var b,_,w={},x=h.proto();_=t.itemView?o.readViewFactory(t.itemView,y):t.itemViewClass?o.readViewFactory(t.itemViewClass,y):x.itemViewClass,"string"==typeof _&&(_=y.lookupFactory("view:"+_)),delete t.itemViewClass,delete t.itemView;for(var C in t)if("itemController"!==C&&"itemClassBinding"!==C&&t.hasOwnProperty(C)&&(b=C.match(/^item(.)(.*)$/))){var E=b[1].toLowerCase()+b[2];w[E]=r.IS_BINDING.test(C)?g._getBindingForStream(t[C]):t[C],delete t[C]}p&&(w.template=p,delete n.template);var S;m?(S=i.get(x,"emptyViewClass"),S=S.extend({template:m,tagName:w.tagName})):t.emptyViewClass&&(S=o.readViewFactory(t.emptyViewClass,y)),S&&(t.emptyView=S);var T=l["default"](g,{},w);if(t.itemClassBinding){var k=t.itemClassBinding.split(" ");T.classNameBindings=s.map(k,function(e){return u.streamifyClassNameBinding(g,e)})}return t.itemViewClass=_,t._itemViewProps=T,n.helperName=n.helperName||"collection",c.helpers.view.helperFunction.call(this,[h],t,n,c)}e.collectionHelper=c}),e("ember-htmlbars/helpers/component",["exports","ember-metal/core","ember-metal/streams/utils","ember-views/streams/utils","ember-metal/error","ember-views/views/bound_component_view","ember-htmlbars/system/merge-view-bindings","ember-htmlbars/system/append-templated-view"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,u,l,c){var h=c.data.view,d=e[0],f=h.container||r.read(h._keywords.view).container,p={helperName:l.helperName||"component"};l.template&&(p.template=l.template);var m;if(r.isStream(d))m=a["default"],p={_boundComponentOptions:t["default"].merge(u,p)},p._boundComponentOptions.componentNameStream=d;else{if(m=n.readComponentFactory(d,f),!m)throw new i["default"]('HTMLBars error: Could not find component named "'+d+'".');o["default"](h,p,u)}s["default"](h,l.morph,m,p)}e.componentHelper=u}),e("ember-htmlbars/helpers/debugger",["exports","ember-metal/logger"],function(e,t){"use strict";function r(e,r,n,i){{var a=i.data.view;a.get("context")}t["default"].info("Use `view`, `context`, and `get(<path>)` to debug this template.")}e.debuggerHelper=r}),e("ember-htmlbars/helpers/each",["exports","ember-metal/core","ember-views/views/each"],function(e,t,r){"use strict";function n(e,t,n,i){var a=i.data.view,o="each",s=e[0]||a.getStream(""),u=n.template&&n.template.blockParams;return u&&(t.keyword=!0,t.blockParams=u),t.dataSource=s,n.helperName=n.helperName||o,i.helpers.collection.helperFunction.call(this,[r["default"]],t,n,i)}e.eachHelper=n,e.EachView=r["default"]}),e("ember-htmlbars/helpers/if_unless",["exports","ember-metal/core","ember-metal/streams/conditional","ember-views/streams/should_display","ember-metal/property_get","ember-metal/streams/utils","ember-views/views/bound_if_view","ember-htmlbars/templates/empty"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r,n){var i=r.helperName||"if";return c(!1,i,e,t,r,n)}function l(e,t,r,n){var i=r.helperName||"unless";return c(!0,i,e,t,r,n)}function c(e,t,r,n,i,a){var o=a.data.view;return i.isBlock?h(o,e,t,r,n,i,a):d(o,e,t,r,n,i,a)}function h(e,t,r,u,l,c,h){var d=n["default"](u[0]),f=(t?c.inverse:c.template)||s["default"],p=(t?c.template:c.inverse)||s["default"];if(a.isStream(d))e.appendChild(o["default"],{_morph:c.morph,_context:i.get(e,"context"),conditionStream:d,truthyTemplate:f,falsyTemplate:p,helperName:r});else{var m=d?f:p;if(m)return m.render(e,h,c.morph.contextualElement)}}function d(e,t,i,a){return r["default"](n["default"](a[0]),t?a[2]:a[1],t?a[1]:a[2])}e.ifHelper=u,e.unlessHelper=l}),e("ember-htmlbars/helpers/input",["exports","ember-views/views/checkbox","ember-views/views/text_field","ember-metal/streams/utils","ember-metal/core"],function(e,t,r,n,i){"use strict";function a(e,i,a,o){var s,u=i.on;s=n.read(i.type),"checkbox"===s?(delete i.type,o.helpers.view.helperFunction.call(this,[t["default"]],i,a,o)):(delete i.on,i.onEvent=u||"enter",o.helpers.view.helperFunction.call(this,[r["default"]],i,a,o))}e.inputHelper=a}),e("ember-htmlbars/helpers/loc",["exports","ember-metal/core","ember-runtime/system/string","ember-metal/streams/utils"],function(e,t,r,n){"use strict";function i(e,t,n,i){return r.loc.apply(i.data.view,e)}e.locHelper=i}),e("ember-htmlbars/helpers/log",["exports","ember-metal/logger","ember-metal/streams/utils"],function(e,t,r){"use strict";function n(e,n,i,a){for(var o=t["default"].log,s=[],u=0;u<e.length;u++)s.push(r.read(e[u]));o.apply(o,s)}e.logHelper=n}),e("ember-htmlbars/helpers/partial",["exports","ember-metal/property_get","ember-metal/streams/utils","ember-views/views/bound_partial_view","ember-views/system/lookup_partial"],function(e,t,r,n,i){"use strict";function a(e,a,o,s){var u=s.data.view,l=e[0];if(!r.isStream(l)){var c=i["default"](u,l);return c.render(u,s,o.morph.contextualElement)}u.appendChild(n["default"],{_morph:o.morph,_context:t.get(u,"context"),templateNameStream:l,helperName:o.helperName||"partial"})}e.partialHelper=a}),e("ember-htmlbars/helpers/template",["exports","ember-metal/core"],function(e,t){"use strict";function r(e,t,r,n){return r.helperName=r.helperName||"template",n.helpers.partial.helperFunction.call(this,e,t,r,n)}e.templateHelper=r}),e("ember-htmlbars/helpers/text_area",["exports","ember-metal/core","ember-views/views/text_area"],function(e,t,r){"use strict";function n(e,t,n,i){return i.helpers.view.helperFunction.call(this,[r["default"]],t,n,i)}e.textareaHelper=n}),e("ember-htmlbars/helpers/unbound",["exports","ember-metal/error","ember-metal/mixin","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n,i){"use strict";function a(e,r,a,u){
+if(1===e.length)return n.read(e[0]);a.helperName=a.helperName||"unbound";var l=u.data.view,c=e[0]._label,h=i["default"](c,l,u);if(!h)throw new t["default"]("HTMLBars error: Could not find component or helper named "+c+".");return h.helperFunction.call(this,o(e),s(r,l),a,u)}function o(e){for(var t=e.length,r=new Array(t-1),i=1;t>i;i++)r[i-1]=n.read(e[i]);return r}function s(e,t){var i={};for(var a in e)if(r.IS_BINDING.test(a)){var o=e[a];"string"==typeof o&&(o=t.getStream(o)),i[a.slice(0,-7)]=n.read(o)}else i[a]=n.read(e[a]);return i}e.unboundHelper=a}),e("ember-htmlbars/helpers/view",["exports","ember-metal/core","ember-metal/streams/utils","ember-views/streams/utils","ember-views/views/view","ember-htmlbars/system/merge-view-bindings","ember-htmlbars/system/append-templated-view"],function(e,t,r,n,i,a,o){"use strict";function s(e,t,s,u){var l,c=u.data.view,h=c.container||r.read(c._keywords.view).container;l=0===e.length?h?h.lookupFactory("view:toplevel"):i["default"]:n.readViewFactory(e[0],h);var d={helperName:s.helperName||"view"};s.template&&(d.template=s.template),a["default"](c,d,t),o["default"](c,s.morph,l,d)}e.viewHelper=s}),e("ember-htmlbars/helpers/with",["exports","ember-metal/core","ember-views/views/with_view"],function(e,t,r){"use strict";function n(e,t,n,i){var a,o=i.data.view;a=n.template.blockParams?!0:!1,o.appendChild(r["default"],{_morph:n.morph,withValue:e[0],preserveContext:a,previousContext:o.get("context"),controllerName:t.controller,mainTemplate:n.template,inverseTemplate:n.inverse,helperName:n.helperName||"with"})}e.withHelper=n}),e("ember-htmlbars/helpers/yield",["exports","ember-metal/core","ember-metal/property_get"],function(e,t,r){"use strict";function n(e,t,n,i){for(var a=i.data.view,o=a;o&&!r.get(o,"layout");)o=o._contextView?o._contextView:o._parentView;return o._yield(a,i,n.morph,e)}e.yieldHelper=n}),e("ember-htmlbars/hooks/attribute",["exports","ember-views/attr_nodes/attr_node","ember-metal/error","ember-metal/streams/utils","morph-attr/sanitize-attribute-value"],function(e,t,r,n,i){"use strict";function a(e,a,s,u,l){if(o){var c=new t["default"](u,l);c._morph=a,e.data.view.appendChild(c)}else{if(n.isStream(l))throw new r["default"]("Bound attributes are not yet supported in Ember.js");var h=i["default"](e.dom,s,u,l);e.dom.setProperty(s,u,h)}}var o=!1;o=!0,e["default"]=a}),e("ember-htmlbars/hooks/block",["exports","ember-views/views/simple_bound_view","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n){"use strict";function i(e,i,a,o,s,u,l,c){var h=n["default"](o,a,e),d={morph:i,template:l,inverse:c,isBlock:!0},f=h.helperFunction.call(void 0,s,u,d,e);r.isStream(f)?t.appendSimpleBoundView(a,i,f):i.setContent(f)}e["default"]=i}),e("ember-htmlbars/hooks/component",["exports","ember-metal/core","ember-htmlbars/system/lookup-helper"],function(e,t,r){"use strict";function n(e,t,n,i,a,o){var s=r["default"](i,n,e);return s.helperFunction.call(void 0,[],a,{morph:t,template:o},e)}e["default"]=n}),e("ember-htmlbars/hooks/concat",["exports","ember-metal/streams/utils"],function(e,t){"use strict";function r(e,r){return t.concat(r,"")}e["default"]=r}),e("ember-htmlbars/hooks/content",["exports","ember-views/views/simple_bound_view","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n){"use strict";function i(e,i,a,o){var s,u=n["default"](o,a,e);if(u){var l={morph:i,isInline:!0};s=u.helperFunction.call(void 0,[],{},l,e)}else s=a.getStream(o);r.isStream(s)?t.appendSimpleBoundView(a,i,s):i.setContent(s)}e["default"]=i}),e("ember-htmlbars/hooks/element",["exports","ember-metal/core","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n){"use strict";function i(e,t,i,a,o,s){var u,l=n["default"](a,i,e);if(l){var c={element:t};u=l.helperFunction.call(void 0,o,s,c,e)}else u=i.getStream(a);var h=r.read(u);if(h)for(var d=h.toString().split(/\s+/),f=0,p=d.length;p>f;f++){var m=d[f].split("="),g=m[0],v=m[1];v=v.replace(/^['"]/,"").replace(/['"]$/,""),e.dom.setAttribute(t,g,v)}}e["default"]=i}),e("ember-htmlbars/hooks/get",["exports"],function(e){"use strict";function t(e,t,r){return t.getStream(r)}e["default"]=t}),e("ember-htmlbars/hooks/inline",["exports","ember-views/views/simple_bound_view","ember-metal/streams/utils","ember-htmlbars/system/lookup-helper"],function(e,t,r,n){"use strict";function i(e,i,a,o,s,u){var l=n["default"](o,a,e),c=l.helperFunction.call(void 0,s,u,{morph:i},e);r.isStream(c)?t.appendSimpleBoundView(a,i,c):i.setContent(c)}e["default"]=i}),e("ember-htmlbars/hooks/set",["exports"],function(e){"use strict";function t(e,t,r,n){t._keywords[r]=n}e["default"]=t}),e("ember-htmlbars/hooks/subexpr",["exports","ember-htmlbars/system/lookup-helper"],function(e,t){"use strict";function r(e,r,n,i,a){var o=t["default"](n,r,e),s={isInline:!0};return o.helperFunction.call(void 0,i,a,s,e)}e["default"]=r}),e("ember-htmlbars/system/append-templated-view",["exports","ember-metal/core","ember-metal/property_get","ember-views/views/view"],function(e,t,r,n){"use strict";function i(e,t,i,a){var o;o=n["default"].detectInstance(i)?i:i.proto();var s=!o.controller;return o.controller&&o.controller.isDescriptor&&(s=!0),!s||o.controllerBinding||a.controller||a.controllerBinding||(a._context=r.get(e,"context")),a._morph=t,e.appendChild(i,a)}e["default"]=i}),e("ember-htmlbars/system/bootstrap",["exports","ember-metal/core","ember-views/component_lookup","ember-views/system/jquery","ember-metal/error","ember-runtime/system/lazy_load","ember-template-compiler/system/compile","ember-metal/environment"],function(e,t,r,n,i,a,o,s){"use strict";function u(e){var r='script[type="text/x-handlebars"], script[type="text/x-raw-handlebars"]';n["default"](r,e).each(function(){var e=n["default"](this),r="text/x-raw-handlebars"===e.attr("type")?n["default"].proxy(Handlebars.compile,Handlebars):o["default"],a=e.attr("data-template-name")||e.attr("id")||"application",s=r(e.html());if(void 0!==t["default"].TEMPLATES[a])throw new i["default"]('Template named "'+a+'" already exists.');t["default"].TEMPLATES[a]=s,e.remove()})}function l(){u(n["default"](document))}function c(e){e.register("component-lookup:main",r["default"])}a.onLoad("Ember.Application",function(e){e.initializer({name:"domTemplates",initialize:s["default"].hasDOM?l:function(){}}),e.initializer({name:"registerComponentLookup",after:"domTemplates",initialize:c})}),e["default"]=u}),e("ember-htmlbars/system/helper",["exports"],function(e){"use strict";function t(e){this.helperFunction=e,this.isHelper=!0,this.isHTMLBars=!0}e["default"]=t}),e("ember-htmlbars/system/lookup-helper",["exports","ember-metal/core","ember-metal/cache","ember-htmlbars/system/make-view-helper","ember-htmlbars/compat/helper"],function(e,t,r,n,i){"use strict";function a(e,t,r){var a=r.helpers[e];if(a)return a;var s=t.container;if(s&&!o.get(e)){var u="helper:"+e;if(a=s.lookup(u),!a){var l=s.lookup("component-lookup:main"),c=l.lookupFactory(e,s);c&&(a=n["default"](c),s._registry.register(u,a))}return a&&!a.isHTMLBars&&(a=new i["default"](a),s._registry.unregister(u),s._registry.register(u,a)),a}}var o=new r["default"](1e3,function(e){return-1===e.indexOf("-")});e["default"]=a,e.ISNT_HELPER_CACHE=o}),e("ember-htmlbars/system/make-view-helper",["exports","ember-metal/core","ember-htmlbars/system/helper"],function(e,t,r){"use strict";function n(e){function t(t,r,n,i){return i.helpers.view.helperFunction.call(this,[e],r,n,i)}return new r["default"](t)}e["default"]=n}),e("ember-htmlbars/system/make_bound_helper",["exports","ember-metal/core","ember-htmlbars/system/helper","ember-metal/streams/stream","ember-metal/streams/utils"],function(e,t,r,n,i){"use strict";function a(e){function t(t,r,a,o){function s(){return e.call(c,i.readArray(t),i.readHash(r),a,o)}var u,l,c=o.data.view,h=t.length,d=i.scanArray(t)||i.scanHash(r);if(d){for(var f=new n["default"](s),p=0;h>p;p++)u=t[p],i.subscribe(u,f.notify,f);for(l in r)u=r[l],i.subscribe(u,f.notify,f);return f}return s()}return new r["default"](t)}e["default"]=a}),e("ember-htmlbars/system/merge-view-bindings",["exports","ember-metal/core","ember-metal/mixin","ember-metal/streams/simple","ember-metal/streams/utils","ember-views/streams/class_name_binding"],function(e,t,r,n,i,a){"use strict";function o(e,t,r){return s(e,t,r),u(e,t,r),t}function s(e,t,n){for(var a in n)if("id"!==a&&"tag"!==a&&"class"!==a&&"classBinding"!==a&&"classNameBindings"!==a&&"attributeBindings"!==a){var o=n[a];r.IS_BINDING.test(a)?t[a]="string"==typeof o?e._getBindingForStream(o):i.isStream(o)?e._getBindingForStream(o):o:i.isStream(o)?t[a+"Binding"]=e._getBindingForStream(o):t[a]=o}}function u(e,t,r){r.id&&(t.id=t.elementId=i.read(r.id)),r.tag&&(t.tagName=i.read(r.tag));var o=[];if(r["class"]&&("string"==typeof r["class"]?t.classNames=r["class"].split(" "):o.push(r["class"]._label?r["class"]._label:r["class"])),r.classBinding&&l.apply(o,r.classBinding.split(" ")),r.classNameBindings&&l.apply(o,r.classNameBindings.split(" ")),o.length>0){t.classNameBindings=o;for(var s=0;s<o.length;s++){var u,c=o[s];u=i.isStream(c)?c:a.streamifyClassNameBinding(e,c),o[s]=i.isStream(u)?u:new n["default"](u)}}}var l=Array.prototype.push;e["default"]=o}),e("ember-htmlbars/system/render-view",["exports","ember-metal/core","ember-metal/property_get","ember-htmlbars/env"],function(e,t,r,n){"use strict";function i(e,t,r){if(r){var n;n=r.isHTMLBars?a(e,t,r):o(e,t,r),void 0!==n&&t.push(n)}}function a(e,t,r){var i=t.innerContextualElement(),a=e._blockArguments,o={view:this,dom:e.renderer._dom,hooks:n["default"].hooks,helpers:n["default"].helpers,useFragmentCache:n["default"].useFragmentCache,data:{view:e,buffer:t}};return r.render(e,o,i,a)}function o(e,t,n){var i=r.get(e,"context"),a={data:{view:e,buffer:t}};return n(i,a)}e["default"]=i}),e("ember-htmlbars/templates/component",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.content;n.detectNamespace(r);var o;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(o=this.build(n),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=n.cloneNode(this.cachedFragment,!0))):o=this.build(n);var s=n.createMorphAt(o,0,0,r);return n.insertBoundary(o,null),n.insertBoundary(o,0),a(t,s,e,"yield"),o}}}())}),e("ember-htmlbars/templates/empty",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment();return t},render:function(e,t,r){var n=t.dom;n.detectNamespace(r);var i;return t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(i=this.build(n),this.hasRendered?this.cachedFragment=i:this.hasRendered=!0),this.cachedFragment&&(i=n.cloneNode(this.cachedFragment,!0))):i=this.build(n),i}}}())}),e("ember-htmlbars/templates/link-to-escaped",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.content;n.detectNamespace(r);var o;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(o=this.build(n),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=n.cloneNode(this.cachedFragment,!0))):o=this.build(n);var s=n.createMorphAt(o,0,0,r);return n.insertBoundary(o,null),n.insertBoundary(o,0),a(t,s,e,"linkTitle"),o}}}())}),e("ember-htmlbars/templates/link-to-unescaped",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.content;n.detectNamespace(r);var o;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(o=this.build(n),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=n.cloneNode(this.cachedFragment,!0))):o=this.build(n);var s=n.createUnsafeMorphAt(o,0,0,r);return n.insertBoundary(o,null),n.insertBoundary(o,0),a(t,s,e,"linkTitle"),o}}}())}),e("ember-htmlbars/templates/select",["exports","ember-template-compiler/system/template"],function(e,t){"use strict";e["default"]=t["default"](function(){var e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createElement("option");e.setAttribute(r,"value","");var n=e.createComment("");return e.appendChild(r,n),e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.content;n.detectNamespace(r);var o;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(o=this.build(n),this.hasRendered?this.cachedFragment=o:this.hasRendered=!0),this.cachedFragment&&(o=n.cloneNode(this.cachedFragment,!0))):o=this.build(n);var s=n.createMorphAt(n.childAt(o,[0]),0,0);return a(t,s,e,"view.prompt"),o}}}(),t=function(){var e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.get,o=i.inline;n.detectNamespace(r);var s;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(s=this.build(n),this.hasRendered?this.cachedFragment=s:this.hasRendered=!0),this.cachedFragment&&(s=n.cloneNode(this.cachedFragment,!0))):s=this.build(n);var u=n.createMorphAt(s,0,0,r);return n.insertBoundary(s,null),n.insertBoundary(s,0),o(t,u,e,"view",[a(t,e,"view.groupView")],{content:a(t,e,"group.content"),label:a(t,e,"group.label")}),s}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(t,r,n){var i=r.dom,a=r.hooks,o=a.get,s=a.block;i.detectNamespace(n);var u;r.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(u=this.build(i),this.hasRendered?this.cachedFragment=u:this.hasRendered=!0),this.cachedFragment&&(u=i.cloneNode(this.cachedFragment,!0))):u=this.build(i);var l=i.createMorphAt(u,0,0,n);return i.insertBoundary(u,null),i.insertBoundary(u,0),s(r,l,t,"each",[o(r,t,"view.groupedContent")],{keyword:"group"},e,null),u}}}(),r=function(){var e=function(){return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(e,t,r){var n=t.dom,i=t.hooks,a=i.get,o=i.inline;n.detectNamespace(r);var s;t.useFragmentCache&&n.canClone?(null===this.cachedFragment&&(s=this.build(n),this.hasRendered?this.cachedFragment=s:this.hasRendered=!0),this.cachedFragment&&(s=n.cloneNode(this.cachedFragment,!0))):s=this.build(n);var u=n.createMorphAt(s,0,0,r);return n.insertBoundary(s,null),n.insertBoundary(s,0),o(t,u,e,"view",[a(t,e,"view.optionView")],{content:a(t,e,"item")}),s}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");return e.appendChild(t,r),t},render:function(t,r,n){var i=r.dom,a=r.hooks,o=a.get,s=a.block;i.detectNamespace(n);var u;r.useFragmentCache&&i.canClone?(null===this.cachedFragment&&(u=this.build(i),this.hasRendered?this.cachedFragment=u:this.hasRendered=!0),this.cachedFragment&&(u=i.cloneNode(this.cachedFragment,!0))):u=this.build(i);var l=i.createMorphAt(u,0,0,n);return i.insertBoundary(u,null),i.insertBoundary(u,0),s(r,l,t,"each",[o(r,t,"view.content")],{keyword:"item"},e,null),u}}}();return{isHTMLBars:!0,revision:"Ember@1.11.0",blockParams:0,cachedFragment:null,hasRendered:!1,build:function(e){var t=e.createDocumentFragment(),r=e.createComment("");e.appendChild(t,r);var r=e.createComment("");e.appendChild(t,r);var r=e.createTextNode("\n");return e.appendChild(t,r),t},render:function(n,i,a){var o=i.dom,s=i.hooks,u=s.get,l=s.block;o.detectNamespace(a);var c;i.useFragmentCache&&o.canClone?(null===this.cachedFragment&&(c=this.build(o),this.hasRendered?this.cachedFragment=c:this.hasRendered=!0),this.cachedFragment&&(c=o.cloneNode(this.cachedFragment,!0))):c=this.build(o);var h=o.createMorphAt(c,0,0,a),d=o.createMorphAt(c,1,1,a);return o.insertBoundary(c,0),l(i,h,n,"if",[u(i,n,"view.prompt")],{},e,null),l(i,d,n,"if",[u(i,n,"view.optionGroupPath")],{},t,r),c}}}())}),e("ember-htmlbars/utils/string",["exports","htmlbars-util","ember-runtime/system/string"],function(e,t,r){"use strict";function n(e){return null===e||void 0===e?"":("string"!=typeof e&&(e=""+e),new t.SafeString(e))}e.htmlSafe=n,r["default"].htmlSafe=n,(i.EXTEND_PROTOTYPES===!0||i.EXTEND_PROTOTYPES.String)&&(String.prototype.htmlSafe=function(){return n(this)}),e.SafeString=t.SafeString,e.escapeExpression=t.escapeExpression}),e("ember-metal-views",["exports","ember-metal-views/renderer"],function(e,t){"use strict";e.Renderer=t["default"]}),e("ember-metal-views/renderer",["exports","dom-helper","ember-metal/environment"],function(e,t,r){"use strict";function n(e,t){this._uuid=0,this._views=new Array(2e3),this._queue=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this._parents=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],this._elements=new Array(17),this._inserts={},this._dom=e||l,this._destinedForDOM=void 0===t?!0:t}function i(e,t,r){var n=this._views;n[0]=e;var i=0,a=1,o=t?t._level+1:0,s=null==t?e:t._root,u=!!s._morph,l=this._queue;l[0]=0;for(var c,h,d,f=1,p=-1,m=this._parents,g=t||null,v=this._elements,y=null,b=null,_=0,w=e;f;){if(v[_]=y,w._morph||(w._morph=null),w._root=s,this.uuid(w),w._level=o+_,w._elementCreated&&this.remove(w,!1,!0),this.willCreateElement(w),b=w._morph&&w._morph.contextualElement,!b&&g&&g._childViewsMorph&&(b=g._childViewsMorph.contextualElement),!b&&w._didCreateElementWithoutMorph&&(b="undefined"!=typeof document?document.body:null),y=this.createElement(w,b),m[_++]=p,p=i,g=w,l[f++]=i,c=this.childViews(w))for(h=c.length-1;h>=0;h--)d=c[h],i=a++,n[i]=d,l[f++]=i,w=d;for(i=l[--f],w=n[i];p===i;){if(_--,w._elementCreated=!0,this.didCreateElement(w),u&&this.willInsertElement(w),0===_){f--;break}p=m[_],g=-1===p?t:n[p],this.insertElement(w,g,y,null),i=l[--f],w=n[i],y=v[_],v[_]=null}}for(this.insertElement(w,t,y,r),h=a-1;h>=0;h--)u&&(n[h]._elementInserted=!0,this.didInsertElement(n[h])),n[h]=null;return y}function a(e,t,r){var n=this.uuid(e);if(this._inserts[n]&&(this.cancelRender(this._inserts[n]),this._inserts[n]=void 0),e._elementCreated){var i,a,o,s,u,l,c,h=[],d=[],f=e._morph;for(h.push(e),i=0;i<h.length;i++)if(o=h[i],s=!t&&o._childViewsMorph?h:d,this.beforeRemove(h[i]),u=o._childViews)for(l=0,c=u.length;c>l;l++)s.push(u[l]);for(i=0;i<d.length;i++)if(o=d[i],this.beforeRemove(d[i]),u=o._childViews)for(l=0,c=u.length;c>l;l++)d.push(u[l]);for(f&&!r&&f.destroy(),i=0,a=h.length;a>i;i++)this.afterRemove(h[i],!1);for(i=0,a=d.length;a>i;i++)this.afterRemove(d[i],!0);r&&(e._morph=f)}}function o(e,t,r,n){null!==r&&void 0!==r&&(e._morph?e._morph.setContent(r):t&&(e._morph=t._childViewsMorph.insertContentBeforeMorph(r,n)))}function s(e){e._elementCreated&&this.willDestroyElement(e),e._elementInserted&&this.willRemoveElement(e)}function u(e,t){e._elementInserted=!1,e._morph=null,e._childViewsMorph=null,e._elementCreated&&(e._elementCreated=!1,this.didDestroyElement(e)),t&&this.destroyView(e)}var l=r["default"].hasDOM?new t["default"]:null;n.prototype.uuid=function(e){return void 0===e._uuid&&(e._uuid=++this._uuid,e._renderer=this),e._uuid},n.prototype.scheduleInsert=function(e,t){if(e._morph||e._elementCreated)throw new Error("You cannot insert a View that has already been rendered");e._morph=t;var r=this.uuid(e);this._inserts[r]=this.scheduleRender(this,function(){this._inserts[r]=null,this.renderTree(e)})},n.prototype.appendTo=function(e,t){var r=this._dom.appendMorph(t);this.scheduleInsert(e,r)},n.prototype.appendAttrTo=function(e,t,r){var n=this._dom.createAttrMorph(t,r);this.scheduleInsert(e,n)},n.prototype.replaceIn=function(e,t){var r;r=t.firstNode?this._dom.createMorph(t,t.firstNode,t.lastNode):this._dom.appendMorph(t),this.scheduleInsert(e,r)},n.prototype.remove=a,n.prototype.removeAndDestroy=function(e){this.remove(e,!0)},n.prototype.renderTree=i,n.prototype.insertElement=o,n.prototype.beforeRemove=s,n.prototype.afterRemove=u;var c=function(){};n.prototype.willCreateElement=c,n.prototype.createElement=c,n.prototype.didCreateElement=c,n.prototype.willInsertElement=c,n.prototype.didInsertElement=c,n.prototype.willRemoveElement=c,n.prototype.willDestroyElement=c,n.prototype.didDestroyElement=c,n.prototype.destroyView=c,n.prototype.childViews=c,e["default"]=n}),e("ember-metal",["exports","ember-metal/core","ember-metal/merge","ember-metal/instrumentation","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/cache","ember-metal/platform/define_property","ember-metal/platform/create","ember-metal/array","ember-metal/logger","ember-metal/property_get","ember-metal/events","ember-metal/observer_set","ember-metal/property_events","ember-metal/properties","ember-metal/property_set","ember-metal/map","ember-metal/get_properties","ember-metal/set_properties","ember-metal/watch_key","ember-metal/chains","ember-metal/watch_path","ember-metal/watching","ember-metal/expand_properties","ember-metal/computed","ember-metal/alias","ember-metal/computed_macros","ember-metal/observer","ember-metal/mixin","ember-metal/binding","ember-metal/run_loop","ember-metal/libraries","ember-metal/is_none","ember-metal/is_empty","ember-metal/is_blank","ember-metal/is_present","ember-metal/keys","backburner","ember-metal/streams/utils","ember-metal/streams/stream"],function(e,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C,E,S,T,k,A,O,R,P,N,M,D,F,j,I,L,V,z,H,B){"use strict";k.computed.empty=O.empty,k.computed.notEmpty=O.notEmpty,k.computed.none=O.none,k.computed.not=O.not,k.computed.bool=O.bool,k.computed.match=O.match,k.computed.equal=O.equal,k.computed.gt=O.gt,k.computed.gte=O.gte,k.computed.lt=O.lt,k.computed.lte=O.lte,k.computed.alias=A["default"],k.computed.oneWay=O.oneWay,k.computed.reads=O.oneWay,k.computed.readOnly=O.readOnly,k.computed.defaultTo=O.defaultTo,k.computed.deprecatingAlias=O.deprecatingAlias,k.computed.and=O.and,k.computed.or=O.or,k.computed.any=O.any,k.computed.collect=O.collect;var q=r["default"].Instrumentation={};q.instrument=i.instrument,q.subscribe=i.subscribe,q.unsubscribe=i.unsubscribe,q.reset=i.reset,r["default"].instrument=i.instrument,r["default"].subscribe=i.subscribe,r["default"]._Cache=u["default"],r["default"].generateGuid=a.generateGuid,r["default"].GUID_KEY=a.GUID_KEY,r["default"].create=c["default"],r["default"].keys=V["default"],r["default"].platform={defineProperty:v.defineProperty,hasPropertyAccessors:l.hasPropertyAccessors};var U=r["default"].ArrayPolyfills={};U.map=h.map,U.forEach=h.forEach,U.filter=h.filter,U.indexOf=h.indexOf,r["default"].Error=o["default"],r["default"].guidFor=a.guidFor,r["default"].META_DESC=a.META_DESC,r["default"].EMPTY_META=a.EMPTY_META,r["default"].meta=a.meta,r["default"].getMeta=a.getMeta,r["default"].setMeta=a.setMeta,r["default"].metaPath=a.metaPath,r["default"].inspect=a.inspect,r["default"].typeOf=a.typeOf,r["default"].tryCatchFinally=a.tryCatchFinally,r["default"].isArray=a.isArray,r["default"].makeArray=a.makeArray,r["default"].canInvoke=a.canInvoke,r["default"].tryInvoke=a.tryInvoke,r["default"].tryFinally=a.tryFinally,r["default"].wrap=a.wrap,r["default"].apply=a.apply,r["default"].applyStr=a.applyStr,r["default"].uuid=a.uuid,r["default"].Logger=d["default"],r["default"].get=f.get,r["default"].getWithDefault=f.getWithDefault,r["default"].normalizeTuple=f.normalizeTuple,r["default"]._getPath=f._getPath,r["default"].EnumerableUtils=s["default"],r["default"].on=p.on,r["default"].addListener=p.addListener,r["default"].removeListener=p.removeListener,r["default"]._suspendListener=p.suspendListener,r["default"]._suspendListeners=p.suspendListeners,r["default"].sendEvent=p.sendEvent,r["default"].hasListeners=p.hasListeners,r["default"].watchedEvents=p.watchedEvents,r["default"].listenersFor=p.listenersFor,r["default"].accumulateListeners=p.accumulateListeners,r["default"]._ObserverSet=m["default"],r["default"].propertyWillChange=g.propertyWillChange,r["default"].propertyDidChange=g.propertyDidChange,r["default"].overrideChains=g.overrideChains,r["default"].beginPropertyChanges=g.beginPropertyChanges,r["default"].endPropertyChanges=g.endPropertyChanges,r["default"].changeProperties=g.changeProperties,r["default"].Descriptor=v.Descriptor,r["default"].defineProperty=v.defineProperty,r["default"].set=y.set,r["default"].trySet=y.trySet,r["default"].OrderedSet=b.OrderedSet,r["default"].Map=b.Map,r["default"].MapWithDefault=b.MapWithDefault,r["default"].getProperties=_["default"],r["default"].setProperties=w["default"],r["default"].watchKey=x.watchKey,r["default"].unwatchKey=x.unwatchKey,r["default"].flushPendingChains=C.flushPendingChains,r["default"].removeChainWatcher=C.removeChainWatcher,r["default"]._ChainNode=C.ChainNode,r["default"].finishChains=C.finishChains,r["default"].watchPath=E.watchPath,r["default"].unwatchPath=E.unwatchPath,r["default"].watch=S.watch,r["default"].isWatching=S.isWatching,r["default"].unwatch=S.unwatch,r["default"].rewatch=S.rewatch,r["default"].destroy=S.destroy,r["default"].expandProperties=T["default"],r["default"].ComputedProperty=k.ComputedProperty,r["default"].computed=k.computed,r["default"].cacheFor=k.cacheFor,r["default"].addObserver=R.addObserver,r["default"].observersFor=R.observersFor,r["default"].removeObserver=R.removeObserver,r["default"].addBeforeObserver=R.addBeforeObserver,r["default"]._suspendBeforeObserver=R._suspendBeforeObserver,r["default"]._suspendBeforeObservers=R._suspendBeforeObservers,r["default"]._suspendObserver=R._suspendObserver,r["default"]._suspendObservers=R._suspendObservers,r["default"].beforeObserversFor=R.beforeObserversFor,r["default"].removeBeforeObserver=R.removeBeforeObserver,r["default"].IS_BINDING=P.IS_BINDING,r["default"].required=P.required,r["default"].aliasMethod=P.aliasMethod,r["default"].observer=P.observer,r["default"].immediateObserver=P.immediateObserver,r["default"].beforeObserver=P.beforeObserver,r["default"].mixin=P.mixin,r["default"].Mixin=P.Mixin,r["default"].oneWay=N.oneWay,r["default"].bind=N.bind,r["default"].Binding=N.Binding,r["default"].isGlobalPath=N.isGlobalPath,r["default"].run=M["default"],r["default"].Backburner=z["default"],r["default"].libraries=new D["default"],r["default"].libraries.registerCoreLibrary("Ember",r["default"].VERSION),r["default"].isNone=F["default"],r["default"].isEmpty=j["default"],r["default"].isBlank=I["default"],r["default"].isPresent=L["default"],r["default"].merge=n["default"],r["default"].onerror=null,r["default"].__loader.registry["ember-debug"]&&t("ember-debug"),e["default"]=r["default"]}),e("ember-metal/alias",["exports","ember-metal/property_get","ember-metal/property_set","ember-metal/core","ember-metal/error","ember-metal/properties","ember-metal/computed","ember-metal/platform/create","ember-metal/utils","ember-metal/dependent_keys"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(e){return new h(e)}function h(e){this.isDescriptor=!0,this.altKey=e,this._dependentKeys=[e]}function d(e,t,r){throw new i["default"]('Cannot set read-only property "'+t+'" on object: '+u.inspect(e))}function f(e,t,n){return a.defineProperty(e,t,null),r.set(e,t,n)}e.AliasedProperty=h,e["default"]=c,h.prototype=s["default"](a.Descriptor.prototype),h.prototype.get=function(e,r){return t.get(e,this.altKey)},h.prototype.set=function(e,t,n){return r.set(e,this.altKey,n)},h.prototype.willWatch=function(e,t){l.addDependentKeys(this,e,t,u.meta(e))},h.prototype.didUnwatch=function(e,t){l.removeDependentKeys(this,e,t,u.meta(e))},h.prototype.setup=function(e,t){var r=u.meta(e);r.watching[t]&&l.addDependentKeys(this,e,t,r)},h.prototype.teardown=function(e,t){var r=u.meta(e);r.watching[t]&&l.removeDependentKeys(this,e,t,r)},h.prototype.readOnly=function(){return this.set=d,this},h.prototype.oneWay=function(){return this.set=f,this},h.prototype._meta=void 0,h.prototype.meta=o.ComputedProperty.prototype.meta}),e("ember-metal/array",["exports"],function(e){"use strict";var t=Array.prototype,r=function(e){return e&&Function.prototype.toString.call(e).indexOf("[native code]")>-1},n=function(e,t){return r(e)?e:t},a=n(t.map,function(e){if(void 0===this||null===this||"function"!=typeof e)throw new TypeError;for(var t=Object(this),r=t.length>>>0,n=new Array(r),i=arguments[1],a=0;r>a;a++)a in t&&(n[a]=e.call(i,t[a],a,t));return n}),o=n(t.forEach,function(e){if(void 0===this||null===this||"function"!=typeof e)throw new TypeError;for(var t=Object(this),r=t.length>>>0,n=arguments[1],i=0;r>i;i++)i in t&&e.call(n,t[i],i,t)}),s=n(t.indexOf,function(e,t){null===t||void 0===t?t=0:0>t&&(t=Math.max(0,this.length+t));for(var r=t,n=this.length;n>r;r++)if(this[r]===e)return r;return-1}),u=n(t.lastIndexOf,function(e,t){var r,n=this.length;for(t=void 0===t?n-1:0>t?Math.ceil(t):Math.floor(t),0>t&&(t+=n),r=t;r>=0;r--)if(this[r]===e)return r;return-1}),l=n(t.filter,function(e,t){var r,n,i=[],a=this.length;for(r=0;a>r;r++)this.hasOwnProperty(r)&&(n=this[r],e.call(t,n,r,this)&&i.push(n));return i});i.SHIM_ES5&&(t.map=t.map||a,t.forEach=t.forEach||o,t.filter=t.filter||l,t.indexOf=t.indexOf||s,t.lastIndexOf=t.lastIndexOf||u),e.map=a,e.forEach=o,e.filter=l,e.indexOf=s,e.lastIndexOf=u}),e("ember-metal/binding",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/run_loop","ember-metal/path_cache"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,n){return r.get(s.isGlobal(n)?t["default"].lookup:e,n)}function l(e,t){this._direction=void 0,this._from=t,this._to=e,this._readyToSync=void 0,this._oneWay=void 0}function c(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}function h(e,t,r){return new l(t,r).connect(e)}function d(e,t,r){return new l(t,r).oneWay().connect(e)}e.bind=h,e.oneWay=d,e.Binding=l,t["default"].LOG_BINDINGS=!1||!!t["default"].ENV.LOG_BINDINGS,l.prototype={copy:function(){var e=new l(this._to,this._from);return this._oneWay&&(e._oneWay=!0),e},from:function(e){return this._from=e,this},to:function(e){return this._to=e,this},oneWay:function(){return this._oneWay=!0,this},toString:function(){var e=this._oneWay?"[oneWay]":"";return"Ember.Binding<"+i.guidFor(this)+">("+this._from+" -> "+this._to+")"+e},connect:function(e){var t=this._from,r=this._to;return n.trySet(e,r,u(e,t)),a.addObserver(e,t,this,this.fromDidChange),this._oneWay||a.addObserver(e,r,this,this.toDidChange),this._readyToSync=!0,this},disconnect:function(e){var t=!this._oneWay;return a.removeObserver(e,this._from,this,this.fromDidChange),t&&a.removeObserver(e,this._to,this,this.toDidChange),this._readyToSync=!1,this},fromDidChange:function(e){this._scheduleSync(e,"fwd")},toDidChange:function(e){this._scheduleSync(e,"back")},_scheduleSync:function(e,t){var r=this._direction;void 0===r&&(o["default"].schedule("sync",this,this._sync,e),this._direction=t),"back"===r&&"fwd"===t&&(this._direction="fwd")},_sync:function(e){var i=t["default"].LOG_BINDINGS;if(!e.isDestroyed&&this._readyToSync){var o=this._direction,l=this._from,c=this._to;if(this._direction=void 0,
+"fwd"===o){var h=u(e,this._from);i&&t["default"].Logger.log(" ",this.toString(),"->",h,e),this._oneWay?n.trySet(e,c,h):a._suspendObserver(e,c,this,this.toDidChange,function(){n.trySet(e,c,h)})}else if("back"===o){var d=r.get(e,this._to);i&&t["default"].Logger.log(" ",this.toString(),"<-",d,e),a._suspendObserver(e,l,this,this.fromDidChange,function(){n.trySet(s.isGlobal(l)?t["default"].lookup:e,l,d)})}}}},c(l,{from:function(e){var t=this;return new t(void 0,e)},to:function(e){var t=this;return new t(e,void 0)},oneWay:function(e,t){var r=this;return new r(void 0,e).oneWay(t)}}),e.isGlobalPath=s.isGlobal}),e("ember-metal/cache",["exports","ember-metal/dictionary"],function(e,t){"use strict";function r(e,r){this.store=t["default"](null),this.size=0,this.misses=0,this.hits=0,this.limit=e,this.func=r}e["default"]=r;var n=function(){};r.prototype={set:function(e,t){return this.limit>this.size&&(this.size++,this.store[e]=void 0===t?n:t),t},get:function(e){var t=this.store[e];return void 0===t?(this.misses++,t=this.set(e,this.func(e))):t===n?(this.hits++,t=void 0):this.hits++,t},purge:function(){this.store=t["default"](null),this.size=0,this.hits=0,this.misses=0}}}),e("ember-metal/chains",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/array","ember-metal/watch_key"],function(e,t,r,n,i,a){"use strict";function o(e){return e.match(p)[0]}function s(){if(0!==m.length){var e=m;m=[],i.forEach.call(e,function(e){e[0].add(e[1])}),f("Watching an undefined global, Ember expects watched globals to be setup by the time the run loop is flushed, check for typos",0===m.length)}}function u(e,t,r){if(e&&"object"==typeof e){var i=n.meta(e),o=i.chainWatchers;i.hasOwnProperty("chainWatchers")||(o=i.chainWatchers={}),o[t]||(o[t]=[]),o[t].push(r),a.watchKey(e,t,i)}}function l(e,t,r){if(e&&"object"==typeof e){var n=e.__ember_meta__;if(!n||n.hasOwnProperty("chainWatchers")){var i=n&&n.chainWatchers;if(i&&i[t]){i=i[t];for(var o=0,s=i.length;s>o;o++)if(i[o]===r){i.splice(o,1);break}}a.unwatchKey(e,t,n)}}}function c(e,t,r){this._parent=e,this._key=t,this._watching=void 0===r,this._value=r,this._paths={},this._watching&&(this._object=e.value(),this._object&&u(this._object,this._key,this)),this._parent&&"@each"===this._parent._key&&this.value()}function h(e,t){if(!e)return void 0;var n=e.__ember_meta__;if(n&&n.proto===e)return void 0;if("@each"===t)return r.get(e,t);var i=e[t],a=null!==i&&"object"==typeof i&&i.isDescriptor?i:void 0;return a&&a._cacheable?n.cache&&t in n.cache?n.cache[t]:void 0:r.get(e,t)}function d(e){var t,r,i,a=e.__ember_meta__;if(a){if(r=a.chainWatchers)for(var o in r)if(r.hasOwnProperty(o)&&(i=r[o]))for(var s=0,u=i.length;u>s;s++)i[s].didChange(null);t=a.chains,t&&t.value()!==e&&(n.meta(e).chains=t=t.copy(e))}}e.flushPendingChains=s,e.finishChains=d,e.removeChainWatcher=l,e.ChainNode=c;var f=t["default"].warn,p=/^([^\.]+)/,m=[],g=c.prototype;g.value=function(){if(void 0===this._value&&this._watching){var e=this._parent.value();this._value=h(e,this._key)}return this._value},g.destroy=function(){if(this._watching){var e=this._object;e&&l(e,this._key,this),this._watching=!1}},g.copy=function(e){var t,r=new c(null,null,e),n=this._paths;for(t in n)n[t]<=0||r.add(t);return r},g.add=function(e){var t,n,i,a,s;if(s=this._paths,s[e]=(s[e]||0)+1,t=this.value(),n=r.normalizeTuple(t,e),n[0]&&n[0]===t)e=n[1],i=o(e),e=e.slice(i.length+1);else{if(!n[0])return m.push([this,e]),void(n.length=0);a=n[0],i=e.slice(0,0-(n[1].length+1)),e=n[1]}n.length=0,this.chain(i,e,a)},g.remove=function(e){var t,n,i,a,s;s=this._paths,s[e]>0&&s[e]--,t=this.value(),n=r.normalizeTuple(t,e),n[0]===t?(e=n[1],i=o(e),e=e.slice(i.length+1)):(a=n[0],i=e.slice(0,0-(n[1].length+1)),e=n[1]),n.length=0,this.unchain(i,e)},g.count=0,g.chain=function(e,t,r){var n,i=this._chains;i||(i=this._chains={}),n=i[e],n||(n=i[e]=new c(this,e,r)),n.count++,t&&(e=o(t),t=t.slice(e.length+1),n.chain(e,t))},g.unchain=function(e,t){var r=this._chains,n=r[e];if(t&&t.length>1){var i=o(t),a=t.slice(i.length+1);n.unchain(i,a)}n.count--,n.count<=0&&(delete r[n._key],n.destroy())},g.willChange=function(e){var t=this._chains;if(t)for(var r in t)t.hasOwnProperty(r)&&t[r].willChange(e);this._parent&&this._parent.chainWillChange(this,this._key,1,e)},g.chainWillChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainWillChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},g.chainDidChange=function(e,t,r,n){this._key&&(t=this._key+"."+t),this._parent?this._parent.chainDidChange(this,t,r+1,n):(r>1&&n.push(this.value(),t),t="this."+t,this._paths[t]>0&&n.push(this.value(),t))},g.didChange=function(e){if(this._watching){var t=this._parent.value();t!==this._object&&(l(this._object,this._key,this),this._object=t,u(t,this._key,this)),this._value=void 0,this._parent&&"@each"===this._parent._key&&this.value()}var r=this._chains;if(r)for(var n in r)r.hasOwnProperty(n)&&r[n].didChange(e);null!==e&&this._parent&&this._parent.chainDidChange(this,this._key,1,e)}}),e("ember-metal/computed",["exports","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/error","ember-metal/properties","ember-metal/property_events","ember-metal/dependent_keys"],function(e,t,r,n,i,a,o,s){"use strict";function u(){}function l(e,t){this.isDescriptor=!0,e.__ember_arity=e.length,this._getter=e,e.__ember_arity>1&&(this._setter=e),this._dependentKeys=void 0,this._suspended=void 0,this._meta=void 0,this._cacheable=t&&void 0!==t.cacheable?t.cacheable:!0,this._dependentKeys=t&&t.dependentKeys,this._readOnly=t&&(void 0!==t.readOnly||!!t.readOnly)||!1}function c(e){for(var t=0,r=e.length;r>t;t++)e[t].didChange(null)}function h(e){var t;arguments.length>1&&(t=p.call(arguments),e=t.pop());var r=new l(e);if("function"!=typeof e)throw new i["default"]("Computed Property declared without a property function");return t&&r.property.apply(r,t),r}function d(e,t){var r=e.__ember_meta__,n=r&&r.cache,i=n&&n[t];return i===u?void 0:i}e.ComputedProperty=l,e.computed=h,e.cacheFor=d;var f=r.meta,p=[].slice;l.prototype=new a.Descriptor;var m=l.prototype;m.cacheable=function(e){return this._cacheable=e!==!1,this},m["volatile"]=function(){return this._cacheable=!1,this},m.readOnly=function(e){return this._readOnly=void 0===e||!!e,this},m.property=function(){var e,t=function(t){e.push(t)};e=[];for(var r=0,i=arguments.length;i>r;r++)n["default"](arguments[r],t);return this._dependentKeys=e,this},m.meta=function(e){return 0===arguments.length?this._meta||{}:(this._meta=e,this)},m.didChange=function(e,t){if(this._cacheable&&this._suspended!==e){var r=f(e);r.cache&&void 0!==r.cache[t]&&(r.cache[t]=void 0,s.removeDependentKeys(this,e,t,r))}},m.get=function(e,t){var r,n,i,a;if(this._cacheable){i=f(e),n=i.cache;var o=n&&n[t];if(o===u)return void 0;if(void 0!==o)return o;r=this._getter.call(e,t),n=i.cache,n||(n=i.cache={}),n[t]=void 0===r?u:r,a=i.chainWatchers&&i.chainWatchers[t],a&&c(a),s.addDependentKeys(this,e,t,i)}else r=this._getter.call(e,t);return r},m.set=function(e,t,r){var n=this._suspended;this._suspended=e;try{this._set(e,t,r)}finally{this._suspended=n}},m._set=function(e,n,l){var c,h,d=this._cacheable,p=this._setter,m=f(e,d),g=m.cache,v=!1;if(this._readOnly)throw new i["default"]('Cannot set read-only property "'+n+'" on object: '+r.inspect(e));if(d&&g&&void 0!==g[n]&&(g[n]!==u&&(c=g[n]),v=!0),!p)return a.defineProperty(e,n,null,c),void t.set(e,n,l);if(h=2===p.__ember_arity?p.call(e,n,l):p.call(e,n,l,c),!v||c!==h){var y=m.watching[n];return y&&o.propertyWillChange(e,n),v&&(g[n]=void 0),d&&(v||s.addDependentKeys(this,e,n,m),g||(g=m.cache={}),g[n]=void 0===h?u:h),y&&o.propertyDidChange(e,n),h}},m.teardown=function(e,t){var r=f(e);return r.cache&&(t in r.cache&&s.removeDependentKeys(this,e,t,r),this._cacheable&&delete r.cache[t]),null},d.set=function(e,t,r){e[t]=void 0===r?u:r},d.get=function(e,t){var r=e[t];return r===u?void 0:r},d.remove=function(e,t){e[t]=void 0}}),e("ember-metal/computed_macros",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/is_empty","ember-metal/is_none","ember-metal/alias"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t){for(var n={},i=0;i<t.length;i++)n[t[i]]=r.get(e,t[i]);return n}function l(e){return function(){var t=S.call(arguments),r=i.computed(function(){return e.apply(this,[u(this,t)])});return r.property.apply(r,t)}}function c(e){return i.computed(e+".length",function(){return a["default"](r.get(this,e))})}function h(e){return i.computed(e+".length",function(){return!a["default"](r.get(this,e))})}function d(e){return i.computed(e,function(){return o["default"](r.get(this,e))})}function f(e){return i.computed(e,function(){return!r.get(this,e)})}function p(e){return i.computed(e,function(){return!!r.get(this,e)})}function m(e,t){return i.computed(e,function(){var n=r.get(this,e);return"string"==typeof n?t.test(n):!1})}function g(e,t){return i.computed(e,function(){return r.get(this,e)===t})}function v(e,t){return i.computed(e,function(){return r.get(this,e)>t})}function y(e,t){return i.computed(e,function(){return r.get(this,e)>=t})}function b(e,t){return i.computed(e,function(){return r.get(this,e)<t})}function _(e,t){return i.computed(e,function(){return r.get(this,e)<=t})}function w(e){return s["default"](e).oneWay()}function x(e){return s["default"](e).readOnly()}function C(e){return i.computed(function(t,n,i){return 1===arguments.length?r.get(this,e):null!=n?n:r.get(this,e)})}function E(e){return i.computed(e,function(t,i){return arguments.length>1?(n.set(this,e,i),i):r.get(this,e)})}e.empty=c,e.notEmpty=h,e.none=d,e.not=f,e.bool=p,e.match=m,e.equal=g,e.gt=v,e.gte=y,e.lt=b,e.lte=_,e.oneWay=w,e.readOnly=x,e.defaultTo=C,e.deprecatingAlias=E;var S=[].slice,T=l(function(e){var t;for(var r in e)if(t=e[r],e.hasOwnProperty(r)&&!t)return!1;return t}),k=l(function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return!1}),A=l(function(e){for(var t in e)if(e.hasOwnProperty(t)&&e[t])return e[t];return null}),O=l(function(e){var r=t["default"].A();for(var n in e)e.hasOwnProperty(n)&&r.push(o["default"](e[n])?null:e[n]);return r});e.and=T,e.or=k,e.any=A,e.collect=O}),e("ember-metal/core",["exports"],function(e){"use strict";function t(){return this}e.K=t,"undefined"==typeof i&&(i={});var r=a||{};i.imports=i.imports||r,i.lookup=i.lookup||r;var n=i.exports=i.exports||r;n.Em=n.Ember=i,i.isNamespace=!0,i.toString=function(){return"Ember"},i.VERSION="1.11.0",i.ENV||(i.ENV="undefined"!=typeof EmberENV?EmberENV:"undefined"!=typeof ENV?ENV:{}),i.config=i.config||{},"undefined"==typeof i.ENV.DISABLE_RANGE_API&&(i.ENV.DISABLE_RANGE_API=!0),i.FEATURES=i.ENV.FEATURES,i.FEATURES||(i.FEATURES={"features-stripped-test":!1,"ember-routing-named-substates":!0,"mandatory-setter":!1,"ember-htmlbars-component-generation":!1,"ember-htmlbars-component-helper":!0,"ember-htmlbars-inline-if-helper":!0,"ember-htmlbars-attribute-syntax":!0,"ember-routing-transitioning-classes":!0,"new-computed-syntax":!1,"ember-testing-checkbox-helpers":!1,"ember-metal-stream":!1,"ember-htmlbars-each-with-index":!0,"ember-application-instance-initializers":!1,"ember-application-initializer-context":!1,"ember-router-willtransition":!0,"ember-application-visit":!1}),i.FEATURES.isEnabled=function(e){var t=i.FEATURES[e];return i.ENV.ENABLE_ALL_FEATURES?!0:t===!0||t===!1||void 0===t?t:i.ENV.ENABLE_OPTIONAL_FEATURES?!0:!1},i.EXTEND_PROTOTYPES=i.ENV.EXTEND_PROTOTYPES,"undefined"==typeof i.EXTEND_PROTOTYPES&&(i.EXTEND_PROTOTYPES=!0),i.LOG_STACKTRACE_ON_DEPRECATION=i.ENV.LOG_STACKTRACE_ON_DEPRECATION!==!1,i.SHIM_ES5=i.ENV.SHIM_ES5===!1?!1:i.EXTEND_PROTOTYPES,i.LOG_VERSION=i.ENV.LOG_VERSION===!1?!1:!0,i.K=t,"undefined"==typeof i.assert&&(i.assert=t),"undefined"==typeof i.warn&&(i.warn=t),"undefined"==typeof i.debug&&(i.debug=t),"undefined"==typeof i.runInDebug&&(i.runInDebug=t),"undefined"==typeof i.deprecate&&(i.deprecate=t),"undefined"==typeof i.deprecateFunc&&(i.deprecateFunc=function(e,t){return t}),e["default"]=i}),e("ember-metal/dependent_keys",["exports","ember-metal/platform/create","ember-metal/watching"],function(e,t,r){function n(e,r){var n=e[r];return n?e.hasOwnProperty(r)||(n=e[r]=t["default"](n)):n=e[r]={},n}function i(e){return n(e,"deps")}function a(e,t,a,o){var s,u,l,c,h,d=e._dependentKeys;if(d)for(s=i(o),u=0,l=d.length;l>u;u++)c=d[u],h=n(s,c),h[a]=(h[a]||0)+1,r.watch(t,c,o)}function o(e,t,a,o){var s,u,l,c,h,d=e._dependentKeys;if(d)for(s=i(o),u=0,l=d.length;l>u;u++)c=d[u],h=n(s,c),h[a]=(h[a]||0)-1,r.unwatch(t,c,o)}e.addDependentKeys=a,e.removeDependentKeys=o}),e("ember-metal/deprecate_property",["exports","ember-metal/core","ember-metal/platform/define_property","ember-metal/properties","ember-metal/property_get","ember-metal/property_set"],function(e,t,r,n,i,a){"use strict";function o(e,t,o){function s(){}r.hasPropertyAccessors&&n.defineProperty(e,t,{configurable:!0,enumerable:!1,set:function(e){s(),a.set(this,o,e)},get:function(){return s(),i.get(this,o)}})}e.deprecateProperty=o}),e("ember-metal/dictionary",["exports","ember-metal/platform/create"],function(e,t){"use strict";function r(e){var r=t["default"](e);return r._dict=null,delete r._dict,r}e["default"]=r}),e("ember-metal/enumerable_utils",["exports","ember-metal/array"],function(e,t){"use strict";function r(e,r,n){return e.map?e.map(r,n):t.map.call(e,r,n)}function n(e,r,n){return e.forEach?e.forEach(r,n):t.forEach.call(e,r,n)}function i(e,r,n){return e.filter?e.filter(r,n):t.filter.call(e,r,n)}function a(e,r,n){return e.indexOf?e.indexOf(r,n):t.indexOf.call(e,r,n)}function o(e,t){return void 0===t?[]:r(t,function(t){return a(e,t)})}function s(e,t){var r=a(e,t);-1===r&&e.push(t)}function u(e,t){var r=a(e,t);-1!==r&&e.splice(r,1)}function l(e,t,r,n){for(var i,a,o=[].concat(n),s=[],u=6e4,l=t,c=r;o.length;)i=c>u?u:c,0>=i&&(i=0),a=o.splice(0,u),a=[l,i].concat(a),l+=u,c-=i,s=s.concat(d.apply(e,a));return s}function c(e,t,r,n){return e.replace?e.replace(t,r,n):l(e,t,r,n)}function h(e,t){var r=[];return n(e,function(e){a(t,e)>=0&&r.push(e)}),r}e.map=r,e.forEach=n,e.filter=i,e.indexOf=a,e.indexesOf=o,e.addObject=s,e.removeObject=u,e._replace=l,e.replace=c,e.intersection=h;var d=Array.prototype.splice;e["default"]={_replace:l,addObject:s,filter:i,forEach:n,indexOf:a,indexesOf:o,intersection:h,map:r,removeObject:u,replace:c}}),e("ember-metal/environment",["exports","ember-metal/core"],function(e,t){"use strict";var r,n="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof document.createElement&&!t["default"].ENV.disableBrowserEnvironment;r=n?{hasDOM:!0,isChrome:!!window.chrome&&!window.opera,location:window.location,history:window.history,userAgent:window.navigator.userAgent}:{hasDOM:!1,isChrome:!1,location:null,history:null,userAgent:"Lynx (textmode)"},e["default"]=r}),e("ember-metal/error",["exports","ember-metal/platform/create"],function(e,t){"use strict";function r(){var e=Error.apply(this,arguments);Error.captureStackTrace&&Error.captureStackTrace(this,i.Error);for(var t=0;t<n.length;t++)this[n[t]]=e[n[t]]}var n=["description","fileName","lineNumber","message","name","number","stack"];r.prototype=t["default"](Error.prototype),e["default"]=r}),e("ember-metal/events",["exports","ember-metal/core","ember-metal/utils","ember-metal/platform/create"],function(e,t,r,n){function i(e,t,r){for(var n=-1,i=e.length-3;i>=0;i-=3)if(t===e[i]&&r===e[i+1]){n=i;break}return n}function a(e,t){var i,a=r.meta(e,!0),o=a.listeners;return o?o.__source__!==e&&(o=a.listeners=n["default"](o),o.__source__=e):(o=a.listeners=n["default"](null),o.__source__=e),i=o[t],i&&i.__source__!==e?(i=o[t]=o[t].slice(),i.__source__=e):i||(i=o[t]=[],i.__source__=e),i}function o(e,t,r){var n=e.__ember_meta__,a=n&&n.listeners&&n.listeners[t];if(a){for(var o=[],s=a.length-3;s>=0;s-=3){var u=a[s],l=a[s+1],c=a[s+2],h=i(r,u,l);-1===h&&(r.push(u,l,c),o.push(u,l,c))}return o}}function s(e,t,r,n,o){n||"function"!=typeof r||(n=r,r=null);var s=a(e,t),u=i(s,r,n),l=0;o&&(l|=v),-1===u&&(s.push(r,n,l),"function"==typeof e.didAddListener&&e.didAddListener(t,r,n))}function u(e,t,r,n){function o(r,n){var o=a(e,t),s=i(o,r,n);-1!==s&&(o.splice(s,3),"function"==typeof e.didRemoveListener&&e.didRemoveListener(t,r,n))}if(n||"function"!=typeof r||(n=r,r=null),n)o(r,n);else{var s=e.__ember_meta__,u=s&&s.listeners&&s.listeners[t];if(!u)return;for(var l=u.length-3;l>=0;l-=3)o(u[l],u[l+1])}}function l(e,t,n,o,s){function u(){return s.call(n)}function l(){-1!==h&&(c[h+2]&=~y)}o||"function"!=typeof n||(o=n,n=null);var c=a(e,t),h=i(c,n,o);return-1!==h&&(c[h+2]|=y),r.tryFinally(u,l)}function c(e,t,n,o,s){function u(){return s.call(n)}function l(){for(var e=0,t=p.length;t>e;e++){var r=p[e];m[e][r+2]&=~y}}o||"function"!=typeof n||(o=n,n=null);var c,h,d,f,p=[],m=[];for(d=0,f=t.length;f>d;d++){c=t[d],h=a(e,c);var g=i(h,n,o);-1!==g&&(h[g+2]|=y,p.push(g),m.push(h))}return r.tryFinally(u,l)}function h(e){var t=e.__ember_meta__.listeners,r=[];if(t)for(var n in t)"__source__"!==n&&t[n]&&r.push(n);return r}function d(e,n,i,a){if(e!==t["default"]&&"function"==typeof e.sendEvent&&e.sendEvent(n,i),!a){var o=e.__ember_meta__;a=o&&o.listeners&&o.listeners[n]}if(a){for(var s=a.length-3;s>=0;s-=3){var l=a[s],c=a[s+1],h=a[s+2];c&&(h&y||(h&v&&u(e,n,l,c),l||(l=e),"string"==typeof c?i?r.applyStr(l,c,i):l[c]():i?r.apply(l,c,i):c.call(l)))}return!0}}function f(e,t){var r=e.__ember_meta__,n=r&&r.listeners&&r.listeners[t];return!(!n||!n.length)}function p(e,t){var r=[],n=e.__ember_meta__,i=n&&n.listeners&&n.listeners[t];if(!i)return r;for(var a=0,o=i.length;o>a;a+=3){var s=i[a],u=i[a+1];r.push([s,u])}return r}function m(){var e=g.call(arguments,-1)[0],t=g.call(arguments,0,-1);return e.__ember_listens__=t,e}e.accumulateListeners=o,e.addListener=s,e.suspendListener=l,e.suspendListeners=c,e.watchedEvents=h,e.sendEvent=d,e.hasListeners=f,e.listenersFor=p,e.on=m,e.removeListener=u;var g=[].slice,v=1,y=2}),e("ember-metal/expand_properties",["exports","ember-metal/error","ember-metal/enumerable_utils","ember-metal/utils"],function(e,t,r,n){"use strict";function i(e,i){if(e.indexOf(" ")>-1)throw new t["default"]("Brace expanded properties cannot contain spaces, e.g. `user.{firstName, lastName}` should be `user.{firstName,lastName}`");if("string"===n.typeOf(e)){var s=e.split(o),u=[s];r.forEach(s,function(e,t){e.indexOf(",")>=0&&(u=a(u,e.split(","),t))}),r.forEach(u,function(e){i(e.join(""))})}else i(e)}function a(e,t,n){var i=[];return r.forEach(e,function(e){r.forEach(t,function(t){var r=e.slice(0);r[n]=t,i.push(r)})}),i}var o=/\{|\}/;e["default"]=i}),e("ember-metal/get_properties",["exports","ember-metal/property_get","ember-metal/utils"],function(e,t,r){"use strict";function n(e){var n={},i=arguments,a=1;2===arguments.length&&"array"===r.typeOf(arguments[1])&&(a=0,i=arguments[1]);for(var o=i.length;o>a;a++)n[i[a]]=t.get(e,i[a]);return n}e["default"]=n}),e("ember-metal/injected_property",["exports","ember-metal/core","ember-metal/computed","ember-metal/alias","ember-metal/properties","ember-metal/platform/create"],function(e,t,r,n,i,a){"use strict";function o(e,t){this.type=e,this.name=t,this._super$Constructor(s),c.oneWay.call(this)}function s(e){var t=this[e],r=null!==t&&"object"==typeof t&&t.isDescriptor?t:void 0;return this.container.lookup(r.type+":"+(r.name||e))}o.prototype=a["default"](i.Descriptor.prototype);var u=o.prototype,l=r.ComputedProperty.prototype,c=n.AliasedProperty.prototype;u._super$Constructor=r.ComputedProperty,u.get=l.get,u.readOnly=l.readOnly,u.teardown=l.teardown,e["default"]=o}),e("ember-metal/instrumentation",["exports","ember-metal/core","ember-metal/utils"],function(e,t,r){"use strict";function n(e,t,n,a){if(arguments.length<=3&&"function"==typeof t&&(a=n,n=t,t=void 0),0===u.length)return n.call(a);var o=t||{},s=i(e,function(){return o});if(s){var l=function(){return n.call(a)},c=function(e){o.exception=e};return r.tryCatchFinally(l,c,s)}return n.call(a)}function i(e,r){var n=l[e];if(n||(n=c(e)),0!==n.length){var i,a=r(),o=t["default"].STRUCTURED_PROFILE;o&&(i=e+": "+a.object,console.time(i));var s,u,d=n.length,f=new Array(d),p=h();for(s=0;d>s;s++)u=n[s],f[s]=u.before(e,p,a);return function(){var t,r,s,u=h();for(t=0,r=n.length;r>t;t++)s=n[t],s.after(e,u,a,f[t]);o&&console.timeEnd(i)}}}function a(e,t){for(var r,n=e.split("."),i=[],a=0,o=n.length;o>a;a++)r=n[a],i.push("*"===r?"[^\\.]*":r);i=i.join("\\."),i+="(\\..*)?";var s={pattern:e,regex:new RegExp("^"+i+"$"),object:t};return u.push(s),l={},s}function o(e){for(var t,r=0,n=u.length;n>r;r++)u[r]===e&&(t=r);u.splice(t,1),l={}}function s(){u.length=0,l={}}e.instrument=n,e._instrumentStart=i,e.subscribe=a,e.unsubscribe=o,e.reset=s;var u=[],l={},c=function(e){for(var t,r=[],n=0,i=u.length;i>n;n++)t=u[n],t.regex.test(e)&&r.push(t.object);return l[e]=r,r},h=function(){var e="undefined"!=typeof window?window.performance||{}:{},t=e.now||e.mozNow||e.webkitNow||e.msNow||e.oNow;return t?t.bind(e):function(){return+new Date}}();e.subscribers=u}),e("ember-metal/is_blank",["exports","ember-metal/is_empty"],function(e,t){"use strict";function r(e){return t["default"](e)||"string"==typeof e&&null===e.match(/\S/)}e["default"]=r}),e("ember-metal/is_empty",["exports","ember-metal/property_get","ember-metal/is_none"],function(e,t,r){"use strict";function n(e){var n=r["default"](e);if(n)return n;if("number"==typeof e.size)return!e.size;var i=typeof e;if("object"===i){var a=t.get(e,"size");if("number"==typeof a)return!a}if("number"==typeof e.length&&"function"!==i)return!e.length;if("object"===i){var o=t.get(e,"length");if("number"==typeof o)return!o}return!1}e["default"]=n}),e("ember-metal/is_none",["exports"],function(e){"use strict";function t(e){return null===e||void 0===e}e["default"]=t}),e("ember-metal/is_present",["exports","ember-metal/is_blank"],function(e,t){"use strict";function r(e){return!t["default"](e)}e["default"]=r}),e("ember-metal/keys",["exports","ember-metal/platform/define_property"],function(e,t){"use strict";var r=Object.keys;r&&t.canDefineNonEnumerableProperties||(r=function(){var e=Object.prototype.hasOwnProperty,t=!{toString:null}.propertyIsEnumerable("toString"),r=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],n=r.length;return function(i){if("object"!=typeof i&&("function"!=typeof i||null===i))throw new TypeError("Object.keys called on non-object");var a,o,s=[];for(a in i)"_super"!==a&&0!==a.lastIndexOf("__",0)&&e.call(i,a)&&s.push(a);if(t)for(o=0;n>o;o++)e.call(i,r[o])&&s.push(r[o]);return s}}()),e["default"]=r}),e("ember-metal/libraries",["exports","ember-metal/core","ember-metal/enumerable_utils"],function(e,t,r){"use strict";function n(){this._registry=[],this._coreLibIndex=0}n.prototype={constructor:n,_getLibraryByName:function(e){for(var t=this._registry,r=t.length,n=0;r>n;n++)if(t[n].name===e)return t[n]},register:function(e,t,r){var n=this._registry.length;this._getLibraryByName(e)||(r&&(n=this._coreLibIndex++),this._registry.splice(n,0,{name:e,version:t}))},registerCoreLibrary:function(e,t){this.register(e,t,!0)},deRegister:function(e){var t,n=this._getLibraryByName(e);n&&(t=r.indexOf(this._registry,n),this._registry.splice(t,1))},each:function(e){r.forEach(this._registry,function(t){e(t.name,t.version)})}},e["default"]=n}),e("ember-metal/logger",["exports","ember-metal/core","ember-metal/error"],function(e,t,r){"use strict";function n(){return this}function i(e){var r,n;t["default"].imports.console?r=t["default"].imports.console:"undefined"!=typeof console&&(r=console);var i="object"==typeof r?r[e]:null;return i?"function"==typeof i.bind?(n=i.bind(r),n.displayName="console."+e,n):"function"==typeof i.apply?(n=function(){i.apply(r,arguments)},n.displayName="console."+e,n):function(){var e=Array.prototype.join.call(arguments,", ");i(e)}:void 0}function a(e,t){if(!e)try{throw new r["default"]("assertion failed: "+t)}catch(n){setTimeout(function(){throw n},0)}}e["default"]={log:i("log")||n,warn:i("warn")||n,error:i("error")||n,info:i("info")||n,debug:i("debug")||i("info")||n,assert:i("assert")||a}}),e("ember-metal/map",["exports","ember-metal/utils","ember-metal/array","ember-metal/platform/create","ember-metal/deprecate_property"],function(e,t,r,n,a){"use strict";function o(e){throw new TypeError(""+Object.prototype.toString.call(e)+" is not a function")}function s(e){throw new TypeError("Constructor "+e+"requires 'new'")}function u(e){var t=n["default"](null);for(var r in e)t[r]=e[r];return t}function l(e,t){var r=e._keys.copy(),n=u(e._values);return t._keys=r,t._values=n,t.size=e.size,t}function c(){this instanceof c?(this.clear(),this._silenceRemoveDeprecation=!1):s("OrderedSet")}function h(){this instanceof this.constructor?(this._keys=c.create(),this._keys._silenceRemoveDeprecation=!0,this._values=n["default"](null),this.size=0):s("OrderedSet")}function d(e){this._super$constructor(),this.defaultValue=e.defaultValue}e.OrderedSet=c,e.Map=h,e.MapWithDefault=d,c.create=function(){var e=this;return new e},c.prototype={constructor:c,clear:function(){this.presenceSet=n["default"](null),this.list=[],this.size=0},add:function(e,r){var n=r||t.guidFor(e),i=this.presenceSet,a=this.list;return i[n]!==!0&&(i[n]=!0,this.size=a.push(e)),this},remove:function(e,t){return this["delete"](e,t)},"delete":function(e,n){var i=n||t.guidFor(e),a=this.presenceSet,o=this.list;if(a[i]===!0){delete a[i];var s=r.indexOf.call(o,e);return s>-1&&o.splice(s,1),this.size=o.length,!0}return!1},isEmpty:function(){return 0===this.size},has:function(e){if(0===this.size)return!1;var r=t.guidFor(e),n=this.presenceSet;return n[r]===!0},forEach:function(e){if("function"!=typeof e&&o(e),0!==this.size){var t,r=this.list,n=arguments.length;if(2===n)for(t=0;t<r.length;t++)e.call(arguments[1],r[t]);else for(t=0;t<r.length;t++)e(r[t])}},toArray:function(){return this.list.slice()},copy:function(){var e=this.constructor,t=new e;return t._silenceRemoveDeprecation=this._silenceRemoveDeprecation,t.presenceSet=u(this.presenceSet),t.list=this.toArray(),t.size=this.size,t}},a.deprecateProperty(c.prototype,"length","size"),i.Map=h,h.create=function(){var e=this;return new e},h.prototype={constructor:h,size:0,get:function(e){if(0!==this.size){var r=this._values,n=t.guidFor(e);return r[n]}},set:function(e,r){var n=this._keys,i=this._values,a=t.guidFor(e),o=e===-0?0:e;return n.add(o,a),i[a]=r,this.size=n.size,this},remove:function(e){return this["delete"](e)},"delete":function(e){if(0===this.size)return!1;var r=this._keys,n=this._values,i=t.guidFor(e);return r["delete"](e,i)?(delete n[i],this.size=r.size,!0):!1},has:function(e){return this._keys.has(e)},forEach:function(e){if("function"!=typeof e&&o(e),0!==this.size){var t,r,n=arguments.length,i=this;2===n?(r=arguments[1],t=function(t){e.call(r,i.get(t),t,i)}):t=function(t){e(i.get(t),t,i)},this._keys.forEach(t)}},clear:function(){this._keys.clear(),this._values=n["default"](null),this.size=0},copy:function(){return l(this,new h)}},a.deprecateProperty(h.prototype,"length","size"),d.create=function(e){return e?new d(e):new h},d.prototype=n["default"](h.prototype),d.prototype.constructor=d,d.prototype._super$constructor=h,d.prototype._super$get=h.prototype.get,d.prototype.get=function(e){var t=this.has(e);if(t)return this._super$get(e);var r=this.defaultValue(e);return this.set(e,r),r},d.prototype.copy=function(){var e=this.constructor;return l(this,new e({defaultValue:this.defaultValue}))},e["default"]=h}),e("ember-metal/merge",["exports","ember-metal/keys"],function(e,t){"use strict";function r(e,r){if(!r||"object"!=typeof r)return e;for(var n,i=t["default"](r),a=i.length,o=0;a>o;o++)n=i[o],e[n]=r[n];return e}e["default"]=r}),e("ember-metal/mixin",["exports","ember-metal/core","ember-metal/merge","ember-metal/array","ember-metal/platform/create","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/expand_properties","ember-metal/properties","ember-metal/computed","ember-metal/binding","ember-metal/observer","ember-metal/events","ember-metal/streams/utils"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p){function m(){var e,t=this.__nextSuper;if(t){var r=arguments.length;return this.__nextSuper=null,e=0===r?t.call(this):1===r?t.call(this,arguments[0]):2===r?t.call(this,arguments[0],arguments[1]):t.apply(this,arguments),this.__nextSuper=t,e}}function g(e){var t=s.meta(e,!0),r=t.mixins;return r?t.hasOwnProperty("mixins")||(r=t.mixins=i["default"](r)):r=t.mixins={},r}function v(e){return"function"==typeof e&&e.isMethod!==!1&&e!==Boolean&&e!==Object&&e!==Number&&e!==Array&&e!==Date&&e!==String}function y(e,t){var r;return t instanceof F?(r=s.guidFor(t),e[r]?K:(e[r]=t,t.properties)):t}function b(e,t,r,n){var i;return i=r[e]||n[e],t[e]&&(i=i?i.concat(t[e]):t[e]),i}function _(e,t,r,n,a,o){var u;if(void 0===n[t]&&(u=a[t]),!u){var l=o[t],h=null!==l&&"object"==typeof l&&l.isDescriptor?l:void 0;u=h}return void 0!==u&&u instanceof c.ComputedProperty?(r=i["default"](r),r._getter=s.wrap(r._getter,u._getter),u._setter&&(r._setter=r._setter?s.wrap(r._setter,u._setter):u._setter),r):r}function w(e,t,r,n,i){var a;if(void 0===i[t]&&(a=n[t]),a=a||e[t],void 0===a||"function"!=typeof a)return r;var o;return Y&&(o=r.__hasSuper,void 0===o&&(o=r.toString().indexOf("_super")>-1,r.__hasSuper=o)),Y===!1||o?s.wrap(r,a):r}function x(e,t,r,n){var i=n[t]||e[t];return i?"function"==typeof i.concat?null===r||void 0===r?i:i.concat(r):s.makeArray(i).concat(r):s.makeArray(r)}function C(e,t,n,i){var a=i[t]||e[t];if(!a)return n;var o=r["default"]({},a),s=!1;for(var u in n)if(n.hasOwnProperty(u)){var l=n[u];v(l)?(s=!0,o[u]=w(e,u,l,a,{})):o[u]=l}return s&&(o._super=m),o}function E(e,t,r,i,a,o,s,u){if(r instanceof l.Descriptor){if(r===U&&a[t])return K;r._getter&&(r=_(i,t,r,o,a,e)),a[t]=r,o[t]=void 0}else s&&n.indexOf.call(s,t)>=0||"concatenatedProperties"===t||"mergedProperties"===t?r=x(e,t,r,o):u&&n.indexOf.call(u,t)>=0?r=C(e,t,r,o):v(r)&&(r=w(e,t,r,o,a)),a[t]=void 0,o[t]=r}function S(e,t,r,i,a,o){function u(e){delete r[e],delete i[e]}for(var l,c,h,d,f,p,m=0,g=e.length;g>m;m++)if(l=e[m],c=y(t,l),c!==K)if(c){p=s.meta(a),a.willMergeMixin&&a.willMergeMixin(c),d=b("concatenatedProperties",c,i,a),f=b("mergedProperties",c,i,a);for(h in c)c.hasOwnProperty(h)&&(o.push(h),E(a,h,c[h],p,r,i,d,f));c.hasOwnProperty("toString")&&(a.toString=c.toString)}else l.mixins&&(S(l.mixins,t,r,i,a,o),l._without&&n.forEach.call(l._without,u))}function T(e,t,r,n){if(G.test(t)){var a=n.bindings;a?n.hasOwnProperty("bindings")||(a=n.bindings=i["default"](n.bindings)):a=n.bindings={},a[t]=r}}function k(e,t,r){var n=function(r){d._suspendObserver(e,t,null,s,function(){o.trySet(e,t,r.value())})},s=function(){r.setValue(a.get(e,t),n)};o.set(e,t,r.value()),d.addObserver(e,t,null,s),r.subscribe(n),void 0===e._streamBindingSubscriptions&&(e._streamBindingSubscriptions=i["default"](null)),e._streamBindingSubscriptions[t]=n}function A(e,t){var r,n,i,a=t.bindings;if(a){for(r in a)if(n=a[r]){if(i=r.slice(0,-7),p.isStream(n)){k(e,i,n);continue}n instanceof h.Binding?(n=n.copy(),n.to(i)):n=new h.Binding(i,n),n.connect(e),e[r]=n}t.bindings={}}}function O(e,t){return A(e,t||s.meta(e)),e}function R(e,t,r,n,i){var a,o,s=t.methodName;return n[s]||i[s]?(a=i[s],t=n[s]):(o=e[s])&&null!==o&&"object"==typeof o&&o.isDescriptor?(t=o,a=void 0):(t=void 0,a=e[s]),{desc:t,value:a}}function P(e,t,r,n,i){var a=r[n];if(a)for(var o=0,s=a.length;s>o;o++)i(e,a[o],null,t)}function N(e,t,r){var n=e[t];"function"==typeof n&&(P(e,t,n,"__ember_observesBefore__",d.removeBeforeObserver),P(e,t,n,"__ember_observes__",d.removeObserver),P(e,t,n,"__ember_listens__",f.removeListener)),"function"==typeof r&&(P(e,t,r,"__ember_observesBefore__",d.addBeforeObserver),P(e,t,r,"__ember_observes__",d.addObserver),P(e,t,r,"__ember_listens__",f.addListener))}function M(e,t,r){var n,i,a,o={},u={},c=s.meta(e),h=[];e._super=m,S(t,g(e),o,u,e,h);for(var d=0,f=h.length;f>d;d++)if(n=h[d],"constructor"!==n&&u.hasOwnProperty(n)&&(a=o[n],
+i=u[n],a!==U)){for(;a&&a instanceof V;){var p=R(e,a,c,o,u);a=p.desc,i=p.value}(void 0!==a||void 0!==i)&&(N(e,n,i),T(e,n,i,c),l.defineProperty(e,n,a,i,c))}return r||O(e,c),e}function D(e){var t=W.call(arguments,1);return M(e,t,!1),e}function F(e,t){this.properties=t;var r=e&&e.length;if(r>0){for(var n=new Array(r),i=0;r>i;i++){var a=e[i];n[i]=a instanceof F?a:new F(void 0,a)}this.mixins=n}else this.mixins=void 0;this.ownerConstructor=void 0}function j(e,t,r){var n=s.guidFor(e);if(r[n])return!1;if(r[n]=!0,e===t)return!0;for(var i=e.mixins,a=i?i.length:0;--a>=0;)if(j(i[a],t,r))return!0;return!1}function I(e,t,r){if(!r[s.guidFor(t)])if(r[s.guidFor(t)]=!0,t.properties){var i=t.properties;for(var a in i)i.hasOwnProperty(a)&&(e[a]=!0)}else t.mixins&&n.forEach.call(t.mixins,function(t){I(e,t,r)})}function L(){return U}function V(e){this.isDescriptor=!0,this.methodName=e}function z(e){return new V(e)}function H(){var e,r=W.call(arguments,-1)[0],n=function(t){e.push(t)},i=W.call(arguments,0,-1);"function"!=typeof r&&(r=arguments[0],i=W.call(arguments,1)),e=[];for(var a=0;a<i.length;++a)u["default"](i[a],n);if("function"!=typeof r)throw new t["default"].Error("Ember.observer called without a function");return r.__ember_observes__=e,r}function B(){for(var e=0,t=arguments.length;t>e;e++){arguments[e]}return H.apply(this,arguments)}function q(){var e,r=W.call(arguments,-1)[0],n=function(t){e.push(t)},i=W.call(arguments,0,-1);"function"!=typeof r&&(r=arguments[0],i=W.call(arguments,1)),e=[];for(var a=0;a<i.length;++a)u["default"](i[a],n);if("function"!=typeof r)throw new t["default"].Error("Ember.beforeObserver called without a function");return r.__ember_observesBefore__=e,r}e.mixin=D,e.required=L,e.aliasMethod=z,e.observer=H,e.immediateObserver=B,e.beforeObserver=q,e.Mixin=F;var U,W=[].slice,$={__nextSuper:function(e,t,r,n){}};m.call($),m.call($,1),m.call($,1,2),m.call($,1,2,3);var K={},Y=function(){return this}.toString().indexOf("return this;")>-1,G=/^.+Binding$/;e["default"]=F,F._apply=M,F.applyPartial=function(e){var t=W.call(arguments,1);return M(e,t,!0)},F.finishPartial=O,t["default"].anyUnprocessedMixins=!1,F.create=function(){t["default"].anyUnprocessedMixins=!0;for(var e=this,r=arguments.length,n=new Array(r),i=0;r>i;i++)n[i]=arguments[i];return new e(n,void 0)};var Q=F.prototype;Q.reopen=function(){var e;this.properties?(e=new F(void 0,this.properties),this.properties=void 0,this.mixins=[e]):this.mixins||(this.mixins=[]);var t,r=arguments.length,n=this.mixins;for(t=0;r>t;t++)e=arguments[t],n.push(e instanceof F?e:new F(void 0,e));return this},Q.apply=function(e){return M(e,[this],!1)},Q.applyPartial=function(e){return M(e,[this],!0)},Q.detect=function(e){if(!e)return!1;if(e instanceof F)return j(e,this,{});var t=e.__ember_meta__,r=t&&t.mixins;return r?!!r[s.guidFor(this)]:!1},Q.without=function(){var e=new F([this]);return e._without=W.call(arguments),e},Q.keys=function(){var e={},t={},r=[];I(e,this,t);for(var n in e)e.hasOwnProperty(n)&&r.push(n);return r},F.mixins=function(e){var t=e.__ember_meta__,r=t&&t.mixins,n=[];if(!r)return n;for(var i in r){var a=r[i];a.properties||n.push(a)}return n},U=new l.Descriptor,U.toString=function(){return"(Required Property)"},V.prototype=new l.Descriptor,e.IS_BINDING=G}),e("ember-metal/observer",["exports","ember-metal/watching","ember-metal/array","ember-metal/events"],function(e,t,r,n){"use strict";function i(e){return e+g}function a(e){return e+v}function o(e,r,a,o){return n.addListener(e,i(r),a,o),t.watch(e,r),this}function s(e,t){return n.listenersFor(e,i(t))}function u(e,r,a,o){return t.unwatch(e,r),n.removeListener(e,i(r),a,o),this}function l(e,r,i,o){return n.addListener(e,a(r),i,o),t.watch(e,r),this}function c(e,t,r,i,o){return n.suspendListener(e,a(t),r,i,o)}function h(e,t,r,a,o){return n.suspendListener(e,i(t),r,a,o)}function d(e,t,i,o,s){var u=r.map.call(t,a);return n.suspendListeners(e,u,i,o,s)}function f(e,t,a,o,s){var u=r.map.call(t,i);return n.suspendListeners(e,u,a,o,s)}function p(e,t){return n.listenersFor(e,a(t))}function m(e,r,i,o){return t.unwatch(e,r),n.removeListener(e,a(r),i,o),this}e.addObserver=o,e.observersFor=s,e.removeObserver=u,e.addBeforeObserver=l,e._suspendBeforeObserver=c,e._suspendObserver=h,e._suspendBeforeObservers=d,e._suspendObservers=f,e.beforeObserversFor=p,e.removeBeforeObserver=m;var g=":change",v=":before"}),e("ember-metal/observer_set",["exports","ember-metal/utils","ember-metal/events"],function(e,t,r){"use strict";function n(){this.clear()}e["default"]=n,n.prototype.add=function(e,r,n){var i,a=this.observerSet,o=this.observers,s=t.guidFor(e),u=a[s];return u||(a[s]=u={}),i=u[r],void 0===i&&(i=o.push({sender:e,keyName:r,eventName:n,listeners:[]})-1,u[r]=i),o[i].listeners},n.prototype.flush=function(){var e,t,n,i,a=this.observers;for(this.clear(),e=0,t=a.length;t>e;++e)n=a[e],i=n.sender,i.isDestroying||i.isDestroyed||r.sendEvent(i,n.eventName,[i,n.keyName],n.listeners)},n.prototype.clear=function(){this.observerSet={},this.observers=[]}}),e("ember-metal/path_cache",["exports","ember-metal/cache"],function(e,t){"use strict";function r(e){return h.get(e)}function n(e){return d.get(e)}function i(e){return f.get(e)}function a(e){return-1!==p.get(e)}function o(e){return m.get(e)}function s(e){return g.get(e)}e.isGlobal=r,e.isGlobalPath=n,e.hasThis=i,e.isPath=a,e.getFirstKey=o,e.getTailPath=s;var u=/^([A-Z$]|([0-9][A-Z$]))/,l=/^([A-Z$]|([0-9][A-Z$])).*[\.]/,c="this.",h=new t["default"](1e3,function(e){return u.test(e)}),d=new t["default"](1e3,function(e){return l.test(e)}),f=new t["default"](1e3,function(e){return 0===e.lastIndexOf(c,0)}),p=new t["default"](1e3,function(e){return e.indexOf(".")}),m=new t["default"](1e3,function(e){var t=p.get(e);return-1===t?e:e.slice(0,t)}),g=new t["default"](1e3,function(e){var t=p.get(e);return-1!==t?e.slice(t+1):void 0}),v={isGlobalCache:h,isGlobalPathCache:d,hasThisCache:f,firstDotIndexCache:p,firstKeyCache:m,tailPathCache:g};e.caches=v}),e("ember-metal/platform/create",["exports","ember-metal/platform/define_properties"],function(e,t){"REMOVE_USE_STRICT: true";var r;if(!Object.create||Object.create(null).hasOwnProperty){var n,i=!({__proto__:null}instanceof Object);n=i||"undefined"==typeof document?function(){return{__proto__:null}}:function(){function e(){}var t=document.createElement("iframe"),r=document.body||document.documentElement;t.style.display="none",r.appendChild(t),t.src="javascript:";var i=t.contentWindow.Object.prototype;return r.removeChild(t),t=null,delete i.constructor,delete i.hasOwnProperty,delete i.propertyIsEnumerable,delete i.isPrototypeOf,delete i.toLocaleString,delete i.toString,delete i.valueOf,e.prototype=i,n=function(){return new e},new e},r=Object.create=function(e,r){function i(){}var a;if(null===e)a=n();else{if("object"!=typeof e&&"function"!=typeof e)throw new TypeError("Object prototype may only be an Object or null");i.prototype=e,a=new i}return void 0!==r&&t["default"](a,r),a}}else r=Object.create;e["default"]=r}),e("ember-metal/platform/define_properties",["exports","ember-metal/platform/define_property"],function(e,t){"use strict";var r=Object.defineProperties;r||(r=function(e,r){for(var n in r)r.hasOwnProperty(n)&&"__proto__"!==n&&t.defineProperty(e,n,r[n]);return e},Object.defineProperties=r),e["default"]=r}),e("ember-metal/platform/define_property",["exports"],function(e){"use strict";var t=function(e){if(e)try{var t=5,r={};if(e(r,"a",{configurable:!0,enumerable:!0,get:function(){return t},set:function(e){t=e}}),5!==r.a)return;if(r.a=10,10!==t)return;e(r,"a",{configurable:!0,enumerable:!1,writable:!0,value:!0});for(var n in r)if("a"===n)return;if(r.a!==!0)return;if(e(r,"a",{enumerable:!1}),r.a!==!0)return;return e}catch(i){return}}(Object.defineProperty),r=!!t;if(r&&"undefined"!=typeof document){var n=function(){try{return t(document.createElement("div"),"definePropertyOnDOM",{}),!0}catch(e){}return!1}();n||(t=function(e,t,r){var n;return n="object"==typeof Node?e instanceof Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName,n?e[t]=r.value:Object.defineProperty(e,t,r)})}r||(t=function(e,t,r){r.get||(e[t]=r.value)});var i=r,a=r;e.hasES5CompliantDefineProperty=r,e.defineProperty=t,e.hasPropertyAccessors=i,e.canDefineNonEnumerableProperties=a}),e("ember-metal/properties",["exports","ember-metal/core","ember-metal/utils","ember-metal/platform/define_property","ember-metal/property_events"],function(e,t,r,n,i){"use strict";function a(){this.isDescriptor=!0}function o(e){return function(e){}}function s(e){return function(){var t=this.__ember_meta__;return t&&t.values[e]}}function u(e,t,o,s,u){var l,c,h,d;u||(u=r.meta(e));var f=u.watching[t];return l=e[t],c=null!==l&&"object"==typeof l&&l.isDescriptor?l:void 0,h=void 0!==f&&f>0,c&&c.teardown(e,t),o instanceof a?(d=o,e[t]=d,o.setup&&o.setup(e,t)):null==o?(d=s,e[t]=s):(d=o,n.defineProperty(e,t,o)),h&&i.overrideChains(e,t,u),e.didDefineProperty&&e.didDefineProperty(e,t,d),this}e.Descriptor=a,e.MANDATORY_SETTER_FUNCTION=o,e.DEFAULT_GETTER_FUNCTION=s,e.defineProperty=u}),e("ember-metal/property_events",["exports","ember-metal/utils","ember-metal/events","ember-metal/observer_set"],function(e,t,r,n){"use strict";function i(e,t){var r=e.__ember_meta__,n=r&&r.watching[t]>0||"length"===t,i=r&&r.proto,a=e[t],s=null!==a&&"object"==typeof a&&a.isDescriptor?a:void 0;n&&i!==e&&(s&&s.willChange&&s.willChange(e,t),o(e,t,r),c(e,t,r),g(e,t))}function a(e,t){var r=e.__ember_meta__,n=r&&r.watching[t]>0||"length"===t,i=r&&r.proto,a=e[t],o=null!==a&&"object"==typeof a&&a.isDescriptor?a:void 0;i!==e&&(o&&o.didChange&&o.didChange(e,t),(n||"length"===t)&&(r&&r.deps&&r.deps[t]&&s(e,t,r),h(e,t,r,!1),v(e,t)))}function o(e,t,r){if(!e.isDestroying){var n;if(r&&r.deps&&(n=r.deps[t])){var a=y,o=!a;o&&(a=y={}),l(i,e,n,t,a,r),o&&(y=null)}}}function s(e,t,r){if(!e.isDestroying){var n;if(r&&r.deps&&(n=r.deps[t])){var i=b,o=!i;o&&(i=b={}),l(a,e,n,t,i,r),o&&(b=null)}}}function u(e){var t=[];for(var r in e)t.push(r);return t}function l(e,r,n,i,a,o){var s,l,c,h,d,f=t.guidFor(r),p=a[f];if(p||(p=a[f]={}),!p[i]&&(p[i]=!0,n))for(s=u(n),c=0;c<s.length;c++)l=s[c],h=r[l],d=null!==h&&"object"==typeof h&&h.isDescriptor?h:void 0,d&&d._suspended===r||e(r,l)}function c(e,t,r){if(r.hasOwnProperty("chainWatchers")&&r.chainWatchers[t]){var n,a,o=r.chainWatchers[t],s=[];for(n=0,a=o.length;a>n;n++)o[n].willChange(s);for(n=0,a=s.length;a>n;n+=2)i(s[n],s[n+1])}}function h(e,t,r,n){if(r&&r.hasOwnProperty("chainWatchers")&&r.chainWatchers[t]){var i,o,s=r.chainWatchers[t],u=n?null:[];for(i=0,o=s.length;o>i;i++)s[i].didChange(u);if(!n)for(i=0,o=u.length;o>i;i+=2)a(u[i],u[i+1])}}function d(e,t,r){h(e,t,r,!0)}function f(){x++}function p(){x--,0>=x&&(_.clear(),w.flush())}function m(e,r){f(),t.tryFinally(e,p,r)}function g(e,t){if(!e.isDestroying){var n,i,a=t+":before";x?(n=_.add(e,t,a),i=r.accumulateListeners(e,a,n),r.sendEvent(e,a,[e,t],i)):r.sendEvent(e,a,[e,t])}}function v(e,t){if(!e.isDestroying){var n,i=t+":change";x?(n=w.add(e,t,i),r.accumulateListeners(e,i,n)):r.sendEvent(e,i,[e,t])}}e.propertyWillChange=i,e.propertyDidChange=a,e.overrideChains=d,e.beginPropertyChanges=f,e.endPropertyChanges=p,e.changeProperties=m;var y,b,_=new n["default"],w=new n["default"],x=0}),e("ember-metal/property_get",["exports","ember-metal/core","ember-metal/error","ember-metal/path_cache","ember-metal/platform/define_property"],function(e,t,r,n,i){"use strict";function a(e,t){if(""===t)return e;if(t||"string"!=typeof e||(t=e,e=null),null===e){var r=s(e,t);return r}var i,a=(e.__ember_meta__,e[t]),o=null!==a&&"object"==typeof a&&a.isDescriptor?a:void 0;return void 0===o&&n.isPath(t)?s(e,t):o?o.get(e,t):(i=e[t],void 0!==i||"object"!=typeof e||t in e||"function"!=typeof e.unknownProperty?i:e.unknownProperty(t))}function o(e,i){var o,s=n.hasThis(i),u=!s&&n.isGlobalPath(i);if((!e||u)&&(e=t["default"].lookup),s&&(i=i.slice(5)),e===t["default"].lookup&&(o=i.match(l)[0],e=a(e,o),i=i.slice(o.length+1)),!i||0===i.length)throw new r["default"]("Path cannot be empty");return[e,i]}function s(e,r){var i,s,u,l,c;if(null===e&&!n.isPath(r))return a(t["default"].lookup,r);for(i=n.hasThis(r),(!e||i)&&(u=o(e,r),e=u[0],r=u[1],u.length=0),s=r.split("."),c=s.length,l=0;null!=e&&c>l;l++)if(e=a(e,s[l],!0),e&&e.isDestroyed)return void 0;return e}function u(e,t,r){var n=a(e,t);return void 0===n?r:n}e.get=a,e.normalizeTuple=o,e._getPath=s,e.getWithDefault=u;var l=/^([^\.]+)/;e["default"]=a}),e("ember-metal/property_set",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_events","ember-metal/properties","ember-metal/error","ember-metal/path_cache","ember-metal/platform/define_property"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t,r,i){if("string"==typeof e&&(r=t,t=e,e=null),!e)return l(e,t,r,i);var a,s,u=e.__ember_meta__,c=e[t],h=null!==c&&"object"==typeof c&&c.isDescriptor?c:void 0;if(void 0===h&&o.isPath(t))return l(e,t,r,i);if(h)h.set(e,t,r);else{if("object"==typeof e&&null!==e&&void 0!==r&&e[t]===r)return r;a="object"==typeof e&&!(t in e),a&&"function"==typeof e.setUnknownProperty?e.setUnknownProperty(t,r):u&&u.watching[t]>0?(u.proto!==e&&(s=e[t]),r!==s&&(n.propertyWillChange(e,t),e[t]=r,n.propertyDidChange(e,t))):e[t]=r}return r}function l(e,t,n,i){var o;if(o=t.slice(t.lastIndexOf(".")+1),t=t===o?o:t.slice(0,t.length-(o.length+1)),"this"!==t&&(e=r._getPath(e,t)),!o||0===o.length)throw new a["default"]("Property set failed: You passed an empty path");if(!e){if(i)return;throw new a["default"]('Property set failed: object in path "'+t+'" could not be found or was destroyed.')}return u(e,o,n)}function c(e,t,r){return u(e,t,r,!0)}e.set=u,e.trySet=c}),e("ember-metal/run_loop",["exports","ember-metal/core","ember-metal/utils","ember-metal/array","ember-metal/property_events","backburner"],function(e,t,r,n,i,a){"use strict";function o(e){u.currentRunLoop=e}function s(e,t){u.currentRunLoop=t}function u(){return c.run.apply(c,arguments)}function l(){!u.currentRunLoop}var c=new a["default"](["sync","actions","destroy"],{GUID_KEY:r.GUID_KEY,sync:{before:i.beginPropertyChanges,after:i.endPropertyChanges},defaultQueue:"actions",onBegin:o,onEnd:s,onErrorTarget:t["default"],onErrorMethod:"onerror"}),h=[].slice;e["default"]=u,u.join=function(){return c.join.apply(c,arguments)},u.bind=function(e,t){var r=h.call(arguments);return function(){return u.join.apply(u,r.concat(h.call(arguments)))}},u.backburner=c,u.currentRunLoop=null,u.queues=c.queueNames,u.begin=function(){c.begin()},u.end=function(){c.end()},u.schedule=function(e,t,r){l(),c.schedule.apply(c,arguments)},u.hasScheduledTimers=function(){return c.hasTimers()},u.cancelTimers=function(){c.cancelTimers()},u.sync=function(){c.currentInstance&&c.currentInstance.queues.sync.flush()},u.later=function(){return c.later.apply(c,arguments)},u.once=function(){l();var e=arguments.length,t=new Array(e);t[0]="actions";for(var n=0;e>n;n++)t[n+1]=arguments[n];return r.apply(c,c.scheduleOnce,t)},u.scheduleOnce=function(){return l(),c.scheduleOnce.apply(c,arguments)},u.next=function(){var e=h.call(arguments);return e.push(1),r.apply(c,c.later,e)},u.cancel=function(e){return c.cancel(e)},u.debounce=function(){return c.debounce.apply(c,arguments)},u.throttle=function(){return c.throttle.apply(c,arguments)},u._addQueue=function(e,t){-1===n.indexOf.call(u.queues,e)&&u.queues.splice(n.indexOf.call(u.queues,t)+1,0,e)}}),e("ember-metal/set_properties",["exports","ember-metal/property_events","ember-metal/property_set","ember-metal/keys"],function(e,t,r,n){"use strict";function i(e,i){return i&&"object"==typeof i?(t.changeProperties(function(){for(var t,a=n["default"](i),o=0,s=a.length;s>o;o++)t=a[o],r.set(e,t,i[t])}),e):e}e["default"]=i}),e("ember-metal/streams/conditional",["exports","ember-metal/streams/stream","ember-metal/streams/utils","ember-metal/platform/create"],function(e,t,r,n){"use strict";function i(e,t,n){return r.isStream(e)?new a(e,t,n):e?t:n}function a(e,t,r){this.init(),this.oldTestResult=void 0,this.test=e,this.consequent=t,this.alternate=r}e["default"]=i,a.prototype=n["default"](t["default"].prototype),a.prototype.valueFn=function(){var e=this.oldTestResult,t=!!r.read(this.test);if(t!==e){switch(e){case!0:r.unsubscribe(this.consequent,this.notify,this);break;case!1:r.unsubscribe(this.alternate,this.notify,this);break;case void 0:r.subscribe(this.test,this.notify,this)}switch(t){case!0:r.subscribe(this.consequent,this.notify,this);break;case!1:r.subscribe(this.alternate,this.notify,this)}this.oldTestResult=t}return r.read(t?this.consequent:this.alternate)}}),e("ember-metal/streams/simple",["exports","ember-metal/merge","ember-metal/streams/stream","ember-metal/platform/create","ember-metal/streams/utils"],function(e,t,r,n,i){"use strict";function a(e){this.init(),this.source=e,i.isStream(e)&&e.subscribe(this._didChange,this)}a.prototype=n["default"](r["default"].prototype),t["default"](a.prototype,{valueFn:function(){return i.read(this.source)},setValue:function(e){var t=this.source;i.isStream(t)&&t.setValue(e)},setSource:function(e){var t=this.source;e!==t&&(i.isStream(t)&&t.unsubscribe(this._didChange,this),i.isStream(e)&&e.subscribe(this._didChange,this),this.source=e,this.notify())},_didChange:function(){this.notify()},_super$destroy:r["default"].prototype.destroy,destroy:function(){return this._super$destroy()?(i.isStream(this.source)&&this.source.unsubscribe(this._didChange,this),this.source=void 0,!0):void 0}}),e["default"]=a}),e("ember-metal/streams/stream",["exports","ember-metal/platform/create","ember-metal/path_cache"],function(e,t,r){"use strict";function n(e){this.init(),this.valueFn=e}n.prototype={isStream:!0,init:function(){this.state="dirty",this.cache=void 0,this.subscribers=void 0,this.children=void 0,this._label=void 0},get:function(e){var n=r.getFirstKey(e),i=r.getTailPath(e);void 0===this.children&&(this.children=t["default"](null));var a=this.children[n];return void 0===a&&(a=this._makeChildStream(n,e),this.children[n]=a),void 0===i?a:a.get(i)},value:function(){return"clean"===this.state?this.cache:"dirty"===this.state?(this.state="clean",this.cache=this.valueFn()):void 0},valueFn:function(){throw new Error("Stream error: valueFn not implemented")},setValue:function(){throw new Error("Stream error: setValue not implemented")},notify:function(){this.notifyExcept()},notifyExcept:function(e,t){"clean"===this.state&&(this.state="dirty",this._notifySubscribers(e,t))},subscribe:function(e,t){void 0===this.subscribers?this.subscribers=[e,t]:this.subscribers.push(e,t)},unsubscribe:function(e,t){var r=this.subscribers;if(void 0!==r)for(var n=0,i=r.length;i>n;n+=2)if(r[n]===e&&r[n+1]===t)return void r.splice(n,2)},_notifySubscribers:function(e,t){var r=this.subscribers;if(void 0!==r)for(var n=0,i=r.length;i>n;n+=2){var a=r[n],o=r[n+1];(a!==e||o!==t)&&(void 0===o?a(this):a.call(o,this))}},destroy:function(){if("destroyed"!==this.state){this.state="destroyed";var e=this.children;for(var t in e)e[t].destroy();return!0}},isGlobal:function(){for(var e=this;void 0!==e;){if(e._isRoot)return e._isGlobal;e=e.source}}},e["default"]=n}),e("ember-metal/streams/stream_binding",["exports","ember-metal/platform/create","ember-metal/merge","ember-metal/run_loop","ember-metal/streams/stream"],function(e,t,r,n,i){"use strict";function a(e){this.init(),this.stream=e,this.senderCallback=void 0,this.senderContext=void 0,this.senderValue=void 0,e.subscribe(this._onNotify,this)}a.prototype=t["default"](i["default"].prototype),r["default"](a.prototype,{valueFn:function(){return this.stream.value()},_onNotify:function(){this._scheduleSync(void 0,void 0,this)},setValue:function(e,t,r){this._scheduleSync(e,t,r)},_scheduleSync:function(e,t,r){void 0===this.senderCallback&&void 0===this.senderContext?(this.senderCallback=t,this.senderContext=r,this.senderValue=e,n["default"].schedule("sync",this,this._sync)):this.senderContext!==this&&(this.senderCallback=t,this.senderContext=r,this.senderValue=e)},_sync:function(){if("destroyed"!==this.state){this.senderContext!==this&&this.stream.setValue(this.senderValue);var e=this.senderCallback,t=this.senderContext;this.senderCallback=void 0,this.senderContext=void 0,this.senderValue=void 0,this.state="clean",this.notifyExcept(e,t)}},_super$destroy:i["default"].prototype.destroy,destroy:function(){return this._super$destroy()?(this.stream.unsubscribe(this._onNotify,this),!0):void 0}}),e["default"]=a}),e("ember-metal/streams/utils",["exports","./stream"],function(e,t){"use strict";function r(e){return e&&e.isStream}function n(e,t,r){e&&e.isStream&&e.subscribe(t,r)}function i(e,t,r){e&&e.isStream&&e.unsubscribe(t,r)}function a(e){return e&&e.isStream?e.value():e}function o(e){for(var t=e.length,r=new Array(t),n=0;t>n;n++)r[n]=a(e[n]);return r}function s(e){var t={};for(var r in e)t[r]=a(e[r]);return t}function u(e){for(var t=e.length,n=!1,i=0;t>i;i++)if(r(e[i])){n=!0;break}return n}function l(e){var t=!1;for(var n in e)if(r(e[n])){t=!0;break}return t}function c(e,r){var i=u(e);if(i){var a,s,l=new t["default"](function(){return o(e).join(r)});for(a=0,s=e.length;s>a;a++)n(e[a],l.notify,l);return l}return e.join(r)}function h(e,i){if(r(e)){var a=new t["default"](i);return n(e,a.notify,a),a}return i()}e.isStream=r,e.subscribe=n,e.unsubscribe=i,e.read=a,e.readArray=o,e.readHash=s,e.scanArray=u,e.scanHash=l,e.concat=c,e.chain=h}),e("ember-metal/utils",["exports","ember-metal/core","ember-metal/platform/create","ember-metal/platform/define_property","ember-metal/array"],function(e,t,r,n,i){function a(){return++C}function o(e){var t={};t[e]=1;for(var r in t)if(r===e)return r;return e}function s(e,t){t||(t=E);var r=t+a();return e&&(null===e[k]?e[k]=r:(A.value=r,e.__defineNonEnumerable?e.__defineNonEnumerable(M):n.defineProperty(e,k,A))),r}function u(e){if(void 0===e)return"(undefined)";if(null===e)return"(null)";var t,r=typeof e;switch(r){case"number":return t=S[e],t||(t=S[e]="nu"+e),t;case"string":return t=T[e],t||(t=T[e]="st"+a()),t;case"boolean":return e?"(true)":"(false)";default:return e[k]?e[k]:e===Object?"(Object)":e===Array?"(Array)":(t=E+a(),null===e[k]?e[k]=t:(A.value=t,e.__defineNonEnumerable?e.__defineNonEnumerable(M):n.defineProperty(e,k,A)),t)}}function l(e){this.watching={},this.cache=void 0,this.cacheMeta=void 0,this.source=e,this.deps=void 0,this.listeners=void 0,this.mixins=void 0,this.bindings=void 0,this.chains=void 0,this.values=void 0,this.proto=void 0}function c(e,t){var i=e.__ember_meta__;return t===!1?i||I:(i?i.source!==e&&(e.__defineNonEnumerable?e.__defineNonEnumerable(N):n.defineProperty(e,"__ember_meta__",P),i=r["default"](i),i.watching=r["default"](i.watching),i.cache=void 0,i.cacheMeta=void 0,i.source=e,e.__ember_meta__=i):(n.canDefineNonEnumerableProperties&&(e.__defineNonEnumerable?e.__defineNonEnumerable(N):n.defineProperty(e,"__ember_meta__",P)),i=new l(e),e.__ember_meta__=i),i)}function h(e,t){var r=c(e,!1);return r[t]}function d(e,t,r){var n=c(e,!0);return n[t]=r,r}function f(e,t,n){for(var i,a,o=c(e,n),s=0,u=t.length;u>s;s++){if(i=t[s],a=o[i]){if(a.__ember_source__!==e){if(!n)return void 0;a=o[i]=r["default"](a),a.__ember_source__=e}}else{if(!n)return void 0;a=o[i]={__ember_source__:e}}o=a}return a}function p(e,t){function r(){var r,n=this&&this.__nextSuper,i=arguments.length;if(this&&(this.__nextSuper=t),0===i)r=e.call(this);else if(1===i)r=e.call(this,arguments[0]);else if(2===i)r=e.call(this,arguments[0],arguments[1]);else{for(var a=new Array(i),o=0;i>o;o++)a[o]=arguments[o];r=w(this,e,a)}return this&&(this.__nextSuper=n),r}return r.wrappedFunction=e,r.__ember_observes__=e.__ember_observes__,r.__ember_observesBefore__=e.__ember_observesBefore__,r.__ember_listens__=e.__ember_listens__,r}function m(e){var r,n;return"undefined"==typeof F&&(r="ember-runtime/mixins/array",t["default"].__loader.registry[r]&&(F=t["default"].__loader.require(r)["default"])),!e||e.setInterval?!1:Array.isArray&&Array.isArray(e)?!0:F&&F.detect(e)?!0:(n=b(e),"array"===n?!0:void 0!==e.length&&"object"===n?!0:!1)}function g(e){return null===e||void 0===e?[]:m(e)?e:[e]}function v(e,t){return!(!e||"function"!=typeof e[t])}function y(e,t,r){return v(e,t)?r?x(e,t,r):x(e,t):void 0}function b(e){var r,n;return"undefined"==typeof B&&(n="ember-runtime/system/object",t["default"].__loader.registry[n]&&(B=t["default"].__loader.require(n)["default"])),r=null===e||void 0===e?String(e):z[q.call(e)]||"object","function"===r?B&&B.detect(e)&&(r="class"):"object"===r&&(e instanceof Error?r="error":B&&e instanceof B?r="instance":e instanceof Date&&(r="date")),r}function _(e){var t=b(e);if("array"===t)return"["+e+"]";if("object"!==t)return e+"";var r,n=[];for(var i in e)if(e.hasOwnProperty(i)){if(r=e[i],"toString"===r)continue;"function"===b(r)&&(r="function() { ... }"),n.push(r&&"function"!=typeof r.toString?i+": "+q.call(r):i+": "+r)}return"{"+n.join(", ")+"}"}function w(e,t,r){var n=r&&r.length;if(!r||!n)return t.call(e);switch(n){case 1:return t.call(e,r[0]);case 2:return t.call(e,r[0],r[1]);case 3:return t.call(e,r[0],r[1],r[2]);case 4:return t.call(e,r[0],r[1],r[2],r[3]);case 5:return t.call(e,r[0],r[1],r[2],r[3],r[4]);default:return t.apply(e,r)}}function x(e,t,r){var n=r&&r.length;if(!r||!n)return e[t]();switch(n){case 1:return e[t](r[0]);case 2:return e[t](r[0],r[1]);case 3:return e[t](r[0],r[1],r[2]);case 4:return e[t](r[0],r[1],r[2],r[3]);case 5:return e[t](r[0],r[1],r[2],r[3],r[4]);default:return e[t].apply(e,r)}}e.uuid=a,e.generateGuid=s,e.guidFor=u,e.getMeta=h,e.setMeta=d,e.metaPath=f,e.wrap=p,e.makeArray=g,e.tryInvoke=y,e.inspect=_,e.apply=w,e.applyStr=x,e.meta=c,e.typeOf=b,e.isArray=m,e.canInvoke=v;var C=0,E="ember",S=[],T={},k=o("__ember"+ +new Date),A={writable:!0,configurable:!0,enumerable:!1,value:null},O={configurable:!0,writable:!0,enumerable:!1,value:void 0},R={configurable:!0,writable:!0,enumerable:!1,value:null},P={writable:!0,configurable:!0,enumerable:!1,value:null},N={name:"__ember_meta__",descriptor:P},M={name:k,descriptor:R},D={name:"__nextSuper",descriptor:O};l.prototype={chainWatchers:null},n.canDefineNonEnumerableProperties||(l.prototype.__preventPlainObject__=!0,l.prototype.toJSON=function(){});var F,j,I=new l(null),L=function(){var e=0;try{try{}finally{throw e++,new Error("needsFinallyFixTest")}}catch(t){}return 1!==e}();j=L?function(e,t,r){var n,i,a;r=r||this;try{n=e.call(r)}finally{try{i=t.call(r)}catch(o){a=o}}if(a)throw a;return void 0===i?n:i}:function(e,t,r){var n,i;r=r||this;try{n=e.call(r)}finally{i=t.call(r)}return void 0===i?n:i};var V;V=L?function(e,t,r,n){var i,a,o;n=n||this;try{i=e.call(n)}catch(s){i=t.call(n,s)}finally{try{a=r.call(n)}catch(u){o=u}}if(o)throw o;return void 0===a?i:a}:function(e,t,r,n){var i,a;n=n||this;try{i=e.call(n)}catch(o){i=t.call(n,o)}finally{a=r.call(n)}return void 0===a?i:a};var z={},H="Boolean Number String Function Array Date RegExp Object".split(" ");i.forEach.call(H,function(e){z["[object "+e+"]"]=e.toLowerCase()});var B,q=Object.prototype.toString;e.GUID_DESC=A,e.EMBER_META_PROPERTY=N,e.GUID_KEY_PROPERTY=M,e.NEXT_SUPER_PROPERTY=D,e.GUID_KEY=k,e.META_DESC=P,e.EMPTY_META=I,e.tryCatchFinally=V,e.tryFinally=j}),e("ember-metal/watch_key",["exports","ember-metal/core","ember-metal/utils","ember-metal/platform/define_property","ember-metal/properties"],function(e,t,r,n,i){"use strict";function a(e,t,n){if("length"!==t||"array"!==r.typeOf(e)){var i=n||r.meta(e),a=i.watching;if(a[t])a[t]=(a[t]||0)+1;else{a[t]=1;var o=e[t],s=null!==o&&"object"==typeof o&&o.isDescriptor?o:void 0;s&&s.willWatch&&s.willWatch(e,t),"function"==typeof e.willWatchProperty&&e.willWatchProperty(t)}}}function o(e,t,n){var i=n||r.meta(e),a=i.watching;if(1===a[t]){a[t]=0;var o=e[t],s=null!==o&&"object"==typeof o&&o.isDescriptor?o:void 0;s&&s.didUnwatch&&s.didUnwatch(e,t),"function"==typeof e.didUnwatchProperty&&e.didUnwatchProperty(t)}else a[t]>1&&a[t]--}e.watchKey=a,e.unwatchKey=o}),e("ember-metal/watch_path",["exports","ember-metal/utils","ember-metal/chains"],function(e,t,r){"use strict";function n(e,n){var i=n||t.meta(e),a=i.chains;return a?a.value()!==e&&(a=i.chains=a.copy(e)):a=i.chains=new r.ChainNode(null,null,e),a}function i(e,r,i){if("length"!==r||"array"!==t.typeOf(e)){var a=i||t.meta(e),o=a.watching;o[r]?o[r]=(o[r]||0)+1:(o[r]=1,n(e,a).add(r))}}function a(e,r,i){var a=i||t.meta(e),o=a.watching;1===o[r]?(o[r]=0,n(e,a).remove(r)):o[r]>1&&o[r]--}e.watchPath=i,e.unwatchPath=a}),e("ember-metal/watching",["exports","ember-metal/utils","ember-metal/chains","ember-metal/watch_key","ember-metal/watch_path","ember-metal/path_cache"],function(e,t,r,n,i,a){"use strict";function o(e,r,o){("length"!==r||"array"!==t.typeOf(e))&&(a.isPath(r)?i.watchPath(e,r,o):n.watchKey(e,r,o))}function s(e,t){var r=e.__ember_meta__;return(r&&r.watching[t])>0}function u(e,r,o){("length"!==r||"array"!==t.typeOf(e))&&(a.isPath(r)?i.unwatchPath(e,r,o):n.unwatchKey(e,r,o))}function l(e){var t,n,i,a,o=e.__ember_meta__;if(o&&(e.__ember_meta__=null,t=o.chains))for(c.push(t);c.length>0;){if(t=c.pop(),n=t._chains)for(i in n)n.hasOwnProperty(i)&&c.push(n[i]);t._watching&&(a=t._object,a&&r.removeChainWatcher(a,t._key,t))}}e.watch=o,e.isWatching=s,e.unwatch=u,e.destroy=l,o.flushPending=r.flushPendingChains;var c=[]}),e("ember-routing-htmlbars",["exports","ember-metal/core","ember-htmlbars/helpers","ember-routing-htmlbars/helpers/outlet","ember-routing-htmlbars/helpers/render","ember-routing-htmlbars/helpers/link-to","ember-routing-htmlbars/helpers/action","ember-routing-htmlbars/helpers/query-params"],function(e,t,r,n,i,a,o,s){"use strict";r.registerHelper("outlet",n.outletHelper),r.registerHelper("render",i.renderHelper),r.registerHelper("link-to",a.linkToHelper),r.registerHelper("linkTo",a.deprecatedLinkToHelper),r.registerHelper("action",o.actionHelper),r.registerHelper("query-params",s.queryParamsHelper),e["default"]=t["default"]}),e("ember-routing-htmlbars/helpers/action",["exports","ember-metal/core","ember-metal/utils","ember-metal/run_loop","ember-views/streams/utils","ember-views/system/utils","ember-views/system/action_manager","ember-metal/streams/utils"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t){var r,n,a;if(void 0===t)for(r=new Array(e.length),n=0,a=e.length;a>n;n++)r[n]=i.readUnwrappedModel(e[n]);else for(r=new Array(e.length+1),r[0]=t,n=0,a=e.length;a>n;n++)r[n+1]=i.readUnwrappedModel(e[n]);return r}function l(e,t,r,n){var i,a=n.data.view;i=t.target?s.isStream(t.target)?t.target:a.getStream(t.target):a.getStream("controller");var o={eventName:t.on||"click",parameters:e.slice(1),view:a,bubbles:t.bubbles,preventDefault:t.preventDefault,target:i,withKeyCode:t.withKeyCode},u=c.registerAction(e[0],o,t.allowedKeys);n.dom.setAttribute(r.element,"data-ember-action",u)}e.actionHelper=l;var c={};c.registeredActions=o["default"].registeredActions;var h=["alt","shift","meta","ctrl"],d=/^click|mouse|touch/,f=function(e,t){if("undefined"==typeof t){if(d.test(e.type))return a.isSimpleClick(e);t=""}if(t.indexOf("any")>=0)return!0;for(var r=0,n=h.length;n>r;r++)if(e[h[r]+"Key"]&&-1===t.indexOf(h[r]))return!1;return!0};c.registerAction=function(e,t,i){var a=r.uuid(),l=t.eventName,c=t.parameters;return o["default"].registeredActions[a]={eventName:l,handler:function(r){if(!f(r,i))return!0;t.preventDefault!==!1&&r.preventDefault(),t.bubbles===!1&&r.stopPropagation();var a,o=t.target.value();a=s.isStream(e)?e.value():e,n["default"](function(){o.send?o.send.apply(o,u(c,a)):o[a].apply(o,u(c))})}},t.view.on("willClearRender",function(){delete o["default"].registeredActions[a]}),a},e.ActionHelper=c}),e("ember-routing-htmlbars/helpers/link-to",["exports","ember-metal/core","ember-routing-views/views/link","ember-metal/streams/utils","ember-runtime/mixins/controller","ember-htmlbars/templates/link-to-escaped","ember-htmlbars/templates/link-to-unescaped","ember-htmlbars"],function(e,t,r,n,i,a,o){"use strict";function s(e,t,s,u){var l,c=(u.data.view,e[e.length-1]);if(c&&c.isQueryParams&&(t.queryParamsObject=l=e.pop()),t.disabledWhen&&(t.disabled=t.disabledWhen,delete t.disabledWhen),
+!s.template){var h=e.shift(),d=s.morph.parseTextAsHTML;t.layout=d?o["default"]:a["default"],t.linkTitle=h}for(var f=0;f<e.length;f++)if(n.isStream(e[f])){var p=e[f];if(!p._isController)for(;i["default"].detect(p.value());)p=p.get("model");e[f]=p}return t.params=e,s.helperName=s.helperName||"link-to",u.helpers.view.helperFunction.call(this,[r.LinkView],t,s,u)}function u(e,t,r,n){return n.helpers["link-to"].helperFunction.call(this,e,t,r,n)}e.deprecatedLinkToHelper=u,e.linkToHelper=s}),e("ember-routing-htmlbars/helpers/outlet",["exports","ember-metal/core"],function(e,t){"use strict";function r(e,t,r,n){var i,a,o,s=n.data.view,u=e[0]||"main";return i=t.view,i&&(o="view:"+i),a=i?s.container.lookupFactory(o):t.viewClass||s.container.lookupFactory("view:-outlet"),t._outletName=u,r.helperName=r.helperName||"outlet",n.helpers.view.helperFunction.call(this,[a],t,r,n)}e.outletHelper=r}),e("ember-routing-htmlbars/helpers/query-params",["exports","ember-metal/core","ember-routing/system/query_params"],function(e,t,r){"use strict";function n(e,t){return r["default"].create({values:t})}e.queryParamsHelper=n}),e("ember-routing-htmlbars/helpers/render",["exports","ember-metal/core","ember-metal/error","ember-runtime/system/string","ember-routing/system/generate_controller","ember-metal/streams/utils","ember-htmlbars/system/merge-view-bindings","ember-htmlbars/system/append-templated-view","ember-metal/platform/create"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e,t,a,u){var l,h,d,f,p,m=u.data.view,g=e[0],v=e[1];if(l=m._keywords.controller.value().container,h=l.lookup("router:main"),1===e.length);else{if(2!==e.length)throw new r["default"]("You must pass a templateName to render");p=v.value()}g=g.replace(/\//g,".");var y="template:"+g,b=a.template;f=l.lookup("view:"+g),f||(f=l.lookup("view:default"),b=b||l.lookup(y));var _,w;t.controller?(_=t.controller,w="controller:"+_,delete t.controller):(_=g,w="controller:"+_);var x=m._keywords.controller.value();if(e.length>1){var C=l.lookupFactory(w)||i.generateControllerFactory(l,_,p);d=C.create({modelBinding:v,parentController:x,target:x}),f.one("willDestroyElement",function(){d.destroy()})}else d=l.lookup(w)||i["default"](l,_),d.setProperties({target:x,parentController:x});t.viewName=n.camelize(g),h&&!p&&h._connectActiveView(g,f);var E={template:b,controller:d,helperName:'render "'+g+'"'};c(m,f,g),o["default"](m,E,t),s["default"](m,a.morph,f,E)}function c(e,r,n){r._childOutlets=t["default"].A(),r._isOutlet=!0,r._outletName="__ember_orphans__",r._matchOutletName=n,r.setOutletState=function(e){var t;e&&(t=e.outlets[this._matchOutletName])?(this._outletState={render:{name:"render helper stub"},outlets:u["default"](null)},this._outletState.outlets[t.render.outlet]=t,t.wasUsed=!0):this._outletState=null;for(var r=0;r<this._childOutlets.length;r++){var n=this._childOutlets[r];n.setOutletState(this._outletState&&this._outletState.outlets[n._outletName])}};for(var i,a=e;a&&!a._isOutlet;)a=a._parentView;for(;a&&(i=a._parentOutlet());)a=i;a&&(a._childOutlets.push(r),a._outletState&&r.setOutletState(a._outletState.outlets[r._outletName]))}e.renderHelper=l}),e("ember-routing-views",["exports","ember-metal/core","ember-routing-views/views/link","ember-routing-views/views/outlet"],function(e,t,r,n){"use strict";t["default"].LinkView=r.LinkView,t["default"].OutletView=n.OutletView,e["default"]=t["default"]}),e("ember-routing-views/views/link",["exports","ember-metal/core","ember-metal/property_get","ember-metal/merge","ember-metal/run_loop","ember-metal/computed","ember-runtime/system/string","ember-metal/keys","ember-views/system/utils","ember-views/views/component","ember-routing/utils","ember-metal/streams/utils"],function(e,t,r,n,i,a,o,s,u,l,c,h){"use strict";function d(e,t){var r=e.queryParamsObject,n={};if(!r)return n;var i=r.values;for(var a in i)i.hasOwnProperty(a)&&(n[a]=h.read(i[a]));return n}function f(e){for(var t=0,r=e.length;r>t;++t){var n=e[t];if(null===n||"undefined"==typeof n)return!1}return!0}function p(e,t){if(r.get(e,"loading"))return!1;var n=e["current-when"]||e.currentWhen,i=!!n;n=n||r.get(e,"loadedParams").targetRouteName,n=n.split(" ");for(var a=0,o=n.length;o>a;a++)if(m(e,n[a],i,t))return r.get(e,"activeClass");return!1}function m(e,t,n,i){var a=r.get(e,"router"),o=r.get(e,"loadedParams"),s=o.models,u=a.router.recognizer.handlersFor(t),l=u[u.length-1].handler,c=g(t,u);return s.length>c&&(t=l),i.isActiveIntent(t,s,o.queryParams,!n)}var g=function(e,t){for(var r=0,n=0,i=t.length;i>n&&(r+=t[n].names.length,t[n].handler!==e);n++);return r},v=["active","loading","disabled"];v=["active","loading","disabled","transitioningIn","transitioningOut"];var y=l["default"].extend({tagName:"a",currentWhen:null,"current-when":null,title:null,rel:null,tabindex:null,target:null,activeClass:"active",loadingClass:"loading",disabledClass:"disabled",_isDisabled:!1,replace:!1,attributeBindings:["href","title","rel","tabindex","target"],classNameBindings:v,eventName:"click",init:function(){this._super.apply(this,arguments);var e=r.get(this,"eventName");this.on(e,this,this._invoke)},_paramsChanged:function(){this.notifyPropertyChange("resolvedParams")},_setupPathObservers:function(){for(var e=this.params,t=this._wrapAsScheduled(this._paramsChanged),r=0;r<e.length;r++)h.subscribe(e[r],t,this);var n=this.queryParamsObject;if(n){var i=n.values;for(var a in i)i.hasOwnProperty(a)&&h.subscribe(i[a],t,this)}},afterRender:function(){this._super.apply(this,arguments),this._setupPathObservers()},disabled:a.computed(function(e,t){return void 0!==t&&this.set("_isDisabled",t),t?r.get(this,"disabledClass"):!1}),active:a.computed("loadedParams",function(){var e=r.get(this,"router");if(e)return p(this,e.currentState)}),willBeActive:a.computed("router.targetState",function(){var e=r.get(this,"router");if(e){var t=e.targetState;if(e.currentState!==t)return!!p(this,t)}}),transitioningIn:a.computed("active","willBeActive",function(){var e=r.get(this,"willBeActive");return"undefined"==typeof e?!1:!r.get(this,"active")&&e&&"ember-transitioning-in"}),transitioningOut:a.computed("active","willBeActive",function(){var e=r.get(this,"willBeActive");return"undefined"==typeof e?!1:r.get(this,"active")&&!e&&"ember-transitioning-out"}),loading:a.computed("loadedParams",function(){return r.get(this,"loadedParams")?void 0:r.get(this,"loadingClass")}),router:a.computed(function(){var e=r.get(this,"controller");return e&&e.container?e.container.lookup("router:main"):void 0}),_invoke:function(e){if(!u.isSimpleClick(e))return!0;if(this.preventDefault!==!1){var n=r.get(this,"target");n&&"_self"!==n||e.preventDefault()}if(this.bubbles===!1&&e.stopPropagation(),r.get(this,"_isDisabled"))return!1;if(r.get(this,"loading"))return t["default"].Logger.warn("This link-to is in an inactive loading state because at least one of its parameters presently has a null/undefined value, or the provided route name is invalid."),!1;var i=r.get(this,"target");if(i&&"_self"!==i)return!1;var a=r.get(this,"router"),o=r.get(this,"loadedParams"),s=a._doTransition(o.targetRouteName,o.models,o.queryParams);return void(r.get(this,"replace")&&s.method("replace"))},_eagerUpdateUrl:function(e,t){if(e.isActive&&e.urlMethod){0===t.indexOf("#")&&(t=t.slice(1));var n=r.get(this,"router.router");"update"===e.urlMethod?n.updateURL(t):"replace"===e.urlMethod&&n.replaceURL(t),e.method(null)}},resolvedParams:a.computed("router.url",function(){var e,t=this.params,n=[],i=0===t.length;if(i){var a=this.container.lookup("controller:application");e=r.get(a,"currentRouteName")}else{e=h.read(t[0]);for(var o=1;o<t.length;o++)n.push(h.read(t[o]))}var s=d(this,e);return{targetRouteName:e,models:n,queryParams:s}}),loadedParams:a.computed("resolvedParams",function(){var e=r.get(this,"router");if(e){var t=r.get(this,"resolvedParams"),n=t.targetRouteName;if(n&&f(t.models))return t}}),queryParamsObject:null,href:a.computed("loadedParams",function(){if("a"===r.get(this,"tagName")){var e=r.get(this,"router"),t=r.get(this,"loadedParams");if(!t)return r.get(this,"loadingHref");var i={};n["default"](i,t.queryParams),e._prepareQueryParams(t.targetRouteName,t.models,i);var a=c.routeArgs(t.targetRouteName,t.models,i),o=e.generate.apply(e,a);return o}}),loadingHref:"#"});y.toString=function(){return"LinkView"},e.LinkView=y}),e("ember-routing-views/views/outlet",["exports","ember-views/views/container_view","ember-views/views/metamorph_view","ember-metal/property_get"],function(e,t,r,n){"use strict";function a(e){return!e.render.ViewClass&&!e.render.template}function o(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;e=e.render,t=t.render;for(var r in e)if(e.hasOwnProperty(r)&&e[r]!==t[r]&&"name"!==r)return!1;return!0}var s=t["default"].extend({init:function(){this._super(),this._childOutlets=i.A(),this._outletState=null},_isOutlet:!0,_parentOutlet:function(){for(var e=this._parentView;e&&!e._isOutlet;)e=e._parentView;return e},_linkParent:i.on("init","parentViewDidChange",function(){var e=this._parentOutlet();e&&(e._childOutlets.push(this),e._outletState&&this.setOutletState(e._outletState.outlets[this._outletName]))}),willDestroy:function(){var e=this._parentOutlet();e&&e._childOutlets.removeObject(this),this._super()},_diffState:function(e){for(;e&&a(e);)e=e.outlets.main;var t=!o(this._outletState,e);return this._outletState=e,t},setOutletState:function(e){if(this._diffState(e)){var t=this._buildView(this._outletState),r=n.get(this,"length");t?this.replace(0,r,[t]):this.replace(0,r,[])}else for(var i=this._childOutlets,a=0;a<i.length;a++){var o=i[a];o.setOutletState(this._outletState&&this._outletState.outlets[o._outletName])}},_buildView:function(e){if(e){var t,r=(n.get(this,"namespace.LOG_VIEW_LOOKUPS"),e.render),i=r.ViewClass,a=!1;return i||(a=!0,i=this.container.lookupFactory(this._isTopLevel?"view:toplevel":"view:default")),t=i.create({_debugTemplateName:r.name,renderedName:r.name,controller:r.controller}),n.get(t,"template")||t.set("template",r.template),t}}}),u=s.extend(r._Metamorph);e.CoreOutletView=s,e.OutletView=u}),e("ember-routing",["exports","ember-metal/core","ember-routing/ext/run_loop","ember-routing/ext/controller","ember-routing/location/api","ember-routing/location/none_location","ember-routing/location/hash_location","ember-routing/location/history_location","ember-routing/location/auto_location","ember-routing/system/generate_controller","ember-routing/system/controller_for","ember-routing/system/dsl","ember-routing/system/router","ember-routing/system/route"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f){"use strict";t["default"].Location=i["default"],t["default"].AutoLocation=u["default"],t["default"].HashLocation=o["default"],t["default"].HistoryLocation=s["default"],t["default"].NoneLocation=a["default"],t["default"].controllerFor=c["default"],t["default"].generateControllerFactory=l.generateControllerFactory,t["default"].generateController=l["default"],t["default"].RouterDSL=h["default"],t["default"].Router=d["default"],t["default"].Route=f["default"],e["default"]=t["default"]}),e("ember-routing/ext/controller",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/computed","ember-metal/utils","ember-metal/merge","ember-runtime/mixins/controller"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t){var r,n=e;"string"===a.typeOf(n)&&(r={},r[n]={as:null},n=r);for(var i in n){if(!n.hasOwnProperty(i))return;var s=n[i];"string"===a.typeOf(s)&&(s={as:s}),r=t[i]||{as:null,scope:"model"},o["default"](r,s),t[i]=r}}function l(e){var t=r.get(e,"_normalizedQueryParams");for(var n in t)t.hasOwnProperty(n)&&e.addObserver(n+".[]",e,e._qpChanged)}s["default"].reopen({concatenatedProperties:["queryParams","_pCacheMeta"],init:function(){this._super.apply(this,arguments),l(this)},queryParams:null,_qpDelegate:null,_normalizedQueryParams:i.computed(function(){var e=a.meta(this);if(e.proto!==this)return r.get(e.proto,"_normalizedQueryParams");var t=r.get(this,"queryParams");if(t._qpMap)return t._qpMap;for(var n=t._qpMap={},i=0,o=t.length;o>i;++i)u(t[i],n);return n}),_cacheMeta:i.computed(function(){var e=a.meta(this);if(e.proto!==this)return r.get(e.proto,"_cacheMeta");var t={},n=r.get(this,"_normalizedQueryParams");for(var i in n)if(n.hasOwnProperty(i)){var o,s=n[i],u=s.scope;"controller"===u&&(o=[]),t[i]={parts:o,values:null,scope:u,prefix:"",def:r.get(this,i)}}return t}),_updateCacheParams:function(e){var t=r.get(this,"_cacheMeta");for(var i in t)if(t.hasOwnProperty(i)){var a=t[i];a.values=e;var o=this._calculateCacheKey(a.prefix,a.parts,a.values),s=this._bucketCache;if(s){var u=s.lookup(o,i,a.def);n.set(this,i,u)}}},_qpChanged:function(e,t){var n=t.substr(0,t.length-3),i=r.get(e,"_cacheMeta"),a=i[n],o=e._calculateCacheKey(a.prefix||"",a.parts,a.values),s=r.get(e,n),u=this._bucketCache;u&&e._bucketCache.stash(o,n,s);var l=e._qpDelegate;l&&l(e,n)},_calculateCacheKey:function(e,t,n){for(var i=t||[],a="",o=0,s=i.length;s>o;++o){var u=i[o],l=r.get(n,u);a+="::"+u+":"+l}return e+a.replace(c,"-")},transitionToRoute:function(){var e=r.get(this,"target"),t=e.transitionToRoute||e.transitionTo;return t.apply(e,arguments)},transitionTo:function(){return this.transitionToRoute.apply(this,arguments)},replaceRoute:function(){var e=r.get(this,"target"),t=e.replaceRoute||e.replaceWith;return t.apply(e,arguments)},replaceWith:function(){return this.replaceRoute.apply(this,arguments)}});var c=/\./g;e["default"]=s["default"]}),e("ember-routing/ext/run_loop",["ember-metal/run_loop"],function(e){"use strict";e["default"]._addQueue("routerTransitions","actions")}),e("ember-routing/location/api",["exports","ember-metal/core","ember-metal/environment"],function(e,t,r){"use strict";e["default"]={create:function(e){var t=e&&e.implementation,r=this.implementations[t];return r.create.apply(r,arguments)},registerImplementation:function(e,t){this.implementations[e]=t},implementations:{},_location:r["default"].location,_getHash:function(){var e=(this._location||this.location).href,t=e.indexOf("#");return-1===t?"":e.substr(t)}}}),e("ember-routing/location/auto_location",["exports","ember-metal/core","ember-metal/property_set","ember-routing/location/api","ember-routing/location/history_location","ember-routing/location/hash_location","ember-routing/location/none_location","ember-metal/environment","ember-routing/location/feature_detect"],function(e,t,r,n,i,a,o,s,u){"use strict";e["default"]={_location:s["default"].location,_history:s["default"].history,cancelRouterSetup:!1,rootURL:"/",_HistoryLocation:i["default"],_HashLocation:a["default"],_NoneLocation:o["default"],_getOrigin:function(){var e=this._location,t=e.origin;return t||(t=e.protocol+"//"+e.hostname,e.port&&(t+=":"+e.port)),t},_userAgent:s["default"].userAgent,_getSupportsHistory:function(){return u.supportsHistory(s["default"].userAgent,s["default"].history)},_getSupportsHashChange:function(){return u.supportsHashChange(document.documentMode,window)},_replacePath:function(e){this._location.replace(this._getOrigin()+e)},_getRootURL:function(){return this.rootURL},_getPath:function(){var e=this._location.pathname;return"/"!==e.charAt(0)&&(e="/"+e),e},_getHash:n["default"]._getHash,_getQuery:function(){return this._location.search},_getFullPath:function(){return this._getPath()+this._getQuery()+this._getHash()},_getHistoryPath:function(){{var e,t,r=this._getRootURL(),n=this._getPath(),i=this._getHash(),a=this._getQuery();n.indexOf(r)}return"#/"===i.substr(0,2)?(t=i.substr(1).split("#"),e=t.shift(),"/"===n.slice(-1)&&(e=e.substr(1)),n+=e,n+=a,t.length&&(n+="#"+t.join("#"))):(n+=a,n+=i),n},_getHashPath:function(){var e=this._getRootURL(),t=e,r=this._getHistoryPath(),n=r.substr(e.length);return""!==n&&("/"!==n.charAt(0)&&(n="/"+n),t+="#"+n),t},create:function(e){e&&e.rootURL&&(this.rootURL=e.rootURL);var t,n,i=!1,a=this._NoneLocation,o=this._getFullPath();this._getSupportsHistory()?(t=this._getHistoryPath(),o===t?a=this._HistoryLocation:"/#"===o.substr(0,2)?(this._history.replaceState({path:t},null,t),a=this._HistoryLocation):(i=!0,this._replacePath(t))):this._getSupportsHashChange()&&(n=this._getHashPath(),o===n||"/"===o&&"/#/"===n?a=this._HashLocation:(i=!0,this._replacePath(n)));var s=a.create.apply(a,arguments);return i&&r.set(s,"cancelRouterSetup",!0),s}}}),e("ember-routing/location/feature_detect",["exports"],function(e){"use strict";function t(e,t){return"onhashchange"in t&&(void 0===e||e>7)}function r(e,t){return-1!==e.indexOf("Android 2")&&-1!==e.indexOf("Mobile Safari")&&-1===e.indexOf("Chrome")?!1:!!(t&&"pushState"in t)}e.supportsHashChange=t,e.supportsHistory=r}),e("ember-routing/location/hash_location",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api"],function(e,t,r,n,i,a,o,s){"use strict";e["default"]=o["default"].extend({implementation:"hash",init:function(){n.set(this,"location",r.get(this,"_location")||window.location)},getHash:s["default"]._getHash,getURL:function(){var e=this.getHash().substr(1),t=e;return"/"!==t.charAt(0)&&(t="/",e&&(t+="#"+e)),t},setURL:function(e){r.get(this,"location").hash=e,n.set(this,"lastSetURL",e)},replaceURL:function(e){r.get(this,"location").replace("#"+e),n.set(this,"lastSetURL",e)},onUpdateURL:function(e){var o=this,s=a.guidFor(this);t["default"].$(window).on("hashchange.ember-location-"+s,function(){i["default"](function(){var t=o.getURL();r.get(o,"lastSetURL")!==t&&(n.set(o,"lastSetURL",null),e(t))})})},formatURL:function(e){return"#"+e},willDestroy:function(){var e=a.guidFor(this);t["default"].$(window).off("hashchange.ember-location-"+e)}})}),e("ember-routing/location/history_location",["exports","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-runtime/system/object","ember-routing/location/api","ember-views/system/jquery"],function(e,t,r,n,i,a,o){"use strict";var s=!1;e["default"]=i["default"].extend({implementation:"history",init:function(){r.set(this,"location",t.get(this,"location")||window.location),r.set(this,"baseURL",o["default"]("base").attr("href")||"")},initState:function(){r.set(this,"history",t.get(this,"history")||window.history),this.replaceState(this.formatURL(this.getURL()))},rootURL:"/",getURL:function(){var e=t.get(this,"rootURL"),r=t.get(this,"location"),n=r.pathname,i=t.get(this,"baseURL");e=e.replace(/\/$/,""),i=i.replace(/\/$/,"");var a=n.replace(i,"").replace(e,""),o=r.search||"";return a+=o,a+=this.getHash()},setURL:function(e){var t=this._historyState;e=this.formatURL(e),t&&t.path===e||this.pushState(e)},replaceURL:function(e){var t=this._historyState;e=this.formatURL(e),t&&t.path===e||this.replaceState(e)},pushState:function(e){var r={path:e};t.get(this,"history").pushState(null,null,e),this._historyState=r,this._previousURL=this.getURL()},replaceState:function(e){var r={path:e};t.get(this,"history").replaceState(null,null,e),this._historyState=r,this._previousURL=this.getURL()},onUpdateURL:function(e){var t=n.guidFor(this),r=this;o["default"](window).on("popstate.ember-location-"+t,function(t){(s||(s=!0,r.getURL()!==r._previousURL))&&e(r.getURL())})},formatURL:function(e){var r=t.get(this,"rootURL"),n=t.get(this,"baseURL");return""!==e?(r=r.replace(/\/$/,""),n=n.replace(/\/$/,"")):n.match(/^\//)&&r.match(/^\//)&&(n=n.replace(/\/$/,"")),n+r+e},willDestroy:function(){var e=n.guidFor(this);o["default"](window).off("popstate.ember-location-"+e)},getHash:a["default"]._getHash})}),e("ember-routing/location/none_location",["exports","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/object"],function(e,t,r,n){"use strict";e["default"]=n["default"].extend({implementation:"none",path:"",getURL:function(){return t.get(this,"path")},setURL:function(e){r.set(this,"path",e)},onUpdateURL:function(e){this.updateCallback=e},handleURL:function(e){r.set(this,"path",e),this.updateCallback(e)},formatURL:function(e){return e}})}),e("ember-routing/system/cache",["exports","ember-runtime/system/object"],function(e,t){"use strict";e["default"]=t["default"].extend({init:function(){this.cache={}},has:function(e){return e in this.cache},stash:function(e,t,r){var n=this.cache[e];n||(n=this.cache[e]={}),n[t]=r},lookup:function(e,t,r){var n=this.cache;if(!(e in n))return r;var i=n[e];return t in i?i[t]:r},cache:null})}),e("ember-routing/system/controller_for",["exports"],function(e){"use strict";function t(e,t,r){return e.lookup("controller:"+t,r)}e["default"]=t}),e("ember-routing/system/dsl",["exports","ember-metal/core","ember-metal/array"],function(e,t,r){"use strict";function n(e,t){this.parent=e,this.enableLoadingSubstates=t&&t.enableLoadingSubstates,this.matches=[]}function i(e){return e.parent&&"application"!==e.parent}function a(e,t,r){return i(e)&&r!==!0?e.parent+"."+t:t}function o(e,t,r,n){r=r||{};var i=a(e,t,r.resetNamespace);"string"!=typeof r.path&&(r.path="/"+t),e.push(r.path,i,n)}e["default"]=n,n.prototype={route:function(e,t,r){2===arguments.length&&"function"==typeof t&&(r=t,t={}),1===arguments.length&&(t={});t.resetNamespace===!0?"resource":"route";if(this.enableLoadingSubstates&&(o(this,e+"_loading",{resetNamespace:t.resetNamespace}),o(this,e+"_error",{path:"/_unused_dummy_error_path_route_"+e+"/:error"})),r){var i=a(this,e,t.resetNamespace),s=new n(i,{enableLoadingSubstates:this.enableLoadingSubstates});o(s,"loading"),o(s,"error",{path:"/_unused_dummy_error_path_route_"+e+"/:error"}),r.call(s),o(this,e,t,s.generate())}else o(this,e,t)},push:function(e,t,r){var n=t.split(".");(""===e||"/"===e||"index"===n[n.length-1])&&(this.explicitIndex=!0),this.matches.push([e,t,r])},resource:function(e,t,r){2===arguments.length&&"function"==typeof t&&(r=t,t={}),1===arguments.length&&(t={}),t.resetNamespace=!0,this.route(e,t,r)},generate:function(){var e=this.matches;return this.explicitIndex||this.route("index",{path:"/"}),function(t){for(var r=0,n=e.length;n>r;r++){var i=e[r];t(i[0]).to(i[1],i[2])}}}},n.map=function(e){var t=new n;return e.call(t),t}}),e("ember-routing/system/generate_controller",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils"],function(e,t,r,n){"use strict";function i(e,t,r){var i,a,o,s;return s=r&&n.isArray(r)?"array":r?"object":"basic",o="controller:"+s,i=e.lookupFactory(o).extend({isGenerated:!0,toString:function(){return"(generated "+t+" controller)"}}),a="controller:"+t,e._registry.register(a,i),i}function a(e,t,n){i(e,t,n);var a="controller:"+t,o=e.lookup(a);return r.get(o,"namespace.LOG_ACTIVE_GENERATION"),o}e.generateControllerFactory=i,e["default"]=a}),e("ember-routing/system/query_params",["exports","ember-runtime/system/object"],function(e,t){"use strict";e["default"]=t["default"].extend({isQueryParams:!0,values:null})}),e("ember-routing/system/route",["exports","ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/get_properties","ember-metal/enumerable_utils","ember-metal/is_none","ember-metal/computed","ember-metal/merge","ember-metal/utils","ember-metal/run_loop","ember-metal/keys","ember-runtime/copy","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-routing/system/generate_controller","ember-routing/utils"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b){"use strict";function _(){return this}function w(e){var t=x(e,e.router.router.state.handlerInfos,-1);return t&&t.handler}function x(e,t,r){if(t)for(var n,i=r||0,a=0,o=t.length;o>a;a++)if(n=t[a].handler,n===e)return t[a+i]}function C(e,t,i,a,o){var s,u,l,c,h=o&&o.controller,d=(n.get(e.router,"namespace.LOG_VIEW_LOOKUPS"),o&&o.into&&o.into.replace(/\//g,".")),f=o&&o.outlet||"main";if(a?(a=a.replace(/\//g,"."),s=a):(a=e.routeName,s=e.templateName||a),h||(h=t?e.container.lookup("controller:"+a)||e.controllerName||e.routeName:e.controllerName||e.container.lookup("controller:"+a)),"string"==typeof h){var p=h;if(h=e.container.lookup("controller:"+p),!h)throw new r["default"]("You passed `controller: '"+p+"'` into the `render` method, but no such controller could be found.")}o&&o.model&&h.set("model",o.model),u=o&&o.view||t&&a||e.viewName||a,l=e.container.lookupFactory("view:"+u),c=e.container.lookup("template:"+s);var m;d&&(m=w(e))&&d===w(e).routeName&&(d=void 0);var g={into:d,outlet:f,name:a,controller:h,ViewClass:l,template:c};return g}function E(e,t){if(t.fullQueryParams)return t.fullQueryParams;t.fullQueryParams={},l["default"](t.fullQueryParams,t.queryParams);var r=t.handlerInfos[t.handlerInfos.length-1].name;return e._deserializeQueryParams(r,t.fullQueryParams),t.fullQueryParams}function S(e,t){t.queryParamsFor=t.queryParamsFor||{};var r=e.routeName;if(t.queryParamsFor[r])return t.queryParamsFor[r];for(var i=E(e.router,t),a=t.queryParamsFor[r]={},o=n.get(e,"_qp"),s=o.qps,u=0,l=s.length;l>u;++u){var c=s[u],h=c.prop in i;a[c.prop]=h?i[c.prop]:T(c.def)}return a}function T(e){return c.isArray(e)?t["default"].A(e.slice()):e}var k=Array.prototype.slice,A=m["default"].extend(v["default"],g["default"],{queryParams:{},_qp:u.computed(function(){var e=this.controllerName||this.routeName,r=this.container.lookupFactory("controller:"+e);if(!r)return O;var i=r.proto(),a=n.get(i,"_normalizedQueryParams"),o=n.get(i,"_cacheMeta"),s=[],u={},l=this;for(var h in a)if(a.hasOwnProperty(h)){var d=a[h],f=d.as||this.serializeQueryParamKey(h),p=n.get(i,h);c.isArray(p)&&(p=t["default"].A(p.slice()));var m=c.typeOf(p),g=this.serializeQueryParam(p,f,m),v=e+":"+h,y={def:p,sdef:g,type:m,urlKey:f,prop:h,fprop:v,ctrl:e,cProto:i,svalue:g,cacheType:d.scope,route:this,cacheMeta:o[h]};u[h]=u[f]=u[v]=y,s.push(y)}return{qps:s,map:u,states:{active:function(e,t){return l._activeQPChanged(e,u[t])},allowOverrides:function(e,t){return l._updatingQPChanged(e,u[t])},changingKeys:function(e,t){return l._updateSerializedQPValue(e,u[t])}}}}),_names:null,_stashNames:function(e,t){var r=e;if(!this._names){var i=this._names=r._names;i.length||(r=t,i=r&&r._names||[]);for(var a=n.get(this,"_qp.qps"),o=a.length,s=new Array(i.length),u=0,l=i.length;l>u;++u)s[u]=r.name+"."+i[u];for(var c=0;o>c;++c){var h=a[c],d=h.cacheMeta;"model"===d.scope&&(d.parts=s),d.prefix=h.ctrl}}},_updateSerializedQPValue:function(e,t){var r=n.get(e,t.prop);t.svalue=this.serializeQueryParam(r,t.urlKey,t.type)},_activeQPChanged:function(e,t){var r=n.get(e,t.prop);this.router._queuedQPChanges[t.fprop]=r,h["default"].once(this,this._fireQueryParamTransition)},_updatingQPChanged:function(e,t){var r=this.router;r._qpUpdates||(r._qpUpdates={}),r._qpUpdates[t.urlKey]=!0},mergedProperties:["events","queryParams"],paramsFor:function(e){var t=this.container.lookup("route:"+e);if(!t)return{};var r=this.router.router.activeTransition,n=r?r.state:this.router.router.state,i={};return l["default"](i,n.params[e]),l["default"](i,S(t,n)),i},serializeQueryParamKey:function(e){return e},serializeQueryParam:function(e,t,r){return"array"===r?JSON.stringify(e):""+e},deserializeQueryParam:function(e,r,n){return"boolean"===n?"true"===e?!0:!1:"number"===n?Number(e).valueOf():"array"===n?t["default"].A(JSON.parse(e)):e},_fireQueryParamTransition:function(){this.transitionTo({queryParams:this.router._queuedQPChanges}),this.router._queuedQPChanges={}},_optionsForQueryParam:function(e){return n.get(this,"queryParams."+e.urlKey)||n.get(this,"queryParams."+e.prop)||{}},resetController:_,exit:function(){this.deactivate(),this.trigger("deactivate"),this.teardownViews()},_reset:function(e,t){var r=this.controller;r._qpDelegate=n.get(this,"_qp.states.inactive"),this.resetController(r,e,t)},enter:function(){this.connections=[],this.activate(),this.trigger("activate")},viewName:null,templateName:null,controllerName:null,_actions:{queryParamsDidChange:function(e,t,r){for(var i=n.get(this,"_qp").map,a=d["default"](e).concat(d["default"](r)),o=0,s=a.length;s>o;++o){var u=i[a[o]];u&&n.get(this._optionsForQueryParam(u),"refreshModel")&&this.refresh()}return!0},finalizeQueryParamChange:function(e,t,r){if("application"!==this.routeName)return!0;if(r){var a,s=r.state.handlerInfos,u=this.router,l=u._queryParamsFor(s[s.length-1].name),c=u._qpUpdates;b.stashParamNames(u,s);for(var h=0,d=l.qps.length;d>h;++h){var f,p,m=l.qps[h],g=m.route,v=g.controller,y=m.urlKey in e&&m.urlKey;c&&m.urlKey in c?(f=n.get(v,m.prop),p=g.serializeQueryParam(f,m.urlKey,m.type)):y?(p=e[y],f=g.deserializeQueryParam(p,m.urlKey,m.type)):(p=m.sdef,f=T(m.def)),v._qpDelegate=n.get(this,"_qp.states.inactive");var _=p!==m.svalue;if(_){if(r.queryParamsOnly&&a!==!1){var w=g._optionsForQueryParam(m),x=n.get(w,"replace");x?a=!0:x===!1&&(a=!1)}i.set(v,m.prop,f)}m.svalue=p;var C=m.sdef===p;C||t.push({value:p,visible:!0,key:y||m.urlKey})}a&&r.method("replace"),o.forEach(l.qps,function(e){var t=n.get(e.route,"_qp"),r=e.route.controller;r._qpDelegate=n.get(t,"states.active")}),u._qpUpdates=null}}},events:null,deactivate:_,activate:_,transitionTo:function(e,t){var r=this.router;return r.transitionTo.apply(r,arguments)},intermediateTransitionTo:function(){var e=this.router;e.intermediateTransitionTo.apply(e,arguments)},refresh:function(){return this.router.router.refresh(this)},replaceWith:function(){var e=this.router;return e.replaceWith.apply(e,arguments)},send:function(){if(this.router||!t["default"].testing)this.router.send.apply(this.router,arguments);else{var e=arguments[0],r=k.call(arguments,1),n=this._actions[e];if(n)return this._actions[e].apply(this,r)}},setup:function(e,t){var r=this.controllerName||this.routeName,i=this.controllerFor(r,!0);if(i||(i=this.generateController(r,e)),this.controller=i,this.setupControllers)this.setupControllers(i,e);else{var a=n.get(this,"_qp.states");if(t&&(b.stashParamNames(this.router,t.state.handlerInfos),i._qpDelegate=a.changingKeys,i._updateCacheParams(t.params)),i._qpDelegate=a.allowOverrides,t){var o=S(this,t.state);i.setProperties(o)}this.setupController(i,e,t)}this.renderTemplates?this.renderTemplates(e):this.renderTemplate(i,e)},beforeModel:_,afterModel:_,redirect:_,contextDidChange:function(){this.currentModel=this.context},model:function(e,t){var r,i,a,o,s=n.get(this,"_qp.map");for(var u in e)"queryParams"===u||s&&u in s||((r=u.match(/^(.*)_id$/))&&(i=r[1],o=e[u]),a=!0);if(!i&&a)return f["default"](e);if(!i){if(t.resolveIndex<1)return;var l=t.state.handlerInfos[t.resolveIndex-1].context;return l}return this.findModel(i,o)},deserialize:function(e,t){return this.model(this.paramsFor(this.routeName),t)},findModel:function(){var e=n.get(this,"store");return e.find.apply(e,arguments)},store:u.computed(function(){{var e=this.container;this.routeName,n.get(this,"router.namespace")}return{find:function(t,r){var n=e.lookupFactory("model:"+t);if(n)return n.find(r)}}}),serialize:function(e,t){if(!(t.length<1)&&e){var r=t[0],i={};return 1===t.length?r in e?i[r]=n.get(e,r):/_id$/.test(r)&&(i[r]=n.get(e,"id")):i=a["default"](e,t),i}},setupController:function(e,t,r){e&&void 0!==t&&i.set(e,"model",t)},controllerFor:function(e,t){var r,n=this.container,i=n.lookup("route:"+e);return i&&i.controllerName&&(e=i.controllerName),r=n.lookup("controller:"+e)},generateController:function(e,t){var r=this.container;return t=t||this.modelFor(e),y["default"](r,e,t)},modelFor:function(e){var t=this.container.lookup("route:"+e),r=this.router?this.router.router.activeTransition:null;if(r){var n=t&&t.routeName||e;if(r.resolvedModels.hasOwnProperty(n))return r.resolvedModels[n]}return t&&t.currentModel},renderTemplate:function(e,t){this.render()},render:function(e,r){var n,i="string"==typeof e&&!!e,a=0===arguments.length||t["default"].isEmpty(arguments[0]);"object"!=typeof e||r?n=e:(n=this.routeName,r=e);var o=C(this,i,a,n,r);this.connections.push(o),h["default"].once(this.router,"_setOutlets")},disconnectOutlet:function(e){var t,r;e&&"string"!=typeof e?(t=e.outlet,r=e.parentView):t=e,r=r&&r.replace(/\//g,"."),t=t||"main",this._disconnectOutlet(t,r);for(var n=0;n<this.router.router.currentHandlerInfos.length;n++)this.router.router.currentHandlerInfos[n].handler._disconnectOutlet(t,r);
 
-},_disconnectOutlet:function(e,t){var r=w(this);r&&t===r.routeName&&(t=void 0);for(var n=0;n<this.connections.length;n++){var i=this.connections[n];i.outlet===e&&i.into===t&&(this.connections[n]={into:i.into,outlet:i.outlet,name:i.name},h["default"].once(this.router,"_setOutlets"))}},willDestroy:function(){this.teardownViews()},teardownViews:function(){this.connections&&this.connections.length>0&&(this.connections=[],h["default"].once(this.router,"_setOutlets"))}}),O={qps:[],map:{},states:{}};e["default"]=k}),e("ember-routing/system/router",["exports","ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/properties","ember-metal/computed","ember-metal/merge","ember-metal/run_loop","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-routing/system/dsl","ember-routing/location/api","ember-routing/utils","ember-metal/platform/create","./router_state","router","router/transition"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v){"use strict";function y(){return this}function b(e,t,r){for(var n,i,a=t.state.handlerInfos,o=!1,s=a.length-1;s>=0;--s)if(n=a[s],i=n.handler,o){if(r(i,a[s+1].handler)!==!0)return!1}else e===i&&(o=!0);return!0}function _(e,r){var n,i=[];n=e&&"object"==typeof e&&"object"==typeof e.errorThrown?e.errorThrown:e,r&&i.push(r),n&&(n.message&&i.push(n.message),n.stack&&i.push(n.stack),"string"==typeof n&&i.push(n)),t["default"].Logger.error.apply(this,i)}function w(e,t,r){var n,i=e.router,a=t.routeName.split(".").pop(),o="application"===e.routeName?"":e.routeName+".";return n=o+a+"_"+r,x(i,n)?n:(n=o+r,x(i,n)?n:void 0)}function x(e,t){var r=e.container;return e.hasRoute(t)&&(r._registry.has("template:"+t)||r._registry.has("route:"+t))}function C(e,t,n){var i=n.shift();if(!e){if(t)return;throw new r["default"]("Can't trigger action '"+i+"' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call `.send()` on the `Transition` object passed to the `model/beforeModel/afterModel` hooks.")}for(var a,o,s=!1,u=e.length-1;u>=0;u--)if(a=e[u],o=a.handler,o._actions&&o._actions[i]){if(o._actions[i].apply(o,n)!==!0)return;s=!0}if(F[i])return void F[i].apply(null,n);if(!s&&!t)throw new r["default"]("Nothing handled the action '"+i+"'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.")}function E(e,t,r){for(var n=e.router,i=n.applyIntent(t,r),a=i.handlerInfos,o=i.params,s=0,u=a.length;u>s;++s){var l=a[s];l.isResolved||(l=l.becomeResolved(null,l.context)),o[l.name]=l.params}return i}function T(e){var t=e.container.lookup("controller:application");if(t){var r=e.router.currentHandlerInfos,n=M._routePath(r);"currentPath"in t||a.defineProperty(t,"currentPath"),i.set(t,"currentPath",n),"currentRouteName"in t||a.defineProperty(t,"currentRouteName"),i.set(t,"currentRouteName",r[r.length-1].name)}}function S(e,t){var r=g["default"].create({emberRouter:t,routerJs:t.router,routerJsState:e.state});t.currentState||t.set("currentState",r),t.set("targetState",r),e.then(null,function(e){return e&&e.name?e:void 0},"Ember: Process errors from Router")}function A(e){return"string"==typeof e&&(""===e||"/"===e.charAt(0))}function k(e,t,r,n){var i=e._queryParamsFor(t);for(var a in r)if(r.hasOwnProperty(a)){var o=r[a],s=i.map[a];s&&n(a,o,s)}}function O(e,t){if(e)for(var r=[e];r.length>0;){var n=r.shift();if(n.render.name===t)return n;var i=n.outlets;for(var a in i)r.push(i[a])}}function R(e,t,r){var n,a={render:r,outlets:m["default"](null)};return n=r.into?O(e,r.into):t,n?i.set(n.outlets,r.outlet,a):r.into?P(e,r.into,a):e=a,{liveRoutes:e,ownState:a}}function P(e,r,n){e.outlets.__ember_orphans__||(e.outlets.__ember_orphans__={render:{name:"__ember_orphans__"},outlets:m["default"](null)}),e.outlets.__ember_orphans__.outlets[r]=n,t["default"].run.schedule("afterRender",function(){})}function N(e,t,r){var n=O(e,r.routeName);return n?n:(t.outlets.main={render:{name:r.routeName,outlet:"main"},outlets:{}},t)}var D=[].slice,M=c["default"].extend(h["default"],{location:"hash",rootURL:"/",_initRouterJs:function(e){function r(){this.resource("application",{path:"/",overrideNameAssertion:!0},function(){for(var e=0;e<a.length;e++)a[e].call(this)})}var i=this.router=new v["default"];i.triggerEvent=C,i._triggerWillChangeContext=y,i._triggerWillLeave=y;var a=this.constructor.dslCallbacks||[y],o=new d["default"](null,{enableLoadingSubstates:!!e});r.call(o),n.get(this,"namespace.LOG_TRANSITIONS_INTERNAL")&&(i.log=t["default"].Logger.debug),i.map(o.generate())},init:function(){this._activeViews={},this._setupLocation(),this._qpCache={},this._queuedQPChanges={}},url:o.computed(function(){return n.get(this,"location").getURL()}),startRouting:function(e){var t=n.get(this,"initialURL"),r=n.get(this,"location");if(this.setupRouter(e,r)){"undefined"==typeof t&&(t=n.get(this,"location").getURL());var i=this.handleURL(t);if(i&&i.error)throw i.error}},setupRouter:function(e){this._initRouterJs(e);var t=this.router,r=n.get(this,"location"),i=this;return n.get(r,"cancelRouterSetup")?!1:(this._setupRouter(t,r),r.onUpdateURL(function(e){i.handleURL(e)}),!0)},didTransition:function(e){T(this),this._cancelSlowTransitionTimer(),this.notifyPropertyChange("url"),this.set("currentState",this.targetState),u["default"].once(this,this.trigger,"didTransition"),n.get(this,"namespace").LOG_TRANSITIONS&&t["default"].Logger.log("Transitioned into '"+M._routePath(e)+"'")},_setOutlets:function(){var e,t,r=this.router.currentHandlerInfos,n=null;if(r){for(var i=0;i<r.length;i++){e=r[i].handler;for(var a,o=e.connections,s=0;s<o.length;s++){var u=R(n,t,o[s]);n=u.liveRoutes,(u.ownState.render.name===e.routeName||"main"===u.ownState.render.outlet)&&(a=u.ownState)}0===o.length&&(a=N(n,t,e)),t=a}if(!this._toplevelView){var l=this.container.lookupFactory("view:-outlet");this._toplevelView=l.create({_isTopLevel:!0});var c=this.container.lookup("-application-instance:main");c.didCreateRootView(this._toplevelView)}this._toplevelView.setOutletState(n)}},willTransition:function(e,r,i){u["default"].once(this,this.trigger,"willTransition",i),n.get(this,"namespace").LOG_TRANSITIONS&&t["default"].Logger.log("Preparing to transition from '"+M._routePath(e)+"' to '"+M._routePath(r)+"'")},handleURL:function(e){return e=e.split(/#(.+)?/)[0],this._doURLTransition("handleURL",e)},_doURLTransition:function(e,t){var r=this.router[e](t||"/");return S(r,this),r},transitionTo:function(){var e,t=D.call(arguments);if(A(t[0]))return this._doURLTransition("transitionTo",t[0]);var r=t[t.length-1];e=r&&r.hasOwnProperty("queryParams")?t.pop().queryParams:{};var n=t.shift();return this._doTransition(n,t,e)},intermediateTransitionTo:function(){this.router.intermediateTransitionTo.apply(this.router,arguments),T(this);var e=this.router.currentHandlerInfos;n.get(this,"namespace").LOG_TRANSITIONS&&t["default"].Logger.log("Intermediate-transitioned into '"+M._routePath(e)+"'")},replaceWith:function(){return this.transitionTo.apply(this,arguments).method("replace")},generate:function(){var e=this.router.generate.apply(this.router,arguments);return this.location.formatURL(e)},isActive:function(e){var t=this.router;return t.isActive.apply(t,arguments)},isActiveIntent:function(e,t,r){return this.currentState.isActiveIntent(e,t,r)},send:function(e,t){this.router.trigger.apply(this.router,arguments)},hasRoute:function(e){return this.router.hasRoute(e)},reset:function(){this.router&&this.router.reset()},willDestroy:function(){this._toplevelView&&(this._toplevelView.destroy(),this._toplevelView=null),this._super.apply(this,arguments),this.reset()},_lookupActiveView:function(e){var t=this._activeViews[e];return t&&t[0]},_connectActiveView:function(e,t){function r(){delete this._activeViews[e]}var n=this._activeViews[e];n&&n[0].off("willDestroyElement",this,n[1]),this._activeViews[e]=[t,r],t.one("willDestroyElement",this,r)},_setupLocation:function(){var e=n.get(this,"location"),t=n.get(this,"rootURL");if(t&&this.container&&!this.container._registry.has("-location-setting:root-url")&&this.container._registry.register("-location-setting:root-url",t,{instantiate:!1}),"string"==typeof e&&this.container){var r=this.container.lookup("location:"+e);if("undefined"!=typeof r)e=i.set(this,"location",r);else{var a={implementation:e};e=i.set(this,"location",f["default"].create(a))}}null!==e&&"object"==typeof e&&(t&&"string"==typeof t&&(e.rootURL=t),"function"==typeof e.initState&&e.initState())},_getHandlerFunction:function(){var e=m["default"](null),t=this.container,r=t.lookupFactory("route:basic"),i=this;return function(a){var o="route:"+a,s=t.lookup(o);return e[a]?s:(e[a]=!0,s||(t._registry.register(o,r.extend()),s=t.lookup(o),n.get(i,"namespace.LOG_ACTIVE_GENERATION")),s.routeName=a,s)}},_setupRouter:function(e,t){var r,n=this;e.getHandler=this._getHandlerFunction();var i=function(){t.setURL(r)};if(e.updateURL=function(e){r=e,u["default"].once(i)},t.replaceURL){var a=function(){t.replaceURL(r)};e.replaceURL=function(e){r=e,u["default"].once(a)}}e.didTransition=function(e){n.didTransition(e)},e.willTransition=function(e,t,r){n.willTransition(e,t,r)}},_serializeQueryParams:function(e,t){var r={};k(this,e,t,function(e,n,i){var a=i.urlKey;r[a]||(r[a]=[]),r[a].push({qp:i,value:n}),delete t[e]});for(var n in r){var i=r[n],a=i[0].qp;t[a.urlKey]=a.route.serializeQueryParam(i[0].value,a.urlKey,a.type)}},_deserializeQueryParams:function(e,t){k(this,e,t,function(e,r,n){delete t[e],t[n.prop]=n.route.deserializeQueryParam(r,n.urlKey,n.type)})},_pruneDefaultQueryParamValues:function(e,t){var r=this._queryParamsFor(e);for(var n in t){var i=r.map[n];i&&i.sdef===t[n]&&delete t[n]}},_doTransition:function(e,t,r){var n=e||p.getActiveTargetName(this.router),i={};s["default"](i,r),this._prepareQueryParams(n,t,i);var a=p.routeArgs(n,t,i),o=this.router.transitionTo.apply(this.router,a);return S(o,this),o},_prepareQueryParams:function(e,t,r){this._hydrateUnsuppliedQueryParams(e,t,r),this._serializeQueryParams(e,r),this._pruneDefaultQueryParamValues(e,r)},_queryParamsFor:function(e){if(this._qpCache[e])return this._qpCache[e];var t={},r=[];this._qpCache[e]={map:t,qps:r};for(var i=this.router,a=i.recognizer.handlersFor(e),o=0,u=a.length;u>o;++o){var l=a[o],c=i.getHandler(l.handler),h=n.get(c,"_qp");h&&(s["default"](t,h.map),r.push.apply(r,h.qps))}return{qps:r,map:t}},_hydrateUnsuppliedQueryParams:function(e,t,r){var i=E(this,e,t),a=i.handlerInfos,o=this._bucketCache;p.stashParamNames(this,a);for(var s=0,u=a.length;u>s;++s)for(var l=a[s].handler,c=n.get(l,"_qp"),h=0,d=c.qps.length;d>h;++h){var f=c.qps[h],m=f.prop in r&&f.prop||f.fprop in r&&f.fprop;if(m)m!==f.fprop&&(r[f.fprop]=r[m],delete r[m]);else{var g=f.cProto,v=n.get(g,"_cacheMeta"),y=g._calculateCacheKey(f.ctrl,v[f.prop].parts,i.params);r[f.fprop]=o.lookup(y,f.prop,f.def)}}},_scheduleLoadingEvent:function(e,t){this._cancelSlowTransitionTimer(),this._slowTransitionTimer=u["default"].scheduleOnce("routerTransitions",this,"_handleSlowTransition",e,t)},currentState:null,targetState:null,_handleSlowTransition:function(e,t){this.router.activeTransition&&(this.set("targetState",g["default"].create({emberRouter:this,routerJs:this.router,routerJsState:this.router.activeTransition.state})),e.trigger(!0,"loading",e,t))},_cancelSlowTransitionTimer:function(){this._slowTransitionTimer&&u["default"].cancel(this._slowTransitionTimer),this._slowTransitionTimer=null}}),F={willResolveModel:function(e,t){t.router._scheduleLoadingEvent(e,t)},error:function(e,t,r){var n=r.router,i=b(r,t,function(t,r){var i=w(t,r,"error");return i?void n.intermediateTransitionTo(i,e):!0});return i&&x(r.router,"application_error")?void n.intermediateTransitionTo("application_error",e):void _(e,"Error while processing route: "+t.targetName)},loading:function(e,t){var r=t.router,n=b(t,e,function(t,n){var i=w(t,n,"loading");return i?void r.intermediateTransitionTo(i):e.pivotHandler!==t?!0:void 0});return n&&x(t.router,"application_loading")?void r.intermediateTransitionTo("application_loading"):void 0}};M.reopenClass({router:null,map:function(e){return this.dslCallbacks||(this.dslCallbacks=[],this.reopenClass({dslCallbacks:this.dslCallbacks})),this.dslCallbacks.push(e),this},_routePath:function(e){function t(e,t){for(var r=0,n=e.length;n>r;++r)if(e[r]!==t[r])return!1;return!0}for(var r,n,i,a=[],o=1,s=e.length;s>o;o++){for(r=e[o].name,n=r.split("."),i=D.call(a);i.length&&!t(i,n);)i.shift();a.push.apply(a,n.slice(i.length))}return a.join(".")}}),e["default"]=M}),e("ember-routing/system/router_state",["exports","ember-metal/core","ember-runtime/system/object","ember-metal/merge"],function(e,t,r,n){"use strict";function i(e,t){var r;for(r in e)if(e.hasOwnProperty(r)&&e[r]!==t[r])return!1;for(r in t)if(t.hasOwnProperty(r)&&e[r]!==t[r])return!1;return!0}var a=r["default"].extend({emberRouter:null,routerJs:null,routerJsState:null,isActiveIntent:function(e,r,a,o){var s=this.routerJsState;if(!this.routerJs.isActiveIntent(e,r,null,s))return!1;var u=t["default"].isEmpty(t["default"].keys(a));if(o&&!u){var l={};return n["default"](l,a),this.emberRouter._prepareQueryParams(e,r,l),i(l,s.queryParams)}return!0}});e["default"]=a}),e("ember-routing/utils",["exports","ember-metal/utils"],function(e,t){"use strict";function r(e,r,n){var i=[];return"string"===t.typeOf(e)&&i.push(""+e),i.push.apply(i,r),i.push({queryParams:n}),i}function n(e){var t=e.activeTransition?e.activeTransition.state.handlerInfos:e.state.handlerInfos;return t[t.length-1].name}function i(e,t){if(!t._namesStashed){for(var r=t[t.length-1].name,n=e.router.recognizer.handlersFor(r),i=null,a=0,o=t.length;o>a;++a){var s=t[a],u=n[a].names;u.length&&(i=s),s._names=u;var l=s.handler;l._stashNames(s,i)}t._namesStashed=!0}}e.routeArgs=r,e.getActiveTargetName=n,e.stashParamNames=i}),e("ember-runtime",["exports","ember-metal","ember-runtime/core","ember-runtime/compare","ember-runtime/copy","ember-runtime/inject","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/tracked_array","ember-runtime/system/subarray","ember-runtime/system/container","ember-runtime/system/array_proxy","ember-runtime/system/object_proxy","ember-runtime/system/core_object","ember-runtime/system/each_proxy","ember-runtime/system/native_array","ember-runtime/system/set","ember-runtime/system/string","ember-runtime/system/deferred","ember-runtime/system/lazy_load","ember-runtime/mixins/array","ember-runtime/mixins/comparable","ember-runtime/mixins/copyable","ember-runtime/mixins/enumerable","ember-runtime/mixins/freezable","ember-runtime/mixins/-proxy","ember-runtime/mixins/observable","ember-runtime/mixins/action_handler","ember-runtime/mixins/deferred","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/mutable_array","ember-runtime/mixins/target_action_support","ember-runtime/mixins/evented","ember-runtime/mixins/promise_proxy","ember-runtime/mixins/sortable","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/computed/reduce_computed_macros","ember-runtime/controllers/array_controller","ember-runtime/controllers/object_controller","ember-runtime/controllers/controller","ember-runtime/mixins/controller","ember-runtime/system/service","ember-runtime/ext/rsvp","ember-runtime/ext/string","ember-runtime/ext/function"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C,E,T,S,A,k,O,R,P,N,D,M,F,j,I,L,V,z,H,B,$){"use strict";t["default"].compare=n["default"],t["default"].copy=i["default"],t["default"].isEqual=r.isEqual,t["default"].inject=a["default"],t["default"].Array=_["default"],t["default"].Comparable=w["default"],t["default"].Copyable=x["default"],t["default"].SortableMixin=M["default"],t["default"].Freezable=E.Freezable,t["default"].FROZEN_ERROR=E.FROZEN_ERROR,t["default"].DeferredMixin=k["default"],t["default"].MutableEnumerable=O["default"],t["default"].MutableArray=R["default"],t["default"].TargetActionSupport=P["default"],t["default"].Evented=N["default"],t["default"].PromiseProxyMixin=D["default"],t["default"].Observable=S["default"],t["default"].arrayComputed=F.arrayComputed,t["default"].ArrayComputedProperty=F.ArrayComputedProperty,t["default"].reduceComputed=j.reduceComputed,t["default"].ReduceComputedProperty=j.ReduceComputedProperty;var q=t["default"].computed;q.sum=I.sum,q.min=I.min,q.max=I.max,q.map=I.map,q.sort=I.sort,q.setDiff=I.setDiff,q.mapBy=I.mapBy,q.mapProperty=I.mapProperty,q.filter=I.filter,q.filterBy=I.filterBy,q.filterProperty=I.filterProperty,q.uniq=I.uniq,q.union=I.union,q.intersect=I.intersect,t["default"].String=v["default"],t["default"].Object=s["default"],t["default"].TrackedArray=u["default"],t["default"].SubArray=l["default"],t["default"].Container=c.Container,t["default"].Registry=c.Registry,t["default"].Namespace=o["default"],t["default"].Enumerable=C["default"],t["default"].ArrayProxy=h["default"],t["default"].ObjectProxy=d["default"],t["default"].ActionHandler=A["default"],t["default"].CoreObject=f["default"],t["default"].EachArray=p.EachArray,t["default"].EachProxy=p.EachProxy,t["default"].NativeArray=m["default"],t["default"].Set=g["default"],t["default"].Deferred=y["default"],t["default"].onLoad=b.onLoad,t["default"].runLoadHooks=b.runLoadHooks,t["default"].ArrayController=L["default"],t["default"].ObjectController=V["default"],t["default"].Controller=z["default"],t["default"].ControllerMixin=H["default"],t["default"].Service=B["default"],t["default"]._ProxyMixin=T["default"],t["default"].RSVP=$["default"],e["default"]=t["default"]}),e("ember-runtime/compare",["exports","ember-metal/utils","ember-runtime/mixins/comparable"],function(e,t,r){"use strict";function n(e,t){var r=e-t;return(r>0)-(0>r)}function i(e,o){if(e===o)return 0;var s=t.typeOf(e),u=t.typeOf(o);if(r["default"]){if("instance"===s&&r["default"].detect(e)&&e.constructor.compare)return e.constructor.compare(e,o);if("instance"===u&&r["default"].detect(o)&&o.constructor.compare)return-1*o.constructor.compare(o,e)}var l=n(a[s],a[u]);if(0!==l)return l;switch(s){case"boolean":case"number":return n(e,o);case"string":return n(e.localeCompare(o),0);case"array":for(var c=e.length,h=o.length,d=Math.min(c,h),f=0;d>f;f++){var p=i(e[f],o[f]);if(0!==p)return p}return n(c,h);case"instance":return r["default"]&&r["default"].detect(e)?e.compare(e,o):0;case"date":return n(e.getTime(),o.getTime());default:return 0}}var a={undefined:0,"null":1,"boolean":2,number:3,string:4,array:5,object:6,instance:7,"function":8,"class":9,date:10};e["default"]=i}),e("ember-runtime/computed/array_computed",["exports","ember-metal/core","ember-runtime/computed/reduce_computed","ember-metal/enumerable_utils","ember-metal/platform/create","ember-metal/observer","ember-metal/error"],function(e,t,r,n,i,a,o){"use strict";function s(){var e=this;return r.ReduceComputedProperty.apply(this,arguments),this._getter=function(t){return function(r){return e._hasInstanceMeta(this,r)||n.forEach(e._dependentKeys,function(t){a.addObserver(this,t,function(){e.recomputeOnce.call(this,r)})},this),t.apply(this,arguments)}}(this._getter),this}function u(e){var t;if(arguments.length>1&&(t=l.call(arguments,0,-1),e=l.call(arguments,-1)[0]),"object"!=typeof e)throw new o["default"]("Array Computed Property declared without an options hash");var r=new s(e);return t&&r.property.apply(r,t),r}e.arrayComputed=u,e.ArrayComputedProperty=s;var l=[].slice;s.prototype=i["default"](r.ReduceComputedProperty.prototype),s.prototype.initialValue=function(){return t["default"].A()},s.prototype.resetValue=function(e){return e.clear(),e},s.prototype.didChange=function(e,t){}}),e("ember-runtime/computed/reduce_computed",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/property_events","ember-metal/expand_properties","ember-metal/observer","ember-metal/computed","ember-metal/platform/create","ember-metal/enumerable_utils","ember-runtime/system/tracked_array","ember-runtime/mixins/array","ember-metal/run_loop"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f){"use strict";function p(e,t){return"@this"===t?e:r.get(e,t)}function m(e,t,r,n,i,a){this.callbacks=e,this.cp=t,this.instanceMeta=r,this.dependentKeysByGuid={},this.trackedArraysByGuid={},this.suspended=!1,this.changedItems={},this.changedItemCount=0}function g(e,t,r){this.dependentArray=e,this.index=t,this.item=e.objectAt(t),this.trackedArray=r,this.beforeObserver=null,this.observer=null,this.destroyed=!1}function v(e,t,r){return 0>e?Math.max(0,t+e):t>e?e:Math.min(t-r,e)}function y(e,t,r){return Math.min(r,t-e)}function b(e,t,r,n,i,a,o){this.arrayChanged=e,this.index=r,this.item=t,this.propertyName=n,this.property=i,this.changedCount=a,o&&(this.previousValues=o)}function _(e,t,r,n,i){c.forEach(e,function(a,o){i.setValue(t.addedItem.call(this,i.getValue(),a,new b(e,a,o,n,r,e.length),i.sugarMeta))},this),t.flushedChanges.call(this,i.getValue(),i.sugarMeta)}function w(e,t){var r=e._hasInstanceMeta(this,t),n=e._instanceMeta(this,t);r&&n.setValue(e.resetValue(n.getValue())),e.options.initialize&&e.options.initialize.call(this,n.getValue(),{property:e,propertyName:t},n.sugarMeta)}function x(e,t){if(D.test(t))return!1;var r=p(e,t);return d["default"].detect(r)}function C(e,t,r){this.context=e,this.propertyName=t;var i=n.meta(e),a=i.cache;a||(a=i.cache={}),this.cache=a,this.dependentArrays={},this.sugarMeta={},this.initialValue=r}function E(e){var t=this;this.options=e,this._dependentKeys=null,this._cacheable=!0,this._itemPropertyKeys={},this._previousItemPropertyKeys={},this.readOnly(),this.recomputeOnce=function(e){f["default"].once(this,r,e)};var r=function(e){var r=t._instanceMeta(this,e),n=t._callbacks();w.call(this,t,e),r.dependentArraysObserver.suspendArrayObservers(function(){c.forEach(t._dependentKeys,function(e){if(x(this,e)){var n=p(this,e),i=r.dependentArrays[e];n===i?t._previousItemPropertyKeys[e]&&(delete t._previousItemPropertyKeys[e],r.dependentArraysObserver.setupPropertyObservers(e,t._itemPropertyKeys[e])):(r.dependentArrays[e]=n,i&&r.dependentArraysObserver.teardownObservers(i,e),n&&r.dependentArraysObserver.setupObservers(n,e))}},this)},this),c.forEach(t._dependentKeys,function(i){if(x(this,i)){var a=p(this,i);a&&_.call(this,a,n,t,e,r)}},this)};this._getter=function(e){return r.call(this,e),t._instanceMeta(this,e).getValue()}}function T(e){return e}function S(e){var t;if(arguments.length>1&&(t=R.call(arguments,0,-1),e=R.call(arguments,-1)[0]),"object"!=typeof e)throw new i["default"]("Reduce Computed Property declared without an options hash");if(!("initialValue"in e))throw new i["default"]("Reduce Computed Property declared without an initial value");var r=new E(e);return t&&r.property.apply(r,t),r}e.ReduceComputedProperty=E,e.reduceComputed=S;var A=u.cacheFor.set,k=u.cacheFor.get,O=u.cacheFor.remove,R=[].slice,P=/^(.*)\.@each\.(.*)/,N=/(.*\.@each){2,}/,D=/\.\[\]$/;m.prototype={setValue:function(e){this.instanceMeta.setValue(e,!0)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(e,t){this.dependentKeysByGuid[n.guidFor(e)]=t,e.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"}),this.cp._itemPropertyKeys[t]&&this.setupPropertyObservers(t,this.cp._itemPropertyKeys[t])},teardownObservers:function(e,t){var r=this.cp._itemPropertyKeys[t]||[];delete this.dependentKeysByGuid[n.guidFor(e)],this.teardownPropertyObservers(t,r),e.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},suspendArrayObservers:function(e,t){var r=this.suspended;this.suspended=!0,e.call(t),this.suspended=r},setupPropertyObservers:function(e,t){var r=p(this.instanceMeta.context,e),n=p(r,"length"),i=new Array(n);this.resetTransformations(e,i),c.forEach(r,function(n,a){var o=this.createPropertyObserverContext(r,a,this.trackedArraysByGuid[e]);i[a]=o,c.forEach(t,function(e){s.addBeforeObserver(n,e,this,o.beforeObserver),s.addObserver(n,e,this,o.observer)},this)},this)},teardownPropertyObservers:function(e,t){var r,n,i,a=this,o=this.trackedArraysByGuid[e];o&&o.apply(function(e,o,u){u!==h["default"].DELETE&&c.forEach(e,function(e){e.destroyed=!0,r=e.beforeObserver,n=e.observer,i=e.item,c.forEach(t,function(e){s.removeBeforeObserver(i,e,a,r),s.removeObserver(i,e,a,n)})})})},createPropertyObserverContext:function(e,t,r){var n=new g(e,t,r);return this.createPropertyObserver(n),n},createPropertyObserver:function(e){var t=this;e.beforeObserver=function(r,n){return t.itemPropertyWillChange(r,n,e.dependentArray,e)},e.observer=function(r,n){return t.itemPropertyDidChange(r,n,e.dependentArray,e)}},resetTransformations:function(e,t){this.trackedArraysByGuid[e]=new h["default"](t)},trackAdd:function(e,t,r){var n=this.trackedArraysByGuid[e];n&&n.addItems(t,r)},trackRemove:function(e,t,r){var n=this.trackedArraysByGuid[e];return n?n.removeItems(t,r):[]},updateIndexes:function(e,t){var r=p(t,"length");e.apply(function(e,t,n,i){n!==h["default"].DELETE&&(0!==i||n!==h["default"].RETAIN||e.length!==r||0!==t)&&c.forEach(e,function(e,r){e.index=r+t})})},dependentArrayWillChange:function(e,t,r,i){function a(e){d[h].destroyed=!0,s.removeBeforeObserver(u,e,this,d[h].beforeObserver),s.removeObserver(u,e,this,d[h].observer)}if(!this.suspended){var o,u,l,h,d,f=this.callbacks.removedItem,m=n.guidFor(e),g=this.dependentKeysByGuid[m],_=this.cp._itemPropertyKeys[g]||[],w=p(e,"length"),x=v(t,w,0),C=y(x,w,r);for(d=this.trackRemove(g,x,C),h=C-1;h>=0&&(l=x+h,!(l>=w));--h)u=e.objectAt(l),c.forEach(_,a,this),o=new b(e,u,l,this.instanceMeta.propertyName,this.cp,C),this.setValue(f.call(this.instanceMeta.context,this.getValue(),u,o,this.instanceMeta.sugarMeta));this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta)}},dependentArrayDidChange:function(e,t,r,i){if(!this.suspended){var a,o,u=this.callbacks.addedItem,l=n.guidFor(e),h=this.dependentKeysByGuid[l],d=new Array(i),f=this.cp._itemPropertyKeys[h],m=p(e,"length"),g=v(t,m,i),y=g+i;c.forEach(e.slice(g,y),function(t,r){f&&(o=this.createPropertyObserverContext(e,g+r,this.trackedArraysByGuid[h]),d[r]=o,c.forEach(f,function(e){s.addBeforeObserver(t,e,this,o.beforeObserver),s.addObserver(t,e,this,o.observer)},this)),a=new b(e,t,g+r,this.instanceMeta.propertyName,this.cp,i),this.setValue(u.call(this.instanceMeta.context,this.getValue(),t,a,this.instanceMeta.sugarMeta))},this),this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta),this.trackAdd(h,g,d)}},itemPropertyWillChange:function(e,t,r,i){var a=n.guidFor(e);this.changedItems[a]||(this.changedItems[a]={array:r,observerContext:i,obj:e,previousValues:{}}),++this.changedItemCount,this.changedItems[a].previousValues[t]=p(e,t)},itemPropertyDidChange:function(e,t,r,n){0===--this.changedItemCount&&this.flushChanges()},flushChanges:function(){var e,t,r,n=this.changedItems;for(e in n)t=n[e],t.observerContext.destroyed||(this.updateIndexes(t.observerContext.trackedArray,t.observerContext.dependentArray),r=new b(t.array,t.obj,t.observerContext.index,this.instanceMeta.propertyName,this.cp,n.length,t.previousValues),this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),t.obj,r,this.instanceMeta.sugarMeta)),this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),t.obj,r,this.instanceMeta.sugarMeta)));this.changedItems={},this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta)}},C.prototype={getValue:function(){var e=k(this.cache,this.propertyName);return void 0!==e?e:this.initialValue},setValue:function(e,t){e!==k(this.cache,this.propertyName)&&(t&&a.propertyWillChange(this.context,this.propertyName),void 0===e?O(this.cache,this.propertyName):A(this.cache,this.propertyName,e),t&&a.propertyDidChange(this.context,this.propertyName))}},E.prototype=l["default"](u.ComputedProperty.prototype),E.prototype._callbacks=function(){if(!this.callbacks){var e=this.options;this.callbacks={removedItem:e.removedItem||T,addedItem:e.addedItem||T,flushedChanges:e.flushedChanges||T}}return this.callbacks},E.prototype._hasInstanceMeta=function(e,t){var r=e.__ember_meta__,n=r&&r.cacheMeta;return!(!n||!n[t])},E.prototype._instanceMeta=function(e,t){var r=e.__ember_meta__,n=r.cacheMeta,i=n&&n[t];return n||(n=r.cacheMeta={}),i||(i=n[t]=new C(e,t,this.initialValue()),i.dependentArraysObserver=new m(this._callbacks(),this,i,e,t,i.sugarMeta)),i},E.prototype.initialValue=function(){return"function"==typeof this.options.initialValue?this.options.initialValue():this.options.initialValue},E.prototype.resetValue=function(e){return this.initialValue()},E.prototype.itemPropertyKey=function(e,t){this._itemPropertyKeys[e]=this._itemPropertyKeys[e]||[],this._itemPropertyKeys[e].push(t)},E.prototype.clearItemPropertyKeys=function(e){this._itemPropertyKeys[e]&&(this._previousItemPropertyKeys[e]=this._itemPropertyKeys[e],this._itemPropertyKeys[e]=[])},E.prototype.property=function(){var e,t,r=this,a=R.call(arguments),s={};c.forEach(a,function(a){if(N.test(a))throw new i["default"]("Nested @each properties not supported: "+a);if(e=P.exec(a)){t=e[1];var u=e[2],l=function(e){r.itemPropertyKey(t,e)};o["default"](u,l),s[n.guidFor(t)]=t}else s[n.guidFor(a)]=a});var l=[];for(var h in s)l.push(s[h]);return u.ComputedProperty.prototype.property.apply(this,l)}}),e("ember-runtime/computed/reduce_computed_macros",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/run_loop","ember-metal/observer","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/system/subarray","ember-metal/keys","ember-runtime/compare"],function(e,t,r,n,i,a,o,s,u,l,c,h,d){"use strict";function f(e){return l.reduceComputed(e,{initialValue:0,addedItem:function(e,t,r,n){return e+t},removedItem:function(e,t,r,n){return e-t}})}function p(e){return l.reduceComputed(e,{initialValue:-(1/0),addedItem:function(e,t,r,n){return Math.max(e,t)},removedItem:function(e,t,r,n){return e>t?e:void 0}})}function m(e){return l.reduceComputed(e,{initialValue:1/0,addedItem:function(e,t,r,n){return Math.min(e,t)},removedItem:function(e,t,r,n){return t>e?e:void 0}})}function g(e,t){var r={addedItem:function(e,r,n,i){var a=t.call(this,r,n.index);return e.insertAt(n.index,a),e},removedItem:function(e,t,r,n){return e.removeAt(r.index,1),e}};return u.arrayComputed(e,r)}function v(e,t){var n=function(e){return r.get(e,t)};return g(e+".@each."+t,n)}function y(e,t){var r={initialize:function(e,t,r){r.filteredArrayIndexes=new c["default"]},addedItem:function(e,r,n,i){var a=!!t.call(this,r,n.index,n.arrayChanged),o=i.filteredArrayIndexes.addItem(n.index,a);return a&&e.insertAt(o,r),e},removedItem:function(e,t,r,n){var i=n.filteredArrayIndexes.removeItem(r.index);return i>-1&&e.removeAt(i),e}};return u.arrayComputed(e,r)}function b(e,t,n){var i;return i=2===arguments.length?function(e){return r.get(e,t)}:function(e){return r.get(e,t)===n},y(e+".@each."+t,i)}function _(){var e=k.call(arguments);return e.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(e,t,r,i){var a=n.guidFor(t);return i.itemCounts[a]?++i.itemCounts[a]:(i.itemCounts[a]=1,e.pushObject(t)),e},removedItem:function(e,t,r,i){var a=n.guidFor(t),o=i.itemCounts;return 0===--o[a]&&e.removeObject(t),e}}),u.arrayComputed.apply(null,e)}function w(){var e=k.call(arguments);return e.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(e,t,r,i){var a=n.guidFor(t),o=n.guidFor(r.arrayChanged),s=r.property._dependentKeys.length,u=i.itemCounts;return u[a]||(u[a]={}),void 0===u[a][o]&&(u[a][o]=0),1===++u[a][o]&&s===h["default"](u[a]).length&&e.addObject(t),e},removedItem:function(e,t,r,i){var a,o=n.guidFor(t),s=n.guidFor(r.arrayChanged),u=i.itemCounts;return void 0===u[o][s]&&(u[o][s]=0),
-0===--u[o][s]&&(delete u[o][s],a=h["default"](u[o]).length,0===a&&delete u[o],e.removeObject(t)),e}}),u.arrayComputed.apply(null,e)}function x(e,t){if(2!==arguments.length)throw new i["default"]("setDiff requires exactly two dependent arrays.");return u.arrayComputed(e,t,{addedItem:function(n,i,a,o){var s=r.get(this,e),u=r.get(this,t);return a.arrayChanged===s?u.contains(i)||n.addObject(i):n.removeObject(i),n},removedItem:function(n,i,a,o){var s=r.get(this,e),u=r.get(this,t);return a.arrayChanged===u?s.contains(i)&&n.addObject(i):n.removeObject(i),n}})}function C(e,t,i,a){var o,s,u,l,c;return arguments.length<4&&(a=r.get(e,"length")),arguments.length<3&&(i=0),i===a?i:(o=i+Math.floor((a-i)/2),s=e.objectAt(o),l=n.guidFor(s),c=n.guidFor(t),l===c?o:(u=this.order(s,t),0===u&&(u=c>l?-1:1),0>u?this.binarySearch(e,t,o+1,a):u>0?this.binarySearch(e,t,i,o):o))}function E(e,t){return"function"==typeof t?T(e,t):S(e,t)}function T(e,t){return u.arrayComputed(e,{initialize:function(e,r,n){n.order=t,n.binarySearch=C,n.waitingInsertions=[],n.insertWaiting=function(){var t,r,i=n.waitingInsertions;n.waitingInsertions=[];for(var a=0;a<i.length;a++)r=i[a],t=n.binarySearch(e,r),e.insertAt(t,r)},n.insertLater=function(e){this.waitingInsertions.push(e)}},addedItem:function(e,t,r,n){return n.insertLater(t),e},removedItem:function(e,t,r,n){return e.removeObject(t),e},flushedChanges:function(e,t){t.insertWaiting()}})}function S(e,t){return u.arrayComputed(e,{initialize:function(n,i,u){function l(){var n,o,s,l=r.get(this,t),h=u.sortProperties=[],d=u.sortPropertyAscending={};i.property.clearItemPropertyKeys(e),a.forEach(l,function(t){-1!==(o=t.indexOf(":"))?(n=t.substring(0,o),s="desc"!==t.substring(o+1).toLowerCase()):(n=t,s=!0),h.push(n),d[n]=s,i.property.itemPropertyKey(e,n)}),l.addObserver("@each",this,c)}function c(){o["default"].once(this,h,i.propertyName)}function h(e){l.call(this),i.property.recomputeOnce.call(this,e)}s.addObserver(this,t,c),l.call(this),u.order=function(e,t){for(var r,n,i,a=this.keyFor(e),o=this.keyFor(t),s=0;s<this.sortProperties.length;++s)if(r=this.sortProperties[s],n=d["default"](a[r],o[r]),0!==n)return i=this.sortPropertyAscending[r],i?n:-1*n;return 0},u.binarySearch=C,A(u)},addedItem:function(e,t,r,n){var i=n.binarySearch(e,t);return e.insertAt(i,t),e},removedItem:function(e,t,r,n){var i=n.binarySearch(e,t);return e.removeAt(i),n.dropKeyFor(t),e}})}function A(e){e.keyFor=function(e){var t=n.guidFor(e);if(this.keyCache[t])return this.keyCache[t];for(var i,a={},o=0;o<this.sortProperties.length;++o)i=this.sortProperties[o],a[i]=r.get(e,i);return this.keyCache[t]=a},e.dropKeyFor=function(e){var t=n.guidFor(e);this.keyCache[t]=null},e.keyCache={}}e.sum=f,e.max=p,e.min=m,e.map=g,e.mapBy=v,e.filter=y,e.filterBy=b,e.uniq=_,e.intersect=w,e.setDiff=x,e.sort=E;var k=[].slice,O=v,R=b,P=_;e.mapProperty=O,e.filterProperty=R,e.union=P}),e("ember-runtime/controllers/array_controller",["exports","ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-runtime/system/array_proxy","ember-runtime/mixins/sortable","ember-runtime/mixins/controller","ember-metal/computed","ember-metal/error","ember-runtime/mixins/array"],function(e,t,r,n,i,a,o,s,u,l){"use strict";e["default"]=i["default"].extend(o["default"],a["default"],{itemController:null,lookupItemController:function(e){return r.get(this,"itemController")},objectAtContent:function(e){var t,n=r.get(this,"length"),i=r.get(this,"arrangedContent"),a=i&&i.objectAt(e);return e>=0&&n>e&&(t=this.lookupItemController(a))?this.controllerAt(e,a,t):a},arrangedContentDidChange:function(){this._super.apply(this,arguments),this._resetSubControllers()},arrayContentDidChange:function(e,t,r){var i=this._subControllers;if(i.length){var a=i.slice(e,e+t);n.forEach(a,function(e){e&&e.destroy()}),n.replace(i,e,t,new Array(r))}this._super(e,t,r)},init:function(){this._super.apply(this,arguments),this._subControllers=[]},model:s.computed(function(e,r){return arguments.length>1?r:t["default"].A()}),_isVirtual:!1,controllerAt:function(e,t,n){var i,a,o,s=r.get(this,"container"),l=this._subControllers;if(l.length>e&&(a=l[e]))return a;if(o=this._isVirtual?r.get(this,"parentController"):this,i="controller:"+n,!s._registry.has(i))throw new u["default"]('Could not resolve itemController: "'+n+'"');return a=s.lookupFactory(i).create({target:o,parentController:o,model:t}),l[e]=a,a},_subControllers:null,_resetSubControllers:function(){var e,t=this._subControllers;if(t.length){for(var r=0,n=t.length;n>r;r++)e=t[r],e&&e.destroy();t.length=0}},willDestroy:function(){this._resetSubControllers(),this._super.apply(this,arguments)}})}),e("ember-runtime/controllers/controller",["exports","ember-metal/core","ember-runtime/system/object","ember-runtime/mixins/controller","ember-runtime/inject"],function(e,t,r,n,i){"use strict";function a(e){}var o=r["default"].extend(n["default"]);i.createInjectionHelper("controller",a),e["default"]=o}),e("ember-runtime/controllers/object_controller",["exports","ember-metal/core","ember-runtime/mixins/controller","ember-runtime/system/object_proxy"],function(e,t,r,n){"use strict";var i="Ember.ObjectController is deprecated, please use Ember.Controller and use `model.propertyName`.";e["default"]=n["default"].extend(r["default"],{init:function(){this._super()}}),e.objectControllerDeprecation=i}),e("ember-runtime/copy",["exports","ember-metal/enumerable_utils","ember-metal/utils","ember-runtime/system/object","ember-runtime/mixins/copyable"],function(e,t,r,n,i){"use strict";function a(e,n,o,s){var u,l,c;if("object"!=typeof e||null===e)return e;if(n&&(l=t.indexOf(o,e))>=0)return s[l];if("array"===r.typeOf(e)){if(u=e.slice(),n)for(l=u.length;--l>=0;)u[l]=a(u[l],n,o,s)}else if(i["default"]&&i["default"].detect(e))u=e.copy(n,o,s);else if(e instanceof Date)u=new Date(e.getTime());else{u={};for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&"__"!==c.substring(0,2)&&(u[c]=n?a(e[c],n,o,s):e[c])}return n&&(o.push(e),s.push(u)),u}function o(e,t){return"object"!=typeof e||null===e?e:i["default"]&&i["default"].detect(e)?e.copy(t):a(e,t,t?[]:null,t?[]:null)}e["default"]=o}),e("ember-runtime/core",["exports"],function(e){"use strict";function t(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():e===t}e.isEqual=t}),e("ember-runtime/ext/function",["ember-metal/core","ember-metal/expand_properties","ember-metal/computed","ember-metal/mixin"],function(e,t,r,n){"use strict";var i=Array.prototype.slice,a=Function.prototype;(e["default"].EXTEND_PROTOTYPES===!0||e["default"].EXTEND_PROTOTYPES.Function)&&(a.property=function(){var e=r.computed(this);return e.property.apply(e,arguments)},a.observes=function(){for(var e=arguments.length,t=new Array(e),r=0;e>r;r++)t[r]=arguments[r];return n.observer.apply(this,t.concat(this))},a.observesImmediately=function(){return this.observes.apply(this,arguments)},a.observesBefore=function(){for(var e=[],r=function(t){e.push(t)},n=0,i=arguments.length;i>n;++n)t["default"](arguments[n],r);return this.__ember_observesBefore__=e,this},a.on=function(){var e=i.call(arguments);return this.__ember_listens__=e,this})}),e("ember-runtime/ext/rsvp",["exports","ember-metal/core","ember-metal/logger","ember-metal/run_loop","rsvp"],function(e,r,n,i,a){"use strict";function o(e){var i;if(e&&e.errorThrown?(i=e.errorThrown,"string"==typeof i&&(i=new Error(i)),i.__reason_with_error_thrown__=e):i=e,i&&"TransitionAborted"!==i.name)if(r["default"].testing){if(!s&&r["default"].__loader.registry[u]&&(s=t(u)["default"]),!s||!s.adapter)throw i;s.adapter.exception(i),n["default"].error(i.stack)}else r["default"].onerror?r["default"].onerror(i):n["default"].error(i.stack)}e.onerrorDefault=o;var s,u="ember-testing/test",l=function(){r["default"].Test&&r["default"].Test.adapter&&r["default"].Test.adapter.asyncStart()},c=function(){r["default"].Test&&r["default"].Test.adapter&&r["default"].Test.adapter.asyncEnd()};a.configure("async",function(e,t){var n=!i["default"].currentRunLoop;r["default"].testing&&n&&l(),i["default"].backburner.schedule("actions",function(){r["default"].testing&&n&&c(),e(t)})}),a.Promise.prototype.fail=function(e,t){return this["catch"](e,t)},a.on("error",o),e["default"]=a}),e("ember-runtime/ext/string",["ember-metal/core","ember-runtime/system/string"],function(e,t){"use strict";var r=String.prototype;(e["default"].EXTEND_PROTOTYPES===!0||e["default"].EXTEND_PROTOTYPES.String)&&(r.fmt=function(){return t.fmt(this,arguments)},r.w=function(){return t.w(this)},r.loc=function(){return t.loc(this,arguments)},r.camelize=function(){return t.camelize(this)},r.decamelize=function(){return t.decamelize(this)},r.dasherize=function(){return t.dasherize(this)},r.underscore=function(){return t.underscore(this)},r.classify=function(){return t.classify(this)},r.capitalize=function(){return t.capitalize(this)})}),e("ember-runtime/inject",["exports","ember-metal/core","ember-metal/enumerable_utils","ember-metal/injected_property","ember-metal/keys"],function(e,t,r,n,i){"use strict";function a(){}function o(e,t){u[e]=t,a[e]=function(t){return new n["default"](e,t)}}function s(e){var t,i,a,o,s,l=e.proto(),c=[];for(t in l)i=l[t],i instanceof n["default"]&&-1===r.indexOf(c,i.type)&&c.push(i.type);if(c.length)for(o=0,s=c.length;s>o;o++)a=u[c[o]],"function"==typeof a&&a(e);return!0}e.createInjectionHelper=o,e.validatePropertyInjections=s;var u={};e["default"]=a}),e("ember-runtime/mixins/-proxy",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/property_events","ember-metal/computed","ember-metal/properties","ember-metal/mixin","ember-runtime/system/string"],function(e,t,r,n,i,a,o,s,u,l,c){"use strict";function h(e,t){var r=t.slice(8);r in this||o.propertyWillChange(this,r)}function d(e,t){var r=t.slice(8);r in this||o.propertyDidChange(this,r)}e["default"]=l.Mixin.create({content:null,_contentDidChange:l.observer("content",function(){}),isTruthy:s.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(e){var t="content."+e;a.addBeforeObserver(this,t,null,h),a.addObserver(this,t,null,d)},didUnwatchProperty:function(e){var t="content."+e;a.removeBeforeObserver(this,t,null,h),a.removeObserver(this,t,null,d)},unknownProperty:function(e){var t=r.get(this,"content");return t?r.get(t,e):void 0},setUnknownProperty:function(e,t){var a=i.meta(this);if(a.proto===this)return u.defineProperty(this,e,null,t),t;var o=r.get(this,"content");return n.set(o,e,t)}})}),e("ember-runtime/mixins/action_handler",["exports","ember-metal/merge","ember-metal/mixin","ember-metal/property_get","ember-metal/utils"],function(e,t,r,n,i){"use strict";var a=r.Mixin.create({mergedProperties:["_actions"],willMergeMixin:function(e){var r;e._actions||("object"===i.typeOf(e.actions)?r="actions":"object"===i.typeOf(e.events)&&(r="events"),r&&(e._actions=t["default"](e._actions||{},e[r])),delete e[r])},send:function(e){var t,r=[].slice.call(arguments,1);if(this._actions&&this._actions[e]){var i=this._actions[e].apply(this,r)===!0;if(!i)return}(t=n.get(this,"target"))&&t.send.apply(t,arguments)}});e["default"]=a}),e("ember-runtime/mixins/array",["exports","ember-metal/core","ember-metal/property_get","ember-metal/computed","ember-metal/is_none","ember-runtime/mixins/enumerable","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/property_events","ember-metal/events","ember-metal/watching"],function(e,r,n,i,a,o,s,u,l,c,h){"use strict";function d(e,t,r,i,a){var o=r&&r.willChange||"arrayWillChange",s=r&&r.didChange||"arrayDidChange",u=n.get(e,"hasArrayObservers");return u===a&&l.propertyWillChange(e,"hasArrayObservers"),i(e,"@array:before",t,o),i(e,"@array:change",t,s),u===a&&l.propertyDidChange(e,"hasArrayObservers"),e}e["default"]=u.Mixin.create(o["default"],{length:u.required(),objectAt:function(e){return 0>e||e>=n.get(this,"length")?void 0:n.get(this,e)},objectsAt:function(e){var t=this;return s.map(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":i.computed(function(e,t){return void 0!==t&&this.replace(0,n.get(this,"length"),t),this}),firstObject:i.computed(function(){return this.objectAt(0)}),lastObject:i.computed(function(){return this.objectAt(n.get(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(e,t){var i=r["default"].A(),o=n.get(this,"length");for(a["default"](e)&&(e=0),(a["default"](t)||t>o)&&(t=o),0>e&&(e=o+e),0>t&&(t=o+t);t>e;)i[i.length]=this.objectAt(e++);return i},indexOf:function(e,t){var r,i=n.get(this,"length");for(void 0===t&&(t=0),0>t&&(t+=i),r=t;i>r;r++)if(this.objectAt(r)===e)return r;return-1},lastIndexOf:function(e,t){var r,i=n.get(this,"length");for((void 0===t||t>=i)&&(t=i-1),0>t&&(t+=i),r=t;r>=0;r--)if(this.objectAt(r)===e)return r;return-1},addArrayObserver:function(e,t){return d(this,e,t,c.addListener,!1)},removeArrayObserver:function(e,t){return d(this,e,t,c.removeListener,!0)},hasArrayObservers:i.computed(function(){return c.hasListeners(this,"@array:change")||c.hasListeners(this,"@array:before")}),arrayContentWillChange:function(e,t,r){var i,a;if(void 0===e?(e=0,t=r=-1):(void 0===t&&(t=-1),void 0===r&&(r=-1)),h.isWatching(this,"@each")&&n.get(this,"@each"),c.sendEvent(this,"@array:before",[this,e,t,r]),e>=0&&t>=0&&n.get(this,"hasEnumerableObservers")){i=[],a=e+t;for(var o=e;a>o;o++)i.push(this.objectAt(o))}else i=t;return this.enumerableContentWillChange(i,r),this},arrayContentDidChange:function(e,t,r){var a,o;if(void 0===e?(e=0,t=r=-1):(void 0===t&&(t=-1),void 0===r&&(r=-1)),e>=0&&r>=0&&n.get(this,"hasEnumerableObservers")){a=[],o=e+r;for(var s=e;o>s;s++)a.push(this.objectAt(s))}else a=r;this.enumerableContentDidChange(t,a),c.sendEvent(this,"@array:change",[this,e,t,r]);var u=n.get(this,"length"),h=i.cacheFor(this,"firstObject"),d=i.cacheFor(this,"lastObject");return this.objectAt(0)!==h&&(l.propertyWillChange(this,"firstObject"),l.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==d&&(l.propertyWillChange(this,"lastObject"),l.propertyDidChange(this,"lastObject")),this},"@each":i.computed(function(){if(!this.__each){var e=t("ember-runtime/system/each_proxy").EachProxy;this.__each=new e(this)}return this.__each})})}),e("ember-runtime/mixins/comparable",["exports","ember-metal/mixin"],function(e,t){"use strict";e["default"]=t.Mixin.create({compare:t.required(Function)})}),e("ember-runtime/mixins/controller",["exports","ember-metal/mixin","ember-metal/alias","ember-runtime/mixins/action_handler","ember-runtime/mixins/controller_content_model_alias_deprecation"],function(e,t,r,n,i){"use strict";e["default"]=t.Mixin.create(n["default"],i["default"],{isController:!0,target:null,container:null,parentController:null,store:null,model:null,content:r["default"]("model")})}),e("ember-runtime/mixins/controller_content_model_alias_deprecation",["exports","ember-metal/core","ember-metal/mixin"],function(e,t,r){"use strict";e["default"]=r.Mixin.create({willMergeMixin:function(e){this._super.apply(this,arguments);var t=!!e.model;e.content&&!t&&(e.model=e.content,delete e.content)}})}),e("ember-runtime/mixins/copyable",["exports","ember-metal/property_get","ember-metal/mixin","ember-runtime/mixins/freezable","ember-runtime/system/string","ember-metal/error"],function(e,t,r,n,i,a){"use strict";e["default"]=r.Mixin.create({copy:r.required(Function),frozenCopy:function(){if(n.Freezable&&n.Freezable.detect(this))return t.get(this,"isFrozen")?this:this.copy().freeze();throw new a["default"](i.fmt("%@ does not support freezing",[this]))}})}),e("ember-runtime/mixins/deferred",["exports","ember-metal/core","ember-metal/property_get","ember-metal/mixin","ember-metal/computed","ember-runtime/ext/rsvp"],function(e,t,r,n,i,a){"use strict";e["default"]=n.Mixin.create({then:function(e,t,n){function i(t){return e(t===o?s:t)}var a,o,s;return s=this,a=r.get(this,"_deferred"),o=a.promise,o.then(e&&i,t,n)},resolve:function(e){var t,n;t=r.get(this,"_deferred"),n=t.promise,t.resolve(e===this?n:e)},reject:function(e){r.get(this,"_deferred").reject(e)},_deferred:i.computed(function(){return a["default"].defer("Ember: DeferredMixin - "+this)})})}),e("ember-runtime/mixins/enumerable",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/property_events","ember-metal/events","ember-runtime/compare"],function(e,t,r,n,i,a,o,s,u,l,c){"use strict";function h(){return 0===m.length?{}:m.pop()}function d(e){return m.push(e),null}function f(e,t){function n(n){var a=r.get(n,e);return i?t===a:!!a}var i=2===arguments.length;return n}var p=Array.prototype.slice,m=[];e["default"]=a.Mixin.create({nextObject:a.required(Function),firstObject:s.computed("[]",function(){if(0===r.get(this,"length"))return void 0;var e=h(),t=this.nextObject(0,null,e);return d(e),t}),lastObject:s.computed("[]",function(){var e=r.get(this,"length");if(0===e)return void 0;var t,n=h(),i=0,a=null;do a=t,t=this.nextObject(i++,a,n);while(void 0!==t);return d(n),a}),contains:function(e){var t=this.find(function(t){return t===e});return void 0!==t},forEach:function(e,t){if("function"!=typeof e)throw new TypeError;var n=h(),i=r.get(this,"length"),a=null;void 0===t&&(t=null);for(var o=0;i>o;o++){var s=this.nextObject(o,a,n);e.call(t,s,o,this),a=s}return a=null,n=d(n),this},getEach:a.aliasMethod("mapBy"),setEach:function(e,t){return this.forEach(function(r){n.set(r,e,t)})},map:function(e,r){var n=t["default"].A();return this.forEach(function(t,i,a){n[i]=e.call(r,t,i,a)}),n},mapBy:function(e){return this.map(function(t){return r.get(t,e)})},mapProperty:a.aliasMethod("mapBy"),filter:function(e,r){var n=t["default"].A();return this.forEach(function(t,i,a){e.call(r,t,i,a)&&n.push(t)}),n},reject:function(e,t){return this.filter(function(){return!i.apply(t,e,arguments)})},filterBy:function(e,t){return this.filter(i.apply(this,f,arguments))},filterProperty:a.aliasMethod("filterBy"),rejectBy:function(e,t){var n=function(n){return r.get(n,e)===t},i=function(t){return!!r.get(t,e)},a=2===arguments.length?n:i;return this.reject(a)},rejectProperty:a.aliasMethod("rejectBy"),find:function(e,t){var n=r.get(this,"length");void 0===t&&(t=null);for(var i,a,o=h(),s=!1,u=null,l=0;n>l&&!s;l++)i=this.nextObject(l,u,o),(s=e.call(t,i,l,this))&&(a=i),u=i;return i=u=null,o=d(o),a},findBy:function(e,t){return this.find(i.apply(this,f,arguments))},findProperty:a.aliasMethod("findBy"),every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyBy:a.aliasMethod("isEvery"),everyProperty:a.aliasMethod("isEvery"),isEvery:function(e,t){return this.every(i.apply(this,f,arguments))},any:function(e,t){var n,i,a=r.get(this,"length"),o=h(),s=!1,u=null;for(void 0===t&&(t=null),i=0;a>i&&!s;i++)n=this.nextObject(i,u,o),s=e.call(t,n,i,this),u=n;return n=u=null,o=d(o),s},some:a.aliasMethod("any"),isAny:function(e,t){return this.any(i.apply(this,f,arguments))},anyBy:a.aliasMethod("isAny"),someProperty:a.aliasMethod("isAny"),reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e(n,t,i,this,r)},this),n},invoke:function(e){var r,n=t["default"].A();return arguments.length>1&&(r=p.call(arguments,1)),this.forEach(function(t,a){var o=t&&t[e];"function"==typeof o&&(n[a]=r?i.apply(t,o,r):t[e]())},this),n},toArray:function(){var e=t["default"].A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var r=t["default"].A();return this.forEach(function(t){t!==e&&(r[r.length]=t)}),r},uniq:function(){var e=t["default"].A();return this.forEach(function(t){o.indexOf(e,t)<0&&e.push(t)}),e},"[]":s.computed(function(e,t){return this}),addEnumerableObserver:function(e,t){var n=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",a=r.get(this,"hasEnumerableObservers");return a||u.propertyWillChange(this,"hasEnumerableObservers"),l.addListener(this,"@enumerable:before",e,n),l.addListener(this,"@enumerable:change",e,i),a||u.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var n=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",a=r.get(this,"hasEnumerableObservers");return a&&u.propertyWillChange(this,"hasEnumerableObservers"),l.removeListener(this,"@enumerable:before",e,n),l.removeListener(this,"@enumerable:change",e,i),a&&u.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:s.computed(function(){return l.hasListeners(this,"@enumerable:change")||l.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(e,t){var n,i,a;return n="number"==typeof e?e:e?r.get(e,"length"):e=-1,i="number"==typeof t?t:t?r.get(t,"length"):t=-1,a=0>i||0>n||i-n!==0,-1===e&&(e=null),-1===t&&(t=null),u.propertyWillChange(this,"[]"),a&&u.propertyWillChange(this,"length"),l.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var n,i,a;return n="number"==typeof e?e:e?r.get(e,"length"):e=-1,i="number"==typeof t?t:t?r.get(t,"length"):t=-1,a=0>i||0>n||i-n!==0,-1===e&&(e=null),-1===t&&(t=null),l.sendEvent(this,"@enumerable:change",[this,e,t]),a&&u.propertyDidChange(this,"length"),u.propertyDidChange(this,"[]"),this},sortBy:function(){var e=arguments;return this.toArray().sort(function(t,n){for(var i=0;i<e.length;i++){var a=e[i],o=r.get(t,a),s=r.get(n,a),u=c["default"](o,s);if(u)return u}return 0})}})}),e("ember-runtime/mixins/evented",["exports","ember-metal/mixin","ember-metal/events"],function(e,t,r){"use strict";e["default"]=t.Mixin.create({on:function(e,t,n){return r.addListener(this,e,t,n),this},one:function(e,t,n){return n||(n=t,t=null),r.addListener(this,e,t,n,!0),this},trigger:function(e){for(var t=arguments.length,n=new Array(t-1),i=1;t>i;i++)n[i-1]=arguments[i];r.sendEvent(this,e,n)},off:function(e,t,n){return r.removeListener(this,e,t,n),this},has:function(e){return r.hasListeners(this,e)}})}),e("ember-runtime/mixins/freezable",["exports","ember-metal/mixin","ember-metal/property_get","ember-metal/property_set"],function(e,t,r,n){"use strict";var i=t.Mixin.create({isFrozen:!1,freeze:function(){return r.get(this,"isFrozen")?this:(n.set(this,"isFrozen",!0),this)}}),a="Frozen object cannot be modified.";e.Freezable=i,e.FROZEN_ERROR=a}),e("ember-runtime/mixins/mutable_array",["exports","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/mixin","ember-runtime/mixins/array","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable"],function(e,t,r,n,i,a,o,s){"use strict";var u="Index out of range",l=[];e["default"]=i.Mixin.create(a["default"],o["default"],{replace:i.required(),clear:function(){var e=t.get(this,"length");return 0===e?this:(this.replace(0,e,l),this)},insertAt:function(e,r){if(e>t.get(this,"length"))throw new n["default"](u);return this.replace(e,0,[r]),this},removeAt:function(e,r){if("number"==typeof e){if(0>e||e>=t.get(this,"length"))throw new n["default"](u);void 0===r&&(r=1),this.replace(e,r,l)}return this},pushObject:function(e){return this.insertAt(t.get(this,"length"),e),e},pushObjects:function(e){if(!s["default"].detect(e)&&!r.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(t.get(this,"length"),0,e),this},popObject:function(){var e=t.get(this,"length");if(0===e)return null;var r=this.objectAt(e-1);return this.removeAt(e-1,1),r},shiftObject:function(){if(0===t.get(this,"length"))return null;var e=this.objectAt(0);return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=t.get(this,"length");if(0===e)return this;var r=this.toArray().reverse();return this.replace(0,e,r),this},setObjects:function(e){if(0===e.length)return this.clear();var r=t.get(this,"length");return this.replace(0,r,e),this},removeObject:function(e){for(var r=t.get(this,"length")||0;--r>=0;){var n=this.objectAt(r);n===e&&this.removeAt(r)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}),e("ember-runtime/mixins/mutable_enumerable",["exports","ember-metal/enumerable_utils","ember-runtime/mixins/enumerable","ember-metal/mixin","ember-metal/property_events"],function(e,t,r,n,i){"use strict";e["default"]=n.Mixin.create(r["default"],{addObject:n.required(Function),addObjects:function(e){return i.beginPropertyChanges(this),t.forEach(e,function(e){this.addObject(e)},this),i.endPropertyChanges(this),this},removeObject:n.required(Function),removeObjects:function(e){i.beginPropertyChanges(this);for(var t=e.length-1;t>=0;t--)this.removeObject(e[t]);return i.endPropertyChanges(this),this}})}),e("ember-runtime/mixins/observable",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/get_properties","ember-metal/set_properties","ember-metal/mixin","ember-metal/events","ember-metal/property_events","ember-metal/observer","ember-metal/computed","ember-metal/is_none"],function(e,t,r,n,i,a,o,s,u,l,c,h,d){"use strict";var f=Array.prototype.slice;e["default"]=s.Mixin.create({get:function(e){return r.get(this,e)},getProperties:function(){return i.apply(null,a["default"],[this].concat(f.call(arguments)))},set:function(e,t){return n.set(this,e,t),this},setProperties:function(e){return o["default"](this,e)},beginPropertyChanges:function(){return l.beginPropertyChanges(),this},endPropertyChanges:function(){return l.endPropertyChanges(),this},propertyWillChange:function(e){return l.propertyWillChange(this,e),this},propertyDidChange:function(e){return l.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,t,r){c.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){c.addObserver(this,e,t,r)},removeObserver:function(e,t,r){c.removeObserver(this,e,t,r)},hasObserverFor:function(e){return u.hasListeners(this,e+":change")},getWithDefault:function(e,t){return r.getWithDefault(this,e,t)},incrementProperty:function(e,t){return d["default"](t)&&(t=1),n.set(this,e,(parseFloat(r.get(this,e))||0)+t),r.get(this,e)},decrementProperty:function(e,t){return d["default"](t)&&(t=1),n.set(this,e,(r.get(this,e)||0)-t),r.get(this,e)},toggleProperty:function(e){return n.set(this,e,!r.get(this,e)),r.get(this,e)},cacheFor:function(e){return h.cacheFor(this,e)},observersForKey:function(e){return c.observersFor(this,e)}})}),e("ember-runtime/mixins/promise_proxy",["exports","ember-metal/property_get","ember-metal/set_properties","ember-metal/computed","ember-metal/mixin","ember-metal/error"],function(e,t,r,n,i,a){"use strict";function o(e,t){return r["default"](e,{isFulfilled:!1,isRejected:!1}),t.then(function(t){return r["default"](e,{content:t,isFulfilled:!0}),t},function(t){throw r["default"](e,{reason:t,isRejected:!0}),t},"Ember: PromiseProxy")}function s(e){return function(){var r=t.get(this,"promise");return r[e].apply(r,arguments)}}var u=n.computed.not,l=n.computed.or;e["default"]=i.Mixin.create({reason:null,isPending:u("isSettled").readOnly(),isSettled:l("isRejected","isFulfilled").readOnly(),isRejected:!1,isFulfilled:!1,promise:n.computed(function(e,t){if(2===arguments.length)return o(this,t);throw new a["default"]("PromiseProxy's promise must be set")}),then:s("then"),"catch":s("catch"),"finally":s("finally")})}),e("ember-runtime/mixins/sortable",["exports","ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-runtime/mixins/mutable_enumerable","ember-runtime/compare","ember-metal/observer","ember-metal/computed","ember-metal/computed_macros","ember-metal/mixin"],function(e,t,r,n,i,a,o,s,u,l){"use strict";e["default"]=l.Mixin.create(i["default"],{sortProperties:null,sortAscending:!0,sortFunction:a["default"],orderBy:function(e,t){var i=0,a=r.get(this,"sortProperties"),o=r.get(this,"sortAscending"),s=r.get(this,"sortFunction");return n.forEach(a,function(n){0===i&&(i=s.call(this,r.get(e,n),r.get(t,n)),0===i||o||(i=-1*i))},this),i},destroy:function(){var e=r.get(this,"content"),t=r.get(this,"sortProperties");return e&&t&&n.forEach(e,function(e){n.forEach(t,function(t){o.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super.apply(this,arguments)},isSorted:u.notEmpty("sortProperties"),arrangedContent:s.computed("content","sortProperties.@each",function(e,i){var a=r.get(this,"content"),s=r.get(this,"isSorted"),u=r.get(this,"sortProperties"),l=this;return a&&s?(a=a.slice(),a.sort(function(e,t){return l.orderBy(e,t)}),n.forEach(a,function(e){n.forEach(u,function(t){o.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),t["default"].A(a)):a}),_contentWillChange:l.beforeObserver("content",function(){var e=r.get(this,"content"),t=r.get(this,"sortProperties");e&&t&&n.forEach(e,function(e){n.forEach(t,function(t){o.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super.apply(this,arguments)}),sortPropertiesWillChange:l.beforeObserver("sortProperties",function(){this._lastSortAscending=void 0}),sortPropertiesDidChange:l.observer("sortProperties",function(){this._lastSortAscending=void 0}),sortAscendingWillChange:l.beforeObserver("sortAscending",function(){this._lastSortAscending=r.get(this,"sortAscending")}),sortAscendingDidChange:l.observer("sortAscending",function(){if(void 0!==this._lastSortAscending&&r.get(this,"sortAscending")!==this._lastSortAscending){var e=r.get(this,"arrangedContent");e.reverseObjects()}}),contentArrayWillChange:function(e,t,i,a){var s=r.get(this,"isSorted");if(s){var u=r.get(this,"arrangedContent"),l=e.slice(t,t+i),c=r.get(this,"sortProperties");n.forEach(l,function(e){u.removeObject(e),n.forEach(c,function(t){o.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(e,t,i,a)},contentArrayDidChange:function(e,t,i,a){var s=r.get(this,"isSorted"),u=r.get(this,"sortProperties");if(s){var l=e.slice(t,t+a);n.forEach(l,function(e){this.insertItemSorted(e),n.forEach(u,function(t){o.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(e,t,i,a)},insertItemSorted:function(e){var t=r.get(this,"arrangedContent"),n=r.get(t,"length"),i=this._binarySearch(e,0,n);t.insertAt(i,e)},contentItemSortPropertyDidChange:function(e){var t=r.get(this,"arrangedContent"),n=t.indexOf(e),i=t.objectAt(n-1),a=t.objectAt(n+1),o=i&&this.orderBy(e,i),s=a&&this.orderBy(e,a);(0>o||s>0)&&(t.removeObject(e),this.insertItemSorted(e))},_binarySearch:function(e,t,n){var i,a,o,s;return t===n?t:(s=r.get(this,"arrangedContent"),i=t+Math.floor((n-t)/2),a=s.objectAt(i),o=this.orderBy(a,e),0>o?this._binarySearch(e,i+1,n):o>0?this._binarySearch(e,t,i):i)}})}),e("ember-runtime/mixins/target_action_support",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/mixin","ember-metal/computed"],function(e,t,r,n,i,a){"use strict";var o=i.Mixin.create({target:null,action:null,actionContext:null,targetObject:a.computed(function(){var e=r.get(this,"target");if("string"===n.typeOf(e)){var i=r.get(this,e);return void 0===i&&(i=r.get(t["default"].lookup,e)),i}return e}).property("target"),actionContextObject:a.computed(function(){var e=r.get(this,"actionContext");if("string"===n.typeOf(e)){var i=r.get(this,e);return void 0===i&&(i=r.get(t["default"].lookup,e)),i}return e}).property("actionContext"),triggerAction:function(e){function t(e,t){var r=[];return t&&r.push(t),r.concat(e)}e=e||{};var n=e.action||r.get(this,"action"),i=e.target||r.get(this,"targetObject"),a=e.actionContext;if("undefined"==typeof a&&(a=r.get(this,"actionContextObject")||this),i&&n){var o;return o=i.send?i.send.apply(i,t(a,n)):i[n].apply(i,t(a)),
-o!==!1&&(o=!0),o}return!1}});e["default"]=o}),e("ember-runtime/system/application",["exports","ember-runtime/system/namespace"],function(e,t){"use strict";e["default"]=t["default"].extend()}),e("ember-runtime/system/array_proxy",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/property_events","ember-metal/error","ember-runtime/system/object","ember-runtime/mixins/mutable_array","ember-runtime/mixins/enumerable","ember-runtime/system/string","ember-metal/alias"],function(e,t,r,n,i,a,o,s,u,l,c,h,d){"use strict";function f(){return this}var p="Index out of range",m=[],g=u["default"].extend(l["default"],{content:null,arrangedContent:d["default"]("content"),objectAtContent:function(e){return r.get(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r.get(this,"content").replace(e,t,n)},_contentWillChange:a.beforeObserver("content",function(){this._teardownContent()}),_teardownContent:function(){var e=r.get(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:f,contentArrayDidChange:f,_contentDidChange:a.observer("content",function(){r.get(this,"content");this._setupContent()}),_setupContent:function(){var e=r.get(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:a.beforeObserver("arrangedContent",function(){var e=r.get(this,"arrangedContent"),t=e?r.get(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)}),_arrangedContentDidChange:a.observer("arrangedContent",function(){var e=r.get(this,"arrangedContent"),t=e?r.get(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)}),_setupArrangedContent:function(){var e=r.get(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r.get(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:f,arrangedContentDidChange:f,objectAt:function(e){return r.get(this,"content")&&this.objectAtContent(e)},length:i.computed(function(){var e=r.get(this,"arrangedContent");return e?r.get(e,"length"):0}),_replace:function(e,t,n){var i=r.get(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r.get(this,"arrangedContent")!==r.get(this,"content"))throw new s["default"]("Using replace on an arranged ArrayProxy is not allowed.");n.apply(this,this._replace,arguments)},_insertAt:function(e,t){if(e>r.get(this,"content.length"))throw new s["default"](p);return this._replace(e,0,[t]),this},insertAt:function(e,t){if(r.get(this,"arrangedContent")===r.get(this,"content"))return this._insertAt(e,t);throw new s["default"]("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(e,t){if("number"==typeof e){var n,i=r.get(this,"content"),a=r.get(this,"arrangedContent"),u=[];if(0>e||e>=r.get(this,"length"))throw new s["default"](p);for(void 0===t&&(t=1),n=e;e+t>n;n++)u.push(i.indexOf(a.objectAt(n)));for(u.sort(function(e,t){return t-e}),o.beginPropertyChanges(),n=0;n<u.length;n++)this._replace(u[n],1,m);o.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r.get(this,"content.length"),e),e},pushObjects:function(e){if(!c["default"].detect(e)&&!n.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this._replace(r.get(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r.get(this,"length");return this._replace(0,t,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,t,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super.apply(this,arguments),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}});e["default"]=g}),e("ember-runtime/system/container",["exports","ember-metal/property_set","container/registry","container/container"],function(e,t,r,n){"use strict";r["default"].set=t.set,n["default"].set=t.set,e.Registry=r["default"],e.Container=n["default"]}),e("ember-runtime/system/core_object",["exports","ember-metal","ember-metal/merge","ember-metal/property_get","ember-metal/utils","ember-metal/platform/create","ember-metal/chains","ember-metal/events","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/error","ember-metal/platform/define_property","ember-metal/keys","ember-runtime/mixins/action_handler","ember-metal/properties","ember-metal/binding","ember-metal/computed","ember-metal/injected_property","ember-metal/run_loop","ember-metal/watching","ember-metal/core","ember-runtime/inject"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w){"REMOVE_USE_STRICT: true";function x(){var e,t,n=!1,h=function(){n||h.proto(),this.__defineNonEnumerable(i.GUID_KEY_PROPERTY),this.__defineNonEnumerable(i.NEXT_SUPER_PROPERTY);var f=i.meta(this),p=f.proto;if(f.proto=this,e){var m=e;e=null,i.apply(this,this.reopen,m)}if(t){var g=t;t=null;for(var v=this.concatenatedProperties,y=this.mergedProperties,b=0,_=g.length;_>b;b++){var w=g[b];if("object"!=typeof w&&void 0!==w)throw new c["default"]("Ember.Object.create only accepts objects.");if(w)for(var x=d["default"](w),C=0,E=x.length;E>C;C++){var T=x[C],A=w[T];if(u.IS_BINDING.test(T)){var k=f.bindings;k?f.hasOwnProperty("bindings")||(k=f.bindings=a["default"](f.bindings)):k=f.bindings={},k[T]=A}var O=this[T],R=null!==O&&"object"==typeof O&&O.isDescriptor?O:void 0;if(v&&v.length>0&&l.indexOf(v,T)>=0){var P=this[T];A=P?"function"==typeof P.concat?P.concat(A):i.makeArray(P).concat(A):i.makeArray(A)}if(y&&y.length&&l.indexOf(y,T)>=0){var N=this[T];A=r["default"](N,A)}R?R.set(this,T,A):"function"!=typeof this.setUnknownProperty||T in this?this[T]=A:this.setUnknownProperty(T,A)}}}S(this,f);var D=arguments.length;if(0===D)this.init();else if(1===D)this.init(arguments[0]);else{for(var M=new Array(D),F=0;D>F;F++)M[F]=arguments[F];this.init.apply(this,M)}f.proto=p,o.finishChains(this),s.sendEvent(this,"init")};return h.toString=u.Mixin.prototype.toString,h.willReopen=function(){n&&(h.PrototypeMixin=u.Mixin.create(h.PrototypeMixin)),n=!1},h._initMixins=function(t){e=t},h._initProperties=function(e){t=e},h.proto=function(){var e=h.superclass;return e&&e.proto(),n||(n=!0,h.PrototypeMixin.applyPartial(h.prototype)),this.prototype},h}function C(e){return function(){return e}}var E=y["default"].schedule,T=u.Mixin._apply,S=u.Mixin.finishPartial,A=u.Mixin.prototype.reopen,k=!1,O=x();O.toString=function(){return"Ember.CoreObject"},O.PrototypeMixin=u.Mixin.create({reopen:function(){for(var e=arguments.length,t=new Array(e),r=0;e>r;r++)t[r]=arguments[r];return T(this,t,!0),this},init:function(){},__defineNonEnumerable:function(e){h.defineProperty(this,e.name,e.descriptor)},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,E("actions",this,this.willDestroy),E("destroy",this,this._scheduledDestroy),this)},willDestroy:_.K,_scheduledDestroy:function(){this.isDestroyed||(b.destroy(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof m.Binding||(t=m.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,t=e?":"+this.toStringExtension():"",r="<"+this.constructor.toString()+":"+i.guidFor(this)+t+">";return this.toString=C(r),r}}),O.PrototypeMixin.ownerConstructor=O,O.__super__=null;var R={ClassMixin:u.required(),PrototypeMixin:u.required(),isClass:!0,isMethod:!1,extend:function(){var e,t=x();return t.ClassMixin=u.Mixin.create(this.ClassMixin),t.PrototypeMixin=u.Mixin.create(this.PrototypeMixin),t.ClassMixin.ownerConstructor=t,t.PrototypeMixin.ownerConstructor=t,A.apply(t.PrototypeMixin,arguments),t.superclass=this,t.__super__=this.prototype,e=t.prototype=a["default"](this.prototype),e.constructor=t,i.generateGuid(e),i.meta(e).proto=e,t.ClassMixin.apply(t),t},createWithMixins:function(){var e=this,t=arguments.length;if(t>0){for(var r=new Array(t),n=0;t>n;n++)r[n]=arguments[n];this._initMixins(r)}return new e},create:function(){var e=this,t=arguments.length;if(t>0){for(var r=new Array(t),n=0;t>n;n++)r[n]=arguments[n];this._initProperties(r)}return new e},reopen:function(){this.willReopen();var e=arguments.length,t=new Array(e);if(e>0)for(var r=0;e>r;r++)t[r]=arguments[r];return i.apply(this.PrototypeMixin,A,t),this},reopenClass:function(){var e=arguments.length,t=new Array(e);if(e>0)for(var r=0;e>r;r++)t[r]=arguments[r];return i.apply(this.ClassMixin,A,t),T(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;for(;e;){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=this.proto(),r=t[e],n=null!==r&&"object"==typeof r&&r.isDescriptor?r:void 0;return n._meta||{}},_computedProperties:g.computed(function(){k=!0;var e,t=this.proto(),r=[];for(var n in t)e=t[n],e instanceof g.ComputedProperty&&r.push({name:n,meta:e._meta});return r}).readOnly(),eachComputedProperty:function(e,t){for(var r,i,a={},o=n.get(this,"_computedProperties"),s=0,u=o.length;u>s;s++)r=o[s],i=r.name,e.call(t||this,r.name,r.meta||a)}};R._lazyInjections=function(){var e,t,r={},n=this.proto();for(e in n)t=n[e],t instanceof v["default"]&&(r[e]=t.type+":"+(t.name||e));return r};var P=u.Mixin.create(R);P.ownerConstructor=O,O.ClassMixin=P,P.apply(O),O.reopen({didDefineProperty:function(e,r,n){if(k!==!1&&n instanceof t["default"].ComputedProperty){var i=t["default"].meta(this.constructor).cache;i&&void 0!==i._computedProperties&&(i._computedProperties=void 0)}}}),e["default"]=O}),e("ember-runtime/system/deferred",["exports","ember-metal/core","ember-runtime/mixins/deferred","ember-runtime/system/object"],function(e,t,r,n){"use strict";var i=n["default"].extend(r["default"],{init:function(){this._super.apply(this,arguments)}});i.reopenClass({promise:function(e,t){var r=i.create();return e.call(t,r),r}}),e["default"]=i}),e("ember-runtime/system/each_proxy",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/enumerable_utils","ember-metal/array","ember-runtime/mixins/array","ember-runtime/system/object","ember-metal/computed","ember-metal/observer","ember-metal/events","ember-metal/properties","ember-metal/property_events"],function(e,t,r,n,i,a,o,s,u,l,c,h,d){"use strict";function f(e,t,r,i,a){var o,s=r._objects;for(s||(s=r._objects={});--a>=i;){var u=e.objectAt(a);u&&(l.addBeforeObserver(u,t,r,"contentKeyWillChange"),l.addObserver(u,t,r,"contentKeyDidChange"),o=n.guidFor(u),s[o]||(s[o]=[]),s[o].push(a))}}function p(e,t,r,i,o){var s=r._objects;s||(s=r._objects={});for(var u,c;--o>=i;){var h=e.objectAt(o);h&&(l.removeBeforeObserver(h,t,r,"contentKeyWillChange"),l.removeObserver(h,t,r,"contentKeyDidChange"),c=n.guidFor(h),u=s[c],u[a.indexOf.call(u,o)]=null)}}var m=s["default"].extend(o["default"],{init:function(e,t,r){this._super.apply(this,arguments),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r.get(t,this._keyName)},length:u.computed(function(){var e=this._content;return e?r.get(e,"length"):0})}),g=/^.+:(before|change)$/,v=s["default"].extend({init:function(e){this._super.apply(this,arguments),this._content=e,e.addArrayObserver(this),i.forEach(c.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e,t){var r;return r=new m(this._content,e,this),h.defineProperty(this,e,null,r),this.beginObservingContentKey(e),r},arrayWillChange:function(e,t,r,n){var i,a,o=this._keys;a=r>0?t+r:-1,d.beginPropertyChanges(this);for(i in o)o.hasOwnProperty(i)&&(a>0&&p(e,i,this,t,a),d.propertyWillChange(this,i));d.propertyWillChange(this._content,"@each"),d.endPropertyChanges(this)},arrayDidChange:function(e,t,r,n){var i,a=this._keys;i=n>0?t+n:-1,d.changeProperties(function(){for(var r in a)a.hasOwnProperty(r)&&(i>0&&f(e,r,this,t,i),d.propertyDidChange(this,r));d.propertyDidChange(this._content,"@each")},this)},didAddListener:function(e){g.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){g.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(e){var t=this._keys;if(t||(t=this._keys={}),t[e])t[e]++;else{t[e]=1;var n=this._content,i=r.get(n,"length");f(n,e,this,0,i)}},stopObservingContentKey:function(e){var t=this._keys;if(t&&t[e]>0&&--t[e]<=0){var n=this._content,i=r.get(n,"length");p(n,e,this,0,i)}},contentKeyWillChange:function(e,t){d.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){d.propertyDidChange(this,t)}});e.EachArray=m,e.EachProxy=v}),e("ember-runtime/system/lazy_load",["exports","ember-metal/core","ember-metal/array","ember-runtime/system/native_array"],function(e,t,r){"use strict";function n(e,r){var n;a[e]=a[e]||t["default"].A(),a[e].pushObject(r),(n=o[e])&&r(n)}function i(e,t){if(o[e]=t,"object"==typeof window&&"function"==typeof window.dispatchEvent&&"function"==typeof CustomEvent){var n=new CustomEvent(e,{detail:t,name:e});window.dispatchEvent(n)}a[e]&&r.forEach.call(a[e],function(e){e(t)})}e.onLoad=n,e.runLoadHooks=i;var a=t["default"].ENV.EMBER_LOAD_HOOKS||{},o={}}),e("ember-runtime/system/namespace",["exports","ember-metal/core","ember-metal/property_get","ember-metal/array","ember-metal/utils","ember-metal/mixin","ember-runtime/system/object"],function(e,t,r,n,i,a,o){"use strict";function s(e,t,r){var n=e.length;m[e.join(".")]=t;for(var a in t)if(g.call(t,a)){var o=t[a];if(e[n]=a,o&&o.toString===h)o.toString=f(e.join(".")),o[y]=e.join(".");else if(o&&o.isNamespace){if(r[i.guidFor(o)])continue;r[i.guidFor(o)]=!0,s(e,o,r)}}e.length=n}function u(e,t){try{var r=e[t];return r&&r.isNamespace&&r}catch(n){}}function l(){var e,r=t["default"].lookup;if(!p.PROCESSED)for(var n in r)v.test(n)&&(!r.hasOwnProperty||r.hasOwnProperty(n))&&(e=u(r,n),e&&(e[y]=n))}function c(e){var t=e.superclass;return t?t[y]?t[y]:c(t):void 0}function h(){t["default"].BOOTED||this[y]||d();var e;if(this[y])e=this[y];else if(this._toString)e=this._toString;else{var r=c(this);e=r?"(subclass of "+r+")":"(unknown mixin)",this.toString=f(e)}return e}function d(){var e=!p.PROCESSED,r=t["default"].anyUnprocessedMixins;if(e&&(l(),p.PROCESSED=!0),e||r){for(var n,i=p.NAMESPACES,a=0,o=i.length;o>a;a++)n=i[a],s([n.toString()],n,{});t["default"].anyUnprocessedMixins=!1}}function f(e){return function(){return e}}var p=o["default"].extend({isNamespace:!0,init:function(){p.NAMESPACES.push(this),p.PROCESSED=!1},toString:function(){var e=r.get(this,"name")||r.get(this,"modulePrefix");return e?e:(l(),this[y])},nameClasses:function(){s([this.toString()],this,{})},destroy:function(){var e=p.NAMESPACES,r=this.toString();r&&(t["default"].lookup[r]=void 0,delete p.NAMESPACES_BY_ID[r]),e.splice(n.indexOf.call(e,this),1),this._super.apply(this,arguments)}});p.reopenClass({NAMESPACES:[t["default"]],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:d,byName:function(e){return t["default"].BOOTED||d(),m[e]}});var m=p.NAMESPACES_BY_ID,g={}.hasOwnProperty,v=/^[A-Z]/,y=t["default"].NAME_KEY=i.GUID_KEY+"_name";a.Mixin.prototype.toString=h,e["default"]=p}),e("ember-runtime/system/native_array",["exports","ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/array","ember-runtime/mixins/array","ember-runtime/mixins/mutable_array","ember-runtime/mixins/observable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-runtime/copy"],function(e,t,r,n,i,a,o,s,u,l,c,h){"use strict";var d=i.Mixin.create(s["default"],u["default"],l["default"],{get:function(e){return"length"===e?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(e,t,i){if(this.isFrozen)throw c.FROZEN_ERROR;var a=i?r.get(i,"length"):0;return this.arrayContentWillChange(e,t,a),0===a?this.splice(e,t):n._replace(this,e,t,i),this.arrayContentDidChange(e,t,a),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:a.indexOf,lastIndexOf:a.lastIndexOf,copy:function(e){return e?this.map(function(e){return h["default"](e,!0)}):this.slice()}}),f=["length"];n.forEach(d.keys(),function(e){Array.prototype[e]&&f.push(e)}),d=d.without.apply(d,f);var p=function(e){return void 0===e&&(e=[]),o["default"].detect(e)?e:d.apply(e)};d.activate=function(){d.apply(Array.prototype),p=function(e){return e||[]}},(t["default"].EXTEND_PROTOTYPES===!0||t["default"].EXTEND_PROTOTYPES.Array)&&d.activate(),t["default"].A=p,e["default"]=d,e.A=p,e.NativeArray=d}),e("ember-runtime/system/object",["exports","ember-runtime/system/core_object","ember-runtime/mixins/observable"],function(e,t,r){"use strict";var n=t["default"].extend(r["default"]);n.toString=function(){return"Ember.Object"},e["default"]=n}),e("ember-runtime/system/object_proxy",["exports","ember-runtime/system/object","ember-runtime/mixins/-proxy"],function(e,t,r){"use strict";e["default"]=t["default"].extend(r["default"])}),e("ember-runtime/system/service",["exports","ember-runtime/system/object","ember-runtime/inject"],function(e,t,r){"use strict";r.createInjectionHelper("service"),e["default"]=t["default"].extend()}),e("ember-runtime/system/set",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/is_none","ember-runtime/system/string","ember-runtime/system/core_object","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-metal/error","ember-metal/property_events","ember-metal/mixin","ember-metal/computed"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m){"use strict";e["default"]=s["default"].extend(u["default"],c["default"],h.Freezable,{length:0,clear:function(){if(this.isFrozen)throw new d["default"](h.FROZEN_ERROR);var e=r.get(this,"length");if(0===e)return this;var t;this.enumerableContentWillChange(e,0),f.propertyWillChange(this,"firstObject"),f.propertyWillChange(this,"lastObject");for(var a=0;e>a;a++)t=i.guidFor(this[a]),delete this[t],delete this[a];return n.set(this,"length",0),f.propertyDidChange(this,"firstObject"),f.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(e,0),this},isEqual:function(e){if(!l["default"].detect(e))return!1;var t=r.get(this,"length");if(r.get(e,"length")!==t)return!1;for(;--t>=0;)if(!e.contains(this[t]))return!1;return!0},add:p.aliasMethod("addObject"),remove:p.aliasMethod("removeObject"),pop:function(){if(r.get(this,"isFrozen"))throw new d["default"](h.FROZEN_ERROR);var e=this.length>0?this[this.length-1]:null;return this.remove(e),e},push:p.aliasMethod("addObject"),shift:p.aliasMethod("pop"),unshift:p.aliasMethod("push"),addEach:p.aliasMethod("addObjects"),removeEach:p.aliasMethod("removeObjects"),init:function(e){this._super.apply(this,arguments),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:m.computed(function(){return this.length>0?this[0]:void 0}),lastObject:m.computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(e){if(r.get(this,"isFrozen"))throw new d["default"](h.FROZEN_ERROR);if(a["default"](e))return this;var t,o=i.guidFor(e),s=this[o],u=r.get(this,"length");return s>=0&&u>s&&this[s]===e?this:(t=[e],this.enumerableContentWillChange(null,t),f.propertyWillChange(this,"lastObject"),u=r.get(this,"length"),this[o]=u,this[u]=e,n.set(this,"length",u+1),f.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,t),this)},removeObject:function(e){if(r.get(this,"isFrozen"))throw new d["default"](h.FROZEN_ERROR);if(a["default"](e))return this;var t,o,s=i.guidFor(e),u=this[s],l=r.get(this,"length"),c=0===u,p=u===l-1;return u>=0&&l>u&&this[u]===e&&(o=[e],this.enumerableContentWillChange(o,null),c&&f.propertyWillChange(this,"firstObject"),p&&f.propertyWillChange(this,"lastObject"),l-1>u&&(t=this[l-1],this[u]=t,this[i.guidFor(t)]=u),delete this[s],delete this[l-1],n.set(this,"length",l-1),c&&f.propertyDidChange(this,"firstObject"),p&&f.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(o,null)),this},contains:function(e){return this[i.guidFor(e)]>=0},copy:function(){var e=this.constructor,t=new e,a=r.get(this,"length");for(n.set(t,"length",a);--a>=0;)t[a]=this[a],t[i.guidFor(this[a])]=a;return t},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return o.fmt("Ember.Set<%@>",[r.join(",")])}})}),e("ember-runtime/system/string",["exports","ember-metal/core","ember-metal/utils","ember-metal/cache"],function(e,t,r,n){"use strict";function i(e,t){var n=t;if(!r.isArray(n)||arguments.length>2){n=new Array(arguments.length-1);for(var i=1,a=arguments.length;a>i;i++)n[i-1]=arguments[i]}var o=0;return e.replace(/%@([0-9]+)?/g,function(e,t){return t=t?parseInt(t,10)-1:o++,e=n[t],null===e?"(null)":void 0===e?"":r.inspect(e)})}function a(e,n){return(!r.isArray(n)||arguments.length>2)&&(n=Array.prototype.slice.call(arguments,1)),e=t["default"].STRINGS[e]||e,i(e,n)}function o(e){return e.split(/\s+/)}function s(e){return b.get(e)}function u(e){return p.get(e)}function l(e){return m.get(e)}function c(e){return g.get(e)}function h(e){return v.get(e)}function d(e){return y.get(e)}e.fmt=i,e.loc=a,e.w=o,e.decamelize=s,e.dasherize=u,e.camelize=l,e.classify=c,e.underscore=h,e.capitalize=d;var f=/[ _]/g,p=new n["default"](1e3,function(e){return s(e).replace(f,"-")}),m=new n["default"](1e3,function(e){return e.replace(w,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e,t,r){return e.toLowerCase()})}),g=new n["default"](1e3,function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var a=l(t[n]);r.push(a.charAt(0).toUpperCase()+a.substr(1))}return r.join(".")}),v=new n["default"](1e3,function(e){return e.replace(x,"$1_$2").replace(C,"_").toLowerCase()}),y=new n["default"](1e3,function(e){return e.charAt(0).toUpperCase()+e.substr(1)}),b=new n["default"](1e3,function(e){return e.replace(_,"$1_$2").toLowerCase()}),_=/([a-z\d])([A-Z])/g,w=/(\-|_|\.|\s)+(.)?/g,x=/([a-z\d])([A-Z]+)/g,C=/\-|\s+/g;t["default"].STRINGS={},e["default"]={fmt:i,loc:a,w:o,decamelize:s,dasherize:u,camelize:l,classify:c,underscore:h,capitalize:d}}),e("ember-runtime/system/subarray",["exports","ember-metal/error","ember-metal/enumerable_utils"],function(e,t,r){"use strict";function n(e,t){this.type=e,this.count=t}function i(e){arguments.length<1&&(e=0),this._operations=e>0?[new n(a,e)]:[]}var a="r",o="f";e["default"]=i,i.prototype={addItem:function(e,t){var r=-1,i=t?a:o,s=this;return this._findOperation(e,function(o,u,l,c,h){var d,f;i===o.type?++o.count:e===l?s._operations.splice(u,0,new n(i,1)):(d=new n(i,1),f=new n(o.type,c-e+1),o.count=e-l,s._operations.splice(u+1,0,d,f)),t&&(r=o.type===a?h+(e-l):h),s._composeAt(u)},function(e){s._operations.push(new n(i,1)),t&&(r=e),s._composeAt(s._operations.length-1)}),r},removeItem:function(e){var r=-1,n=this;return this._findOperation(e,function(t,i,o,s,u){t.type===a&&(r=u+(e-o)),t.count>1?--t.count:(n._operations.splice(i,1),n._composeAt(i))},function(){throw new t["default"]("Can't remove an item that has never been added.")}),r},_findOperation:function(e,t,r){var n,i,o,s,u,l=0;for(n=s=0,i=this._operations.length;i>n;s=u+1,++n){if(o=this._operations[n],u=s+o.count-1,e>=s&&u>=e)return void t(o,n,s,u,l);o.type===a&&(l+=o.count)}r(l)},_composeAt:function(e){var t,r=this._operations[e];r&&(e>0&&(t=this._operations[e-1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e-1,1),--e)),e<this._operations.length-1&&(t=this._operations[e+1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e+1,1))))},toString:function(){var e="";return r["default"].forEach(this._operations,function(t){e+=" "+t.type+":"+t.count}),e.substring(1)}}}),e("ember-runtime/system/tracked_array",["exports","ember-metal/property_get","ember-metal/enumerable_utils"],function(e,t,r){"use strict";function n(e){arguments.length<1&&(e=[]);var r=t.get(e,"length");this._operations=r?[new i(o,r,e)]:[]}function i(e,t,r){this.type=e,this.count=t,this.items=r}function a(e,t,r,n){this.operation=e,this.index=t,this.split=r,this.rangeStart=n}var o="r",s="i",u="d";e["default"]=n,n.RETAIN=o,n.INSERT=s,n.DELETE=u,n.prototype={addItems:function(e,r){var n=t.get(r,"length");if(!(1>n)){var a,o,u=this._findArrayOperation(e),l=u.operation,c=u.index,h=u.rangeStart;o=new i(s,n,r),l?u.split?(this._split(c,e-h,o),a=c+1):(this._operations.splice(c,0,o),a=c):(this._operations.push(o),a=c),this._composeInsert(a)}},removeItems:function(e,t){if(!(1>t)){var r,n,a=this._findArrayOperation(e),o=a.index,s=a.rangeStart;return r=new i(u,t),a.split?(this._split(o,e-s,r),n=o+1):(this._operations.splice(o,0,r),n=o),this._composeDelete(n)}},apply:function(e){var t=[],n=0;r.forEach(this._operations,function(r,i){e(r.items,n,r.type,i),r.type!==u&&(n+=r.count,t=t.concat(r.items))}),this._operations=[new i(o,t.length,t)]},_findArrayOperation:function(e){var t,r,n,i,o,s=!1;for(t=n=0,o=this._operations.length;o>t;++t)if(r=this._operations[t],r.type!==u){if(i=n+r.count-1,e===n)break;if(e>n&&i>=e){s=!0;break}n=i+1}return new a(r,t,s,n)},_split:function(e,t,r){var n=this._operations[e],a=n.items.slice(t),o=new i(n.type,a.length,a);n.count=t,n.items=n.items.slice(0,t),this._operations.splice(e+1,0,r,o)},_composeInsert:function(e){var t=this._operations[e],r=this._operations[e-1],n=this._operations[e+1],i=r&&r.type,a=n&&n.type;i===s?(r.count+=t.count,r.items=r.items.concat(t.items),a===s?(r.count+=n.count,r.items=r.items.concat(n.items),this._operations.splice(e,2)):this._operations.splice(e,1)):a===s&&(t.count+=n.count,t.items=t.items.concat(n.items),this._operations.splice(e+1,1))},_composeDelete:function(e){var t,r,n,i=this._operations[e],a=i.count,o=this._operations[e-1],l=o&&o.type,c=!1,h=[];l===u&&(i=o,e-=1);for(var d=e+1;a>0;++d)t=this._operations[d],r=t.type,n=t.count,r!==u?(n>a?(h=h.concat(t.items.splice(0,a)),t.count-=a,d-=1,n=a,a=0):(n===a&&(c=!0),h=h.concat(t.items),a-=n),r===s&&(i.count-=n)):i.count+=n;return i.count>0?this._operations.splice(e+1,d-1-e):this._operations.splice(e,c?2:1),h},toString:function(){var e="";return r.forEach(this._operations,function(t){e+=" "+t.type+":"+t.count}),e.substring(1)}}}),e("ember-template-compiler",["exports","ember-metal/core","ember-template-compiler/system/precompile","ember-template-compiler/system/compile","ember-template-compiler/system/template","ember-template-compiler/plugins","ember-template-compiler/plugins/transform-each-in-to-hash","ember-template-compiler/plugins/transform-with-as-to-hash","ember-template-compiler/compat"],function(e,t,r,n,i,a,o,s){"use strict";a.registerPlugin("ast",s["default"]),a.registerPlugin("ast",o["default"]),e._Ember=t["default"],e.precompile=r["default"],e.compile=n["default"],e.template=i["default"],e.registerPlugin=a.registerPlugin}),e("ember-template-compiler/compat",["ember-metal/core","ember-template-compiler/compat/precompile","ember-template-compiler/system/compile","ember-template-compiler/system/template"],function(e,t,r,n){"use strict";var i=e["default"].Handlebars=e["default"].Handlebars||{};i.precompile=t["default"],i.compile=r["default"],i.template=n["default"]}),e("ember-template-compiler/compat/precompile",["exports","ember-template-compiler/system/compile_options"],function(e,r){"use strict";var n,a;e["default"]=function(e){if((!n||!a)&&i.__loader.registry["htmlbars-compiler/compiler"]){var o=t("htmlbars-compiler/compiler");n=o.compile,a=o.compileSpec}if(!n||!a)throw new Error("Cannot call `precompile` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `precompile`.");var s=void 0===arguments[1]?!0:arguments[1],u=s?n:a;return u(e,r["default"]())}}),e("ember-template-compiler/plugins",["exports"],function(e){"use strict";function t(e,t){if(!r[e])throw new Error('Attempting to register "'+t+'" as "'+e+'" which is not a valid HTMLBars plugin type.');r[e].push(t)}e.registerPlugin=t;var r={ast:[]};e["default"]=r}),e("ember-template-compiler/plugins/transform-each-in-to-hash",["exports"],function(e){"use strict";function t(){this.syntax=null}t.prototype.transform=function(e){var t=this,r=new t.syntax.Walker,n=t.syntax.builders;return r.visit(e,function(e){if(t.validate(e)){if(e.program&&e.program.blockParams.length)throw new Error("You cannot use keyword (`{{each foo in bar}}`) and block params (`{{each bar as |foo|}}`) at the same time.");var r=e.sexpr.params.splice(0,2),i=r[0].original;e.sexpr.hash||(e.sexpr.hash=n.hash()),e.sexpr.hash.pairs.push(n.pair("keyword",n.string(i)))}}),e},t.prototype.validate=function(e){return("BlockStatement"===e.type||"MustacheStatement"===e.type)&&"each"===e.sexpr.path.original&&3===e.sexpr.params.length&&"PathExpression"===e.sexpr.params[1].type&&"in"===e.sexpr.params[1].original},e["default"]=t}),e("ember-template-compiler/plugins/transform-with-as-to-hash",["exports"],function(e){"use strict";function t(){this.syntax=null}t.prototype.transform=function(e){var t=this,r=new t.syntax.Walker;return r.visit(e,function(e){if(t.validate(e)){if(e.program&&e.program.blockParams.length)throw new Error("You cannot use keyword (`{{with foo as bar}}`) and block params (`{{with foo as |bar|}}`) at the same time.");var r=e.sexpr.params.splice(1,2),n=r[1].original;e.program.blockParams=[n]}}),e},t.prototype.validate=function(e){return"BlockStatement"===e.type&&"with"===e.sexpr.path.original&&3===e.sexpr.params.length&&"PathExpression"===e.sexpr.params[1].type&&"as"===e.sexpr.params[1].original},e["default"]=t}),e("ember-template-compiler/system/compile",["exports","ember-template-compiler/system/compile_options","ember-template-compiler/system/template"],function(e,r,n){"use strict";var a;e["default"]=function(e){if(!a&&i.__loader.registry["htmlbars-compiler/compiler"]&&(a=t("htmlbars-compiler/compiler").compile),!a)throw new Error("Cannot call `compile` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `compile`.");var o=a(e,r["default"]());return n["default"](o)}}),e("ember-template-compiler/system/compile_options",["exports","ember-metal/core","ember-template-compiler/plugins"],function(e,t,r){"use strict";e["default"]=function(){var e=!0;return{revision:"Ember@1.11.0",disableComponentGeneration:e,plugins:r["default"]}}}),e("ember-template-compiler/system/precompile",["exports","ember-template-compiler/system/compile_options"],function(e,r){"use strict";var n;e["default"]=function(e){if(!n&&i.__loader.registry["htmlbars-compiler/compiler"]&&(n=t("htmlbars-compiler/compiler").compileSpec),!n)throw new Error("Cannot call `compileSpec` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `compileSpec`.");return n(e,r["default"]())}}),e("ember-template-compiler/system/template",["exports"],function(e){"use strict";e["default"]=function(e){return e.isTop=!0,e.isMethod=!1,e}}),e("ember-views",["exports","ember-runtime","ember-views/system/jquery","ember-views/system/utils","ember-views/system/render_buffer","ember-views/system/renderer","dom-helper","ember-views/system/ext","ember-views/views/states","ember-views/views/core_view","ember-views/views/view","ember-views/views/container_view","ember-views/views/collection_view","ember-views/views/component","ember-views/system/event_dispatcher","ember-views/mixins/view_target_action_support","ember-views/component_lookup","ember-views/views/checkbox","ember-views/mixins/text_support","ember-views/views/text_field","ember-views/views/text_area","ember-views/views/simple_bound_view","ember-views/views/metamorph_view","ember-views/views/select"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C){
+},_disconnectOutlet:function(e,t){var r=w(this);r&&t===r.routeName&&(t=void 0);for(var n=0;n<this.connections.length;n++){var i=this.connections[n];i.outlet===e&&i.into===t&&(this.connections[n]={into:i.into,outlet:i.outlet,name:i.name},h["default"].once(this.router,"_setOutlets"))}},willDestroy:function(){this.teardownViews()},teardownViews:function(){this.connections&&this.connections.length>0&&(this.connections=[],h["default"].once(this.router,"_setOutlets"))}}),O={qps:[],map:{},states:{}};e["default"]=A}),e("ember-routing/system/router",["exports","ember-metal/core","ember-metal/error","ember-metal/property_get","ember-metal/property_set","ember-metal/properties","ember-metal/computed","ember-metal/merge","ember-metal/run_loop","ember-runtime/system/string","ember-runtime/system/object","ember-runtime/mixins/evented","ember-routing/system/dsl","ember-routing/location/api","ember-routing/utils","ember-metal/platform/create","./router_state","router","router/transition"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v){"use strict";function y(){return this}function b(e,t,r){for(var n,i,a=t.state.handlerInfos,o=!1,s=a.length-1;s>=0;--s)if(n=a[s],i=n.handler,o){if(r(i,a[s+1].handler)!==!0)return!1}else e===i&&(o=!0);return!0}function _(e,r){var n,i=[];n=e&&"object"==typeof e&&"object"==typeof e.errorThrown?e.errorThrown:e,r&&i.push(r),n&&(n.message&&i.push(n.message),n.stack&&i.push(n.stack),"string"==typeof n&&i.push(n)),t["default"].Logger.error.apply(this,i)}function w(e,t,r){var n,i=e.router,a=t.routeName.split(".").pop(),o="application"===e.routeName?"":e.routeName+".";return n=o+a+"_"+r,x(i,n)?n:(n=o+r,x(i,n)?n:void 0)}function x(e,t){var r=e.container;return e.hasRoute(t)&&(r._registry.has("template:"+t)||r._registry.has("route:"+t))}function C(e,t,n){var i=n.shift();if(!e){if(t)return;throw new r["default"]("Can't trigger action '"+i+"' because your app hasn't finished transitioning into its first route. To trigger an action on destination routes during a transition, you can call `.send()` on the `Transition` object passed to the `model/beforeModel/afterModel` hooks.")}for(var a,o,s=!1,u=e.length-1;u>=0;u--)if(a=e[u],o=a.handler,o._actions&&o._actions[i]){if(o._actions[i].apply(o,n)!==!0)return;s=!0}if(F[i])return void F[i].apply(null,n);if(!s&&!t)throw new r["default"]("Nothing handled the action '"+i+"'. If you did handle the action, this error can be caused by returning true from an action handler in a controller, causing the action to bubble.")}function E(e,t,r){for(var n=e.router,i=n.applyIntent(t,r),a=i.handlerInfos,o=i.params,s=0,u=a.length;u>s;++s){var l=a[s];l.isResolved||(l=l.becomeResolved(null,l.context)),o[l.name]=l.params}return i}function S(e){var t=e.container.lookup("controller:application");if(t){var r=e.router.currentHandlerInfos,n=D._routePath(r);"currentPath"in t||a.defineProperty(t,"currentPath"),i.set(t,"currentPath",n),"currentRouteName"in t||a.defineProperty(t,"currentRouteName"),i.set(t,"currentRouteName",r[r.length-1].name)}}function T(e,t){var r=g["default"].create({emberRouter:t,routerJs:t.router,routerJsState:e.state});t.currentState||t.set("currentState",r),t.set("targetState",r),e.then(null,function(e){return e&&e.name?e:void 0},"Ember: Process errors from Router")}function k(e){return"string"==typeof e&&(""===e||"/"===e.charAt(0))}function A(e,t,r,n){var i=e._queryParamsFor(t);for(var a in r)if(r.hasOwnProperty(a)){var o=r[a],s=i.map[a];s&&n(a,o,s)}}function O(e,t){if(e)for(var r=[e];r.length>0;){var n=r.shift();if(n.render.name===t)return n;var i=n.outlets;for(var a in i)r.push(i[a])}}function R(e,t,r){var n,a={render:r,outlets:m["default"](null)};return n=r.into?O(e,r.into):t,n?i.set(n.outlets,r.outlet,a):r.into?P(e,r.into,a):e=a,{liveRoutes:e,ownState:a}}function P(e,r,n){e.outlets.__ember_orphans__||(e.outlets.__ember_orphans__={render:{name:"__ember_orphans__"},outlets:m["default"](null)}),e.outlets.__ember_orphans__.outlets[r]=n,t["default"].run.schedule("afterRender",function(){})}function N(e,t,r){var n=O(e,r.routeName);return n?n:(t.outlets.main={render:{name:r.routeName,outlet:"main"},outlets:{}},t)}var M=[].slice,D=c["default"].extend(h["default"],{location:"hash",rootURL:"/",_initRouterJs:function(e){function r(){this.resource("application",{path:"/",overrideNameAssertion:!0},function(){for(var e=0;e<a.length;e++)a[e].call(this)})}var i=this.router=new v["default"];i.triggerEvent=C,i._triggerWillChangeContext=y,i._triggerWillLeave=y;var a=this.constructor.dslCallbacks||[y],o=new d["default"](null,{enableLoadingSubstates:!!e});r.call(o),n.get(this,"namespace.LOG_TRANSITIONS_INTERNAL")&&(i.log=t["default"].Logger.debug),i.map(o.generate())},init:function(){this._activeViews={},this._setupLocation(),this._qpCache={},this._queuedQPChanges={}},url:o.computed(function(){return n.get(this,"location").getURL()}),startRouting:function(e){var t=n.get(this,"initialURL"),r=n.get(this,"location");if(this.setupRouter(e,r)){"undefined"==typeof t&&(t=n.get(this,"location").getURL());var i=this.handleURL(t);if(i&&i.error)throw i.error}},setupRouter:function(e){this._initRouterJs(e);var t=this.router,r=n.get(this,"location"),i=this;return n.get(r,"cancelRouterSetup")?!1:(this._setupRouter(t,r),r.onUpdateURL(function(e){i.handleURL(e)}),!0)},didTransition:function(e){S(this),this._cancelSlowTransitionTimer(),this.notifyPropertyChange("url"),this.set("currentState",this.targetState),u["default"].once(this,this.trigger,"didTransition"),n.get(this,"namespace").LOG_TRANSITIONS&&t["default"].Logger.log("Transitioned into '"+D._routePath(e)+"'")},_setOutlets:function(){var e,t,r=this.router.currentHandlerInfos,n=null;if(r){for(var i=0;i<r.length;i++){e=r[i].handler;for(var a,o=e.connections,s=0;s<o.length;s++){var u=R(n,t,o[s]);n=u.liveRoutes,(u.ownState.render.name===e.routeName||"main"===u.ownState.render.outlet)&&(a=u.ownState)}0===o.length&&(a=N(n,t,e)),t=a}if(!this._toplevelView){var l=this.container.lookupFactory("view:-outlet");this._toplevelView=l.create({_isTopLevel:!0});var c=this.container.lookup("-application-instance:main");c.didCreateRootView(this._toplevelView)}this._toplevelView.setOutletState(n)}},willTransition:function(e,r,i){u["default"].once(this,this.trigger,"willTransition",i),n.get(this,"namespace").LOG_TRANSITIONS&&t["default"].Logger.log("Preparing to transition from '"+D._routePath(e)+"' to '"+D._routePath(r)+"'")},handleURL:function(e){return e=e.split(/#(.+)?/)[0],this._doURLTransition("handleURL",e)},_doURLTransition:function(e,t){var r=this.router[e](t||"/");return T(r,this),r},transitionTo:function(){var e,t=M.call(arguments);if(k(t[0]))return this._doURLTransition("transitionTo",t[0]);var r=t[t.length-1];e=r&&r.hasOwnProperty("queryParams")?t.pop().queryParams:{};var n=t.shift();return this._doTransition(n,t,e)},intermediateTransitionTo:function(){this.router.intermediateTransitionTo.apply(this.router,arguments),S(this);var e=this.router.currentHandlerInfos;n.get(this,"namespace").LOG_TRANSITIONS&&t["default"].Logger.log("Intermediate-transitioned into '"+D._routePath(e)+"'")},replaceWith:function(){return this.transitionTo.apply(this,arguments).method("replace")},generate:function(){var e=this.router.generate.apply(this.router,arguments);return this.location.formatURL(e)},isActive:function(e){var t=this.router;return t.isActive.apply(t,arguments)},isActiveIntent:function(e,t,r){return this.currentState.isActiveIntent(e,t,r)},send:function(e,t){this.router.trigger.apply(this.router,arguments)},hasRoute:function(e){return this.router.hasRoute(e)},reset:function(){this.router&&this.router.reset()},willDestroy:function(){this._toplevelView&&(this._toplevelView.destroy(),this._toplevelView=null),this._super.apply(this,arguments),this.reset()},_lookupActiveView:function(e){var t=this._activeViews[e];return t&&t[0]},_connectActiveView:function(e,t){function r(){delete this._activeViews[e]}var n=this._activeViews[e];n&&n[0].off("willDestroyElement",this,n[1]),this._activeViews[e]=[t,r],t.one("willDestroyElement",this,r)},_setupLocation:function(){var e=n.get(this,"location"),t=n.get(this,"rootURL");if(t&&this.container&&!this.container._registry.has("-location-setting:root-url")&&this.container._registry.register("-location-setting:root-url",t,{instantiate:!1}),"string"==typeof e&&this.container){var r=this.container.lookup("location:"+e);if("undefined"!=typeof r)e=i.set(this,"location",r);else{var a={implementation:e};e=i.set(this,"location",f["default"].create(a))}}null!==e&&"object"==typeof e&&(t&&"string"==typeof t&&(e.rootURL=t),"function"==typeof e.initState&&e.initState())},_getHandlerFunction:function(){var e=m["default"](null),t=this.container,r=t.lookupFactory("route:basic"),i=this;return function(a){var o="route:"+a,s=t.lookup(o);return e[a]?s:(e[a]=!0,s||(t._registry.register(o,r.extend()),s=t.lookup(o),n.get(i,"namespace.LOG_ACTIVE_GENERATION")),s.routeName=a,s)}},_setupRouter:function(e,t){var r,n=this;e.getHandler=this._getHandlerFunction();var i=function(){t.setURL(r)};if(e.updateURL=function(e){r=e,u["default"].once(i)},t.replaceURL){var a=function(){t.replaceURL(r)};e.replaceURL=function(e){r=e,u["default"].once(a)}}e.didTransition=function(e){n.didTransition(e)},e.willTransition=function(e,t,r){n.willTransition(e,t,r)}},_serializeQueryParams:function(e,t){var r={};A(this,e,t,function(e,n,i){var a=i.urlKey;r[a]||(r[a]=[]),r[a].push({qp:i,value:n}),delete t[e]});for(var n in r){var i=r[n],a=i[0].qp;t[a.urlKey]=a.route.serializeQueryParam(i[0].value,a.urlKey,a.type)}},_deserializeQueryParams:function(e,t){A(this,e,t,function(e,r,n){delete t[e],t[n.prop]=n.route.deserializeQueryParam(r,n.urlKey,n.type)})},_pruneDefaultQueryParamValues:function(e,t){var r=this._queryParamsFor(e);for(var n in t){var i=r.map[n];i&&i.sdef===t[n]&&delete t[n]}},_doTransition:function(e,t,r){var n=e||p.getActiveTargetName(this.router),i={};s["default"](i,r),this._prepareQueryParams(n,t,i);var a=p.routeArgs(n,t,i),o=this.router.transitionTo.apply(this.router,a);return T(o,this),o},_prepareQueryParams:function(e,t,r){this._hydrateUnsuppliedQueryParams(e,t,r),this._serializeQueryParams(e,r),this._pruneDefaultQueryParamValues(e,r)},_queryParamsFor:function(e){if(this._qpCache[e])return this._qpCache[e];var t={},r=[];this._qpCache[e]={map:t,qps:r};for(var i=this.router,a=i.recognizer.handlersFor(e),o=0,u=a.length;u>o;++o){var l=a[o],c=i.getHandler(l.handler),h=n.get(c,"_qp");h&&(s["default"](t,h.map),r.push.apply(r,h.qps))}return{qps:r,map:t}},_hydrateUnsuppliedQueryParams:function(e,t,r){var i=E(this,e,t),a=i.handlerInfos,o=this._bucketCache;p.stashParamNames(this,a);for(var s=0,u=a.length;u>s;++s)for(var l=a[s].handler,c=n.get(l,"_qp"),h=0,d=c.qps.length;d>h;++h){var f=c.qps[h],m=f.prop in r&&f.prop||f.fprop in r&&f.fprop;if(m)m!==f.fprop&&(r[f.fprop]=r[m],delete r[m]);else{var g=f.cProto,v=n.get(g,"_cacheMeta"),y=g._calculateCacheKey(f.ctrl,v[f.prop].parts,i.params);r[f.fprop]=o.lookup(y,f.prop,f.def)}}},_scheduleLoadingEvent:function(e,t){this._cancelSlowTransitionTimer(),this._slowTransitionTimer=u["default"].scheduleOnce("routerTransitions",this,"_handleSlowTransition",e,t)},currentState:null,targetState:null,_handleSlowTransition:function(e,t){this.router.activeTransition&&(this.set("targetState",g["default"].create({emberRouter:this,routerJs:this.router,routerJsState:this.router.activeTransition.state})),e.trigger(!0,"loading",e,t))},_cancelSlowTransitionTimer:function(){this._slowTransitionTimer&&u["default"].cancel(this._slowTransitionTimer),this._slowTransitionTimer=null}}),F={willResolveModel:function(e,t){t.router._scheduleLoadingEvent(e,t)},error:function(e,t,r){var n=r.router,i=b(r,t,function(t,r){var i=w(t,r,"error");return i?void n.intermediateTransitionTo(i,e):!0});return i&&x(r.router,"application_error")?void n.intermediateTransitionTo("application_error",e):void _(e,"Error while processing route: "+t.targetName)},loading:function(e,t){var r=t.router,n=b(t,e,function(t,n){var i=w(t,n,"loading");return i?void r.intermediateTransitionTo(i):e.pivotHandler!==t?!0:void 0});return n&&x(t.router,"application_loading")?void r.intermediateTransitionTo("application_loading"):void 0}};D.reopenClass({router:null,map:function(e){return this.dslCallbacks||(this.dslCallbacks=[],this.reopenClass({dslCallbacks:this.dslCallbacks})),this.dslCallbacks.push(e),this},_routePath:function(e){function t(e,t){for(var r=0,n=e.length;n>r;++r)if(e[r]!==t[r])return!1;return!0}for(var r,n,i,a=[],o=1,s=e.length;s>o;o++){for(r=e[o].name,n=r.split("."),i=M.call(a);i.length&&!t(i,n);)i.shift();a.push.apply(a,n.slice(i.length))}return a.join(".")}}),e["default"]=D}),e("ember-routing/system/router_state",["exports","ember-metal/core","ember-runtime/system/object","ember-metal/merge"],function(e,t,r,n){"use strict";function i(e,t){var r;for(r in e)if(e.hasOwnProperty(r)&&e[r]!==t[r])return!1;for(r in t)if(t.hasOwnProperty(r)&&e[r]!==t[r])return!1;return!0}var a=r["default"].extend({emberRouter:null,routerJs:null,routerJsState:null,isActiveIntent:function(e,r,a,o){var s=this.routerJsState;if(!this.routerJs.isActiveIntent(e,r,null,s))return!1;var u=t["default"].isEmpty(t["default"].keys(a));if(o&&!u){var l={};return n["default"](l,a),this.emberRouter._prepareQueryParams(e,r,l),i(l,s.queryParams)}return!0}});e["default"]=a}),e("ember-routing/utils",["exports","ember-metal/utils"],function(e,t){"use strict";function r(e,r,n){var i=[];return"string"===t.typeOf(e)&&i.push(""+e),i.push.apply(i,r),i.push({queryParams:n}),i}function n(e){var t=e.activeTransition?e.activeTransition.state.handlerInfos:e.state.handlerInfos;return t[t.length-1].name}function i(e,t){if(!t._namesStashed){for(var r=t[t.length-1].name,n=e.router.recognizer.handlersFor(r),i=null,a=0,o=t.length;o>a;++a){var s=t[a],u=n[a].names;u.length&&(i=s),s._names=u;var l=s.handler;l._stashNames(s,i)}t._namesStashed=!0}}e.routeArgs=r,e.getActiveTargetName=n,e.stashParamNames=i}),e("ember-runtime",["exports","ember-metal","ember-runtime/core","ember-runtime/compare","ember-runtime/copy","ember-runtime/inject","ember-runtime/system/namespace","ember-runtime/system/object","ember-runtime/system/tracked_array","ember-runtime/system/subarray","ember-runtime/system/container","ember-runtime/system/array_proxy","ember-runtime/system/object_proxy","ember-runtime/system/core_object","ember-runtime/system/each_proxy","ember-runtime/system/native_array","ember-runtime/system/set","ember-runtime/system/string","ember-runtime/system/deferred","ember-runtime/system/lazy_load","ember-runtime/mixins/array","ember-runtime/mixins/comparable","ember-runtime/mixins/copyable","ember-runtime/mixins/enumerable","ember-runtime/mixins/freezable","ember-runtime/mixins/-proxy","ember-runtime/mixins/observable","ember-runtime/mixins/action_handler","ember-runtime/mixins/deferred","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/mutable_array","ember-runtime/mixins/target_action_support","ember-runtime/mixins/evented","ember-runtime/mixins/promise_proxy","ember-runtime/mixins/sortable","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/computed/reduce_computed_macros","ember-runtime/controllers/array_controller","ember-runtime/controllers/object_controller","ember-runtime/controllers/controller","ember-runtime/mixins/controller","ember-runtime/system/service","ember-runtime/ext/rsvp","ember-runtime/ext/string","ember-runtime/ext/function"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C,E,S,T,k,A,O,R,P,N,M,D,F,j,I,L,V,z,H,B,q){"use strict";t["default"].compare=n["default"],t["default"].copy=i["default"],t["default"].isEqual=r.isEqual,t["default"].inject=a["default"],t["default"].Array=_["default"],t["default"].Comparable=w["default"],t["default"].Copyable=x["default"],t["default"].SortableMixin=D["default"],t["default"].Freezable=E.Freezable,t["default"].FROZEN_ERROR=E.FROZEN_ERROR,t["default"].DeferredMixin=A["default"],t["default"].MutableEnumerable=O["default"],t["default"].MutableArray=R["default"],t["default"].TargetActionSupport=P["default"],t["default"].Evented=N["default"],t["default"].PromiseProxyMixin=M["default"],t["default"].Observable=T["default"],t["default"].arrayComputed=F.arrayComputed,t["default"].ArrayComputedProperty=F.ArrayComputedProperty,t["default"].reduceComputed=j.reduceComputed,t["default"].ReduceComputedProperty=j.ReduceComputedProperty;var U=t["default"].computed;U.sum=I.sum,U.min=I.min,U.max=I.max,U.map=I.map,U.sort=I.sort,U.setDiff=I.setDiff,U.mapBy=I.mapBy,U.mapProperty=I.mapProperty,U.filter=I.filter,U.filterBy=I.filterBy,U.filterProperty=I.filterProperty,U.uniq=I.uniq,U.union=I.union,U.intersect=I.intersect,t["default"].String=v["default"],t["default"].Object=s["default"],t["default"].TrackedArray=u["default"],t["default"].SubArray=l["default"],t["default"].Container=c.Container,t["default"].Registry=c.Registry,t["default"].Namespace=o["default"],t["default"].Enumerable=C["default"],t["default"].ArrayProxy=h["default"],t["default"].ObjectProxy=d["default"],t["default"].ActionHandler=k["default"],t["default"].CoreObject=f["default"],t["default"].EachArray=p.EachArray,t["default"].EachProxy=p.EachProxy,t["default"].NativeArray=m["default"],t["default"].Set=g["default"],t["default"].Deferred=y["default"],t["default"].onLoad=b.onLoad,t["default"].runLoadHooks=b.runLoadHooks,t["default"].ArrayController=L["default"],t["default"].ObjectController=V["default"],t["default"].Controller=z["default"],t["default"].ControllerMixin=H["default"],t["default"].Service=B["default"],t["default"]._ProxyMixin=S["default"],t["default"].RSVP=q["default"],e["default"]=t["default"]}),e("ember-runtime/compare",["exports","ember-metal/utils","ember-runtime/mixins/comparable"],function(e,t,r){"use strict";function n(e,t){var r=e-t;return(r>0)-(0>r)}function i(e,o){if(e===o)return 0;var s=t.typeOf(e),u=t.typeOf(o);if(r["default"]){if("instance"===s&&r["default"].detect(e)&&e.constructor.compare)return e.constructor.compare(e,o);if("instance"===u&&r["default"].detect(o)&&o.constructor.compare)return-1*o.constructor.compare(o,e)}var l=n(a[s],a[u]);if(0!==l)return l;switch(s){case"boolean":case"number":return n(e,o);case"string":return n(e.localeCompare(o),0);case"array":for(var c=e.length,h=o.length,d=Math.min(c,h),f=0;d>f;f++){var p=i(e[f],o[f]);if(0!==p)return p}return n(c,h);case"instance":return r["default"]&&r["default"].detect(e)?e.compare(e,o):0;case"date":return n(e.getTime(),o.getTime());default:return 0}}var a={undefined:0,"null":1,"boolean":2,number:3,string:4,array:5,object:6,instance:7,"function":8,"class":9,date:10};e["default"]=i}),e("ember-runtime/computed/array_computed",["exports","ember-metal/core","ember-runtime/computed/reduce_computed","ember-metal/enumerable_utils","ember-metal/platform/create","ember-metal/observer","ember-metal/error"],function(e,t,r,n,i,a,o){"use strict";function s(){var e=this;return r.ReduceComputedProperty.apply(this,arguments),this._getter=function(t){return function(r){return e._hasInstanceMeta(this,r)||n.forEach(e._dependentKeys,function(t){a.addObserver(this,t,function(){e.recomputeOnce.call(this,r)})},this),t.apply(this,arguments)}}(this._getter),this}function u(e){var t;if(arguments.length>1&&(t=l.call(arguments,0,-1),e=l.call(arguments,-1)[0]),"object"!=typeof e)throw new o["default"]("Array Computed Property declared without an options hash");var r=new s(e);return t&&r.property.apply(r,t),r}e.arrayComputed=u,e.ArrayComputedProperty=s;var l=[].slice;s.prototype=i["default"](r.ReduceComputedProperty.prototype),s.prototype.initialValue=function(){return t["default"].A()},s.prototype.resetValue=function(e){return e.clear(),e},s.prototype.didChange=function(e,t){}}),e("ember-runtime/computed/reduce_computed",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/property_events","ember-metal/expand_properties","ember-metal/observer","ember-metal/computed","ember-metal/platform/create","ember-metal/enumerable_utils","ember-runtime/system/tracked_array","ember-runtime/mixins/array","ember-metal/run_loop"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f){"use strict";function p(e,t){return"@this"===t?e:r.get(e,t)}function m(e,t,r,n,i,a){this.callbacks=e,this.cp=t,this.instanceMeta=r,this.dependentKeysByGuid={},this.trackedArraysByGuid={},this.suspended=!1,this.changedItems={},this.changedItemCount=0}function g(e,t,r){this.dependentArray=e,this.index=t,this.item=e.objectAt(t),this.trackedArray=r,this.beforeObserver=null,this.observer=null,this.destroyed=!1}function v(e,t,r){return 0>e?Math.max(0,t+e):t>e?e:Math.min(t-r,e)}function y(e,t,r){return Math.min(r,t-e)}function b(e,t,r,n,i,a,o){this.arrayChanged=e,this.index=r,this.item=t,this.propertyName=n,this.property=i,this.changedCount=a,o&&(this.previousValues=o)}function _(e,t,r,n,i){c.forEach(e,function(a,o){i.setValue(t.addedItem.call(this,i.getValue(),a,new b(e,a,o,n,r,e.length),i.sugarMeta))},this),t.flushedChanges.call(this,i.getValue(),i.sugarMeta)}function w(e,t){var r=e._hasInstanceMeta(this,t),n=e._instanceMeta(this,t);r&&n.setValue(e.resetValue(n.getValue())),e.options.initialize&&e.options.initialize.call(this,n.getValue(),{property:e,propertyName:t},n.sugarMeta)}function x(e,t){if(M.test(t))return!1;var r=p(e,t);return d["default"].detect(r)}function C(e,t,r){this.context=e,this.propertyName=t;var i=n.meta(e),a=i.cache;a||(a=i.cache={}),this.cache=a,this.dependentArrays={},this.sugarMeta={},this.initialValue=r}function E(e){var t=this;this.options=e,this._dependentKeys=null,this._cacheable=!0,this._itemPropertyKeys={},this._previousItemPropertyKeys={},this.readOnly(),this.recomputeOnce=function(e){f["default"].once(this,r,e)};var r=function(e){var r=t._instanceMeta(this,e),n=t._callbacks();w.call(this,t,e),r.dependentArraysObserver.suspendArrayObservers(function(){c.forEach(t._dependentKeys,function(e){if(x(this,e)){var n=p(this,e),i=r.dependentArrays[e];n===i?t._previousItemPropertyKeys[e]&&(delete t._previousItemPropertyKeys[e],r.dependentArraysObserver.setupPropertyObservers(e,t._itemPropertyKeys[e])):(r.dependentArrays[e]=n,i&&r.dependentArraysObserver.teardownObservers(i,e),n&&r.dependentArraysObserver.setupObservers(n,e))}},this)},this),c.forEach(t._dependentKeys,function(i){if(x(this,i)){var a=p(this,i);a&&_.call(this,a,n,t,e,r)}},this)};this._getter=function(e){return r.call(this,e),t._instanceMeta(this,e).getValue()}}function S(e){return e}function T(e){var t;if(arguments.length>1&&(t=R.call(arguments,0,-1),e=R.call(arguments,-1)[0]),"object"!=typeof e)throw new i["default"]("Reduce Computed Property declared without an options hash");if(!("initialValue"in e))throw new i["default"]("Reduce Computed Property declared without an initial value");var r=new E(e);return t&&r.property.apply(r,t),r}e.ReduceComputedProperty=E,e.reduceComputed=T;var k=u.cacheFor.set,A=u.cacheFor.get,O=u.cacheFor.remove,R=[].slice,P=/^(.*)\.@each\.(.*)/,N=/(.*\.@each){2,}/,M=/\.\[\]$/;m.prototype={setValue:function(e){this.instanceMeta.setValue(e,!0)},getValue:function(){return this.instanceMeta.getValue()},setupObservers:function(e,t){this.dependentKeysByGuid[n.guidFor(e)]=t,e.addArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"}),this.cp._itemPropertyKeys[t]&&this.setupPropertyObservers(t,this.cp._itemPropertyKeys[t])},teardownObservers:function(e,t){var r=this.cp._itemPropertyKeys[t]||[];delete this.dependentKeysByGuid[n.guidFor(e)],this.teardownPropertyObservers(t,r),e.removeArrayObserver(this,{willChange:"dependentArrayWillChange",didChange:"dependentArrayDidChange"})},suspendArrayObservers:function(e,t){var r=this.suspended;this.suspended=!0,e.call(t),this.suspended=r},setupPropertyObservers:function(e,t){var r=p(this.instanceMeta.context,e),n=p(r,"length"),i=new Array(n);this.resetTransformations(e,i),c.forEach(r,function(n,a){var o=this.createPropertyObserverContext(r,a,this.trackedArraysByGuid[e]);i[a]=o,c.forEach(t,function(e){s.addBeforeObserver(n,e,this,o.beforeObserver),s.addObserver(n,e,this,o.observer)},this)},this)},teardownPropertyObservers:function(e,t){var r,n,i,a=this,o=this.trackedArraysByGuid[e];o&&o.apply(function(e,o,u){u!==h["default"].DELETE&&c.forEach(e,function(e){e.destroyed=!0,r=e.beforeObserver,n=e.observer,i=e.item,c.forEach(t,function(e){s.removeBeforeObserver(i,e,a,r),s.removeObserver(i,e,a,n)})})})},createPropertyObserverContext:function(e,t,r){var n=new g(e,t,r);return this.createPropertyObserver(n),n},createPropertyObserver:function(e){var t=this;e.beforeObserver=function(r,n){return t.itemPropertyWillChange(r,n,e.dependentArray,e)},e.observer=function(r,n){return t.itemPropertyDidChange(r,n,e.dependentArray,e)}},resetTransformations:function(e,t){this.trackedArraysByGuid[e]=new h["default"](t)},trackAdd:function(e,t,r){var n=this.trackedArraysByGuid[e];n&&n.addItems(t,r)},trackRemove:function(e,t,r){var n=this.trackedArraysByGuid[e];return n?n.removeItems(t,r):[]},updateIndexes:function(e,t){var r=p(t,"length");e.apply(function(e,t,n,i){n!==h["default"].DELETE&&(0!==i||n!==h["default"].RETAIN||e.length!==r||0!==t)&&c.forEach(e,function(e,r){e.index=r+t})})},dependentArrayWillChange:function(e,t,r,i){function a(e){d[h].destroyed=!0,s.removeBeforeObserver(u,e,this,d[h].beforeObserver),s.removeObserver(u,e,this,d[h].observer)}if(!this.suspended){var o,u,l,h,d,f=this.callbacks.removedItem,m=n.guidFor(e),g=this.dependentKeysByGuid[m],_=this.cp._itemPropertyKeys[g]||[],w=p(e,"length"),x=v(t,w,0),C=y(x,w,r);for(d=this.trackRemove(g,x,C),h=C-1;h>=0&&(l=x+h,!(l>=w));--h)u=e.objectAt(l),c.forEach(_,a,this),o=new b(e,u,l,this.instanceMeta.propertyName,this.cp,C),this.setValue(f.call(this.instanceMeta.context,this.getValue(),u,o,this.instanceMeta.sugarMeta));this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta)}},dependentArrayDidChange:function(e,t,r,i){if(!this.suspended){var a,o,u=this.callbacks.addedItem,l=n.guidFor(e),h=this.dependentKeysByGuid[l],d=new Array(i),f=this.cp._itemPropertyKeys[h],m=p(e,"length"),g=v(t,m,i),y=g+i;c.forEach(e.slice(g,y),function(t,r){f&&(o=this.createPropertyObserverContext(e,g+r,this.trackedArraysByGuid[h]),d[r]=o,c.forEach(f,function(e){s.addBeforeObserver(t,e,this,o.beforeObserver),s.addObserver(t,e,this,o.observer)},this)),a=new b(e,t,g+r,this.instanceMeta.propertyName,this.cp,i),this.setValue(u.call(this.instanceMeta.context,this.getValue(),t,a,this.instanceMeta.sugarMeta))},this),this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta),this.trackAdd(h,g,d)}},itemPropertyWillChange:function(e,t,r,i){var a=n.guidFor(e);this.changedItems[a]||(this.changedItems[a]={array:r,observerContext:i,obj:e,previousValues:{}}),++this.changedItemCount,this.changedItems[a].previousValues[t]=p(e,t)},itemPropertyDidChange:function(e,t,r,n){0===--this.changedItemCount&&this.flushChanges()},flushChanges:function(){var e,t,r,n=this.changedItems;for(e in n)t=n[e],t.observerContext.destroyed||(this.updateIndexes(t.observerContext.trackedArray,t.observerContext.dependentArray),r=new b(t.array,t.obj,t.observerContext.index,this.instanceMeta.propertyName,this.cp,n.length,t.previousValues),this.setValue(this.callbacks.removedItem.call(this.instanceMeta.context,this.getValue(),t.obj,r,this.instanceMeta.sugarMeta)),this.setValue(this.callbacks.addedItem.call(this.instanceMeta.context,this.getValue(),t.obj,r,this.instanceMeta.sugarMeta)));this.changedItems={},this.callbacks.flushedChanges.call(this.instanceMeta.context,this.getValue(),this.instanceMeta.sugarMeta)}},C.prototype={getValue:function(){var e=A(this.cache,this.propertyName);return void 0!==e?e:this.initialValue},setValue:function(e,t){e!==A(this.cache,this.propertyName)&&(t&&a.propertyWillChange(this.context,this.propertyName),void 0===e?O(this.cache,this.propertyName):k(this.cache,this.propertyName,e),t&&a.propertyDidChange(this.context,this.propertyName))}},E.prototype=l["default"](u.ComputedProperty.prototype),E.prototype._callbacks=function(){if(!this.callbacks){var e=this.options;this.callbacks={removedItem:e.removedItem||S,addedItem:e.addedItem||S,flushedChanges:e.flushedChanges||S}}return this.callbacks},E.prototype._hasInstanceMeta=function(e,t){var r=e.__ember_meta__,n=r&&r.cacheMeta;return!(!n||!n[t])},E.prototype._instanceMeta=function(e,t){var r=e.__ember_meta__,n=r.cacheMeta,i=n&&n[t];return n||(n=r.cacheMeta={}),i||(i=n[t]=new C(e,t,this.initialValue()),i.dependentArraysObserver=new m(this._callbacks(),this,i,e,t,i.sugarMeta)),i},E.prototype.initialValue=function(){return"function"==typeof this.options.initialValue?this.options.initialValue():this.options.initialValue},E.prototype.resetValue=function(e){return this.initialValue()},E.prototype.itemPropertyKey=function(e,t){this._itemPropertyKeys[e]=this._itemPropertyKeys[e]||[],this._itemPropertyKeys[e].push(t)},E.prototype.clearItemPropertyKeys=function(e){this._itemPropertyKeys[e]&&(this._previousItemPropertyKeys[e]=this._itemPropertyKeys[e],this._itemPropertyKeys[e]=[])},E.prototype.property=function(){var e,t,r=this,a=R.call(arguments),s={};c.forEach(a,function(a){if(N.test(a))throw new i["default"]("Nested @each properties not supported: "+a);if(e=P.exec(a)){t=e[1];var u=e[2],l=function(e){r.itemPropertyKey(t,e)};o["default"](u,l),s[n.guidFor(t)]=t}else s[n.guidFor(a)]=a});var l=[];for(var h in s)l.push(s[h]);return u.ComputedProperty.prototype.property.apply(this,l)}}),e("ember-runtime/computed/reduce_computed_macros",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/enumerable_utils","ember-metal/run_loop","ember-metal/observer","ember-runtime/computed/array_computed","ember-runtime/computed/reduce_computed","ember-runtime/system/subarray","ember-metal/keys","ember-runtime/compare"],function(e,t,r,n,i,a,o,s,u,l,c,h,d){"use strict";function f(e){return l.reduceComputed(e,{initialValue:0,addedItem:function(e,t,r,n){return e+t},removedItem:function(e,t,r,n){return e-t}})}function p(e){return l.reduceComputed(e,{initialValue:-(1/0),addedItem:function(e,t,r,n){return Math.max(e,t)},removedItem:function(e,t,r,n){return e>t?e:void 0}})}function m(e){return l.reduceComputed(e,{initialValue:1/0,addedItem:function(e,t,r,n){return Math.min(e,t)},removedItem:function(e,t,r,n){return t>e?e:void 0}})}function g(e,t){var r={addedItem:function(e,r,n,i){var a=t.call(this,r,n.index);return e.insertAt(n.index,a),e},removedItem:function(e,t,r,n){return e.removeAt(r.index,1),e}};return u.arrayComputed(e,r)}function v(e,t){var n=function(e){return r.get(e,t)};return g(e+".@each."+t,n)}function y(e,t){var r={initialize:function(e,t,r){r.filteredArrayIndexes=new c["default"]},addedItem:function(e,r,n,i){var a=!!t.call(this,r,n.index,n.arrayChanged),o=i.filteredArrayIndexes.addItem(n.index,a);return a&&e.insertAt(o,r),e},removedItem:function(e,t,r,n){var i=n.filteredArrayIndexes.removeItem(r.index);return i>-1&&e.removeAt(i),e}};return u.arrayComputed(e,r)}function b(e,t,n){var i;return i=2===arguments.length?function(e){return r.get(e,t)}:function(e){return r.get(e,t)===n},y(e+".@each."+t,i)}function _(){var e=A.call(arguments);return e.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(e,t,r,i){var a=n.guidFor(t);return i.itemCounts[a]?++i.itemCounts[a]:(i.itemCounts[a]=1,e.pushObject(t)),e},removedItem:function(e,t,r,i){var a=n.guidFor(t),o=i.itemCounts;return 0===--o[a]&&e.removeObject(t),e}}),u.arrayComputed.apply(null,e)}function w(){var e=A.call(arguments);return e.push({initialize:function(e,t,r){r.itemCounts={}},addedItem:function(e,t,r,i){var a=n.guidFor(t),o=n.guidFor(r.arrayChanged),s=r.property._dependentKeys.length,u=i.itemCounts;return u[a]||(u[a]={}),void 0===u[a][o]&&(u[a][o]=0),1===++u[a][o]&&s===h["default"](u[a]).length&&e.addObject(t),e},removedItem:function(e,t,r,i){var a,o=n.guidFor(t),s=n.guidFor(r.arrayChanged),u=i.itemCounts;return void 0===u[o][s]&&(u[o][s]=0),
+0===--u[o][s]&&(delete u[o][s],a=h["default"](u[o]).length,0===a&&delete u[o],e.removeObject(t)),e}}),u.arrayComputed.apply(null,e)}function x(e,t){if(2!==arguments.length)throw new i["default"]("setDiff requires exactly two dependent arrays.");return u.arrayComputed(e,t,{addedItem:function(n,i,a,o){var s=r.get(this,e),u=r.get(this,t);return a.arrayChanged===s?u.contains(i)||n.addObject(i):n.removeObject(i),n},removedItem:function(n,i,a,o){var s=r.get(this,e),u=r.get(this,t);return a.arrayChanged===u?s.contains(i)&&n.addObject(i):n.removeObject(i),n}})}function C(e,t,i,a){var o,s,u,l,c;return arguments.length<4&&(a=r.get(e,"length")),arguments.length<3&&(i=0),i===a?i:(o=i+Math.floor((a-i)/2),s=e.objectAt(o),l=n.guidFor(s),c=n.guidFor(t),l===c?o:(u=this.order(s,t),0===u&&(u=c>l?-1:1),0>u?this.binarySearch(e,t,o+1,a):u>0?this.binarySearch(e,t,i,o):o))}function E(e,t){return"function"==typeof t?S(e,t):T(e,t)}function S(e,t){return u.arrayComputed(e,{initialize:function(e,r,n){n.order=t,n.binarySearch=C,n.waitingInsertions=[],n.insertWaiting=function(){var t,r,i=n.waitingInsertions;n.waitingInsertions=[];for(var a=0;a<i.length;a++)r=i[a],t=n.binarySearch(e,r),e.insertAt(t,r)},n.insertLater=function(e){this.waitingInsertions.push(e)}},addedItem:function(e,t,r,n){return n.insertLater(t),e},removedItem:function(e,t,r,n){return e.removeObject(t),e},flushedChanges:function(e,t){t.insertWaiting()}})}function T(e,t){return u.arrayComputed(e,{initialize:function(n,i,u){function l(){var n,o,s,l=r.get(this,t),h=u.sortProperties=[],d=u.sortPropertyAscending={};i.property.clearItemPropertyKeys(e),a.forEach(l,function(t){-1!==(o=t.indexOf(":"))?(n=t.substring(0,o),s="desc"!==t.substring(o+1).toLowerCase()):(n=t,s=!0),h.push(n),d[n]=s,i.property.itemPropertyKey(e,n)}),l.addObserver("@each",this,c)}function c(){o["default"].once(this,h,i.propertyName)}function h(e){l.call(this),i.property.recomputeOnce.call(this,e)}s.addObserver(this,t,c),l.call(this),u.order=function(e,t){for(var r,n,i,a=this.keyFor(e),o=this.keyFor(t),s=0;s<this.sortProperties.length;++s)if(r=this.sortProperties[s],n=d["default"](a[r],o[r]),0!==n)return i=this.sortPropertyAscending[r],i?n:-1*n;return 0},u.binarySearch=C,k(u)},addedItem:function(e,t,r,n){var i=n.binarySearch(e,t);return e.insertAt(i,t),e},removedItem:function(e,t,r,n){var i=n.binarySearch(e,t);return e.removeAt(i),n.dropKeyFor(t),e}})}function k(e){e.keyFor=function(e){var t=n.guidFor(e);if(this.keyCache[t])return this.keyCache[t];for(var i,a={},o=0;o<this.sortProperties.length;++o)i=this.sortProperties[o],a[i]=r.get(e,i);return this.keyCache[t]=a},e.dropKeyFor=function(e){var t=n.guidFor(e);this.keyCache[t]=null},e.keyCache={}}e.sum=f,e.max=p,e.min=m,e.map=g,e.mapBy=v,e.filter=y,e.filterBy=b,e.uniq=_,e.intersect=w,e.setDiff=x,e.sort=E;var A=[].slice,O=v,R=b,P=_;e.mapProperty=O,e.filterProperty=R,e.union=P}),e("ember-runtime/controllers/array_controller",["exports","ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-runtime/system/array_proxy","ember-runtime/mixins/sortable","ember-runtime/mixins/controller","ember-metal/computed","ember-metal/error","ember-runtime/mixins/array"],function(e,t,r,n,i,a,o,s,u,l){"use strict";e["default"]=i["default"].extend(o["default"],a["default"],{itemController:null,lookupItemController:function(e){return r.get(this,"itemController")},objectAtContent:function(e){var t,n=r.get(this,"length"),i=r.get(this,"arrangedContent"),a=i&&i.objectAt(e);return e>=0&&n>e&&(t=this.lookupItemController(a))?this.controllerAt(e,a,t):a},arrangedContentDidChange:function(){this._super.apply(this,arguments),this._resetSubControllers()},arrayContentDidChange:function(e,t,r){var i=this._subControllers;if(i.length){var a=i.slice(e,e+t);n.forEach(a,function(e){e&&e.destroy()}),n.replace(i,e,t,new Array(r))}this._super(e,t,r)},init:function(){this._super.apply(this,arguments),this._subControllers=[]},model:s.computed(function(e,r){return arguments.length>1?r:t["default"].A()}),_isVirtual:!1,controllerAt:function(e,t,n){var i,a,o,s=r.get(this,"container"),l=this._subControllers;if(l.length>e&&(a=l[e]))return a;if(o=this._isVirtual?r.get(this,"parentController"):this,i="controller:"+n,!s._registry.has(i))throw new u["default"]('Could not resolve itemController: "'+n+'"');return a=s.lookupFactory(i).create({target:o,parentController:o,model:t}),l[e]=a,a},_subControllers:null,_resetSubControllers:function(){var e,t=this._subControllers;if(t.length){for(var r=0,n=t.length;n>r;r++)e=t[r],e&&e.destroy();t.length=0}},willDestroy:function(){this._resetSubControllers(),this._super.apply(this,arguments)}})}),e("ember-runtime/controllers/controller",["exports","ember-metal/core","ember-runtime/system/object","ember-runtime/mixins/controller","ember-runtime/inject"],function(e,t,r,n,i){"use strict";function a(e){}var o=r["default"].extend(n["default"]);i.createInjectionHelper("controller",a),e["default"]=o}),e("ember-runtime/controllers/object_controller",["exports","ember-metal/core","ember-runtime/mixins/controller","ember-runtime/system/object_proxy"],function(e,t,r,n){"use strict";var i="Ember.ObjectController is deprecated, please use Ember.Controller and use `model.propertyName`.";e["default"]=n["default"].extend(r["default"],{init:function(){this._super()}}),e.objectControllerDeprecation=i}),e("ember-runtime/copy",["exports","ember-metal/enumerable_utils","ember-metal/utils","ember-runtime/system/object","ember-runtime/mixins/copyable"],function(e,t,r,n,i){"use strict";function a(e,n,o,s){var u,l,c;if("object"!=typeof e||null===e)return e;if(n&&(l=t.indexOf(o,e))>=0)return s[l];if("array"===r.typeOf(e)){if(u=e.slice(),n)for(l=u.length;--l>=0;)u[l]=a(u[l],n,o,s)}else if(i["default"]&&i["default"].detect(e))u=e.copy(n,o,s);else if(e instanceof Date)u=new Date(e.getTime());else{u={};for(c in e)Object.prototype.hasOwnProperty.call(e,c)&&"__"!==c.substring(0,2)&&(u[c]=n?a(e[c],n,o,s):e[c])}return n&&(o.push(e),s.push(u)),u}function o(e,t){return"object"!=typeof e||null===e?e:i["default"]&&i["default"].detect(e)?e.copy(t):a(e,t,t?[]:null,t?[]:null)}e["default"]=o}),e("ember-runtime/core",["exports"],function(e){"use strict";function t(e,t){return e&&"function"==typeof e.isEqual?e.isEqual(t):e instanceof Date&&t instanceof Date?e.getTime()===t.getTime():e===t}e.isEqual=t}),e("ember-runtime/ext/function",["ember-metal/core","ember-metal/expand_properties","ember-metal/computed","ember-metal/mixin"],function(e,t,r,n){"use strict";var i=Array.prototype.slice,a=Function.prototype;(e["default"].EXTEND_PROTOTYPES===!0||e["default"].EXTEND_PROTOTYPES.Function)&&(a.property=function(){var e=r.computed(this);return e.property.apply(e,arguments)},a.observes=function(){for(var e=arguments.length,t=new Array(e),r=0;e>r;r++)t[r]=arguments[r];return n.observer.apply(this,t.concat(this))},a.observesImmediately=function(){return this.observes.apply(this,arguments)},a.observesBefore=function(){for(var e=[],r=function(t){e.push(t)},n=0,i=arguments.length;i>n;++n)t["default"](arguments[n],r);return this.__ember_observesBefore__=e,this},a.on=function(){var e=i.call(arguments);return this.__ember_listens__=e,this})}),e("ember-runtime/ext/rsvp",["exports","ember-metal/core","ember-metal/logger","ember-metal/run_loop","rsvp"],function(e,r,n,i,a){"use strict";function o(e){var i;if(e&&e.errorThrown?(i=e.errorThrown,"string"==typeof i&&(i=new Error(i)),i.__reason_with_error_thrown__=e):i=e,i&&"TransitionAborted"!==i.name)if(r["default"].testing){if(!s&&r["default"].__loader.registry[u]&&(s=t(u)["default"]),!s||!s.adapter)throw i;s.adapter.exception(i),n["default"].error(i.stack)}else r["default"].onerror?r["default"].onerror(i):n["default"].error(i.stack)}e.onerrorDefault=o;var s,u="ember-testing/test",l=function(){r["default"].Test&&r["default"].Test.adapter&&r["default"].Test.adapter.asyncStart()},c=function(){r["default"].Test&&r["default"].Test.adapter&&r["default"].Test.adapter.asyncEnd()};a.configure("async",function(e,t){var n=!i["default"].currentRunLoop;r["default"].testing&&n&&l(),i["default"].backburner.schedule("actions",function(){r["default"].testing&&n&&c(),e(t)})}),a.Promise.prototype.fail=function(e,t){return this["catch"](e,t)},a.on("error",o),e["default"]=a}),e("ember-runtime/ext/string",["ember-metal/core","ember-runtime/system/string"],function(e,t){"use strict";var r=String.prototype;(e["default"].EXTEND_PROTOTYPES===!0||e["default"].EXTEND_PROTOTYPES.String)&&(r.fmt=function(){return t.fmt(this,arguments)},r.w=function(){return t.w(this)},r.loc=function(){return t.loc(this,arguments)},r.camelize=function(){return t.camelize(this)},r.decamelize=function(){return t.decamelize(this)},r.dasherize=function(){return t.dasherize(this)},r.underscore=function(){return t.underscore(this)},r.classify=function(){return t.classify(this)},r.capitalize=function(){return t.capitalize(this)})}),e("ember-runtime/inject",["exports","ember-metal/core","ember-metal/enumerable_utils","ember-metal/injected_property","ember-metal/keys"],function(e,t,r,n,i){"use strict";function a(){}function o(e,t){u[e]=t,a[e]=function(t){return new n["default"](e,t)}}function s(e){var t,i,a,o,s,l=e.proto(),c=[];for(t in l)i=l[t],i instanceof n["default"]&&-1===r.indexOf(c,i.type)&&c.push(i.type);if(c.length)for(o=0,s=c.length;s>o;o++)a=u[c[o]],"function"==typeof a&&a(e);return!0}e.createInjectionHelper=o,e.validatePropertyInjections=s;var u={};e["default"]=a}),e("ember-runtime/mixins/-proxy",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/observer","ember-metal/property_events","ember-metal/computed","ember-metal/properties","ember-metal/mixin","ember-runtime/system/string"],function(e,t,r,n,i,a,o,s,u,l,c){"use strict";function h(e,t){var r=t.slice(8);r in this||o.propertyWillChange(this,r)}function d(e,t){var r=t.slice(8);r in this||o.propertyDidChange(this,r)}e["default"]=l.Mixin.create({content:null,_contentDidChange:l.observer("content",function(){}),isTruthy:s.computed.bool("content"),_debugContainerKey:null,willWatchProperty:function(e){var t="content."+e;a.addBeforeObserver(this,t,null,h),a.addObserver(this,t,null,d)},didUnwatchProperty:function(e){var t="content."+e;a.removeBeforeObserver(this,t,null,h),a.removeObserver(this,t,null,d)},unknownProperty:function(e){var t=r.get(this,"content");return t?r.get(t,e):void 0},setUnknownProperty:function(e,t){var a=i.meta(this);if(a.proto===this)return u.defineProperty(this,e,null,t),t;var o=r.get(this,"content");return n.set(o,e,t)}})}),e("ember-runtime/mixins/action_handler",["exports","ember-metal/merge","ember-metal/mixin","ember-metal/property_get","ember-metal/utils"],function(e,t,r,n,i){"use strict";var a=r.Mixin.create({mergedProperties:["_actions"],willMergeMixin:function(e){var r;e._actions||("object"===i.typeOf(e.actions)?r="actions":"object"===i.typeOf(e.events)&&(r="events"),r&&(e._actions=t["default"](e._actions||{},e[r])),delete e[r])},send:function(e){var t,r=[].slice.call(arguments,1);if(this._actions&&this._actions[e]){var i=this._actions[e].apply(this,r)===!0;if(!i)return}(t=n.get(this,"target"))&&t.send.apply(t,arguments)}});e["default"]=a}),e("ember-runtime/mixins/array",["exports","ember-metal/core","ember-metal/property_get","ember-metal/computed","ember-metal/is_none","ember-runtime/mixins/enumerable","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/property_events","ember-metal/events","ember-metal/watching"],function(e,r,n,i,a,o,s,u,l,c,h){"use strict";function d(e,t,r,i,a){var o=r&&r.willChange||"arrayWillChange",s=r&&r.didChange||"arrayDidChange",u=n.get(e,"hasArrayObservers");return u===a&&l.propertyWillChange(e,"hasArrayObservers"),i(e,"@array:before",t,o),i(e,"@array:change",t,s),u===a&&l.propertyDidChange(e,"hasArrayObservers"),e}e["default"]=u.Mixin.create(o["default"],{length:u.required(),objectAt:function(e){return 0>e||e>=n.get(this,"length")?void 0:n.get(this,e)},objectsAt:function(e){var t=this;return s.map(e,function(e){return t.objectAt(e)})},nextObject:function(e){return this.objectAt(e)},"[]":i.computed(function(e,t){return void 0!==t&&this.replace(0,n.get(this,"length"),t),this}),firstObject:i.computed(function(){return this.objectAt(0)}),lastObject:i.computed(function(){return this.objectAt(n.get(this,"length")-1)}),contains:function(e){return this.indexOf(e)>=0},slice:function(e,t){var i=r["default"].A(),o=n.get(this,"length");for(a["default"](e)&&(e=0),(a["default"](t)||t>o)&&(t=o),0>e&&(e=o+e),0>t&&(t=o+t);t>e;)i[i.length]=this.objectAt(e++);return i},indexOf:function(e,t){var r,i=n.get(this,"length");for(void 0===t&&(t=0),0>t&&(t+=i),r=t;i>r;r++)if(this.objectAt(r)===e)return r;return-1},lastIndexOf:function(e,t){var r,i=n.get(this,"length");for((void 0===t||t>=i)&&(t=i-1),0>t&&(t+=i),r=t;r>=0;r--)if(this.objectAt(r)===e)return r;return-1},addArrayObserver:function(e,t){return d(this,e,t,c.addListener,!1)},removeArrayObserver:function(e,t){return d(this,e,t,c.removeListener,!0)},hasArrayObservers:i.computed(function(){return c.hasListeners(this,"@array:change")||c.hasListeners(this,"@array:before")}),arrayContentWillChange:function(e,t,r){var i,a;if(void 0===e?(e=0,t=r=-1):(void 0===t&&(t=-1),void 0===r&&(r=-1)),h.isWatching(this,"@each")&&n.get(this,"@each"),c.sendEvent(this,"@array:before",[this,e,t,r]),e>=0&&t>=0&&n.get(this,"hasEnumerableObservers")){i=[],a=e+t;for(var o=e;a>o;o++)i.push(this.objectAt(o))}else i=t;return this.enumerableContentWillChange(i,r),this},arrayContentDidChange:function(e,t,r){var a,o;if(void 0===e?(e=0,t=r=-1):(void 0===t&&(t=-1),void 0===r&&(r=-1)),e>=0&&r>=0&&n.get(this,"hasEnumerableObservers")){a=[],o=e+r;for(var s=e;o>s;s++)a.push(this.objectAt(s))}else a=r;this.enumerableContentDidChange(t,a),c.sendEvent(this,"@array:change",[this,e,t,r]);var u=n.get(this,"length"),h=i.cacheFor(this,"firstObject"),d=i.cacheFor(this,"lastObject");return this.objectAt(0)!==h&&(l.propertyWillChange(this,"firstObject"),l.propertyDidChange(this,"firstObject")),this.objectAt(u-1)!==d&&(l.propertyWillChange(this,"lastObject"),l.propertyDidChange(this,"lastObject")),this},"@each":i.computed(function(){if(!this.__each){var e=t("ember-runtime/system/each_proxy").EachProxy;this.__each=new e(this)}return this.__each})})}),e("ember-runtime/mixins/comparable",["exports","ember-metal/mixin"],function(e,t){"use strict";e["default"]=t.Mixin.create({compare:t.required(Function)})}),e("ember-runtime/mixins/controller",["exports","ember-metal/mixin","ember-metal/alias","ember-runtime/mixins/action_handler","ember-runtime/mixins/controller_content_model_alias_deprecation"],function(e,t,r,n,i){"use strict";e["default"]=t.Mixin.create(n["default"],i["default"],{isController:!0,target:null,container:null,parentController:null,store:null,model:null,content:r["default"]("model")})}),e("ember-runtime/mixins/controller_content_model_alias_deprecation",["exports","ember-metal/core","ember-metal/mixin"],function(e,t,r){"use strict";e["default"]=r.Mixin.create({willMergeMixin:function(e){this._super.apply(this,arguments);var t=!!e.model;e.content&&!t&&(e.model=e.content,delete e.content)}})}),e("ember-runtime/mixins/copyable",["exports","ember-metal/property_get","ember-metal/mixin","ember-runtime/mixins/freezable","ember-runtime/system/string","ember-metal/error"],function(e,t,r,n,i,a){"use strict";e["default"]=r.Mixin.create({copy:r.required(Function),frozenCopy:function(){if(n.Freezable&&n.Freezable.detect(this))return t.get(this,"isFrozen")?this:this.copy().freeze();throw new a["default"](i.fmt("%@ does not support freezing",[this]))}})}),e("ember-runtime/mixins/deferred",["exports","ember-metal/core","ember-metal/property_get","ember-metal/mixin","ember-metal/computed","ember-runtime/ext/rsvp"],function(e,t,r,n,i,a){"use strict";e["default"]=n.Mixin.create({then:function(e,t,n){function i(t){return e(t===o?s:t)}var a,o,s;return s=this,a=r.get(this,"_deferred"),o=a.promise,o.then(e&&i,t,n)},resolve:function(e){var t,n;t=r.get(this,"_deferred"),n=t.promise,t.resolve(e===this?n:e)},reject:function(e){r.get(this,"_deferred").reject(e)},_deferred:i.computed(function(){return a["default"].defer("Ember: DeferredMixin - "+this)})})}),e("ember-runtime/mixins/enumerable",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/property_events","ember-metal/events","ember-runtime/compare"],function(e,t,r,n,i,a,o,s,u,l,c){"use strict";function h(){return 0===m.length?{}:m.pop()}function d(e){return m.push(e),null}function f(e,t){function n(n){var a=r.get(n,e);return i?t===a:!!a}var i=2===arguments.length;return n}var p=Array.prototype.slice,m=[];e["default"]=a.Mixin.create({nextObject:a.required(Function),firstObject:s.computed("[]",function(){if(0===r.get(this,"length"))return void 0;var e=h(),t=this.nextObject(0,null,e);return d(e),t}),lastObject:s.computed("[]",function(){var e=r.get(this,"length");if(0===e)return void 0;var t,n=h(),i=0,a=null;do a=t,t=this.nextObject(i++,a,n);while(void 0!==t);return d(n),a}),contains:function(e){var t=this.find(function(t){return t===e});return void 0!==t},forEach:function(e,t){if("function"!=typeof e)throw new TypeError;var n=h(),i=r.get(this,"length"),a=null;void 0===t&&(t=null);for(var o=0;i>o;o++){var s=this.nextObject(o,a,n);e.call(t,s,o,this),a=s}return a=null,n=d(n),this},getEach:a.aliasMethod("mapBy"),setEach:function(e,t){return this.forEach(function(r){n.set(r,e,t)})},map:function(e,r){var n=t["default"].A();return this.forEach(function(t,i,a){n[i]=e.call(r,t,i,a)}),n},mapBy:function(e){return this.map(function(t){return r.get(t,e)})},mapProperty:a.aliasMethod("mapBy"),filter:function(e,r){var n=t["default"].A();return this.forEach(function(t,i,a){e.call(r,t,i,a)&&n.push(t)}),n},reject:function(e,t){return this.filter(function(){return!i.apply(t,e,arguments)})},filterBy:function(e,t){return this.filter(i.apply(this,f,arguments))},filterProperty:a.aliasMethod("filterBy"),rejectBy:function(e,t){var n=function(n){return r.get(n,e)===t},i=function(t){return!!r.get(t,e)},a=2===arguments.length?n:i;return this.reject(a)},rejectProperty:a.aliasMethod("rejectBy"),find:function(e,t){var n=r.get(this,"length");void 0===t&&(t=null);for(var i,a,o=h(),s=!1,u=null,l=0;n>l&&!s;l++)i=this.nextObject(l,u,o),(s=e.call(t,i,l,this))&&(a=i),u=i;return i=u=null,o=d(o),a},findBy:function(e,t){return this.find(i.apply(this,f,arguments))},findProperty:a.aliasMethod("findBy"),every:function(e,t){return!this.find(function(r,n,i){return!e.call(t,r,n,i)})},everyBy:a.aliasMethod("isEvery"),everyProperty:a.aliasMethod("isEvery"),isEvery:function(e,t){return this.every(i.apply(this,f,arguments))},any:function(e,t){var n,i,a=r.get(this,"length"),o=h(),s=!1,u=null;for(void 0===t&&(t=null),i=0;a>i&&!s;i++)n=this.nextObject(i,u,o),s=e.call(t,n,i,this),u=n;return n=u=null,o=d(o),s},some:a.aliasMethod("any"),isAny:function(e,t){return this.any(i.apply(this,f,arguments))},anyBy:a.aliasMethod("isAny"),someProperty:a.aliasMethod("isAny"),reduce:function(e,t,r){if("function"!=typeof e)throw new TypeError;var n=t;return this.forEach(function(t,i){n=e(n,t,i,this,r)},this),n},invoke:function(e){var r,n=t["default"].A();return arguments.length>1&&(r=p.call(arguments,1)),this.forEach(function(t,a){var o=t&&t[e];"function"==typeof o&&(n[a]=r?i.apply(t,o,r):t[e]())},this),n},toArray:function(){var e=t["default"].A();return this.forEach(function(t,r){e[r]=t}),e},compact:function(){return this.filter(function(e){return null!=e})},without:function(e){if(!this.contains(e))return this;var r=t["default"].A();return this.forEach(function(t){t!==e&&(r[r.length]=t)}),r},uniq:function(){var e=t["default"].A();return this.forEach(function(t){o.indexOf(e,t)<0&&e.push(t)}),e},"[]":s.computed(function(e,t){return this}),addEnumerableObserver:function(e,t){var n=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",a=r.get(this,"hasEnumerableObservers");return a||u.propertyWillChange(this,"hasEnumerableObservers"),l.addListener(this,"@enumerable:before",e,n),l.addListener(this,"@enumerable:change",e,i),a||u.propertyDidChange(this,"hasEnumerableObservers"),this},removeEnumerableObserver:function(e,t){var n=t&&t.willChange||"enumerableWillChange",i=t&&t.didChange||"enumerableDidChange",a=r.get(this,"hasEnumerableObservers");return a&&u.propertyWillChange(this,"hasEnumerableObservers"),l.removeListener(this,"@enumerable:before",e,n),l.removeListener(this,"@enumerable:change",e,i),a&&u.propertyDidChange(this,"hasEnumerableObservers"),this},hasEnumerableObservers:s.computed(function(){return l.hasListeners(this,"@enumerable:change")||l.hasListeners(this,"@enumerable:before")}),enumerableContentWillChange:function(e,t){var n,i,a;return n="number"==typeof e?e:e?r.get(e,"length"):e=-1,i="number"==typeof t?t:t?r.get(t,"length"):t=-1,a=0>i||0>n||i-n!==0,-1===e&&(e=null),-1===t&&(t=null),u.propertyWillChange(this,"[]"),a&&u.propertyWillChange(this,"length"),l.sendEvent(this,"@enumerable:before",[this,e,t]),this},enumerableContentDidChange:function(e,t){var n,i,a;return n="number"==typeof e?e:e?r.get(e,"length"):e=-1,i="number"==typeof t?t:t?r.get(t,"length"):t=-1,a=0>i||0>n||i-n!==0,-1===e&&(e=null),-1===t&&(t=null),l.sendEvent(this,"@enumerable:change",[this,e,t]),a&&u.propertyDidChange(this,"length"),u.propertyDidChange(this,"[]"),this},sortBy:function(){var e=arguments;return this.toArray().sort(function(t,n){for(var i=0;i<e.length;i++){var a=e[i],o=r.get(t,a),s=r.get(n,a),u=c["default"](o,s);if(u)return u}return 0})}})}),e("ember-runtime/mixins/evented",["exports","ember-metal/mixin","ember-metal/events"],function(e,t,r){"use strict";e["default"]=t.Mixin.create({on:function(e,t,n){return r.addListener(this,e,t,n),this},one:function(e,t,n){return n||(n=t,t=null),r.addListener(this,e,t,n,!0),this},trigger:function(e){for(var t=arguments.length,n=new Array(t-1),i=1;t>i;i++)n[i-1]=arguments[i];r.sendEvent(this,e,n)},off:function(e,t,n){return r.removeListener(this,e,t,n),this},has:function(e){return r.hasListeners(this,e)}})}),e("ember-runtime/mixins/freezable",["exports","ember-metal/mixin","ember-metal/property_get","ember-metal/property_set"],function(e,t,r,n){"use strict";var i=t.Mixin.create({isFrozen:!1,freeze:function(){return r.get(this,"isFrozen")?this:(n.set(this,"isFrozen",!0),this)}}),a="Frozen object cannot be modified.";e.Freezable=i,e.FROZEN_ERROR=a}),e("ember-runtime/mixins/mutable_array",["exports","ember-metal/property_get","ember-metal/utils","ember-metal/error","ember-metal/mixin","ember-runtime/mixins/array","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable"],function(e,t,r,n,i,a,o,s){"use strict";var u="Index out of range",l=[];e["default"]=i.Mixin.create(a["default"],o["default"],{replace:i.required(),clear:function(){var e=t.get(this,"length");return 0===e?this:(this.replace(0,e,l),this)},insertAt:function(e,r){if(e>t.get(this,"length"))throw new n["default"](u);return this.replace(e,0,[r]),this},removeAt:function(e,r){if("number"==typeof e){if(0>e||e>=t.get(this,"length"))throw new n["default"](u);void 0===r&&(r=1),this.replace(e,r,l)}return this},pushObject:function(e){return this.insertAt(t.get(this,"length"),e),e},pushObjects:function(e){if(!s["default"].detect(e)&&!r.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this.replace(t.get(this,"length"),0,e),this},popObject:function(){var e=t.get(this,"length");if(0===e)return null;var r=this.objectAt(e-1);return this.removeAt(e-1,1),r},shiftObject:function(){if(0===t.get(this,"length"))return null;var e=this.objectAt(0);return this.removeAt(0),e},unshiftObject:function(e){return this.insertAt(0,e),e},unshiftObjects:function(e){return this.replace(0,0,e),this},reverseObjects:function(){var e=t.get(this,"length");if(0===e)return this;var r=this.toArray().reverse();return this.replace(0,e,r),this},setObjects:function(e){if(0===e.length)return this.clear();var r=t.get(this,"length");return this.replace(0,r,e),this},removeObject:function(e){for(var r=t.get(this,"length")||0;--r>=0;){var n=this.objectAt(r);n===e&&this.removeAt(r)}return this},addObject:function(e){return this.contains(e)||this.pushObject(e),this}})}),e("ember-runtime/mixins/mutable_enumerable",["exports","ember-metal/enumerable_utils","ember-runtime/mixins/enumerable","ember-metal/mixin","ember-metal/property_events"],function(e,t,r,n,i){"use strict";e["default"]=n.Mixin.create(r["default"],{addObject:n.required(Function),addObjects:function(e){return i.beginPropertyChanges(this),t.forEach(e,function(e){this.addObject(e)},this),i.endPropertyChanges(this),this},removeObject:n.required(Function),removeObjects:function(e){i.beginPropertyChanges(this);for(var t=e.length-1;t>=0;t--)this.removeObject(e[t]);return i.endPropertyChanges(this),this}})}),e("ember-runtime/mixins/observable",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/get_properties","ember-metal/set_properties","ember-metal/mixin","ember-metal/events","ember-metal/property_events","ember-metal/observer","ember-metal/computed","ember-metal/is_none"],function(e,t,r,n,i,a,o,s,u,l,c,h,d){"use strict";var f=Array.prototype.slice;e["default"]=s.Mixin.create({get:function(e){return r.get(this,e)},getProperties:function(){return i.apply(null,a["default"],[this].concat(f.call(arguments)))},set:function(e,t){return n.set(this,e,t),this},setProperties:function(e){return o["default"](this,e)},beginPropertyChanges:function(){return l.beginPropertyChanges(),this},endPropertyChanges:function(){return l.endPropertyChanges(),this},propertyWillChange:function(e){return l.propertyWillChange(this,e),this},propertyDidChange:function(e){return l.propertyDidChange(this,e),this},notifyPropertyChange:function(e){return this.propertyWillChange(e),this.propertyDidChange(e),this},addBeforeObserver:function(e,t,r){c.addBeforeObserver(this,e,t,r)},addObserver:function(e,t,r){c.addObserver(this,e,t,r)},removeObserver:function(e,t,r){c.removeObserver(this,e,t,r)},hasObserverFor:function(e){return u.hasListeners(this,e+":change")},getWithDefault:function(e,t){return r.getWithDefault(this,e,t)},incrementProperty:function(e,t){return d["default"](t)&&(t=1),n.set(this,e,(parseFloat(r.get(this,e))||0)+t),r.get(this,e)},decrementProperty:function(e,t){return d["default"](t)&&(t=1),n.set(this,e,(r.get(this,e)||0)-t),r.get(this,e)},toggleProperty:function(e){return n.set(this,e,!r.get(this,e)),r.get(this,e)},cacheFor:function(e){return h.cacheFor(this,e)},observersForKey:function(e){return c.observersFor(this,e)}})}),e("ember-runtime/mixins/promise_proxy",["exports","ember-metal/property_get","ember-metal/set_properties","ember-metal/computed","ember-metal/mixin","ember-metal/error"],function(e,t,r,n,i,a){"use strict";function o(e,t){return r["default"](e,{isFulfilled:!1,isRejected:!1}),t.then(function(t){return r["default"](e,{content:t,isFulfilled:!0}),t},function(t){throw r["default"](e,{reason:t,isRejected:!0}),t},"Ember: PromiseProxy")}function s(e){return function(){var r=t.get(this,"promise");return r[e].apply(r,arguments)}}var u=n.computed.not,l=n.computed.or;e["default"]=i.Mixin.create({reason:null,isPending:u("isSettled").readOnly(),isSettled:l("isRejected","isFulfilled").readOnly(),isRejected:!1,isFulfilled:!1,promise:n.computed(function(e,t){if(2===arguments.length)return o(this,t);throw new a["default"]("PromiseProxy's promise must be set")}),then:s("then"),"catch":s("catch"),"finally":s("finally")})}),e("ember-runtime/mixins/sortable",["exports","ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-runtime/mixins/mutable_enumerable","ember-runtime/compare","ember-metal/observer","ember-metal/computed","ember-metal/computed_macros","ember-metal/mixin"],function(e,t,r,n,i,a,o,s,u,l){"use strict";e["default"]=l.Mixin.create(i["default"],{sortProperties:null,sortAscending:!0,sortFunction:a["default"],orderBy:function(e,t){var i=0,a=r.get(this,"sortProperties"),o=r.get(this,"sortAscending"),s=r.get(this,"sortFunction");return n.forEach(a,function(n){0===i&&(i=s.call(this,r.get(e,n),r.get(t,n)),0===i||o||(i=-1*i))},this),i},destroy:function(){var e=r.get(this,"content"),t=r.get(this,"sortProperties");return e&&t&&n.forEach(e,function(e){n.forEach(t,function(t){o.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super.apply(this,arguments)},isSorted:u.notEmpty("sortProperties"),arrangedContent:s.computed("content","sortProperties.@each",function(e,i){var a=r.get(this,"content"),s=r.get(this,"isSorted"),u=r.get(this,"sortProperties"),l=this;return a&&s?(a=a.slice(),a.sort(function(e,t){return l.orderBy(e,t)}),n.forEach(a,function(e){n.forEach(u,function(t){o.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),t["default"].A(a)):a}),_contentWillChange:l.beforeObserver("content",function(){var e=r.get(this,"content"),t=r.get(this,"sortProperties");e&&t&&n.forEach(e,function(e){n.forEach(t,function(t){o.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this),this._super.apply(this,arguments)}),sortPropertiesWillChange:l.beforeObserver("sortProperties",function(){this._lastSortAscending=void 0}),sortPropertiesDidChange:l.observer("sortProperties",function(){this._lastSortAscending=void 0}),sortAscendingWillChange:l.beforeObserver("sortAscending",function(){this._lastSortAscending=r.get(this,"sortAscending")}),sortAscendingDidChange:l.observer("sortAscending",function(){if(void 0!==this._lastSortAscending&&r.get(this,"sortAscending")!==this._lastSortAscending){var e=r.get(this,"arrangedContent");e.reverseObjects()}}),contentArrayWillChange:function(e,t,i,a){var s=r.get(this,"isSorted");if(s){var u=r.get(this,"arrangedContent"),l=e.slice(t,t+i),c=r.get(this,"sortProperties");n.forEach(l,function(e){u.removeObject(e),n.forEach(c,function(t){o.removeObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(e,t,i,a)},contentArrayDidChange:function(e,t,i,a){var s=r.get(this,"isSorted"),u=r.get(this,"sortProperties");if(s){var l=e.slice(t,t+a);n.forEach(l,function(e){this.insertItemSorted(e),n.forEach(u,function(t){o.addObserver(e,t,this,"contentItemSortPropertyDidChange")},this)},this)}return this._super(e,t,i,a)},insertItemSorted:function(e){var t=r.get(this,"arrangedContent"),n=r.get(t,"length"),i=this._binarySearch(e,0,n);t.insertAt(i,e)},contentItemSortPropertyDidChange:function(e){var t=r.get(this,"arrangedContent"),n=t.indexOf(e),i=t.objectAt(n-1),a=t.objectAt(n+1),o=i&&this.orderBy(e,i),s=a&&this.orderBy(e,a);(0>o||s>0)&&(t.removeObject(e),this.insertItemSorted(e))},_binarySearch:function(e,t,n){var i,a,o,s;return t===n?t:(s=r.get(this,"arrangedContent"),i=t+Math.floor((n-t)/2),a=s.objectAt(i),o=this.orderBy(a,e),0>o?this._binarySearch(e,i+1,n):o>0?this._binarySearch(e,t,i):i)}})}),e("ember-runtime/mixins/target_action_support",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/mixin","ember-metal/computed"],function(e,t,r,n,i,a){"use strict";var o=i.Mixin.create({target:null,action:null,actionContext:null,targetObject:a.computed(function(){var e=r.get(this,"target");if("string"===n.typeOf(e)){var i=r.get(this,e);return void 0===i&&(i=r.get(t["default"].lookup,e)),i}return e}).property("target"),actionContextObject:a.computed(function(){var e=r.get(this,"actionContext");if("string"===n.typeOf(e)){var i=r.get(this,e);return void 0===i&&(i=r.get(t["default"].lookup,e)),i}return e}).property("actionContext"),triggerAction:function(e){function t(e,t){var r=[];return t&&r.push(t),r.concat(e)}e=e||{};var n=e.action||r.get(this,"action"),i=e.target||r.get(this,"targetObject"),a=e.actionContext;if("undefined"==typeof a&&(a=r.get(this,"actionContextObject")||this),i&&n){var o;return o=i.send?i.send.apply(i,t(a,n)):i[n].apply(i,t(a)),
+o!==!1&&(o=!0),o}return!1}});e["default"]=o}),e("ember-runtime/system/application",["exports","ember-runtime/system/namespace"],function(e,t){"use strict";e["default"]=t["default"].extend()}),e("ember-runtime/system/array_proxy",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/property_events","ember-metal/error","ember-runtime/system/object","ember-runtime/mixins/mutable_array","ember-runtime/mixins/enumerable","ember-runtime/system/string","ember-metal/alias"],function(e,t,r,n,i,a,o,s,u,l,c,h,d){"use strict";function f(){return this}var p="Index out of range",m=[],g=u["default"].extend(l["default"],{content:null,arrangedContent:d["default"]("content"),objectAtContent:function(e){return r.get(this,"arrangedContent").objectAt(e)},replaceContent:function(e,t,n){r.get(this,"content").replace(e,t,n)},_contentWillChange:a.beforeObserver("content",function(){this._teardownContent()}),_teardownContent:function(){var e=r.get(this,"content");e&&e.removeArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},contentArrayWillChange:f,contentArrayDidChange:f,_contentDidChange:a.observer("content",function(){r.get(this,"content");this._setupContent()}),_setupContent:function(){var e=r.get(this,"content");e&&e.addArrayObserver(this,{willChange:"contentArrayWillChange",didChange:"contentArrayDidChange"})},_arrangedContentWillChange:a.beforeObserver("arrangedContent",function(){var e=r.get(this,"arrangedContent"),t=e?r.get(e,"length"):0;this.arrangedContentArrayWillChange(this,0,t,void 0),this.arrangedContentWillChange(this),this._teardownArrangedContent(e)}),_arrangedContentDidChange:a.observer("arrangedContent",function(){var e=r.get(this,"arrangedContent"),t=e?r.get(e,"length"):0;this._setupArrangedContent(),this.arrangedContentDidChange(this),this.arrangedContentArrayDidChange(this,0,void 0,t)}),_setupArrangedContent:function(){var e=r.get(this,"arrangedContent");e&&e.addArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},_teardownArrangedContent:function(){var e=r.get(this,"arrangedContent");e&&e.removeArrayObserver(this,{willChange:"arrangedContentArrayWillChange",didChange:"arrangedContentArrayDidChange"})},arrangedContentWillChange:f,arrangedContentDidChange:f,objectAt:function(e){return r.get(this,"content")&&this.objectAtContent(e)},length:i.computed(function(){var e=r.get(this,"arrangedContent");return e?r.get(e,"length"):0}),_replace:function(e,t,n){var i=r.get(this,"content");return i&&this.replaceContent(e,t,n),this},replace:function(){if(r.get(this,"arrangedContent")!==r.get(this,"content"))throw new s["default"]("Using replace on an arranged ArrayProxy is not allowed.");n.apply(this,this._replace,arguments)},_insertAt:function(e,t){if(e>r.get(this,"content.length"))throw new s["default"](p);return this._replace(e,0,[t]),this},insertAt:function(e,t){if(r.get(this,"arrangedContent")===r.get(this,"content"))return this._insertAt(e,t);throw new s["default"]("Using insertAt on an arranged ArrayProxy is not allowed.")},removeAt:function(e,t){if("number"==typeof e){var n,i=r.get(this,"content"),a=r.get(this,"arrangedContent"),u=[];if(0>e||e>=r.get(this,"length"))throw new s["default"](p);for(void 0===t&&(t=1),n=e;e+t>n;n++)u.push(i.indexOf(a.objectAt(n)));for(u.sort(function(e,t){return t-e}),o.beginPropertyChanges(),n=0;n<u.length;n++)this._replace(u[n],1,m);o.endPropertyChanges()}return this},pushObject:function(e){return this._insertAt(r.get(this,"content.length"),e),e},pushObjects:function(e){if(!c["default"].detect(e)&&!n.isArray(e))throw new TypeError("Must pass Ember.Enumerable to Ember.MutableArray#pushObjects");return this._replace(r.get(this,"length"),0,e),this},setObjects:function(e){if(0===e.length)return this.clear();var t=r.get(this,"length");return this._replace(0,t,e),this},unshiftObject:function(e){return this._insertAt(0,e),e},unshiftObjects:function(e){return this._replace(0,0,e),this},slice:function(){var e=this.toArray();return e.slice.apply(e,arguments)},arrangedContentArrayWillChange:function(e,t,r,n){this.arrayContentWillChange(t,r,n)},arrangedContentArrayDidChange:function(e,t,r,n){this.arrayContentDidChange(t,r,n)},init:function(){this._super.apply(this,arguments),this._setupContent(),this._setupArrangedContent()},willDestroy:function(){this._teardownArrangedContent(),this._teardownContent()}});e["default"]=g}),e("ember-runtime/system/container",["exports","ember-metal/property_set","container/registry","container/container"],function(e,t,r,n){"use strict";r["default"].set=t.set,n["default"].set=t.set,e.Registry=r["default"],e.Container=n["default"]}),e("ember-runtime/system/core_object",["exports","ember-metal","ember-metal/merge","ember-metal/property_get","ember-metal/utils","ember-metal/platform/create","ember-metal/chains","ember-metal/events","ember-metal/mixin","ember-metal/enumerable_utils","ember-metal/error","ember-metal/platform/define_property","ember-metal/keys","ember-runtime/mixins/action_handler","ember-metal/properties","ember-metal/binding","ember-metal/computed","ember-metal/injected_property","ember-metal/run_loop","ember-metal/watching","ember-metal/core","ember-runtime/inject"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w){"REMOVE_USE_STRICT: true";function x(){var e,t,n=!1,h=function(){n||h.proto(),this.__defineNonEnumerable(i.GUID_KEY_PROPERTY),this.__defineNonEnumerable(i.NEXT_SUPER_PROPERTY);var f=i.meta(this),p=f.proto;if(f.proto=this,e){var m=e;e=null,i.apply(this,this.reopen,m)}if(t){var g=t;t=null;for(var v=this.concatenatedProperties,y=this.mergedProperties,b=0,_=g.length;_>b;b++){var w=g[b];if("object"!=typeof w&&void 0!==w)throw new c["default"]("Ember.Object.create only accepts objects.");if(w)for(var x=d["default"](w),C=0,E=x.length;E>C;C++){var S=x[C],k=w[S];if(u.IS_BINDING.test(S)){var A=f.bindings;A?f.hasOwnProperty("bindings")||(A=f.bindings=a["default"](f.bindings)):A=f.bindings={},A[S]=k}var O=this[S],R=null!==O&&"object"==typeof O&&O.isDescriptor?O:void 0;if(v&&v.length>0&&l.indexOf(v,S)>=0){var P=this[S];k=P?"function"==typeof P.concat?P.concat(k):i.makeArray(P).concat(k):i.makeArray(k)}if(y&&y.length&&l.indexOf(y,S)>=0){var N=this[S];k=r["default"](N,k)}R?R.set(this,S,k):"function"!=typeof this.setUnknownProperty||S in this?this[S]=k:this.setUnknownProperty(S,k)}}}T(this,f);var M=arguments.length;if(0===M)this.init();else if(1===M)this.init(arguments[0]);else{for(var D=new Array(M),F=0;M>F;F++)D[F]=arguments[F];this.init.apply(this,D)}f.proto=p,o.finishChains(this),s.sendEvent(this,"init")};return h.toString=u.Mixin.prototype.toString,h.willReopen=function(){n&&(h.PrototypeMixin=u.Mixin.create(h.PrototypeMixin)),n=!1},h._initMixins=function(t){e=t},h._initProperties=function(e){t=e},h.proto=function(){var e=h.superclass;return e&&e.proto(),n||(n=!0,h.PrototypeMixin.applyPartial(h.prototype)),this.prototype},h}function C(e){return function(){return e}}var E=y["default"].schedule,S=u.Mixin._apply,T=u.Mixin.finishPartial,k=u.Mixin.prototype.reopen,A=!1,O=x();O.toString=function(){return"Ember.CoreObject"},O.PrototypeMixin=u.Mixin.create({reopen:function(){for(var e=arguments.length,t=new Array(e),r=0;e>r;r++)t[r]=arguments[r];return S(this,t,!0),this},init:function(){},__defineNonEnumerable:function(e){h.defineProperty(this,e.name,e.descriptor)},concatenatedProperties:null,isDestroyed:!1,isDestroying:!1,destroy:function(){return this.isDestroying?void 0:(this.isDestroying=!0,E("actions",this,this.willDestroy),E("destroy",this,this._scheduledDestroy),this)},willDestroy:_.K,_scheduledDestroy:function(){this.isDestroyed||(b.destroy(this),this.isDestroyed=!0)},bind:function(e,t){return t instanceof m.Binding||(t=m.Binding.from(t)),t.to(e).connect(this),t},toString:function(){var e="function"==typeof this.toStringExtension,t=e?":"+this.toStringExtension():"",r="<"+this.constructor.toString()+":"+i.guidFor(this)+t+">";return this.toString=C(r),r}}),O.PrototypeMixin.ownerConstructor=O,O.__super__=null;var R={ClassMixin:u.required(),PrototypeMixin:u.required(),isClass:!0,isMethod:!1,extend:function(){var e,t=x();return t.ClassMixin=u.Mixin.create(this.ClassMixin),t.PrototypeMixin=u.Mixin.create(this.PrototypeMixin),t.ClassMixin.ownerConstructor=t,t.PrototypeMixin.ownerConstructor=t,k.apply(t.PrototypeMixin,arguments),t.superclass=this,t.__super__=this.prototype,e=t.prototype=a["default"](this.prototype),e.constructor=t,i.generateGuid(e),i.meta(e).proto=e,t.ClassMixin.apply(t),t},createWithMixins:function(){var e=this,t=arguments.length;if(t>0){for(var r=new Array(t),n=0;t>n;n++)r[n]=arguments[n];this._initMixins(r)}return new e},create:function(){var e=this,t=arguments.length;if(t>0){for(var r=new Array(t),n=0;t>n;n++)r[n]=arguments[n];this._initProperties(r)}return new e},reopen:function(){this.willReopen();var e=arguments.length,t=new Array(e);if(e>0)for(var r=0;e>r;r++)t[r]=arguments[r];return i.apply(this.PrototypeMixin,k,t),this},reopenClass:function(){var e=arguments.length,t=new Array(e);if(e>0)for(var r=0;e>r;r++)t[r]=arguments[r];return i.apply(this.ClassMixin,k,t),S(this,arguments,!1),this},detect:function(e){if("function"!=typeof e)return!1;for(;e;){if(e===this)return!0;e=e.superclass}return!1},detectInstance:function(e){return e instanceof this},metaForProperty:function(e){var t=this.proto(),r=t[e],n=null!==r&&"object"==typeof r&&r.isDescriptor?r:void 0;return n._meta||{}},_computedProperties:g.computed(function(){A=!0;var e,t=this.proto(),r=[];for(var n in t)e=t[n],e instanceof g.ComputedProperty&&r.push({name:n,meta:e._meta});return r}).readOnly(),eachComputedProperty:function(e,t){for(var r,i,a={},o=n.get(this,"_computedProperties"),s=0,u=o.length;u>s;s++)r=o[s],i=r.name,e.call(t||this,r.name,r.meta||a)}};R._lazyInjections=function(){var e,t,r={},n=this.proto();for(e in n)t=n[e],t instanceof v["default"]&&(r[e]=t.type+":"+(t.name||e));return r};var P=u.Mixin.create(R);P.ownerConstructor=O,O.ClassMixin=P,P.apply(O),O.reopen({didDefineProperty:function(e,r,n){if(A!==!1&&n instanceof t["default"].ComputedProperty){var i=t["default"].meta(this.constructor).cache;i&&void 0!==i._computedProperties&&(i._computedProperties=void 0)}}}),e["default"]=O}),e("ember-runtime/system/deferred",["exports","ember-metal/core","ember-runtime/mixins/deferred","ember-runtime/system/object"],function(e,t,r,n){"use strict";var i=n["default"].extend(r["default"],{init:function(){this._super.apply(this,arguments)}});i.reopenClass({promise:function(e,t){var r=i.create();return e.call(t,r),r}}),e["default"]=i}),e("ember-runtime/system/each_proxy",["exports","ember-metal/core","ember-metal/property_get","ember-metal/utils","ember-metal/enumerable_utils","ember-metal/array","ember-runtime/mixins/array","ember-runtime/system/object","ember-metal/computed","ember-metal/observer","ember-metal/events","ember-metal/properties","ember-metal/property_events"],function(e,t,r,n,i,a,o,s,u,l,c,h,d){"use strict";function f(e,t,r,i,a){var o,s=r._objects;for(s||(s=r._objects={});--a>=i;){var u=e.objectAt(a);u&&(l.addBeforeObserver(u,t,r,"contentKeyWillChange"),l.addObserver(u,t,r,"contentKeyDidChange"),o=n.guidFor(u),s[o]||(s[o]=[]),s[o].push(a))}}function p(e,t,r,i,o){var s=r._objects;s||(s=r._objects={});for(var u,c;--o>=i;){var h=e.objectAt(o);h&&(l.removeBeforeObserver(h,t,r,"contentKeyWillChange"),l.removeObserver(h,t,r,"contentKeyDidChange"),c=n.guidFor(h),u=s[c],u[a.indexOf.call(u,o)]=null)}}var m=s["default"].extend(o["default"],{init:function(e,t,r){this._super.apply(this,arguments),this._keyName=t,this._owner=r,this._content=e},objectAt:function(e){var t=this._content.objectAt(e);return t&&r.get(t,this._keyName)},length:u.computed(function(){var e=this._content;return e?r.get(e,"length"):0})}),g=/^.+:(before|change)$/,v=s["default"].extend({init:function(e){this._super.apply(this,arguments),this._content=e,e.addArrayObserver(this),i.forEach(c.watchedEvents(this),function(e){this.didAddListener(e)},this)},unknownProperty:function(e,t){var r;return r=new m(this._content,e,this),h.defineProperty(this,e,null,r),this.beginObservingContentKey(e),r},arrayWillChange:function(e,t,r,n){var i,a,o=this._keys;a=r>0?t+r:-1,d.beginPropertyChanges(this);for(i in o)o.hasOwnProperty(i)&&(a>0&&p(e,i,this,t,a),d.propertyWillChange(this,i));d.propertyWillChange(this._content,"@each"),d.endPropertyChanges(this)},arrayDidChange:function(e,t,r,n){var i,a=this._keys;i=n>0?t+n:-1,d.changeProperties(function(){for(var r in a)a.hasOwnProperty(r)&&(i>0&&f(e,r,this,t,i),d.propertyDidChange(this,r));d.propertyDidChange(this._content,"@each")},this)},didAddListener:function(e){g.test(e)&&this.beginObservingContentKey(e.slice(0,-7))},didRemoveListener:function(e){g.test(e)&&this.stopObservingContentKey(e.slice(0,-7))},beginObservingContentKey:function(e){var t=this._keys;if(t||(t=this._keys={}),t[e])t[e]++;else{t[e]=1;var n=this._content,i=r.get(n,"length");f(n,e,this,0,i)}},stopObservingContentKey:function(e){var t=this._keys;if(t&&t[e]>0&&--t[e]<=0){var n=this._content,i=r.get(n,"length");p(n,e,this,0,i)}},contentKeyWillChange:function(e,t){d.propertyWillChange(this,t)},contentKeyDidChange:function(e,t){d.propertyDidChange(this,t)}});e.EachArray=m,e.EachProxy=v}),e("ember-runtime/system/lazy_load",["exports","ember-metal/core","ember-metal/array","ember-runtime/system/native_array"],function(e,t,r){"use strict";function n(e,r){var n;a[e]=a[e]||t["default"].A(),a[e].pushObject(r),(n=o[e])&&r(n)}function i(e,t){if(o[e]=t,"object"==typeof window&&"function"==typeof window.dispatchEvent&&"function"==typeof CustomEvent){var n=new CustomEvent(e,{detail:t,name:e});window.dispatchEvent(n)}a[e]&&r.forEach.call(a[e],function(e){e(t)})}e.onLoad=n,e.runLoadHooks=i;var a=t["default"].ENV.EMBER_LOAD_HOOKS||{},o={}}),e("ember-runtime/system/namespace",["exports","ember-metal/core","ember-metal/property_get","ember-metal/array","ember-metal/utils","ember-metal/mixin","ember-runtime/system/object"],function(e,t,r,n,i,a,o){"use strict";function s(e,t,r){var n=e.length;m[e.join(".")]=t;for(var a in t)if(g.call(t,a)){var o=t[a];if(e[n]=a,o&&o.toString===h)o.toString=f(e.join(".")),o[y]=e.join(".");else if(o&&o.isNamespace){if(r[i.guidFor(o)])continue;r[i.guidFor(o)]=!0,s(e,o,r)}}e.length=n}function u(e,t){try{var r=e[t];return r&&r.isNamespace&&r}catch(n){}}function l(){var e,r=t["default"].lookup;if(!p.PROCESSED)for(var n in r)v.test(n)&&(!r.hasOwnProperty||r.hasOwnProperty(n))&&(e=u(r,n),e&&(e[y]=n))}function c(e){var t=e.superclass;return t?t[y]?t[y]:c(t):void 0}function h(){t["default"].BOOTED||this[y]||d();var e;if(this[y])e=this[y];else if(this._toString)e=this._toString;else{var r=c(this);e=r?"(subclass of "+r+")":"(unknown mixin)",this.toString=f(e)}return e}function d(){var e=!p.PROCESSED,r=t["default"].anyUnprocessedMixins;if(e&&(l(),p.PROCESSED=!0),e||r){for(var n,i=p.NAMESPACES,a=0,o=i.length;o>a;a++)n=i[a],s([n.toString()],n,{});t["default"].anyUnprocessedMixins=!1}}function f(e){return function(){return e}}var p=o["default"].extend({isNamespace:!0,init:function(){p.NAMESPACES.push(this),p.PROCESSED=!1},toString:function(){var e=r.get(this,"name")||r.get(this,"modulePrefix");return e?e:(l(),this[y])},nameClasses:function(){s([this.toString()],this,{})},destroy:function(){var e=p.NAMESPACES,r=this.toString();r&&(t["default"].lookup[r]=void 0,delete p.NAMESPACES_BY_ID[r]),e.splice(n.indexOf.call(e,this),1),this._super.apply(this,arguments)}});p.reopenClass({NAMESPACES:[t["default"]],NAMESPACES_BY_ID:{},PROCESSED:!1,processAll:d,byName:function(e){return t["default"].BOOTED||d(),m[e]}});var m=p.NAMESPACES_BY_ID,g={}.hasOwnProperty,v=/^[A-Z]/,y=t["default"].NAME_KEY=i.GUID_KEY+"_name";a.Mixin.prototype.toString=h,e["default"]=p}),e("ember-runtime/system/native_array",["exports","ember-metal/core","ember-metal/property_get","ember-metal/enumerable_utils","ember-metal/mixin","ember-metal/array","ember-runtime/mixins/array","ember-runtime/mixins/mutable_array","ember-runtime/mixins/observable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-runtime/copy"],function(e,t,r,n,i,a,o,s,u,l,c,h){"use strict";var d=i.Mixin.create(s["default"],u["default"],l["default"],{get:function(e){return"length"===e?this.length:"number"==typeof e?this[e]:this._super(e)},objectAt:function(e){return this[e]},replace:function(e,t,i){if(this.isFrozen)throw c.FROZEN_ERROR;var a=i?r.get(i,"length"):0;return this.arrayContentWillChange(e,t,a),0===a?this.splice(e,t):n._replace(this,e,t,i),this.arrayContentDidChange(e,t,a),this},unknownProperty:function(e,t){var r;return void 0!==t&&void 0===r&&(r=this[e]=t),r},indexOf:a.indexOf,lastIndexOf:a.lastIndexOf,copy:function(e){return e?this.map(function(e){return h["default"](e,!0)}):this.slice()}}),f=["length"];n.forEach(d.keys(),function(e){Array.prototype[e]&&f.push(e)}),d=d.without.apply(d,f);var p=function(e){return void 0===e&&(e=[]),o["default"].detect(e)?e:d.apply(e)};d.activate=function(){d.apply(Array.prototype),p=function(e){return e||[]}},(t["default"].EXTEND_PROTOTYPES===!0||t["default"].EXTEND_PROTOTYPES.Array)&&d.activate(),t["default"].A=p,e["default"]=d,e.A=p,e.NativeArray=d}),e("ember-runtime/system/object",["exports","ember-runtime/system/core_object","ember-runtime/mixins/observable"],function(e,t,r){"use strict";var n=t["default"].extend(r["default"]);n.toString=function(){return"Ember.Object"},e["default"]=n}),e("ember-runtime/system/object_proxy",["exports","ember-runtime/system/object","ember-runtime/mixins/-proxy"],function(e,t,r){"use strict";e["default"]=t["default"].extend(r["default"])}),e("ember-runtime/system/service",["exports","ember-runtime/system/object","ember-runtime/inject"],function(e,t,r){"use strict";r.createInjectionHelper("service"),e["default"]=t["default"].extend()}),e("ember-runtime/system/set",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/utils","ember-metal/is_none","ember-runtime/system/string","ember-runtime/system/core_object","ember-runtime/mixins/mutable_enumerable","ember-runtime/mixins/enumerable","ember-runtime/mixins/copyable","ember-runtime/mixins/freezable","ember-metal/error","ember-metal/property_events","ember-metal/mixin","ember-metal/computed"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m){"use strict";e["default"]=s["default"].extend(u["default"],c["default"],h.Freezable,{length:0,clear:function(){if(this.isFrozen)throw new d["default"](h.FROZEN_ERROR);var e=r.get(this,"length");if(0===e)return this;var t;this.enumerableContentWillChange(e,0),f.propertyWillChange(this,"firstObject"),f.propertyWillChange(this,"lastObject");for(var a=0;e>a;a++)t=i.guidFor(this[a]),delete this[t],delete this[a];return n.set(this,"length",0),f.propertyDidChange(this,"firstObject"),f.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(e,0),this},isEqual:function(e){if(!l["default"].detect(e))return!1;var t=r.get(this,"length");if(r.get(e,"length")!==t)return!1;for(;--t>=0;)if(!e.contains(this[t]))return!1;return!0},add:p.aliasMethod("addObject"),remove:p.aliasMethod("removeObject"),pop:function(){if(r.get(this,"isFrozen"))throw new d["default"](h.FROZEN_ERROR);var e=this.length>0?this[this.length-1]:null;return this.remove(e),e},push:p.aliasMethod("addObject"),shift:p.aliasMethod("pop"),unshift:p.aliasMethod("push"),addEach:p.aliasMethod("addObjects"),removeEach:p.aliasMethod("removeObjects"),init:function(e){this._super.apply(this,arguments),e&&this.addObjects(e)},nextObject:function(e){return this[e]},firstObject:m.computed(function(){return this.length>0?this[0]:void 0}),lastObject:m.computed(function(){return this.length>0?this[this.length-1]:void 0}),addObject:function(e){if(r.get(this,"isFrozen"))throw new d["default"](h.FROZEN_ERROR);if(a["default"](e))return this;var t,o=i.guidFor(e),s=this[o],u=r.get(this,"length");return s>=0&&u>s&&this[s]===e?this:(t=[e],this.enumerableContentWillChange(null,t),f.propertyWillChange(this,"lastObject"),u=r.get(this,"length"),this[o]=u,this[u]=e,n.set(this,"length",u+1),f.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(null,t),this)},removeObject:function(e){if(r.get(this,"isFrozen"))throw new d["default"](h.FROZEN_ERROR);if(a["default"](e))return this;var t,o,s=i.guidFor(e),u=this[s],l=r.get(this,"length"),c=0===u,p=u===l-1;return u>=0&&l>u&&this[u]===e&&(o=[e],this.enumerableContentWillChange(o,null),c&&f.propertyWillChange(this,"firstObject"),p&&f.propertyWillChange(this,"lastObject"),l-1>u&&(t=this[l-1],this[u]=t,this[i.guidFor(t)]=u),delete this[s],delete this[l-1],n.set(this,"length",l-1),c&&f.propertyDidChange(this,"firstObject"),p&&f.propertyDidChange(this,"lastObject"),this.enumerableContentDidChange(o,null)),this},contains:function(e){return this[i.guidFor(e)]>=0},copy:function(){var e=this.constructor,t=new e,a=r.get(this,"length");for(n.set(t,"length",a);--a>=0;)t[a]=this[a],t[i.guidFor(this[a])]=a;return t},toString:function(){var e,t=this.length,r=[];for(e=0;t>e;e++)r[e]=this[e];return o.fmt("Ember.Set<%@>",[r.join(",")])}})}),e("ember-runtime/system/string",["exports","ember-metal/core","ember-metal/utils","ember-metal/cache"],function(e,t,r,n){"use strict";function i(e,t){var n=t;if(!r.isArray(n)||arguments.length>2){n=new Array(arguments.length-1);for(var i=1,a=arguments.length;a>i;i++)n[i-1]=arguments[i]}var o=0;return e.replace(/%@([0-9]+)?/g,function(e,t){return t=t?parseInt(t,10)-1:o++,e=n[t],null===e?"(null)":void 0===e?"":r.inspect(e)})}function a(e,n){return(!r.isArray(n)||arguments.length>2)&&(n=Array.prototype.slice.call(arguments,1)),e=t["default"].STRINGS[e]||e,i(e,n)}function o(e){return e.split(/\s+/)}function s(e){return b.get(e)}function u(e){return p.get(e)}function l(e){return m.get(e)}function c(e){return g.get(e)}function h(e){return v.get(e)}function d(e){return y.get(e)}e.fmt=i,e.loc=a,e.w=o,e.decamelize=s,e.dasherize=u,e.camelize=l,e.classify=c,e.underscore=h,e.capitalize=d;var f=/[ _]/g,p=new n["default"](1e3,function(e){return s(e).replace(f,"-")}),m=new n["default"](1e3,function(e){return e.replace(w,function(e,t,r){return r?r.toUpperCase():""}).replace(/^([A-Z])/,function(e,t,r){return e.toLowerCase()})}),g=new n["default"](1e3,function(e){for(var t=e.split("."),r=[],n=0,i=t.length;i>n;n++){var a=l(t[n]);r.push(a.charAt(0).toUpperCase()+a.substr(1))}return r.join(".")}),v=new n["default"](1e3,function(e){return e.replace(x,"$1_$2").replace(C,"_").toLowerCase()}),y=new n["default"](1e3,function(e){return e.charAt(0).toUpperCase()+e.substr(1)}),b=new n["default"](1e3,function(e){return e.replace(_,"$1_$2").toLowerCase()}),_=/([a-z\d])([A-Z])/g,w=/(\-|_|\.|\s)+(.)?/g,x=/([a-z\d])([A-Z]+)/g,C=/\-|\s+/g;t["default"].STRINGS={},e["default"]={fmt:i,loc:a,w:o,decamelize:s,dasherize:u,camelize:l,classify:c,underscore:h,capitalize:d}}),e("ember-runtime/system/subarray",["exports","ember-metal/error","ember-metal/enumerable_utils"],function(e,t,r){"use strict";function n(e,t){this.type=e,this.count=t}function i(e){arguments.length<1&&(e=0),this._operations=e>0?[new n(a,e)]:[]}var a="r",o="f";e["default"]=i,i.prototype={addItem:function(e,t){var r=-1,i=t?a:o,s=this;return this._findOperation(e,function(o,u,l,c,h){var d,f;i===o.type?++o.count:e===l?s._operations.splice(u,0,new n(i,1)):(d=new n(i,1),f=new n(o.type,c-e+1),o.count=e-l,s._operations.splice(u+1,0,d,f)),t&&(r=o.type===a?h+(e-l):h),s._composeAt(u)},function(e){s._operations.push(new n(i,1)),t&&(r=e),s._composeAt(s._operations.length-1)}),r},removeItem:function(e){var r=-1,n=this;return this._findOperation(e,function(t,i,o,s,u){t.type===a&&(r=u+(e-o)),t.count>1?--t.count:(n._operations.splice(i,1),n._composeAt(i))},function(){throw new t["default"]("Can't remove an item that has never been added.")}),r},_findOperation:function(e,t,r){var n,i,o,s,u,l=0;for(n=s=0,i=this._operations.length;i>n;s=u+1,++n){if(o=this._operations[n],u=s+o.count-1,e>=s&&u>=e)return void t(o,n,s,u,l);o.type===a&&(l+=o.count)}r(l)},_composeAt:function(e){var t,r=this._operations[e];r&&(e>0&&(t=this._operations[e-1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e-1,1),--e)),e<this._operations.length-1&&(t=this._operations[e+1],t.type===r.type&&(r.count+=t.count,this._operations.splice(e+1,1))))},toString:function(){var e="";return r["default"].forEach(this._operations,function(t){e+=" "+t.type+":"+t.count}),e.substring(1)}}}),e("ember-runtime/system/tracked_array",["exports","ember-metal/property_get","ember-metal/enumerable_utils"],function(e,t,r){"use strict";function n(e){arguments.length<1&&(e=[]);var r=t.get(e,"length");this._operations=r?[new i(o,r,e)]:[]}function i(e,t,r){this.type=e,this.count=t,this.items=r}function a(e,t,r,n){this.operation=e,this.index=t,this.split=r,this.rangeStart=n}var o="r",s="i",u="d";e["default"]=n,n.RETAIN=o,n.INSERT=s,n.DELETE=u,n.prototype={addItems:function(e,r){var n=t.get(r,"length");if(!(1>n)){var a,o,u=this._findArrayOperation(e),l=u.operation,c=u.index,h=u.rangeStart;o=new i(s,n,r),l?u.split?(this._split(c,e-h,o),a=c+1):(this._operations.splice(c,0,o),a=c):(this._operations.push(o),a=c),this._composeInsert(a)}},removeItems:function(e,t){if(!(1>t)){var r,n,a=this._findArrayOperation(e),o=a.index,s=a.rangeStart;return r=new i(u,t),a.split?(this._split(o,e-s,r),n=o+1):(this._operations.splice(o,0,r),n=o),this._composeDelete(n)}},apply:function(e){var t=[],n=0;r.forEach(this._operations,function(r,i){e(r.items,n,r.type,i),r.type!==u&&(n+=r.count,t=t.concat(r.items))}),this._operations=[new i(o,t.length,t)]},_findArrayOperation:function(e){var t,r,n,i,o,s=!1;for(t=n=0,o=this._operations.length;o>t;++t)if(r=this._operations[t],r.type!==u){if(i=n+r.count-1,e===n)break;if(e>n&&i>=e){s=!0;break}n=i+1}return new a(r,t,s,n)},_split:function(e,t,r){var n=this._operations[e],a=n.items.slice(t),o=new i(n.type,a.length,a);n.count=t,n.items=n.items.slice(0,t),this._operations.splice(e+1,0,r,o)},_composeInsert:function(e){var t=this._operations[e],r=this._operations[e-1],n=this._operations[e+1],i=r&&r.type,a=n&&n.type;i===s?(r.count+=t.count,r.items=r.items.concat(t.items),a===s?(r.count+=n.count,r.items=r.items.concat(n.items),this._operations.splice(e,2)):this._operations.splice(e,1)):a===s&&(t.count+=n.count,t.items=t.items.concat(n.items),this._operations.splice(e+1,1))},_composeDelete:function(e){var t,r,n,i=this._operations[e],a=i.count,o=this._operations[e-1],l=o&&o.type,c=!1,h=[];l===u&&(i=o,e-=1);for(var d=e+1;a>0;++d)t=this._operations[d],r=t.type,n=t.count,r!==u?(n>a?(h=h.concat(t.items.splice(0,a)),t.count-=a,d-=1,n=a,a=0):(n===a&&(c=!0),h=h.concat(t.items),a-=n),r===s&&(i.count-=n)):i.count+=n;return i.count>0?this._operations.splice(e+1,d-1-e):this._operations.splice(e,c?2:1),h},toString:function(){var e="";return r.forEach(this._operations,function(t){e+=" "+t.type+":"+t.count}),e.substring(1)}}}),e("ember-template-compiler",["exports","ember-metal/core","ember-template-compiler/system/precompile","ember-template-compiler/system/compile","ember-template-compiler/system/template","ember-template-compiler/plugins","ember-template-compiler/plugins/transform-each-in-to-hash","ember-template-compiler/plugins/transform-with-as-to-hash","ember-template-compiler/compat"],function(e,t,r,n,i,a,o,s){"use strict";a.registerPlugin("ast",s["default"]),a.registerPlugin("ast",o["default"]),e._Ember=t["default"],e.precompile=r["default"],e.compile=n["default"],e.template=i["default"],e.registerPlugin=a.registerPlugin}),e("ember-template-compiler/compat",["ember-metal/core","ember-template-compiler/compat/precompile","ember-template-compiler/system/compile","ember-template-compiler/system/template"],function(e,t,r,n){"use strict";var i=e["default"].Handlebars=e["default"].Handlebars||{};i.precompile=t["default"],i.compile=r["default"],i.template=n["default"]}),e("ember-template-compiler/compat/precompile",["exports","ember-template-compiler/system/compile_options"],function(e,r){"use strict";var n,a;e["default"]=function(e){if((!n||!a)&&i.__loader.registry["htmlbars-compiler/compiler"]){var o=t("htmlbars-compiler/compiler");n=o.compile,a=o.compileSpec}if(!n||!a)throw new Error("Cannot call `precompile` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `precompile`.");var s=void 0===arguments[1]?!0:arguments[1],u=s?n:a;return u(e,r["default"]())}}),e("ember-template-compiler/plugins",["exports"],function(e){"use strict";function t(e,t){if(!r[e])throw new Error('Attempting to register "'+t+'" as "'+e+'" which is not a valid HTMLBars plugin type.');r[e].push(t)}e.registerPlugin=t;var r={ast:[]};e["default"]=r}),e("ember-template-compiler/plugins/transform-each-in-to-hash",["exports"],function(e){"use strict";function t(){this.syntax=null}t.prototype.transform=function(e){var t=this,r=new t.syntax.Walker,n=t.syntax.builders;return r.visit(e,function(e){if(t.validate(e)){if(e.program&&e.program.blockParams.length)throw new Error("You cannot use keyword (`{{each foo in bar}}`) and block params (`{{each bar as |foo|}}`) at the same time.");var r=e.sexpr.params.splice(0,2),i=r[0].original;e.sexpr.hash||(e.sexpr.hash=n.hash()),e.sexpr.hash.pairs.push(n.pair("keyword",n.string(i)))}}),e},t.prototype.validate=function(e){return("BlockStatement"===e.type||"MustacheStatement"===e.type)&&"each"===e.sexpr.path.original&&3===e.sexpr.params.length&&"PathExpression"===e.sexpr.params[1].type&&"in"===e.sexpr.params[1].original},e["default"]=t}),e("ember-template-compiler/plugins/transform-with-as-to-hash",["exports"],function(e){"use strict";function t(){this.syntax=null}t.prototype.transform=function(e){var t=this,r=new t.syntax.Walker;return r.visit(e,function(e){if(t.validate(e)){if(e.program&&e.program.blockParams.length)throw new Error("You cannot use keyword (`{{with foo as bar}}`) and block params (`{{with foo as |bar|}}`) at the same time.");var r=e.sexpr.params.splice(1,2),n=r[1].original;e.program.blockParams=[n]}}),e},t.prototype.validate=function(e){return"BlockStatement"===e.type&&"with"===e.sexpr.path.original&&3===e.sexpr.params.length&&"PathExpression"===e.sexpr.params[1].type&&"as"===e.sexpr.params[1].original},e["default"]=t}),e("ember-template-compiler/system/compile",["exports","ember-template-compiler/system/compile_options","ember-template-compiler/system/template"],function(e,r,n){"use strict";var a;e["default"]=function(e){if(!a&&i.__loader.registry["htmlbars-compiler/compiler"]&&(a=t("htmlbars-compiler/compiler").compile),!a)throw new Error("Cannot call `compile` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `compile`.");var o=a(e,r["default"]());return n["default"](o)}}),e("ember-template-compiler/system/compile_options",["exports","ember-metal/core","ember-template-compiler/plugins"],function(e,t,r){"use strict";e["default"]=function(){var e=!0;return{revision:"Ember@1.11.0",disableComponentGeneration:e,plugins:r["default"]}}}),e("ember-template-compiler/system/precompile",["exports","ember-template-compiler/system/compile_options"],function(e,r){"use strict";var n;e["default"]=function(e){if(!n&&i.__loader.registry["htmlbars-compiler/compiler"]&&(n=t("htmlbars-compiler/compiler").compileSpec),!n)throw new Error("Cannot call `compileSpec` without the template compiler loaded. Please load `ember-template-compiler.js` prior to calling `compileSpec`.");return n(e,r["default"]())}}),e("ember-template-compiler/system/template",["exports"],function(e){"use strict";e["default"]=function(e){return e.isTop=!0,e.isMethod=!1,e}}),e("ember-views",["exports","ember-runtime","ember-views/system/jquery","ember-views/system/utils","ember-views/system/render_buffer","ember-views/system/renderer","dom-helper","ember-views/system/ext","ember-views/views/states","ember-views/views/core_view","ember-views/views/view","ember-views/views/container_view","ember-views/views/collection_view","ember-views/views/component","ember-views/system/event_dispatcher","ember-views/mixins/view_target_action_support","ember-views/component_lookup","ember-views/views/checkbox","ember-views/mixins/text_support","ember-views/views/text_field","ember-views/views/text_area","ember-views/views/simple_bound_view","ember-views/views/metamorph_view","ember-views/views/select"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C){
 "use strict";t["default"].$=r["default"],t["default"].ViewTargetActionSupport=m["default"],t["default"].RenderBuffer=i["default"];var E=t["default"].ViewUtils={};E.isSimpleClick=n.isSimpleClick,E.getViewClientRects=n.getViewClientRects,E.getViewBoundingClientRect=n.getViewBoundingClientRect,t["default"].CoreView=l["default"],t["default"].View=c["default"],t["default"].View.states=u.states,t["default"].View.cloneStates=u.cloneStates,t["default"].View.DOMHelper=o["default"],t["default"].View._Renderer=a["default"],t["default"].Checkbox=v["default"],t["default"].TextField=b["default"],t["default"].TextArea=_["default"],t["default"]._SimpleBoundView=w["default"],t["default"]._MetamorphView=x["default"],t["default"]._Metamorph=x._Metamorph,t["default"].Select=C.Select,t["default"].SelectOption=C.SelectOption,t["default"].SelectOptgroup=C.SelectOptgroup,t["default"].TextSupport=y["default"],t["default"].ComponentLookup=g["default"],t["default"].ContainerView=h["default"],t["default"].CollectionView=d["default"],t["default"].Component=f["default"],t["default"].EventDispatcher=p["default"],e["default"]=t["default"]}),e("ember-views/attr_nodes/attr_node",["exports","ember-metal/core","ember-metal/streams/utils","ember-metal/run_loop"],function(e,t,r,n){"use strict";function i(e,t){this.init(e,t)}var a="Binding style attributes may introduce cross-site scripting vulnerabilities; please ensure that values being bound are properly escaped. For more information, including how to disable this warning, see http://emberjs.com/deprecations/v1.x/#toc_warning-when-binding-style-attributes.";i.prototype.init=function(e,t){this.isAttrNode=!0,this.isView=!0,this.tagName="",this.isVirtual=!0,this.attrName=e,this.attrValue=t,this.isDirty=!0,this.isDestroying=!1,this.lastValue=null,this.hasRenderedInitially=!1,r.subscribe(this.attrValue,this.rerender,this)},i.prototype.renderIfDirty=function(){if(this.isDirty&&!this.isDestroying){var e=r.read(this.attrValue);e!==this.lastValue?this._renderer.renderTree(this,this._parentView):this.isDirty=!1}},i.prototype.render=function(e){if(this.isDirty=!1,!this.isDestroying){var t=r.read(this.attrValue);return"value"!==this.attrName||null!==t&&void 0!==t||(t=""),void 0===t&&(t=null),this.hasRenderedInitially&&"value"===this.attrName&&this._morph.element.value===t?void(this.lastValue=t):void((null!==this.lastValue||null!==t)&&(this._deprecateEscapedStyle(t),this._morph.setContent(t),this.lastValue=t,this.hasRenderedInitially=!0))}},i.prototype._deprecateEscapedStyle=function(e){},i.prototype.rerender=function(){this.isDirty=!0,n["default"].schedule("render",this,this.renderIfDirty)},i.prototype.destroy=function(){this.isDestroying=!0,this.isDirty=!1,r.unsubscribe(this.attrValue,this.rerender,this),!this.removedFromDOM&&this._renderer&&this._renderer.remove(this,!0)},i.prototype.propertyDidChange=function(){},i.prototype._notifyBecameHidden=function(){},i.prototype._notifyBecameVisible=function(){},e["default"]=i,e.styleWarning=a}),e("ember-views/attr_nodes/legacy_bind",["exports","./attr_node","ember-runtime/system/string","ember-metal/utils","ember-metal/streams/utils","ember-metal/platform/create"],function(e,t,r,n,i,a){"use strict";function o(e,t){this.init(e,t)}o.prototype=a["default"](t["default"].prototype),o.prototype.render=function(e){if(this.isDirty=!1,!this.isDestroying){var t=i.read(this.attrValue);void 0===t&&(t=null),"value"!==this.attrName&&"src"!==this.attrName||null!==t||(t=""),(null!==this.lastValue||null!==t)&&(this._deprecateEscapedStyle(t),this._morph.setContent(t),this.lastValue=t)}},e["default"]=o}),e("ember-views/component_lookup",["exports","ember-runtime/system/object"],function(e,t){"use strict";e["default"]=t["default"].extend({lookupFactory:function(e,t){t=t||this.container;var r="component:"+e,n="template:components/"+e,a=t&&t._registry.has(n);a&&t._registry.injection(r,"layout",n);var o=t.lookupFactory(r);return a||o?(o||(t._registry.register(r,i.Component),o=t.lookupFactory(r)),o):void 0}})}),e("ember-views/mixins/attribute_bindings_support",["exports","ember-metal/mixin","ember-views/attr_nodes/attr_node","ember-metal/properties","ember-views/system/platform","ember-metal/streams/utils","ember-metal/property_set"],function(e,t,r,n,i,a,o){"use strict";var s=[],u=t.Mixin.create({concatenatedProperties:["attributeBindings"],attributeBindings:s,_unspecifiedAttributeBindings:null,_applyAttributeBindings:function(e){var t=this.attributeBindings;if(t&&t.length){var n,o,s,u,l,c,h,d,f=this._unspecifiedAttributeBindings=this._unspecifiedAttributeBindings||{};for(h=0,d=t.length;d>h;h++)n=t[h],o=n.indexOf(":"),-1===o?(s=n,u=n):(s=n.substring(0,o),u=n.substring(o+1)),s in this?(c=this.getStream("view."+s),l=new r["default"](u,c),this.appendAttr(l),i.canSetNameOnInputs||"name"!==u||e.attr("name",a.read(c))):f[s]=u;this.setUnknownProperty=this._setUnknownProperty}},setUnknownProperty:null,_setUnknownProperty:function(e,t){var i=this._unspecifiedAttributeBindings&&this._unspecifiedAttributeBindings[e];if(n.defineProperty(this,e),i){var a=this.getStream("view."+e),s=new r["default"](i,a);this.appendAttr(s)}return o.set(this,e,t)}});e["default"]=u}),e("ember-views/mixins/class_names_support",["exports","ember-metal/core","ember-metal/mixin","ember-runtime/system/native_array","ember-metal/enumerable_utils","ember-metal/streams/utils","ember-views/streams/class_name_binding","ember-metal/utils"],function(e,t,r,n,i,a,o,s){"use strict";var u=[],l=r.Mixin.create({concatenatedProperties:["classNames","classNameBindings"],init:function(){this._super.apply(this,arguments),this.classNameBindings=n.A(this.classNameBindings.slice()),this.classNames=n.A(this.classNames.slice())},classNames:["ember-view"],classNameBindings:u,_applyClassNameBindings:function(){var e=this.classNameBindings;if(e&&e.length){var t,r,n,s=this.classNames;i.forEach(e,function(e){var u;u=a.isStream(e)?e:o.streamifyClassNameBinding(this,e,"_view.");var l,c=this._wrapAsScheduled(function(){t=this.$(),r=a.read(u),l&&(t.removeClass(l),s.removeObject(l)),r?(t.addClass(r),l=r):l=null});n=a.read(u),n&&(i.addObject(s,n),l=n),a.subscribe(u,c,this),this.one("willClearRender",function(){l&&(s.removeObject(l),l=null)})},this)}}});e["default"]=l}),e("ember-views/mixins/component_template_deprecation",["exports","ember-metal/core","ember-metal/property_get","ember-metal/mixin"],function(e,t,r,n){"use strict";e["default"]=n.Mixin.create({willMergeMixin:function(e){this._super.apply(this,arguments);var t,n,i=e.layoutName||e.layout||r.get(this,"layoutName");e.templateName&&!i&&(t="templateName",n="layoutName",e.layoutName=e.templateName,delete e.templateName),e.template&&!i&&(t="template",n="layout",e.layout=e.template,delete e.template)}})}),e("ember-views/mixins/instrumentation_support",["exports","ember-metal/mixin","ember-metal/computed","ember-metal/property_get"],function(e,t,r,n){"use strict";var i=t.Mixin.create({instrumentDisplay:r.computed(function(){return this.helperName?"{{"+this.helperName+"}}":void 0}),instrumentName:"view",instrumentDetails:function(e){e.template=n.get(this,"templateName"),this._super(e)}});e["default"]=i}),e("ember-views/mixins/legacy_view_support",["exports","ember-metal/core","ember-metal/mixin","ember-metal/property_get"],function(e,t,r,n){"use strict";var i=r.Mixin.create({beforeRender:function(e){},afterRender:function(e){},mutateChildViews:function(e){for(var t,r=this._childViews,n=r.length;--n>=0;)t=r[n],e(this,t,n);return this},removeAllChildren:function(){return this.mutateChildViews(function(e,t){e.removeChild(t)})},destroyAllChildren:function(){return this.mutateChildViews(function(e,t){t.destroy()})},nearestChildOf:function(e){for(var t=n.get(this,"parentView");t;){if(n.get(t,"parentView")instanceof e)return t;t=n.get(t,"parentView")}},nearestInstanceOf:function(e){for(var t=n.get(this,"parentView");t;){if(t instanceof e)return t;t=n.get(t,"parentView")}}});e["default"]=i}),e("ember-views/mixins/normalized_rerender_if_needed",["exports","ember-metal/property_get","ember-metal/mixin","ember-metal/merge","ember-views/views/states"],function(e,t,r,n,i){"use strict";var a=i.cloneStates(i.states);n["default"](a._default,{rerenderIfNeeded:function(){return this}}),n["default"](a.inDOM,{rerenderIfNeeded:function(e){e.normalizedValue()!==e._lastNormalizedValue&&e.rerender()}}),e["default"]=r.Mixin.create({_states:a,normalizedValue:function(){var e=this.lazyValue.value(),r=t.get(this,"valueNormalizerFunc");return r?r(e):e},rerenderIfNeeded:function(){this.currentState.rerenderIfNeeded(this)}})}),e("ember-views/mixins/template_rendering_support",["exports","ember-metal/mixin","ember-metal/property_get"],function(e,t,n){"use strict";function i(e,t,n){void 0===a&&(a=r("ember-htmlbars/system/render-view")["default"]),a(e,t,n)}var a,o=t.Mixin.create({render:function(e){var t=n.get(this,"layout")||n.get(this,"template");i(this,e,t)}});e["default"]=o}),e("ember-views/mixins/text_support",["exports","ember-metal/property_get","ember-metal/property_set","ember-metal/mixin","ember-runtime/mixins/target_action_support"],function(e,t,r,n,i){"use strict";function a(e,r,n){var i=t.get(r,e),a=t.get(r,"onEvent"),o=t.get(r,"value");(a===e||"keyPress"===a&&"key-press"===e)&&r.sendAction("action",o),r.sendAction(e,o),(i||a===e)&&(t.get(r,"bubbles")||n.stopPropagation())}var o=n.Mixin.create(i["default"],{value:"",attributeBindings:["autocapitalize","autocorrect","autofocus","disabled","form","maxlength","placeholder","readonly","required","selectionDirection","spellcheck","tabindex","title"],placeholder:null,disabled:!1,maxlength:null,init:function(){this._super.apply(this,arguments),this.on("paste",this,this._elementValueDidChange),this.on("cut",this,this._elementValueDidChange),this.on("input",this,this._elementValueDidChange)},action:null,onEvent:"enter",bubbles:!1,interpretKeyEvents:function(e){var t=o.KEY_EVENTS,r=t[e.keyCode];return this._elementValueDidChange(),r?this[r](e):void 0},_elementValueDidChange:function(){r.set(this,"value",this.$().val())},change:function(e){this._elementValueDidChange(e)},insertNewline:function(e){a("enter",this,e),a("insert-newline",this,e)},cancel:function(e){a("escape-press",this,e)},focusIn:function(e){a("focus-in",this,e)},focusOut:function(e){this._elementValueDidChange(e),a("focus-out",this,e)},keyPress:function(e){a("key-press",this,e)},keyUp:function(e){this.interpretKeyEvents(e),this.sendAction("key-up",t.get(this,"value"),e)},keyDown:function(e){this.sendAction("key-down",t.get(this,"value"),e)}});o.KEY_EVENTS={13:"insertNewline",27:"cancel"},e["default"]=o}),e("ember-views/mixins/view_child_views_support",["exports","ember-metal/core","ember-metal/mixin","ember-metal/computed","ember-metal/property_get","ember-metal/property_set","ember-metal/set_properties","ember-metal/error","ember-metal/enumerable_utils","ember-runtime/system/native_array"],function(e,t,r,n,i,a,o,s,u,l){"use strict";var c=n.computed(function(){var e=this._childViews,t=l.A();return u.forEach(e,function(e){var r;e.isVirtual?(r=i.get(e,"childViews"))&&t.pushObjects(r):t.push(e)}),t.replace=function(e,t,r){throw new s["default"]("childViews is immutable")},t}),h=[],d=r.Mixin.create({childViews:c,_childViews:h,init:function(){this._childViews=this._childViews.slice(),this._super.apply(this,arguments)},appendChild:function(e,t){return this.currentState.appendChild(this,e,t)},removeChild:function(e){if(!this.isDestroying){a.set(e,"_parentView",null);var t=this._childViews;return u.removeObject(t,e),this.propertyDidChange("childViews"),this}},createChildView:function(e,t){if(!e)throw new TypeError("createChildViews first argument must exist");if(e.isView&&e._parentView===this&&e.container===this.container)return e;var r,n=t||{};if(n._parentView=this,n.renderer=this.renderer,e.isViewClass)n.container=this.container,r=e.create(n),r.viewName&&a.set(i.get(this,"concreteView"),r.viewName,r);else if("string"==typeof e){var s="view:"+e,u=this.container.lookupFactory(s);r=u.create(n)}else r=e,n.container=this.container,o["default"](r,n);return r}});e["default"]=d,e.childViewsProperty=c}),e("ember-views/mixins/view_context_support",["exports","ember-metal/mixin","ember-metal/computed","ember-metal/property_get","ember-metal/property_set"],function(e,t,r,n,i){"use strict";var a=t.Mixin.create({context:r.computed(function(e,t){return 2===arguments.length?(i.set(this,"_context",t),t):n.get(this,"_context")})["volatile"](),_context:r.computed(function(e,t){if(2===arguments.length)return t;var r,i;return(i=n.get(this,"controller"))?i:(r=this._parentView,r?n.get(r,"_context"):null)}),_controller:null,controller:r.computed(function(e,t){if(2===arguments.length)return this._controller=t,t;if(this._controller)return this._controller;var r=this._parentView;return r?n.get(r,"controller"):null})});e["default"]=a}),e("ember-views/mixins/view_keyword_support",["exports","ember-metal/mixin","ember-metal/platform/create","ember-views/streams/key_stream"],function(e,t,r,n){"use strict";var i=t.Mixin.create({init:function(){this._super.apply(this,arguments),this._keywords||(this._keywords=r["default"](null)),this._keywords._view=this,this._keywords.view=void 0,this._keywords.controller=new n["default"](this,"controller"),this._setupKeywords()},_setupKeywords:function(){var e=this._keywords,t=this._contextView||this._parentView;if(t){var r=t._keywords;e.view=this.isVirtual?r.view:this;for(var n in r)e[n]||(e[n]=r[n])}else e.view=this.isVirtual?null:this}});e["default"]=i}),e("ember-views/mixins/view_state_support",["exports","ember-metal/core","ember-metal/mixin"],function(e,t,r){"use strict";var n=r.Mixin.create({transitionTo:function(e,t){this._transitionTo(e,t)},_transitionTo:function(e,t){var r=this.currentState,n=this.currentState=this._states[e];this._state=e,r&&r.exit&&r.exit(this),n.enter&&n.enter(this)}});e["default"]=n}),e("ember-views/mixins/view_stream_support",["exports","ember-metal/mixin","ember-metal/streams/stream_binding","ember-views/streams/key_stream","ember-views/streams/context_stream","ember-metal/platform/create","ember-metal/streams/utils"],function(e,t,r,n,i,a,o){"use strict";var s=t.Mixin.create({init:function(){this._baseContext=void 0,this._contextStream=void 0,this._streamBindings=void 0,this._super.apply(this,arguments)},getStream:function(e){var t=this._getContextStream().get(e);return t._label=e,t},_willDestroyElement:function(){this._streamBindings&&this._destroyStreamBindings(),this._contextStream&&this._destroyContextStream()},_getBindingForStream:function(e){void 0===this._streamBindings&&(this._streamBindings=a["default"](null));var t=e;if(o.isStream(e)&&(t=e._label,!t))return e;if(void 0!==this._streamBindings[t])return this._streamBindings[t];var n=this._getContextStream().get(t),i=new r["default"](n);return i._label=t,this._streamBindings[t]=i},_destroyStreamBindings:function(){var e=this._streamBindings;for(var t in e)e[t].destroy();this._streamBindings=void 0},_getContextStream:function(){return void 0===this._contextStream&&(this._baseContext=new n["default"](this,"context"),this._contextStream=new i["default"](this)),this._contextStream},_destroyContextStream:function(){this._baseContext.destroy(),this._baseContext=void 0,this._contextStream.destroy(),this._contextStream=void 0},_unsubscribeFromStreamBindings:function(){for(var e in this._streamBindingSubscriptions){var t=this[e+"Binding"],r=this._streamBindingSubscriptions[e];t.unsubscribe(r)}}});e["default"]=s}),e("ember-views/mixins/view_target_action_support",["exports","ember-metal/mixin","ember-runtime/mixins/target_action_support","ember-metal/alias"],function(e,t,r,n){"use strict";e["default"]=t.Mixin.create(r["default"],{target:n["default"]("controller"),actionContext:n["default"]("context")})}),e("ember-views/mixins/visibility_support",["exports","ember-metal/mixin","ember-metal/property_get","ember-metal/run_loop"],function(e,t,r,n){"use strict";function i(){return this}var a=t.Mixin.create({isVisible:!0,becameVisible:i,becameHidden:i,_isVisibleDidChange:t.observer("isVisible",function(){this._isVisible!==r.get(this,"isVisible")&&n["default"].scheduleOnce("render",this,this._toggleVisibility)}),_toggleVisibility:function(){var e=this.$(),t=r.get(this,"isVisible");this._isVisible!==t&&(this._isVisible=t,e&&(e.toggle(t),this._isAncestorHidden()||(t?this._notifyBecameVisible():this._notifyBecameHidden())))},_notifyBecameVisible:function(){this.trigger("becameVisible"),this.forEachChildView(function(e){var t=r.get(e,"isVisible");(t||null===t)&&e._notifyBecameVisible()})},_notifyBecameHidden:function(){this.trigger("becameHidden"),this.forEachChildView(function(e){var t=r.get(e,"isVisible");(t||null===t)&&e._notifyBecameHidden()})},_isAncestorHidden:function(){for(var e=r.get(this,"parentView");e;){if(r.get(e,"isVisible")===!1)return!0;e=r.get(e,"parentView")}return!1}});e["default"]=a}),e("ember-views/streams/class_name_binding",["exports","ember-metal/streams/utils","ember-metal/property_get","ember-runtime/system/string","ember-metal/utils"],function(e,t,r,n,i){"use strict";function a(e){var t,r,n=e.split(":"),i=n[0],a="";return n.length>1&&(t=n[1],3===n.length&&(r=n[2]),a=":"+t,r&&(a+=":"+r)),{path:i,classNames:a,className:""===t?void 0:t,falsyClassName:r}}function o(e,t,a,o){if(i.isArray(t)&&(t=0!==r.get(t,"length")),a||o)return a&&t?a:o&&!t?o:null;if(t===!0){var s=e.split(".");return n.dasherize(s[s.length-1])}return t!==!1&&null!=t?t:null}function s(e,r,n){n=n||"";var i=a(r);if(""===i.path)return o(i.path,!0,i.className,i.falsyClassName);var s=e.getStream(n+i.path);return t.chain(s,function(){return o(i.path,t.read(s),i.className,i.falsyClassName)})}e.parsePropertyPath=a,e.classStringForValue=o,e.streamifyClassNameBinding=s}),e("ember-views/streams/context_stream",["exports","ember-metal/core","ember-metal/merge","ember-metal/platform/create","ember-metal/path_cache","ember-metal/streams/stream","ember-metal/streams/simple"],function(e,t,r,n,i,a,o){"use strict";function s(e){this.init(),this.view=e}s.prototype=n["default"](a["default"].prototype),r["default"](s.prototype,{value:function(){},_makeChildStream:function(e,r){var n;return""===e||"this"===e?n=this.view._baseContext:i.isGlobal(e)&&t["default"].lookup[e]?(n=new o["default"](t["default"].lookup[e]),n._isGlobal=!0):n=new o["default"](e in this.view._keywords?this.view._keywords[e]:this.view._baseContext.get(e)),n._isRoot=!0,"controller"===e&&(n._isController=!0),n}}),e["default"]=s}),e("ember-views/streams/key_stream",["exports","ember-metal/core","ember-metal/merge","ember-metal/platform/create","ember-metal/property_get","ember-metal/property_set","ember-metal/observer","ember-metal/streams/stream","ember-metal/streams/utils"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e,t){this.init(),this.source=e,this.obj=void 0,this.key=t,u.isStream(e)&&e.subscribe(this._didChange,this)}l.prototype=n["default"](s["default"].prototype),r["default"](l.prototype,{valueFn:function(){var e=this.obj,t=u.read(this.source);return t!==e&&(e&&"object"==typeof e&&o.removeObserver(e,this.key,this,this._didChange),t&&"object"==typeof t&&o.addObserver(t,this.key,this,this._didChange),this.obj=t),t?i.get(t,this.key):void 0},setValue:function(e){this.obj&&a.set(this.obj,this.key,e)},setSource:function(e){var t=this.source;e!==t&&(u.isStream(t)&&t.unsubscribe(this._didChange,this),u.isStream(e)&&e.subscribe(this._didChange,this),this.source=e,this.notify())},_didChange:function(){this.notify()},_super$destroy:s["default"].prototype.destroy,destroy:function(){return this._super$destroy()?(u.isStream(this.source)&&this.source.unsubscribe(this._didChange,this),this.obj&&"object"==typeof this.obj&&o.removeObserver(this.obj,this.key,this,this._didChange),this.source=void 0,this.obj=void 0,!0):void 0}}),e["default"]=l,s["default"].prototype._makeChildStream=function(e){return new l(this,e)}}),e("ember-views/streams/should_display",["exports","ember-metal/streams/stream","ember-metal/streams/utils","ember-metal/platform/create","ember-metal/property_get","ember-metal/utils"],function(e,t,r,n,i,a){"use strict";function o(e){if(r.isStream(e))return new s(e);var t=e&&i.get(e,"isTruthy");return"boolean"==typeof t?t:a.isArray(e)?0!==i.get(e,"length"):!!e}function s(e){this.init(),this.oldPredicate=void 0,this.predicateStream=e,this.isTruthyStream=e.get("isTruthy"),this.lengthStream=void 0,r.subscribe(this.predicateStream,this.notify,this),r.subscribe(this.isTruthyStream,this.notify,this)}e["default"]=o,s.prototype=n["default"](t["default"].prototype),s.prototype.valueFn=function(){var e=this.oldPredicate,t=r.read(this.predicateStream),n=a.isArray(t);t!==e&&(this.lengthStream&&!n&&(r.unsubscribe(this.lengthStream,this.notify,this),this.lengthStream=void 0),!this.lengthStream&&n&&(this.lengthStream=this.predicateStream.get("length"),r.subscribe(this.lengthStream,this.notify,this)),this.oldPredicate=t);var i=r.read(this.isTruthyStream);if("boolean"==typeof i)return i;if(this.lengthStream){var o=r.read(this.lengthStream);return 0!==o}return!!t}}),e("ember-views/streams/utils",["exports","ember-metal/core","ember-metal/property_get","ember-metal/path_cache","ember-runtime/system/string","ember-metal/streams/utils","ember-views/views/view","ember-runtime/mixins/controller"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t){var i,o=a.read(e);return i="string"==typeof o?n.isGlobal(o)?r.get(null,o):t.lookupFactory("view:"+o):o}function l(e,t){var r=a.read(e),n=t.lookup("component-lookup:main");return n.lookupFactory(r,t)}function c(e){if(a.isStream(e)){var t=e.value();if(!e._isController)for(;s["default"].detect(t);)t=r.get(t,"model");return t}return e}e.readViewFactory=u,e.readComponentFactory=l,e.readUnwrappedModel=c}),e("ember-views/system/action_manager",["exports"],function(e){"use strict";function t(){}t.registeredActions={},e["default"]=t}),e("ember-views/system/event_dispatcher",["exports","ember-metal/core","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/run_loop","ember-metal/utils","ember-runtime/system/string","ember-runtime/system/object","ember-views/system/jquery","ember-views/system/action_manager","ember-views/views/view","ember-metal/merge"],function(e,t,r,n,i,a,o,s,u,l,c,h,d){"use strict";e["default"]=u["default"].extend({events:{touchstart:"touchStart",touchmove:"touchMove",touchend:"touchEnd",touchcancel:"touchCancel",keydown:"keyDown",keyup:"keyUp",keypress:"keyPress",mousedown:"mouseDown",mouseup:"mouseUp",contextmenu:"contextMenu",click:"click",dblclick:"doubleClick",mousemove:"mouseMove",focusin:"focusIn",focusout:"focusOut",mouseenter:"mouseEnter",mouseleave:"mouseLeave",submit:"submit",input:"input",change:"change",dragstart:"dragStart",drag:"drag",dragenter:"dragEnter",dragleave:"dragLeave",dragover:"dragOver",drop:"drop",dragend:"dragEnd"},rootElement:"body",canDispatchToEventManager:!0,setup:function(e,t){var a,o=r.get(this,"events");d["default"](o,e||{}),i["default"](t)||n.set(this,"rootElement",t),t=l["default"](r.get(this,"rootElement")),t.addClass("ember-application");for(a in o)o.hasOwnProperty(a)&&this.setupHandler(t,a,o[a])},setupHandler:function(e,t,r){var n=this;e.on(t+".ember",".ember-view",function(e,t){var i=h["default"].views[this.id],a=!0,o=n.canDispatchToEventManager?n._findNearestEventManager(i,r):null;return o&&o!==t?a=n._dispatchEvent(o,e,r,i):i&&(a=n._bubbleEvent(i,e,r)),a}),e.on(t+".ember","[data-ember-action]",function(e){var t=l["default"](e.currentTarget).attr("data-ember-action"),n=c["default"].registeredActions[t];return n&&n.eventName===r?n.handler(e):void 0})},_findNearestEventManager:function(e,t){for(var n=null;e&&(n=r.get(e,"eventManager"),!n||!n[t]);)e=r.get(e,"parentView");return n},_dispatchEvent:function(e,t,r,n){var i=!0,s=e[r];return"function"===o.typeOf(s)?(i=a["default"](e,s,t,n),t.stopPropagation()):i=this._bubbleEvent(n,t,r),i},_bubbleEvent:function(e,t,r){return a["default"].join(e,e.handleEvent,r,t)},destroy:function(){var e=r.get(this,"rootElement");return l["default"](e).off(".ember","**").removeClass("ember-application"),this._super.apply(this,arguments)},toString:function(){return"(EventDispatcher)"}})}),e("ember-views/system/ext",["ember-metal/run_loop"],function(e){"use strict";e["default"]._addQueue("render","actions"),e["default"]._addQueue("afterRender","render")}),e("ember-views/system/jquery",["exports","ember-metal/core","ember-metal/enumerable_utils","ember-metal/environment"],function(e,t,n,i){"use strict";var o;if(i["default"].hasDOM&&(o=t["default"].imports&&t["default"].imports.jQuery||a&&a.jQuery,o||"function"!=typeof r||(o=r("jquery")),o)){var s=["dragstart","drag","dragenter","dragleave","dragover","drop","dragend"];n.forEach(s,function(e){o.event.fixHooks[e]={props:["dataTransfer"]}})}e["default"]=o}),e("ember-views/system/lookup_partial",["exports","ember-metal/core"],function(e,t){"use strict";function r(e,t){var r=t.split("/"),n=r[r.length-1];r[r.length-1]="_"+n;var i=r.join("/"),a=e.templateForName(i);return a||(a=e.templateForName(t)),a}e["default"]=r}),e("ember-views/system/platform",["exports","ember-metal/environment"],function(e,t){"use strict";var r=t["default"].hasDOM&&function(){var e=document.createElement("div"),t=document.createElement("input");return t.setAttribute("name","foo"),e.appendChild(t),!!e.innerHTML.match("foo")}();e.canSetNameOnInputs=r}),e("ember-views/system/render_buffer",["exports","ember-views/system/jquery","ember-metal/core","ember-metal/platform/create","dom-helper/prop","ember-views/system/platform"],function(e,t,r,n,i,a){"use strict";function o(e,t,r){if(c=c||{tr:e.createElement("tbody"),col:e.createElement("colgroup")},"TABLE"===r.tagName){var n=h.exec(t);if(n)return c[n[1].toLowerCase()]}}function s(){this.seen=n["default"](null),this.list=[]}function u(e){return e&&d.test(e)?e.replace(f,""):e}function l(e){var t={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},r=function(e){return t[e]||"&amp;"},n=e.toString();return m.test(n)?n.replace(p,r):n}var c,h=/(?:<script)*.*?<([\w:]+)/i;s.prototype={add:function(e){this.seen[e]!==!0&&(this.seen[e]=!0,this.list.push(e))}};var d=/[^a-zA-Z0-9\-]/,f=/[^a-zA-Z0-9\-]/g,p=/&(?!\w+;)|[<>"'`]/g,m=/[&<>"'`]/,g=function(e){this.buffer=null,this.childViews=[],this.attrNodes=[],this.dom=e};g.prototype={reset:function(e,t){this.tagName=e,this.buffer=null,this._element=null,this._outerContextualElement=t,this.elementClasses=null,this.elementId=null,this.elementAttributes=null,this.elementProperties=null,this.elementTag=null,this.elementStyle=null,this.childViews.length=0,this.attrNodes.length=0},_element:null,_outerContextualElement:null,elementClasses:null,classes:null,elementId:null,elementAttributes:null,elementProperties:null,elementTag:null,elementStyle:null,pushChildView:function(e){var t=this.childViews.length;this.childViews[t]=e,this.push("<script id='morph-"+t+"' type='text/x-placeholder'></script>")},pushAttrNode:function(e){var t=this.attrNodes.length;this.attrNodes[t]=e},hydrateMorphs:function(e){for(var t=this.childViews,r=this._element,n=0,i=t.length;i>n;n++){var a=t[n],o=r.querySelector("#morph-"+n),s=o.parentNode;a._morph=this.dom.insertMorphBefore(s,o,1===s.nodeType?s:e),s.removeChild(o)}},push:function(e){return"string"==typeof e?(null===this.buffer&&(this.buffer=""),this.buffer+=e):this.buffer=e,this},addClass:function(e){return this.elementClasses=this.elementClasses||new s,this.elementClasses.add(e),this.classes=this.elementClasses.list,this},setClasses:function(e){this.elementClasses=null;var t,r=e.length;for(t=0;r>t;t++)this.addClass(e[t])},id:function(e){return this.elementId=e,this},attr:function(e,t){var r=this.elementAttributes=this.elementAttributes||{};return 1===arguments.length?r[e]:(r[e]=t,this)},removeAttr:function(e){var t=this.elementAttributes;return t&&delete t[e],this},prop:function(e,t){var r=this.elementProperties=this.elementProperties||{};return 1===arguments.length?r[e]:(r[e]=t,this)},removeProp:function(e){var t=this.elementProperties;return t&&delete t[e],this},style:function(e,t){return this.elementStyle=this.elementStyle||{},this.elementStyle[e]=t,this},generateElement:function(){var e,t,r,n=this.tagName,o=this.elementId,s=this.classes,c=this.elementAttributes,h=this.elementProperties,d=this.elementStyle,f="";r=!a.canSetNameOnInputs&&c&&c.name?"<"+u(n)+' name="'+l(c.name)+'">':n;var p=this.dom.createElement(r,this.outerContextualElement());if(o&&(this.dom.setAttribute(p,"id",o),this.elementId=null),s&&(this.dom.setAttribute(p,"class",s.join(" ")),this.classes=null,this.elementClasses=null),d){for(t in d)f+=t+":"+d[t]+";";this.dom.setAttribute(p,"style",f),this.elementStyle=null}if(c){for(e in c)this.dom.setAttribute(p,e,c[e]);this.elementAttributes=null}if(h){for(t in h){var m=i.normalizeProperty(p,t.toLowerCase())||t;this.dom.setPropertyStrict(p,m,h[t])}this.elementProperties=null}this._element=p},element:function(){if(this._element&&this.attrNodes.length>0){var e,t,r,n;for(e=0,t=this.attrNodes.length;t>e;e++)n=this.attrNodes[e],r=this.dom.createAttrMorph(this._element,n.attrName),n._morph=r}var i=this.innerContent();if(null===i)return this._element;var a=this.innerContextualElement(i);if(this.dom.detectNamespace(a),this._element||(this._element=this.dom.createDocumentFragment()),i.nodeType)this._element.appendChild(i);else{var o=this.dom.parseHTML(i,a);this._element.appendChild(o)}return this.childViews.length>0&&this.hydrateMorphs(a),this._element},string:function(){if(this._element){var e=this.element(),r=e.outerHTML;return"undefined"==typeof r?t["default"]("<div/>").append(e).html():r}return this.innerString()},outerContextualElement:function(){return void 0===this._outerContextualElement&&(this.outerContextualElement=document.body),this._outerContextualElement},innerContextualElement:function(e){var t;t=this._element&&1===this._element.nodeType?this._element:this.outerContextualElement();var r;return e&&(r=o(this.dom,e,t)),r||t},innerString:function(){var e=this.innerContent();return e&&!e.nodeType?e:void 0},innerContent:function(){return this.buffer}},e["default"]=g}),e("ember-views/system/renderer",["exports","ember-metal/core","ember-metal-views/renderer","ember-metal/platform/create","ember-views/system/render_buffer","ember-metal/run_loop","ember-metal/property_get","ember-metal/instrumentation"],function(e,t,r,n,i,a,o,s){"use strict";function u(e,t){this._super$constructor(e,t),this.buffer=new i["default"](e)}u.prototype=n["default"](r["default"].prototype),u.prototype.constructor=u,u.prototype._super$constructor=r["default"],u.prototype.scheduleRender=function(e,t){return a["default"].scheduleOnce("render",e,t)},u.prototype.cancelRender=function(e){a["default"].cancel(e)},u.prototype.createElement=function(e,t){var r=e.tagName;null!==r&&"object"==typeof r&&r.isDescriptor&&(r=o.get(e,"tagName"));{var n=e.classNameBindings;""===r&&n&&n.length>0}(null===r||void 0===r)&&(r="div");var i=e.buffer=this.buffer;i.reset(r,t),e.beforeRender&&e.beforeRender(i),""!==r&&(e.applyAttributesToBuffer&&e.applyAttributesToBuffer(i),i.generateElement()),e.render&&e.render(i),e.afterRender&&e.afterRender(i);var a=i.element();return e.buffer=null,a&&1===a.nodeType&&(e.element=a),a},u.prototype.destroyView=function(e){e.removedFromDOM=!0,e.destroy()},u.prototype.childViews=function(e){return e._childViews},r["default"].prototype.willCreateElement=function(e){s.subscribers.length&&e.instrumentDetails&&(e._instrumentEnd=s._instrumentStart("render."+e.instrumentName,function(){var t={};return e.instrumentDetails(t),t})),e._transitionTo&&e._transitionTo("inBuffer")},r["default"].prototype.didCreateElement=function(e){e._transitionTo&&e._transitionTo("hasElement"),e._instrumentEnd&&e._instrumentEnd()},r["default"].prototype.willInsertElement=function(e){this._destinedForDOM&&e.trigger&&e.trigger("willInsertElement")},r["default"].prototype.didInsertElement=function(e){e._transitionTo&&e._transitionTo("inDOM"),this._destinedForDOM&&e.trigger&&e.trigger("didInsertElement");
 
-},r["default"].prototype.willRemoveElement=function(e){},r["default"].prototype.willDestroyElement=function(e){this._destinedForDOM&&(e._willDestroyElement&&e._willDestroyElement(),e.trigger&&(e.trigger("willDestroyElement"),e.trigger("willClearRender")))},r["default"].prototype.didDestroyElement=function(e){e.element=null,e._transitionTo&&e._transitionTo("preRender")},e["default"]=u}),e("ember-views/system/utils",["exports"],function(e){"use strict";function t(e){var t=e.shiftKey||e.metaKey||e.altKey||e.ctrlKey,r=e.which>1;return!t&&!r}function r(e){var t=document.createRange();return t.setStartBefore(e._morph.firstNode),t.setEndAfter(e._morph.lastNode),t}function n(e){var t=r(e);return t.getClientRects()}function i(e){var t=r(e);return t.getBoundingClientRect()}e.isSimpleClick=t,e.getViewClientRects=n,e.getViewBoundingClientRect=i}),e("ember-views/views/bound_component_view",["exports","ember-views/views/metamorph_view","ember-metal/streams/utils","ember-views/streams/utils","ember-htmlbars/system/merge-view-bindings","ember-metal/error","ember-views/views/container_view"],function(e,t,r,n,i,a,o){"use strict";e["default"]=o["default"].extend(t._Metamorph,{init:function(){this._super.apply(this,arguments);var e=this._boundComponentOptions.componentNameStream,t=this.container;this.componentClassStream=r.chain(e,function(){return n.readComponentFactory(e,t)}),r.subscribe(this.componentClassStream,this._updateBoundChildComponent,this),this._updateBoundChildComponent()},willDestroy:function(){r.unsubscribe(this.componentClassStream,this._updateBoundChildComponent,this),this._super.apply(this,arguments)},_updateBoundChildComponent:function(){this.replace(0,1,[this._createNewComponent()])},_createNewComponent:function(){var e=r.read(this.componentClassStream);if(!e)throw new a["default"]('HTMLBars error: Could not find component named "'+r.read(this._boundComponentOptions.componentNameStream)+'".');var t,n=this._boundComponentOptions,o={};for(t in n)"_boundComponentOptions"!==t&&"componentClassStream"!==t&&(o[t]=n[t]);var s={};return i["default"](this,s,o),this.createChildView(e,s)}})}),e("ember-views/views/bound_if_view",["exports","ember-metal/run_loop","ember-views/views/metamorph_view","ember-views/mixins/normalized_rerender_if_needed","ember-htmlbars/system/render-view"],function(e,t,r,n,i){"use strict";e["default"]=r["default"].extend(n["default"],{init:function(){this._super.apply(this,arguments);var e=this;this.conditionStream.subscribe(this._wrapAsScheduled(function(){t["default"].scheduleOnce("render",e,"rerenderIfNeeded")}))},normalizedValue:function(){return this.conditionStream.value()},render:function(e){var t=this.conditionStream.value();this._lastNormalizedValue=t;var r=t?this.truthyTemplate:this.falsyTemplate;i["default"](this,e,r)}})}),e("ember-views/views/bound_partial_view",["exports","ember-views/views/metamorph_view","ember-views/mixins/normalized_rerender_if_needed","ember-views/system/lookup_partial","ember-metal/run_loop","ember-htmlbars/system/render-view","ember-htmlbars/templates/empty"],function(e,t,r,n,i,a,o){"use strict";e["default"]=t["default"].extend(r["default"],{init:function(){this._super.apply(this,arguments);var e=this;this.templateNameStream.subscribe(this._wrapAsScheduled(function(){i["default"].scheduleOnce("render",e,"rerenderIfNeeded")}))},normalizedValue:function(){return this.templateNameStream.value()},render:function(e){var t=this.normalizedValue();this._lastNormalizedValue=t;var r;t&&(r=n["default"](this,t)),a["default"](this,e,r||o["default"])}})}),e("ember-views/views/checkbox",["exports","ember-metal/property_get","ember-metal/property_set","ember-views/views/view"],function(e,t,r,n){"use strict";e["default"]=n["default"].extend({instrumentDisplay:'{{input type="checkbox"}}',classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","indeterminate","disabled","tabindex","name","autofocus","required","form"],type:"checkbox",checked:!1,disabled:!1,indeterminate:!1,init:function(){this._super.apply(this,arguments),this.on("change",this,this._updateElementValue)},didInsertElement:function(){this._super.apply(this,arguments),t.get(this,"element").indeterminate=!!t.get(this,"indeterminate")},_updateElementValue:function(){r.set(this,"checked",this.$().prop("checked"))}})}),e("ember-views/views/collection_view",["exports","ember-metal/core","ember-metal/binding","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/string","ember-views/views/container_view","ember-views/views/core_view","ember-views/views/view","ember-metal/mixin","ember-views/streams/utils","ember-runtime/mixins/array"],function(e,t,r,n,i,a,o,s,u,l,c,h){"use strict";var d=o["default"].extend({content:null,emptyViewClass:u["default"],emptyView:null,itemViewClass:u["default"],init:function(){var e=this._super.apply(this,arguments);return this._contentDidChange(),e},_contentWillChange:l.beforeObserver("content",function(){var e=this.get("content");e&&e.removeArrayObserver(this);var t=e?n.get(e,"length"):0;this.arrayWillChange(e,0,t)}),_contentDidChange:l.observer("content",function(){var e=n.get(this,"content");e&&(this._assertArrayLike(e),e.addArrayObserver(this));var t=e?n.get(e,"length"):0;this.arrayDidChange(e,0,null,t)}),_assertArrayLike:function(e){},destroy:function(){if(this._super.apply(this,arguments)){var e=n.get(this,"content");return e&&e.removeArrayObserver(this),this._createdEmptyView&&this._createdEmptyView.destroy(),this}},arrayWillChange:function(e,t,r){var i=n.get(this,"emptyView");i&&i instanceof u["default"]&&i.removeFromParent();var a,o,s=this._childViews;for(o=t+r-1;o>=t;o--)a=s[o],a.destroy()},arrayDidChange:function(e,t,a,o){var u,l,h,d,f,p,m,g=[];if(d=e?n.get(e,"length"):0){for(m=this._itemViewProps||{},f=n.get(this,"itemViewClass"),f=c.readViewFactory(f,this.container),h=t;t+o>h;h++)l=e.objectAt(h),m._context=this.keyword?this.get("context"):l,m.content=l,m.contentIndex=h,u=this.createChildView(f,m),this.blockParams>1?u._blockArguments=[l,u.getStream("_view.contentIndex")]:1===this.blockParams&&(u._blockArguments=[l]),g.push(u);if(this.replace(t,0,g),this.blockParams>1){var v=this._childViews;for(h=t+o;d>h;h++)u=v[h],i.set(u,"contentIndex",h)}}else{if(p=n.get(this,"emptyView"),!p)return;"string"==typeof p&&r.isGlobalPath(p)&&(p=n.get(p)||p),p=this.createChildView(p),g.push(p),i.set(this,"emptyView",p),s["default"].detect(p)&&(this._createdEmptyView=p),this.replace(t,0,g)}},createChildView:function(e,t){var r=this._super(e,t),a=n.get(r,"tagName");return(null===a||void 0===a)&&(a=d.CONTAINER_MAP[n.get(this,"tagName")],i.set(r,"tagName",a)),r}});d.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"},e["default"]=d}),e("ember-views/views/component",["exports","ember-metal/core","ember-views/mixins/component_template_deprecation","ember-runtime/mixins/target_action_support","ember-views/views/view","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/computed","ember-htmlbars/templates/component"],function(e,t,r,n,i,a,o,s,u,l){"use strict";var c=Array.prototype.slice,h=i["default"].extend(n["default"],r["default"],{controller:null,context:null,instrumentName:"component",instrumentDisplay:u.computed(function(){return this._debugContainerKey?"{{"+this._debugContainerKey.split(":")[1]+"}}":void 0}),init:function(){this._super.apply(this,arguments),this._keywords.view=this,o.set(this,"context",this),o.set(this,"controller",this)},defaultLayout:l["default"],template:u.computed(function(e,t){if(void 0!==t)return t;var r=a.get(this,"templateName"),n=this.templateForName(r,"template");return n||a.get(this,"defaultTemplate")}).property("templateName"),templateName:null,_setupKeywords:function(){},_yield:function(e,t,r,n){var o=t.data.view,s=this._parentView,u=a.get(this,"template");u&&o.appendChild(i["default"],{isVirtual:!0,tagName:"",template:u,_blockArguments:n,_contextView:s,_morph:r,context:a.get(s,"context"),controller:a.get(s,"controller")})},targetObject:u.computed(function(e){var t=this._parentView;return t?a.get(t,"controller"):null}).property("_parentView"),sendAction:function(e){var t,r=c.call(arguments,1);t=void 0===e?a.get(this,"action"):a.get(this,e),void 0!==t&&this.triggerAction({action:t,actionContext:r})},send:function(e){var r,n=[].slice.call(arguments,1),i=this._actions&&this._actions[e];if(i){var o=this._actions[e].apply(this,n)===!0;if(!o)return}if(r=a.get(this,"target"))r.send.apply(r,arguments);else if(!i)throw new Error(t["default"].inspect(this)+" had no action handler for: "+e)}});e["default"]=h}),e("ember-views/views/container_view",["exports","ember-metal/core","ember-metal/merge","ember-runtime/mixins/mutable_array","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/states","ember-metal/error","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/run_loop","ember-metal/properties","ember-metal/mixin","ember-runtime/system/native_array"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p){"use strict";function m(){return this}var g=s.cloneStates(s.states),v=o["default"].extend(n["default"],{_states:g,willWatchProperty:function(e){},init:function(){this._super.apply(this,arguments);var e=i.get(this,"childViews");d.defineProperty(this,"childViews",o["default"].childViewsProperty);var t=this._childViews;l.forEach(e,function(e,r){var n;"string"==typeof e?(n=i.get(this,e),n=this.createChildView(n),a.set(this,e,n)):n=this.createChildView(e),t[r]=n},this);var r=i.get(this,"currentView");r&&(t.length||(t=this._childViews=this._childViews.slice()),t.push(this.createChildView(r)))},replace:function(e,t,r){var n=r?i.get(r,"length"):0;if(this.arrayContentWillChange(e,t,n),this.childViewsWillChange(this._childViews,e,t),0===n)this._childViews.splice(e,t);else{var a=[e,t].concat(r);r.length&&!this._childViews.length&&(this._childViews=this._childViews.slice()),this._childViews.splice.apply(this._childViews,a)}return this.arrayContentDidChange(e,t,n),this.childViewsDidChange(this._childViews,e,t,n),this},objectAt:function(e){return this._childViews[e]},length:c.computed(function(){return this._childViews.length})["volatile"](),render:function(e){var t=e.element(),r=e.dom;return""===this.tagName?(t=r.createDocumentFragment(),e._element=t,this._childViewsMorph=r.appendMorph(t,this._morph.contextualElement)):this._childViewsMorph=r.appendMorph(t),t},instrumentName:"container",childViewsWillChange:function(e,t,r){if(this.propertyWillChange("childViews"),r>0){var n=e.slice(t,t+r);this.currentState.childViewsWillChange(this,e,t,r),this.initializeViews(n,null,null)}},removeChild:function(e){return this.removeObject(e),this},childViewsDidChange:function(e,t,r,n){if(n>0){var i=e.slice(t,t+n);this.initializeViews(i,this),this.currentState.childViewsDidChange(this,e,t,n)}this.propertyDidChange("childViews")},initializeViews:function(e,t){l.forEach(e,function(e){a.set(e,"_parentView",t),!e.container&&t&&a.set(e,"container",t.container)})},currentView:null,_currentViewWillChange:f.beforeObserver("currentView",function(){var e=i.get(this,"currentView");e&&e.destroy()}),_currentViewDidChange:f.observer("currentView",function(){var e=i.get(this,"currentView");e&&this.pushObject(e)}),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}});r["default"](g._default,{childViewsWillChange:m,childViewsDidChange:m,ensureChildrenAreInDOM:m}),r["default"](g.inBuffer,{childViewsDidChange:function(e,t,r,n){throw new u["default"]("You cannot modify child views while in the inBuffer state")}}),r["default"](g.hasElement,{childViewsWillChange:function(e,t,r,n){for(var i=r;r+n>i;i++){var a=t[i];a._unsubscribeFromStreamBindings(),a.remove()}},childViewsDidChange:function(e,t,r,n){h["default"].scheduleOnce("render",e,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(e){for(var t=e._childViews,r=e._renderer,n=null,i=t.length-1;i>=0;i--){var a=t[i];a._elementCreated||r.renderTree(a,e,n),n=a._morph}}}),e["default"]=v}),e("ember-views/views/core_view",["exports","ember-views/system/renderer","dom-helper","ember-views/views/states","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-metal/property_get","ember-metal/computed","ember-metal/utils"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(){return this}var h,d=i["default"].extend(a["default"],o["default"],{isView:!0,isVirtual:!1,_states:n.cloneStates(n.states),init:function(){this._super.apply(this,arguments),this._state="preRender",this.currentState=this._states.preRender,this._isVisible=s.get(this,"isVisible"),this.renderer||(h=h||new t["default"](new r["default"]),this.renderer=h)},parentView:u.computed("_parentView",function(){var e=this._parentView;return e&&e.isVirtual?s.get(e,"parentView"):e}),_state:null,_parentView:null,concreteView:u.computed("parentView",function(){return this.isVirtual?s.get(this,"parentView.concreteView"):this}),instrumentName:"core_view",instrumentDetails:function(e){e.object=this.toString(),e.containerKey=this._debugContainerKey,e.view=this},trigger:function(){this._super.apply(this,arguments);var e=arguments[0],t=this[e];if(t){for(var r=arguments.length,n=new Array(r-1),i=1;r>i;i++)n[i-1]=arguments[i];return t.apply(this,n)}},has:function(e){return"function"===l.typeOf(this[e])||this._super(e)},destroy:function(){var e=this._parentView;if(this._super.apply(this,arguments))return!this.removedFromDOM&&this._renderer&&this._renderer.remove(this,!0),e&&e.removeChild(this),this._transitionTo("destroying",!1),this},clearRenderedChildren:c,_transitionTo:c,destroyElement:c});d.reopenClass({isViewClass:!0}),e["default"]=d}),e("ember-views/views/each",["exports","ember-metal/core","ember-runtime/system/string","ember-metal/property_get","ember-metal/property_set","ember-views/views/collection_view","ember-metal/binding","ember-runtime/mixins/controller","ember-runtime/controllers/array_controller","ember-runtime/mixins/array","ember-metal/observer","ember-views/views/metamorph_view"],function(e,t,r,n,i,a,o,s,u,l,c,h){"use strict";e["default"]=a["default"].extend(h._Metamorph,{init:function(){var e,t=n.get(this,"itemController");if(t){var r=n.get(this,"controller.container").lookupFactory("controller:array").create({_isVirtual:!0,parentController:n.get(this,"controller"),itemController:t,target:n.get(this,"controller"),_eachView:this});this.disableContentObservers(function(){i.set(this,"content",r),e=new o.Binding("content","_eachView.dataSource").oneWay(),e.connect(r)}),this._arrayController=r}else this.disableContentObservers(function(){e=new o.Binding("content","dataSource").oneWay(),e.connect(this)});return this._super.apply(this,arguments)},_assertArrayLike:function(e){},disableContentObservers:function(e){c.removeBeforeObserver(this,"content",null,"_contentWillChange"),c.removeObserver(this,"content",null,"_contentDidChange"),e.call(this),c.addBeforeObserver(this,"content",null,"_contentWillChange"),c.addObserver(this,"content",null,"_contentDidChange")},itemViewClass:h["default"],emptyViewClass:h["default"],createChildView:function(e,t){var r=this._super(e,t),a=n.get(r,"content"),o=n.get(this,"keyword");return o&&(r._keywords[o]=a),a&&a.isController&&i.set(r,"controller",a),r},destroy:function(){return this._super.apply(this,arguments)?(this._arrayController&&this._arrayController.destroy(),this):void 0}})}),e("ember-views/views/metamorph_view",["exports","ember-metal/core","ember-views/views/view","ember-metal/mixin"],function(e,t,r,n){"use strict";var i=n.Mixin.create({isVirtual:!0,tagName:"",instrumentName:"metamorph",init:function(){this._super.apply(this,arguments)}});e["default"]=r["default"].extend(i),e._Metamorph=i}),e("ember-views/views/select",["exports","ember-metal/enumerable_utils","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/collection_view","ember-metal/utils","ember-metal/is_none","ember-metal/computed","ember-runtime/system/native_array","ember-metal/mixin","ember-metal/properties","ember-metal/run_loop","ember-htmlbars/templates/select"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f){"use strict";var p=f["default"],m={isHTMLBars:!0,revision:"Ember@1.11.0",render:function(e,t,r){var n=e.getStream("view.label");return n.subscribe(e._wrapAsScheduled(function(){d["default"].scheduleOnce("render",e,"rerender")})),n.value()}},g=i["default"].extend({instrumentDisplay:"Ember.SelectOption",tagName:"option",attributeBindings:["value","selected"],defaultTemplate:m,init:function(){this.labelPathDidChange(),this.valuePathDidChange(),this._super.apply(this,arguments)},selected:u.computed(function(){var e=r.get(this,"value"),n=r.get(this,"parentView.selection");return r.get(this,"parentView.multiple")?n&&t.indexOf(n,e)>-1:e===r.get(this,"parentView.value")}).property("content","parentView.selection"),labelPathDidChange:c.observer("parentView.optionLabelPath",function(){var e=r.get(this,"parentView.optionLabelPath");h.defineProperty(this,"label",u.computed.alias(e))}),valuePathDidChange:c.observer("parentView.optionValuePath",function(){var e=r.get(this,"parentView.optionValuePath");h.defineProperty(this,"value",u.computed.alias(e))})}),v=a["default"].extend({instrumentDisplay:"Ember.SelectOptgroup",tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"}),y=i["default"].extend({instrumentDisplay:"Ember.Select",tagName:"select",classNames:["ember-select"],defaultTemplate:p,attributeBindings:["multiple","disabled","tabindex","name","required","autofocus","form","size"],multiple:!1,disabled:!1,required:!1,content:null,selection:null,value:u.computed("_valuePath","selection",function(e,t){if(2===arguments.length)return t;var n=r.get(this,"_valuePath");return n?r.get(this,"selection."+n):r.get(this,"selection")}),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:v,groupedContent:u.computed(function(){var e=r.get(this,"optionGroupPath"),n=l.A(),i=r.get(this,"content")||[];return t.forEach(i,function(t){var i=r.get(t,e);r.get(n,"lastObject.label")!==i&&n.pushObject({label:i,content:l.A()}),r.get(n,"lastObject.content").push(t)}),n}).property("optionGroupPath","content.@each"),optionView:g,_change:function(){r.get(this,"multiple")?this._changeMultiple():this._changeSingle()},selectionDidChange:c.observer("selection.@each",function(){var e=r.get(this,"selection");if(r.get(this,"multiple")){if(!o.isArray(e))return void n.set(this,"selection",l.A([e]));this._selectionDidChangeMultiple()}else this._selectionDidChangeSingle()}),valueDidChange:c.observer("value",function(){var e,t=r.get(this,"content"),n=r.get(this,"value"),i=r.get(this,"optionValuePath").replace(/^content\.?/,""),a=i?r.get(this,"selection."+i):r.get(this,"selection");n!==a&&(e=t?t.find(function(e){return n===(i?r.get(e,i):e)}):null,this.set("selection",e))}),_setDefaults:function(){var e=r.get(this,"selection"),t=r.get(this,"value");s["default"](e)||this.selectionDidChange(),s["default"](t)||this.valueDidChange(),s["default"](e)&&this._change()},_changeSingle:function(){var e=this.$()[0].selectedIndex,t=r.get(this,"content"),i=r.get(this,"prompt");if(t&&r.get(t,"length")){if(i&&0===e)return void n.set(this,"selection",null);i&&(e-=1),n.set(this,"selection",t.objectAt(e))}},_changeMultiple:function(){var e=this.$("option:selected"),i=r.get(this,"prompt"),a=i?1:0,s=r.get(this,"content"),u=r.get(this,"selection");if(s&&e){var l=e.map(function(){return this.index-a}).toArray(),c=s.objectsAt(l);o.isArray(u)?t.replace(u,0,r.get(u,"length"),c):n.set(this,"selection",c)}},_selectionDidChangeSingle:function(){var e=r.get(this,"value"),t=this;e&&e.then?e.then(function(n){r.get(t,"value")===e&&t._setSelectedIndex(n)}):this._setSelectedIndex(e)},_setSelectedIndex:function(e){var n=r.get(this,"element"),i=r.get(this,"contentValues");if(n){var a=t.indexOf(i,e),o=r.get(this,"prompt");o&&(a+=1),n&&(n.selectedIndex=a)}},_valuePath:u.computed("optionValuePath",function(){var e=r.get(this,"optionValuePath");return e.replace(/^content\.?/,"")}),contentValues:u.computed("content.[]","_valuePath",function(){var e=r.get(this,"_valuePath"),n=r.get(this,"content")||[];return e?t.map(n,function(t){return r.get(t,e)}):t.map(n,function(e){return e})}),_selectionDidChangeMultiple:function(){var e,n=r.get(this,"content"),i=r.get(this,"selection"),a=n?t.indexesOf(n,i):[-1],o=r.get(this,"prompt"),s=o?1:0,u=this.$("option");u&&u.each(function(){e=this.index>-1?this.index-s:-1,this.selected=t.indexOf(a,e)>-1})},init:function(){this._super.apply(this,arguments),this.on("didInsertElement",this,this._setDefaults),this.on("change",this,this._change)}});e["default"]=y,e.Select=y,e.SelectOption=g,e.SelectOptgroup=v}),e("ember-views/views/simple_bound_view",["exports","ember-metal/error","ember-metal/run_loop","ember-metal/utils"],function(e,t,r,n){"use strict";function i(){return this}function a(e,t,r,i){this.stream=i,this[n.GUID_KEY]=n.uuid(),this._lastNormalizedValue=void 0,this.state="preRender",this.updateId=null,this._parentView=e,this.buffer=null,this._morph=r,this.renderer=t}function o(e,t,n){var i=e.appendChild(a,{_morph:t,stream:n});n.subscribe(e._wrapAsScheduled(function(){r["default"].scheduleOnce("render",i,"rerender")}))}e.appendSimpleBoundView=o,a.prototype={isVirtual:!0,isView:!0,tagName:"",destroy:function(){this.updateId&&(r["default"].cancel(this.updateId),this.updateId=null),this._parentView&&this._parentView.removeChild(this),this.morph=null,this.state="destroyed"},propertyWillChange:i,propertyDidChange:i,normalizedValue:function(){var e=this.stream.value();return null===e||void 0===e?"":e},render:function(e){var t=this.normalizedValue();this._lastNormalizedValue=t,e._element=t},rerender:function(){switch(this.state){case"preRender":case"destroyed":break;case"inBuffer":throw new t["default"]("Something you did tried to replace an {{expression}} before it was inserted into the DOM.");case"hasElement":case"inDOM":this.updateId=r["default"].scheduleOnce("render",this,"update")}return this},update:function(){this.updateId=null;var e=this.normalizedValue();e!==this._lastNormalizedValue&&(this._lastNormalizedValue=e,this._morph.setContent(e))},_transitionTo:function(e){this.state=e}},a.create=function(e){return new a(e._parentView,e.renderer,e._morph,e.stream)},a.isViewClass=!0,e["default"]=a}),e("ember-views/views/states",["exports","ember-metal/platform/create","ember-metal/merge","ember-views/views/states/default","ember-views/views/states/pre_render","ember-views/views/states/in_buffer","ember-views/views/states/has_element","ember-views/views/states/in_dom","ember-views/views/states/destroying"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e){var n={};n._default={},n.preRender=t["default"](n._default),n.destroying=t["default"](n._default),n.inBuffer=t["default"](n._default),n.hasElement=t["default"](n._default),n.inDOM=t["default"](n.hasElement);for(var i in e)e.hasOwnProperty(i)&&r["default"](n[i],e[i]);return n}e.cloneStates=l;var c={_default:n["default"],preRender:i["default"],inDOM:s["default"],inBuffer:a["default"],hasElement:o["default"],destroying:u["default"]};e.states=c}),e("ember-views/views/states/default",["exports","ember-metal/error"],function(e,t){"use strict";function r(){return this}e["default"]={appendChild:function(){throw new t["default"]("You can't use appendChild outside of the rendering process")},$:function(){return void 0},getElement:function(){return null},handleEvent:function(){return!0},destroyElement:function(e){return e._renderer&&e._renderer.remove(e,!1),e},rerender:r,invokeObserver:r}}),e("ember-views/views/states/destroying",["exports","ember-metal/merge","ember-metal/platform/create","ember-runtime/system/string","ember-views/views/states/default","ember-metal/error"],function(e,t,r,n,i,a){"use strict";var o="You can't call %@ on a view being destroyed",s=r["default"](i["default"]);t["default"](s,{appendChild:function(){throw new a["default"](n.fmt(o,["appendChild"]))},rerender:function(){throw new a["default"](n.fmt(o,["rerender"]))},destroyElement:function(){throw new a["default"](n.fmt(o,["destroyElement"]))}}),e["default"]=s}),e("ember-views/views/states/has_element",["exports","ember-views/views/states/default","ember-metal/run_loop","ember-metal/merge","ember-metal/platform/create","ember-views/system/jquery","ember-metal/error","ember-metal/property_get"],function(e,t,r,n,i,a,o,s){"use strict";var u=i["default"](t["default"]);n["default"](u,{$:function(e,t){var r=e.get("concreteView").element;return t?a["default"](t,r):a["default"](r)},getElement:function(e){var t=s.get(e,"parentView");return t&&(t=s.get(t,"element")),t?e.findElementInParentElement(t):a["default"]("#"+s.get(e,"elementId"))[0]},rerender:function(e){if(e._root._morph&&!e._elementInserted)throw new o["default"]("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.");r["default"].scheduleOnce("render",function(){e.isDestroying||e._renderer.renderTree(e,e._parentView)})},destroyElement:function(e){return e._renderer.remove(e,!1),e},handleEvent:function(e,t,r){return e.has(t)?e.trigger(t,r):!0},invokeObserver:function(e,t){t.call(e)}}),e["default"]=u}),e("ember-views/views/states/in_buffer",["exports","ember-views/views/states/default","ember-metal/error","ember-views/system/jquery","ember-metal/platform/create","ember-metal/merge"],function(e,t,r,n,i,a){"use strict";var o=i["default"](t["default"]);a["default"](o,{$:function(e,t){return e.rerender(),n["default"]()},rerender:function(e){throw new r["default"]("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(e,t,r){var n=e.buffer,i=e._childViews;return t=e.createChildView(t,r),i.length||(i=e._childViews=i.slice()),i.push(t),t._morph||n.pushChildView(t),e.propertyDidChange("childViews"),t},appendAttr:function(e,t){var r=e.buffer,n=e._childViews;return n.length||(n=e._childViews=n.slice()),n.push(t),t._morph||r.pushAttrNode(t),e.propertyDidChange("childViews"),t},invokeObserver:function(e,t){t.call(e)}}),e["default"]=o}),e("ember-views/views/states/in_dom",["exports","ember-metal/core","ember-metal/platform/create","ember-metal/merge","ember-metal/error","ember-metal/observer","ember-views/views/states/has_element"],function(e,r,n,i,a,o,s){"use strict";var u,l=n["default"](s["default"]);i["default"](l,{enter:function(e){u||(u=t("ember-views/views/view")["default"]),e.isVirtual||(u.views[e.elementId]=e)},exit:function(e){u||(u=t("ember-views/views/view")["default"]),this.isVirtual||delete u.views[e.elementId]},appendAttr:function(e,t){var r=e._childViews;return r.length||(r=e._childViews=r.slice()),r.push(t),t._parentView=e,e.renderer.appendAttrTo(t,e.element,t.attrName),e.propertyDidChange("childViews"),t}}),e["default"]=l}),e("ember-views/views/states/pre_render",["exports","ember-views/views/states/default","ember-metal/platform/create"],function(e,t,r){"use strict";var n=r["default"](t["default"]);e["default"]=n}),e("ember-views/views/text_area",["exports","ember-metal/property_get","ember-views/views/component","ember-views/mixins/text_support","ember-metal/mixin"],function(e,t,r,n,i){"use strict";e["default"]=r["default"].extend(n["default"],{instrumentDisplay:"{{textarea}}",classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name","selectionEnd","selectionStart","wrap","lang","dir"],rows:null,cols:null,_updateElementValue:i.observer("value",function(){var e=t.get(this,"value"),r=this.$();r&&e!==r.val()&&r.val(e)}),init:function(){this._super.apply(this,arguments),this.on("didInsertElement",this,this._updateElementValue)}})}),e("ember-views/views/text_field",["exports","ember-views/views/component","ember-views/mixins/text_support"],function(e,t,r){"use strict";e["default"]=t["default"].extend(r["default"],{instrumentDisplay:'{{input type="text"}}',classNames:["ember-text-field"],tagName:"input",attributeBindings:["accept","autocomplete","autosave","dir","formaction","formenctype","formmethod","formnovalidate","formtarget","height","inputmode","lang","list","max","min","multiple","name","pattern","size","step","type","value","width"],defaultLayout:null,value:"",type:"text",size:null,pattern:null,min:null,max:null})}),e("ember-views/views/view",["exports","ember-metal/core","ember-runtime/mixins/evented","ember-runtime/system/object","ember-metal/error","ember-metal/property_get","ember-metal/run_loop","ember-metal/observer","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/deprecate_property","ember-metal/property_events","ember-views/system/jquery","ember-views/system/ext","ember-views/views/core_view","ember-views/mixins/view_stream_support","ember-views/mixins/view_keyword_support","ember-views/mixins/view_context_support","ember-views/mixins/view_child_views_support","ember-views/mixins/view_state_support","ember-views/mixins/template_rendering_support","ember-views/mixins/class_names_support","ember-views/mixins/attribute_bindings_support","ember-views/mixins/legacy_view_support","ember-views/mixins/instrumentation_support","ember-views/mixins/visibility_support"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C,E,T,S){"use strict";function A(){return this}t["default"].TEMPLATES={};var k=[],O=m["default"].extend(g["default"],v["default"],y["default"],b["default"],_["default"],w["default"],x["default"],C["default"],E["default"],T["default"],S["default"],{isView:!0,templateName:null,layoutName:null,template:l.computed("templateName",function(e,t){if(void 0!==t)return t;var r=a.get(this,"templateName"),n=this.templateForName(r,"template");return n||a.get(this,"defaultTemplate")}),layout:l.computed(function(e){var t=a.get(this,"layoutName"),r=this.templateForName(t,"layout");return r||a.get(this,"defaultLayout")}).property("layoutName"),_yield:function(e,t,r){var n=a.get(this,"template");return n?n.isHTMLBars?n.render(e,t,r.contextualElement):n(e,t):void 0},_blockArguments:k,templateForName:function(e,t){if(e){if(!this.container)throw new i["default"]("Container was not found when looking up a views template. This is most likely due to manually instantiating an Ember.View. See: http://git.io/EKPpnA");return this.container.lookup("template:"+e)}},_contextDidChange:c.observer("context",function(){this.rerender()}),_childViewsWillChange:c.beforeObserver("childViews",function(){if(this.isVirtual){var e=a.get(this,"parentView");e&&d.propertyWillChange(e,"childViews")}}),_childViewsDidChange:c.observer("childViews",function(){if(this.isVirtual){var e=a.get(this,"parentView");e&&d.propertyDidChange(e,"childViews")}}),nearestOfType:function(e){for(var t=a.get(this,"parentView"),r=e instanceof c.Mixin?function(t){return e.detect(t)}:function(t){return e.detect(t.constructor)};t;){if(r(t))return t;t=a.get(t,"parentView")}},nearestWithProperty:function(e){for(var t=a.get(this,"parentView");t;){if(e in t)return t;t=a.get(t,"parentView")}},_parentViewDidChange:c.observer("_parentView",function(){this.isDestroying||(this._setupKeywords(),this.trigger("parentViewDidChange"),a.get(this,"parentView.controller")&&!a.get(this,"controller")&&this.notifyPropertyChange("controller"))}),_controllerDidChange:c.observer("controller",function(){this.isDestroying||(this.rerender(),this.forEachChildView(function(e){e.propertyDidChange("controller")}))}),rerender:function(){return this.currentState.rerender(this)},_classStringForProperty:function(e){return O._classStringForValue(e.path,e.stream.value(),e.className,e.falsyClassName)},element:null,$:function(e){return this.currentState.$(this,e)},forEachChildView:function(e){var t=this._childViews;if(!t)return this;var r,n,i=t.length;
+},r["default"].prototype.willRemoveElement=function(e){},r["default"].prototype.willDestroyElement=function(e){this._destinedForDOM&&(e._willDestroyElement&&e._willDestroyElement(),e.trigger&&(e.trigger("willDestroyElement"),e.trigger("willClearRender")))},r["default"].prototype.didDestroyElement=function(e){e.element=null,e._transitionTo&&e._transitionTo("preRender")},e["default"]=u}),e("ember-views/system/utils",["exports"],function(e){"use strict";function t(e){var t=e.shiftKey||e.metaKey||e.altKey||e.ctrlKey,r=e.which>1;return!t&&!r}function r(e){var t=document.createRange();return t.setStartBefore(e._morph.firstNode),t.setEndAfter(e._morph.lastNode),t}function n(e){var t=r(e);return t.getClientRects()}function i(e){var t=r(e);return t.getBoundingClientRect()}e.isSimpleClick=t,e.getViewClientRects=n,e.getViewBoundingClientRect=i}),e("ember-views/views/bound_component_view",["exports","ember-views/views/metamorph_view","ember-metal/streams/utils","ember-views/streams/utils","ember-htmlbars/system/merge-view-bindings","ember-metal/error","ember-views/views/container_view"],function(e,t,r,n,i,a,o){"use strict";e["default"]=o["default"].extend(t._Metamorph,{init:function(){this._super.apply(this,arguments);var e=this._boundComponentOptions.componentNameStream,t=this.container;this.componentClassStream=r.chain(e,function(){return n.readComponentFactory(e,t)}),r.subscribe(this.componentClassStream,this._updateBoundChildComponent,this),this._updateBoundChildComponent()},willDestroy:function(){r.unsubscribe(this.componentClassStream,this._updateBoundChildComponent,this),this._super.apply(this,arguments)},_updateBoundChildComponent:function(){this.replace(0,1,[this._createNewComponent()])},_createNewComponent:function(){var e=r.read(this.componentClassStream);if(!e)throw new a["default"]('HTMLBars error: Could not find component named "'+r.read(this._boundComponentOptions.componentNameStream)+'".');var t,n=this._boundComponentOptions,o={};for(t in n)"_boundComponentOptions"!==t&&"componentClassStream"!==t&&(o[t]=n[t]);var s={};return i["default"](this,s,o),this.createChildView(e,s)}})}),e("ember-views/views/bound_if_view",["exports","ember-metal/run_loop","ember-views/views/metamorph_view","ember-views/mixins/normalized_rerender_if_needed","ember-htmlbars/system/render-view"],function(e,t,r,n,i){"use strict";e["default"]=r["default"].extend(n["default"],{init:function(){this._super.apply(this,arguments);var e=this;this.conditionStream.subscribe(this._wrapAsScheduled(function(){t["default"].scheduleOnce("render",e,"rerenderIfNeeded")}))},normalizedValue:function(){return this.conditionStream.value()},render:function(e){var t=this.conditionStream.value();this._lastNormalizedValue=t;var r=t?this.truthyTemplate:this.falsyTemplate;i["default"](this,e,r)}})}),e("ember-views/views/bound_partial_view",["exports","ember-views/views/metamorph_view","ember-views/mixins/normalized_rerender_if_needed","ember-views/system/lookup_partial","ember-metal/run_loop","ember-htmlbars/system/render-view","ember-htmlbars/templates/empty"],function(e,t,r,n,i,a,o){"use strict";e["default"]=t["default"].extend(r["default"],{init:function(){this._super.apply(this,arguments);var e=this;this.templateNameStream.subscribe(this._wrapAsScheduled(function(){i["default"].scheduleOnce("render",e,"rerenderIfNeeded")}))},normalizedValue:function(){return this.templateNameStream.value()},render:function(e){var t=this.normalizedValue();this._lastNormalizedValue=t;var r;t&&(r=n["default"](this,t)),a["default"](this,e,r||o["default"])}})}),e("ember-views/views/checkbox",["exports","ember-metal/property_get","ember-metal/property_set","ember-views/views/view"],function(e,t,r,n){"use strict";e["default"]=n["default"].extend({instrumentDisplay:'{{input type="checkbox"}}',classNames:["ember-checkbox"],tagName:"input",attributeBindings:["type","checked","indeterminate","disabled","tabindex","name","autofocus","required","form"],type:"checkbox",checked:!1,disabled:!1,indeterminate:!1,init:function(){this._super.apply(this,arguments),this.on("change",this,this._updateElementValue)},didInsertElement:function(){this._super.apply(this,arguments),t.get(this,"element").indeterminate=!!t.get(this,"indeterminate")},_updateElementValue:function(){r.set(this,"checked",this.$().prop("checked"))}})}),e("ember-views/views/collection_view",["exports","ember-metal/core","ember-metal/binding","ember-metal/property_get","ember-metal/property_set","ember-runtime/system/string","ember-views/views/container_view","ember-views/views/core_view","ember-views/views/view","ember-metal/mixin","ember-views/streams/utils","ember-runtime/mixins/array"],function(e,t,r,n,i,a,o,s,u,l,c,h){"use strict";var d=o["default"].extend({content:null,emptyViewClass:u["default"],emptyView:null,itemViewClass:u["default"],init:function(){var e=this._super.apply(this,arguments);return this._contentDidChange(),e},_contentWillChange:l.beforeObserver("content",function(){var e=this.get("content");e&&e.removeArrayObserver(this);var t=e?n.get(e,"length"):0;this.arrayWillChange(e,0,t)}),_contentDidChange:l.observer("content",function(){var e=n.get(this,"content");e&&(this._assertArrayLike(e),e.addArrayObserver(this));var t=e?n.get(e,"length"):0;this.arrayDidChange(e,0,null,t)}),_assertArrayLike:function(e){},destroy:function(){if(this._super.apply(this,arguments)){var e=n.get(this,"content");return e&&e.removeArrayObserver(this),this._createdEmptyView&&this._createdEmptyView.destroy(),this}},arrayWillChange:function(e,t,r){var i=n.get(this,"emptyView");i&&i instanceof u["default"]&&i.removeFromParent();var a,o,s=this._childViews;for(o=t+r-1;o>=t;o--)a=s[o],a.destroy()},arrayDidChange:function(e,t,a,o){var u,l,h,d,f,p,m,g=[];if(d=e?n.get(e,"length"):0){for(m=this._itemViewProps||{},f=n.get(this,"itemViewClass"),f=c.readViewFactory(f,this.container),h=t;t+o>h;h++)l=e.objectAt(h),m._context=this.keyword?this.get("context"):l,m.content=l,m.contentIndex=h,u=this.createChildView(f,m),this.blockParams>1?u._blockArguments=[l,u.getStream("_view.contentIndex")]:1===this.blockParams&&(u._blockArguments=[l]),g.push(u);if(this.replace(t,0,g),this.blockParams>1){var v=this._childViews;for(h=t+o;d>h;h++)u=v[h],i.set(u,"contentIndex",h)}}else{if(p=n.get(this,"emptyView"),!p)return;"string"==typeof p&&r.isGlobalPath(p)&&(p=n.get(p)||p),p=this.createChildView(p),g.push(p),i.set(this,"emptyView",p),s["default"].detect(p)&&(this._createdEmptyView=p),this.replace(t,0,g)}},createChildView:function(e,t){var r=this._super(e,t),a=n.get(r,"tagName");return(null===a||void 0===a)&&(a=d.CONTAINER_MAP[n.get(this,"tagName")],i.set(r,"tagName",a)),r}});d.CONTAINER_MAP={ul:"li",ol:"li",table:"tr",thead:"tr",tbody:"tr",tfoot:"tr",tr:"td",select:"option"},e["default"]=d}),e("ember-views/views/component",["exports","ember-metal/core","ember-views/mixins/component_template_deprecation","ember-runtime/mixins/target_action_support","ember-views/views/view","ember-metal/property_get","ember-metal/property_set","ember-metal/is_none","ember-metal/computed","ember-htmlbars/templates/component"],function(e,t,r,n,i,a,o,s,u,l){"use strict";var c=Array.prototype.slice,h=i["default"].extend(n["default"],r["default"],{controller:null,context:null,instrumentName:"component",instrumentDisplay:u.computed(function(){return this._debugContainerKey?"{{"+this._debugContainerKey.split(":")[1]+"}}":void 0}),init:function(){this._super.apply(this,arguments),this._keywords.view=this,o.set(this,"context",this),o.set(this,"controller",this)},defaultLayout:l["default"],template:u.computed(function(e,t){if(void 0!==t)return t;var r=a.get(this,"templateName"),n=this.templateForName(r,"template");return n||a.get(this,"defaultTemplate")}).property("templateName"),templateName:null,_setupKeywords:function(){},_yield:function(e,t,r,n){var o=t.data.view,s=this._parentView,u=a.get(this,"template");u&&o.appendChild(i["default"],{isVirtual:!0,tagName:"",template:u,_blockArguments:n,_contextView:s,_morph:r,context:a.get(s,"context"),controller:a.get(s,"controller")})},targetObject:u.computed(function(e){var t=this._parentView;return t?a.get(t,"controller"):null}).property("_parentView"),sendAction:function(e){var t,r=c.call(arguments,1);t=void 0===e?a.get(this,"action"):a.get(this,e),void 0!==t&&this.triggerAction({action:t,actionContext:r})},send:function(e){var r,n=[].slice.call(arguments,1),i=this._actions&&this._actions[e];if(i){var o=this._actions[e].apply(this,n)===!0;if(!o)return}if(r=a.get(this,"target"))r.send.apply(r,arguments);else if(!i)throw new Error(t["default"].inspect(this)+" had no action handler for: "+e)}});e["default"]=h}),e("ember-views/views/container_view",["exports","ember-metal/core","ember-metal/merge","ember-runtime/mixins/mutable_array","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/states","ember-metal/error","ember-metal/enumerable_utils","ember-metal/computed","ember-metal/run_loop","ember-metal/properties","ember-metal/mixin","ember-runtime/system/native_array"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p){"use strict";function m(){return this}var g=s.cloneStates(s.states),v=o["default"].extend(n["default"],{_states:g,willWatchProperty:function(e){},init:function(){this._super.apply(this,arguments);var e=i.get(this,"childViews");d.defineProperty(this,"childViews",o["default"].childViewsProperty);var t=this._childViews;l.forEach(e,function(e,r){var n;"string"==typeof e?(n=i.get(this,e),n=this.createChildView(n),a.set(this,e,n)):n=this.createChildView(e),t[r]=n},this);var r=i.get(this,"currentView");r&&(t.length||(t=this._childViews=this._childViews.slice()),t.push(this.createChildView(r)))},replace:function(e,t,r){var n=r?i.get(r,"length"):0;if(this.arrayContentWillChange(e,t,n),this.childViewsWillChange(this._childViews,e,t),0===n)this._childViews.splice(e,t);else{var a=[e,t].concat(r);r.length&&!this._childViews.length&&(this._childViews=this._childViews.slice()),this._childViews.splice.apply(this._childViews,a)}return this.arrayContentDidChange(e,t,n),this.childViewsDidChange(this._childViews,e,t,n),this},objectAt:function(e){return this._childViews[e]},length:c.computed(function(){return this._childViews.length})["volatile"](),render:function(e){var t=e.element(),r=e.dom;return""===this.tagName?(t=r.createDocumentFragment(),e._element=t,this._childViewsMorph=r.appendMorph(t,this._morph.contextualElement)):this._childViewsMorph=r.appendMorph(t),t},instrumentName:"container",childViewsWillChange:function(e,t,r){if(this.propertyWillChange("childViews"),r>0){var n=e.slice(t,t+r);this.currentState.childViewsWillChange(this,e,t,r),this.initializeViews(n,null,null)}},removeChild:function(e){return this.removeObject(e),this},childViewsDidChange:function(e,t,r,n){if(n>0){var i=e.slice(t,t+n);this.initializeViews(i,this),this.currentState.childViewsDidChange(this,e,t,n)}this.propertyDidChange("childViews")},initializeViews:function(e,t){l.forEach(e,function(e){a.set(e,"_parentView",t),!e.container&&t&&a.set(e,"container",t.container)})},currentView:null,_currentViewWillChange:f.beforeObserver("currentView",function(){var e=i.get(this,"currentView");e&&e.destroy()}),_currentViewDidChange:f.observer("currentView",function(){var e=i.get(this,"currentView");e&&this.pushObject(e)}),_ensureChildrenAreInDOM:function(){this.currentState.ensureChildrenAreInDOM(this)}});r["default"](g._default,{childViewsWillChange:m,childViewsDidChange:m,ensureChildrenAreInDOM:m}),r["default"](g.inBuffer,{childViewsDidChange:function(e,t,r,n){throw new u["default"]("You cannot modify child views while in the inBuffer state")}}),r["default"](g.hasElement,{childViewsWillChange:function(e,t,r,n){for(var i=r;r+n>i;i++){var a=t[i];a._unsubscribeFromStreamBindings(),a.remove()}},childViewsDidChange:function(e,t,r,n){h["default"].scheduleOnce("render",e,"_ensureChildrenAreInDOM")},ensureChildrenAreInDOM:function(e){for(var t=e._childViews,r=e._renderer,n=null,i=t.length-1;i>=0;i--){var a=t[i];a._elementCreated||r.renderTree(a,e,n),n=a._morph}}}),e["default"]=v}),e("ember-views/views/core_view",["exports","ember-views/system/renderer","dom-helper","ember-views/views/states","ember-runtime/system/object","ember-runtime/mixins/evented","ember-runtime/mixins/action_handler","ember-metal/property_get","ember-metal/computed","ember-metal/utils"],function(e,t,r,n,i,a,o,s,u,l){"use strict";function c(){return this}var h,d=i["default"].extend(a["default"],o["default"],{isView:!0,isVirtual:!1,_states:n.cloneStates(n.states),init:function(){this._super.apply(this,arguments),this._state="preRender",this.currentState=this._states.preRender,this._isVisible=s.get(this,"isVisible"),this.renderer||(h=h||new t["default"](new r["default"]),this.renderer=h)},parentView:u.computed("_parentView",function(){var e=this._parentView;return e&&e.isVirtual?s.get(e,"parentView"):e}),_state:null,_parentView:null,concreteView:u.computed("parentView",function(){return this.isVirtual?s.get(this,"parentView.concreteView"):this}),instrumentName:"core_view",instrumentDetails:function(e){e.object=this.toString(),e.containerKey=this._debugContainerKey,e.view=this},trigger:function(){this._super.apply(this,arguments);var e=arguments[0],t=this[e];if(t){for(var r=arguments.length,n=new Array(r-1),i=1;r>i;i++)n[i-1]=arguments[i];return t.apply(this,n)}},has:function(e){return"function"===l.typeOf(this[e])||this._super(e)},destroy:function(){var e=this._parentView;if(this._super.apply(this,arguments))return!this.removedFromDOM&&this._renderer&&this._renderer.remove(this,!0),e&&e.removeChild(this),this._transitionTo("destroying",!1),this},clearRenderedChildren:c,_transitionTo:c,destroyElement:c});d.reopenClass({isViewClass:!0}),e["default"]=d}),e("ember-views/views/each",["exports","ember-metal/core","ember-runtime/system/string","ember-metal/property_get","ember-metal/property_set","ember-views/views/collection_view","ember-metal/binding","ember-runtime/mixins/controller","ember-runtime/controllers/array_controller","ember-runtime/mixins/array","ember-metal/observer","ember-views/views/metamorph_view"],function(e,t,r,n,i,a,o,s,u,l,c,h){"use strict";e["default"]=a["default"].extend(h._Metamorph,{init:function(){var e,t=n.get(this,"itemController");if(t){var r=n.get(this,"controller.container").lookupFactory("controller:array").create({_isVirtual:!0,parentController:n.get(this,"controller"),itemController:t,target:n.get(this,"controller"),_eachView:this});this.disableContentObservers(function(){i.set(this,"content",r),e=new o.Binding("content","_eachView.dataSource").oneWay(),e.connect(r)}),this._arrayController=r}else this.disableContentObservers(function(){e=new o.Binding("content","dataSource").oneWay(),e.connect(this)});return this._super.apply(this,arguments)},_assertArrayLike:function(e){},disableContentObservers:function(e){c.removeBeforeObserver(this,"content",null,"_contentWillChange"),c.removeObserver(this,"content",null,"_contentDidChange"),e.call(this),c.addBeforeObserver(this,"content",null,"_contentWillChange"),c.addObserver(this,"content",null,"_contentDidChange")},itemViewClass:h["default"],emptyViewClass:h["default"],createChildView:function(e,t){var r=this._super(e,t),a=n.get(r,"content"),o=n.get(this,"keyword");return o&&(r._keywords[o]=a),a&&a.isController&&i.set(r,"controller",a),r},destroy:function(){return this._super.apply(this,arguments)?(this._arrayController&&this._arrayController.destroy(),this):void 0}})}),e("ember-views/views/metamorph_view",["exports","ember-metal/core","ember-views/views/view","ember-metal/mixin"],function(e,t,r,n){"use strict";var i=n.Mixin.create({isVirtual:!0,tagName:"",instrumentName:"metamorph",init:function(){this._super.apply(this,arguments)}});e["default"]=r["default"].extend(i),e._Metamorph=i}),e("ember-views/views/select",["exports","ember-metal/enumerable_utils","ember-metal/property_get","ember-metal/property_set","ember-views/views/view","ember-views/views/collection_view","ember-metal/utils","ember-metal/is_none","ember-metal/computed","ember-runtime/system/native_array","ember-metal/mixin","ember-metal/properties","ember-metal/run_loop","ember-htmlbars/templates/select"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f){"use strict";var p=f["default"],m={isHTMLBars:!0,revision:"Ember@1.11.0",render:function(e,t,r){var n=e.getStream("view.label");return n.subscribe(e._wrapAsScheduled(function(){d["default"].scheduleOnce("render",e,"rerender")})),n.value()}},g=i["default"].extend({instrumentDisplay:"Ember.SelectOption",tagName:"option",attributeBindings:["value","selected"],defaultTemplate:m,init:function(){this.labelPathDidChange(),this.valuePathDidChange(),this._super.apply(this,arguments)},selected:u.computed(function(){var e=r.get(this,"value"),n=r.get(this,"parentView.selection");return r.get(this,"parentView.multiple")?n&&t.indexOf(n,e)>-1:e===r.get(this,"parentView.value")}).property("content","parentView.selection"),labelPathDidChange:c.observer("parentView.optionLabelPath",function(){var e=r.get(this,"parentView.optionLabelPath");h.defineProperty(this,"label",u.computed.alias(e))}),valuePathDidChange:c.observer("parentView.optionValuePath",function(){var e=r.get(this,"parentView.optionValuePath");h.defineProperty(this,"value",u.computed.alias(e))})}),v=a["default"].extend({instrumentDisplay:"Ember.SelectOptgroup",tagName:"optgroup",attributeBindings:["label"],selectionBinding:"parentView.selection",multipleBinding:"parentView.multiple",optionLabelPathBinding:"parentView.optionLabelPath",optionValuePathBinding:"parentView.optionValuePath",itemViewClassBinding:"parentView.optionView"}),y=i["default"].extend({instrumentDisplay:"Ember.Select",tagName:"select",classNames:["ember-select"],defaultTemplate:p,attributeBindings:["multiple","disabled","tabindex","name","required","autofocus","form","size"],multiple:!1,disabled:!1,required:!1,content:null,selection:null,value:u.computed("_valuePath","selection",function(e,t){if(2===arguments.length)return t;var n=r.get(this,"_valuePath");return n?r.get(this,"selection."+n):r.get(this,"selection")}),prompt:null,optionLabelPath:"content",optionValuePath:"content",optionGroupPath:null,groupView:v,groupedContent:u.computed(function(){var e=r.get(this,"optionGroupPath"),n=l.A(),i=r.get(this,"content")||[];return t.forEach(i,function(t){var i=r.get(t,e);r.get(n,"lastObject.label")!==i&&n.pushObject({label:i,content:l.A()}),r.get(n,"lastObject.content").push(t)}),n}).property("optionGroupPath","content.@each"),optionView:g,_change:function(){r.get(this,"multiple")?this._changeMultiple():this._changeSingle()},selectionDidChange:c.observer("selection.@each",function(){var e=r.get(this,"selection");if(r.get(this,"multiple")){if(!o.isArray(e))return void n.set(this,"selection",l.A([e]));this._selectionDidChangeMultiple()}else this._selectionDidChangeSingle()}),valueDidChange:c.observer("value",function(){var e,t=r.get(this,"content"),n=r.get(this,"value"),i=r.get(this,"optionValuePath").replace(/^content\.?/,""),a=i?r.get(this,"selection."+i):r.get(this,"selection");n!==a&&(e=t?t.find(function(e){return n===(i?r.get(e,i):e)}):null,this.set("selection",e))}),_setDefaults:function(){var e=r.get(this,"selection"),t=r.get(this,"value");s["default"](e)||this.selectionDidChange(),s["default"](t)||this.valueDidChange(),s["default"](e)&&this._change()},_changeSingle:function(){var e=this.$()[0].selectedIndex,t=r.get(this,"content"),i=r.get(this,"prompt");if(t&&r.get(t,"length")){if(i&&0===e)return void n.set(this,"selection",null);i&&(e-=1),n.set(this,"selection",t.objectAt(e))}},_changeMultiple:function(){var e=this.$("option:selected"),i=r.get(this,"prompt"),a=i?1:0,s=r.get(this,"content"),u=r.get(this,"selection");if(s&&e){var l=e.map(function(){return this.index-a}).toArray(),c=s.objectsAt(l);o.isArray(u)?t.replace(u,0,r.get(u,"length"),c):n.set(this,"selection",c)}},_selectionDidChangeSingle:function(){var e=r.get(this,"value"),t=this;e&&e.then?e.then(function(n){r.get(t,"value")===e&&t._setSelectedIndex(n)}):this._setSelectedIndex(e)},_setSelectedIndex:function(e){var n=r.get(this,"element"),i=r.get(this,"contentValues");if(n){var a=t.indexOf(i,e),o=r.get(this,"prompt");o&&(a+=1),n&&(n.selectedIndex=a)}},_valuePath:u.computed("optionValuePath",function(){var e=r.get(this,"optionValuePath");return e.replace(/^content\.?/,"")}),contentValues:u.computed("content.[]","_valuePath",function(){var e=r.get(this,"_valuePath"),n=r.get(this,"content")||[];return e?t.map(n,function(t){return r.get(t,e)}):t.map(n,function(e){return e})}),_selectionDidChangeMultiple:function(){var e,n=r.get(this,"content"),i=r.get(this,"selection"),a=n?t.indexesOf(n,i):[-1],o=r.get(this,"prompt"),s=o?1:0,u=this.$("option");u&&u.each(function(){e=this.index>-1?this.index-s:-1,this.selected=t.indexOf(a,e)>-1})},init:function(){this._super.apply(this,arguments),this.on("didInsertElement",this,this._setDefaults),this.on("change",this,this._change)}});e["default"]=y,e.Select=y,e.SelectOption=g,e.SelectOptgroup=v}),e("ember-views/views/simple_bound_view",["exports","ember-metal/error","ember-metal/run_loop","ember-metal/utils"],function(e,t,r,n){"use strict";function i(){return this}function a(e,t,r,i){this.stream=i,this[n.GUID_KEY]=n.uuid(),this._lastNormalizedValue=void 0,this.state="preRender",this.updateId=null,this._parentView=e,this.buffer=null,this._morph=r,this.renderer=t}function o(e,t,n){var i=e.appendChild(a,{_morph:t,stream:n});n.subscribe(e._wrapAsScheduled(function(){r["default"].scheduleOnce("render",i,"rerender")}))}e.appendSimpleBoundView=o,a.prototype={isVirtual:!0,isView:!0,tagName:"",destroy:function(){this.updateId&&(r["default"].cancel(this.updateId),this.updateId=null),this._parentView&&this._parentView.removeChild(this),this.morph=null,this.state="destroyed"},propertyWillChange:i,propertyDidChange:i,normalizedValue:function(){var e=this.stream.value();return null===e||void 0===e?"":e},render:function(e){var t=this.normalizedValue();this._lastNormalizedValue=t,e._element=t},rerender:function(){switch(this.state){case"preRender":case"destroyed":break;case"inBuffer":throw new t["default"]("Something you did tried to replace an {{expression}} before it was inserted into the DOM.");case"hasElement":case"inDOM":this.updateId=r["default"].scheduleOnce("render",this,"update")}return this},update:function(){this.updateId=null;var e=this.normalizedValue();e!==this._lastNormalizedValue&&(this._lastNormalizedValue=e,this._morph.setContent(e))},_transitionTo:function(e){this.state=e}},a.create=function(e){return new a(e._parentView,e.renderer,e._morph,e.stream)},a.isViewClass=!0,e["default"]=a}),e("ember-views/views/states",["exports","ember-metal/platform/create","ember-metal/merge","ember-views/views/states/default","ember-views/views/states/pre_render","ember-views/views/states/in_buffer","ember-views/views/states/has_element","ember-views/views/states/in_dom","ember-views/views/states/destroying"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e){var n={};n._default={},n.preRender=t["default"](n._default),n.destroying=t["default"](n._default),n.inBuffer=t["default"](n._default),n.hasElement=t["default"](n._default),n.inDOM=t["default"](n.hasElement);for(var i in e)e.hasOwnProperty(i)&&r["default"](n[i],e[i]);return n}e.cloneStates=l;var c={_default:n["default"],preRender:i["default"],inDOM:s["default"],inBuffer:a["default"],hasElement:o["default"],destroying:u["default"]};e.states=c}),e("ember-views/views/states/default",["exports","ember-metal/error"],function(e,t){"use strict";function r(){return this}e["default"]={appendChild:function(){throw new t["default"]("You can't use appendChild outside of the rendering process")},$:function(){return void 0},getElement:function(){return null},handleEvent:function(){return!0},destroyElement:function(e){return e._renderer&&e._renderer.remove(e,!1),e},rerender:r,invokeObserver:r}}),e("ember-views/views/states/destroying",["exports","ember-metal/merge","ember-metal/platform/create","ember-runtime/system/string","ember-views/views/states/default","ember-metal/error"],function(e,t,r,n,i,a){"use strict";var o="You can't call %@ on a view being destroyed",s=r["default"](i["default"]);t["default"](s,{appendChild:function(){throw new a["default"](n.fmt(o,["appendChild"]))},rerender:function(){throw new a["default"](n.fmt(o,["rerender"]))},destroyElement:function(){throw new a["default"](n.fmt(o,["destroyElement"]))}}),e["default"]=s}),e("ember-views/views/states/has_element",["exports","ember-views/views/states/default","ember-metal/run_loop","ember-metal/merge","ember-metal/platform/create","ember-views/system/jquery","ember-metal/error","ember-metal/property_get"],function(e,t,r,n,i,a,o,s){"use strict";var u=i["default"](t["default"]);n["default"](u,{$:function(e,t){var r=e.get("concreteView").element;return t?a["default"](t,r):a["default"](r)},getElement:function(e){var t=s.get(e,"parentView");return t&&(t=s.get(t,"element")),t?e.findElementInParentElement(t):a["default"]("#"+s.get(e,"elementId"))[0]},rerender:function(e){if(e._root._morph&&!e._elementInserted)throw new o["default"]("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.");r["default"].scheduleOnce("render",function(){e.isDestroying||e._renderer.renderTree(e,e._parentView)})},destroyElement:function(e){return e._renderer.remove(e,!1),e},handleEvent:function(e,t,r){return e.has(t)?e.trigger(t,r):!0},invokeObserver:function(e,t){t.call(e)}}),e["default"]=u}),e("ember-views/views/states/in_buffer",["exports","ember-views/views/states/default","ember-metal/error","ember-views/system/jquery","ember-metal/platform/create","ember-metal/merge"],function(e,t,r,n,i,a){"use strict";var o=i["default"](t["default"]);a["default"](o,{$:function(e,t){return e.rerender(),n["default"]()},rerender:function(e){throw new r["default"]("Something you did caused a view to re-render after it rendered but before it was inserted into the DOM.")},appendChild:function(e,t,r){var n=e.buffer,i=e._childViews;return t=e.createChildView(t,r),i.length||(i=e._childViews=i.slice()),i.push(t),t._morph||n.pushChildView(t),e.propertyDidChange("childViews"),t},appendAttr:function(e,t){var r=e.buffer,n=e._childViews;return n.length||(n=e._childViews=n.slice()),n.push(t),t._morph||r.pushAttrNode(t),e.propertyDidChange("childViews"),t},invokeObserver:function(e,t){t.call(e)}}),e["default"]=o}),e("ember-views/views/states/in_dom",["exports","ember-metal/core","ember-metal/platform/create","ember-metal/merge","ember-metal/error","ember-metal/observer","ember-views/views/states/has_element"],function(e,r,n,i,a,o,s){"use strict";var u,l=n["default"](s["default"]);i["default"](l,{enter:function(e){u||(u=t("ember-views/views/view")["default"]),e.isVirtual||(u.views[e.elementId]=e)},exit:function(e){u||(u=t("ember-views/views/view")["default"]),this.isVirtual||delete u.views[e.elementId]},appendAttr:function(e,t){var r=e._childViews;return r.length||(r=e._childViews=r.slice()),r.push(t),t._parentView=e,e.renderer.appendAttrTo(t,e.element,t.attrName),e.propertyDidChange("childViews"),t}}),e["default"]=l}),e("ember-views/views/states/pre_render",["exports","ember-views/views/states/default","ember-metal/platform/create"],function(e,t,r){"use strict";var n=r["default"](t["default"]);e["default"]=n}),e("ember-views/views/text_area",["exports","ember-metal/property_get","ember-views/views/component","ember-views/mixins/text_support","ember-metal/mixin"],function(e,t,r,n,i){"use strict";e["default"]=r["default"].extend(n["default"],{instrumentDisplay:"{{textarea}}",classNames:["ember-text-area"],tagName:"textarea",attributeBindings:["rows","cols","name","selectionEnd","selectionStart","wrap","lang","dir"],rows:null,cols:null,_updateElementValue:i.observer("value",function(){var e=t.get(this,"value"),r=this.$();r&&e!==r.val()&&r.val(e)}),init:function(){this._super.apply(this,arguments),this.on("didInsertElement",this,this._updateElementValue)}})}),e("ember-views/views/text_field",["exports","ember-views/views/component","ember-views/mixins/text_support"],function(e,t,r){"use strict";e["default"]=t["default"].extend(r["default"],{instrumentDisplay:'{{input type="text"}}',classNames:["ember-text-field"],tagName:"input",attributeBindings:["accept","autocomplete","autosave","dir","formaction","formenctype","formmethod","formnovalidate","formtarget","height","inputmode","lang","list","max","min","multiple","name","pattern","size","step","type","value","width"],defaultLayout:null,value:"",type:"text",size:null,pattern:null,min:null,max:null})}),e("ember-views/views/view",["exports","ember-metal/core","ember-runtime/mixins/evented","ember-runtime/system/object","ember-metal/error","ember-metal/property_get","ember-metal/run_loop","ember-metal/observer","ember-metal/utils","ember-metal/computed","ember-metal/mixin","ember-metal/deprecate_property","ember-metal/property_events","ember-views/system/jquery","ember-views/system/ext","ember-views/views/core_view","ember-views/mixins/view_stream_support","ember-views/mixins/view_keyword_support","ember-views/mixins/view_context_support","ember-views/mixins/view_child_views_support","ember-views/mixins/view_state_support","ember-views/mixins/template_rendering_support","ember-views/mixins/class_names_support","ember-views/mixins/attribute_bindings_support","ember-views/mixins/legacy_view_support","ember-views/mixins/instrumentation_support","ember-views/mixins/visibility_support"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g,v,y,b,_,w,x,C,E,S,T){"use strict";function k(){return this}t["default"].TEMPLATES={};var A=[],O=m["default"].extend(g["default"],v["default"],y["default"],b["default"],_["default"],w["default"],x["default"],C["default"],E["default"],S["default"],T["default"],{isView:!0,templateName:null,layoutName:null,template:l.computed("templateName",function(e,t){if(void 0!==t)return t;var r=a.get(this,"templateName"),n=this.templateForName(r,"template");return n||a.get(this,"defaultTemplate")}),layout:l.computed(function(e){var t=a.get(this,"layoutName"),r=this.templateForName(t,"layout");return r||a.get(this,"defaultLayout")}).property("layoutName"),_yield:function(e,t,r){var n=a.get(this,"template");return n?n.isHTMLBars?n.render(e,t,r.contextualElement):n(e,t):void 0},_blockArguments:A,templateForName:function(e,t){if(e){if(!this.container)throw new i["default"]("Container was not found when looking up a views template. This is most likely due to manually instantiating an Ember.View. See: http://git.io/EKPpnA");return this.container.lookup("template:"+e)}},_contextDidChange:c.observer("context",function(){this.rerender()}),_childViewsWillChange:c.beforeObserver("childViews",function(){if(this.isVirtual){var e=a.get(this,"parentView");e&&d.propertyWillChange(e,"childViews")}}),_childViewsDidChange:c.observer("childViews",function(){if(this.isVirtual){var e=a.get(this,"parentView");e&&d.propertyDidChange(e,"childViews")}}),nearestOfType:function(e){for(var t=a.get(this,"parentView"),r=e instanceof c.Mixin?function(t){return e.detect(t)}:function(t){return e.detect(t.constructor)};t;){if(r(t))return t;t=a.get(t,"parentView")}},nearestWithProperty:function(e){for(var t=a.get(this,"parentView");t;){if(e in t)return t;t=a.get(t,"parentView")}},_parentViewDidChange:c.observer("_parentView",function(){this.isDestroying||(this._setupKeywords(),this.trigger("parentViewDidChange"),a.get(this,"parentView.controller")&&!a.get(this,"controller")&&this.notifyPropertyChange("controller"))}),_controllerDidChange:c.observer("controller",function(){this.isDestroying||(this.rerender(),this.forEachChildView(function(e){e.propertyDidChange("controller")}))}),rerender:function(){return this.currentState.rerender(this)},_classStringForProperty:function(e){return O._classStringForValue(e.path,e.stream.value(),e.className,e.falsyClassName)},element:null,$:function(e){return this.currentState.$(this,e)},forEachChildView:function(e){var t=this._childViews;if(!t)return this;var r,n,i=t.length;
 
-for(n=0;i>n;n++)r=t[n],e(r);return this},appendTo:function(e){var t=f["default"](e);return this.renderer.appendTo(this,t[0]),this},replaceIn:function(e){var t=f["default"](e);return this.renderer.replaceIn(this,t[0]),this},append:function(){return this.appendTo(document.body)},remove:function(){this.removedFromDOM||this.destroyElement()},elementId:null,findElementInParentElement:function(e){var t="#"+this.elementId;return f["default"](t)[0]||f["default"](t,e)[0]},createElement:function(){return this.element?this:(this._didCreateElementWithoutMorph=!0,this.renderer.renderTree(this),this)},willInsertElement:A,didInsertElement:A,willClearRender:A,destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:A,parentViewDidChange:A,applyAttributesToBuffer:function(e){this._applyClassNameBindings(),this._applyAttributeBindings(e),e.setClasses(this.classNames),e.id(this.elementId);var t=a.get(this,"ariaRole");t&&e.attr("role",t),a.get(this,"isVisible")===!1&&e.style("display","none")},tagName:null,ariaRole:null,init:function(){this.isVirtual||this.elementId||(this.elementId=u.guidFor(this)),this._super.apply(this,arguments)},__defineNonEnumerable:function(e){this[e.name]=e.descriptor.value},appendAttr:function(e){return this.currentState.appendAttr(this,e)},removeFromParent:function(){var e=this._parentView;return this.remove(),e&&e.removeChild(this),this},destroy:function(){var e=a.get(this,"parentView"),t=this.viewName;return this._super.apply(this,arguments)?(t&&e&&e.set(t,null),this):void 0},handleEvent:function(e,t){return this.currentState.handleEvent(this,e,t)},registerObserver:function(e,t,r,n){if(n||"function"!=typeof r||(n=r,r=null),e&&"object"==typeof e){var i=this._wrapAsScheduled(n);n.addObserver(e,t,r,i),this.one("willClearRender",function(){n.removeObserver(e,t,r,i)})}},_wrapAsScheduled:function(e){var t=this,r=function(){t.currentState.invokeObserver(this,e)},n=function(){o["default"].scheduleOnce("render",this,r)};return n}});h.deprecateProperty(O.prototype,"state","_state"),h.deprecateProperty(O.prototype,"states","_states");var R=n["default"].extend(r["default"]).create();O.addMutationListener=function(e){R.on("change",e)},O.removeMutationListener=function(e){R.off("change",e)},O.notifyMutationListeners=function(){R.trigger("change")},O.views={},O.childViewsProperty=b.childViewsProperty,e["default"]=O,e.ViewKeywordSupport=v["default"],e.ViewStreamSupport=g["default"],e.ViewContextSupport=y["default"],e.ViewChildViewsSupport=b["default"],e.ViewStateSupport=_["default"],e.TemplateRenderingSupport=w["default"],e.ClassNamesSupport=x["default"],e.AttributeBindingsSupport=C["default"]}),e("ember-views/views/with_view",["exports","ember-metal/property_set","ember-views/views/metamorph_view","ember-views/mixins/normalized_rerender_if_needed","ember-metal/run_loop","ember-htmlbars/system/render-view"],function(e,t,r,n,i,a){"use strict";e["default"]=r["default"].extend(n["default"],{init:function(){this._super.apply(this,arguments);var e=this;this.withValue.subscribe(this._wrapAsScheduled(function(){i["default"].scheduleOnce("render",e,"rerenderIfNeeded")}));var r=this.controllerName;if(r){var n=this.container.lookupFactory("controller:"+r),a=n.create({parentController:this.previousContext,target:this.previousContext});this._generatedController=a,this.preserveContext?(this._blockArguments=[a],this.withValue.subscribe(function(e){t.set(a,"model",e.value())})):t.set(this,"controller",a),t.set(a,"model",this.withValue.value())}else this.preserveContext&&(this._blockArguments=[this.withValue])},normalizedValue:function(){return this.withValue.value()},render:function(e){var r=this.normalizedValue();this._lastNormalizedValue=r,this.preserveContext||this.controllerName||t.set(this,"_context",r);var n=r?this.mainTemplate:this.inverseTemplate;a["default"](this,e,n)},willDestroy:function(){this._super.apply(this,arguments),this._generatedController&&this._generatedController.destroy()}})}),e("ember",["ember-metal","ember-runtime","ember-views","ember-routing","ember-application","ember-extension-support","ember-htmlbars","ember-routing-htmlbars","ember-routing-views","ember-metal/environment","ember-runtime/system/lazy_load"],function(e,r,n,a,o,s,u,l,c,h,d){"use strict";i.__loader.registry["ember-template-compiler"]&&t("ember-template-compiler"),i.__loader.registry["ember-testing"]&&t("ember-testing"),d.runLoadHooks("Ember")}),e("htmlbars-util",["./htmlbars-util/safe-string","./htmlbars-util/handlebars/utils","./htmlbars-util/namespaces","exports"],function(e,t,r,n){"use strict";var i=e["default"],a=t.escapeExpression,o=r.getAttrNamespace;n.SafeString=i,n.escapeExpression=a,n.getAttrNamespace=o}),e("htmlbars-util/array-utils",["exports"],function(e){"use strict";function t(e,t,r){var n,i;if(void 0===r)for(n=0,i=e.length;i>n;n++)t(e[n],n,e);else for(n=0,i=e.length;i>n;n++)t.call(r,e[n],n,e)}function r(e,t){var r,n,i=[];for(r=0,n=e.length;n>r;r++)i.push(t(e[r],r,e));return i}e.forEach=t,e.map=r;var n;n=Array.prototype.indexOf?function(e,t,r){return e.indexOf(t,r)}:function(e,t,r){void 0===r||null===r?r=0:0>r&&(r=Math.max(0,e.length+r));for(var n=r,i=e.length;i>n;n++)if(e[n]===t)return n;return-1};var i=n;e.indexOfArray=i}),e("htmlbars-util/handlebars/safe-string",["exports"],function(e){"use strict";function t(e){this.string=e}t.prototype.toString=t.prototype.toHTML=function(){return""+this.string},e["default"]=t}),e("htmlbars-util/handlebars/utils",["./safe-string","exports"],function(e,t){"use strict";function r(e){return s[e]}function n(e){for(var t=1;t<arguments.length;t++)for(var r in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],r)&&(e[r]=arguments[t][r]);return e}function i(e){return e&&e.toHTML?e.toHTML():null==e?"":e?(e=""+e,l.test(e)?e.replace(u,r):e):e+""}function a(e){return e||0===e?d(e)&&0===e.length?!0:!1:!0}function o(e,t){return(e?e+".":"")+t}var s=(e["default"],{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"}),u=/[&<>"'`]/g,l=/[&<>"'`]/;t.extend=n;var c=Object.prototype.toString;t.toString=c;var h=function(e){return"function"==typeof e};h(/x/)&&(h=function(e){return"function"==typeof e&&"[object Function]"===c.call(e)});var h;t.isFunction=h;var d=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===c.call(e):!1};t.isArray=d,t.escapeExpression=i,t.isEmpty=a,t.appendContextPath=o}),e("htmlbars-util/namespaces",["exports"],function(e){"use strict";function t(e){var t,n=e.indexOf(":");if(-1!==n){var i=e.slice(0,n);t=r[i]}return t||null}var r={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"};e.getAttrNamespace=t}),e("htmlbars-util/object-utils",["exports"],function(e){"use strict";function t(e,t){for(var r in t)e.hasOwnProperty(r)||(e[r]=t[r]);return e}e.merge=t}),e("htmlbars-util/quoting",["exports"],function(e){"use strict";function t(e){return e=e.replace(/\\/g,"\\\\"),e=e.replace(/"/g,'\\"'),e=e.replace(/\n/g,"\\n")}function r(e){return'"'+t(e)+'"'}function n(e){return"["+e+"]"}function i(e){return"{"+e.join(", ")+"}"}function a(e,t){for(var r="";t--;)r+=e;return r}e.escapeString=t,e.string=r,e.array=n,e.hash=i,e.repeat=a}),e("htmlbars-util/safe-string",["./handlebars/safe-string","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=r}),e("morph-attr",["./morph-attr/sanitize-attribute-value","./dom-helper/prop","./dom-helper/build-html-dom","./htmlbars-util","exports"],function(e,t,r,n,i){"use strict";function a(e){this.domHelper.setPropertyStrict(this.element,this.attrName,e)}function o(e){c(e)?this.domHelper.removeAttribute(this.element,this.attrName):this.domHelper.setAttribute(this.element,this.attrName,e)}function s(e){c(e)?this.domHelper.removeAttribute(this.element,this.attrName):this.domHelper.setAttributeNS(this.element,this.namespace,this.attrName,e)}function u(e,t,r,n){this.element=e,this.domHelper=r,this.namespace=void 0!==n?n:f(t),this.escaped=!0;var i=h(this.element,t);this.namespace?(this._update=s,this.attrName=t):e.namespaceURI!==d&&"style"!==t&&i?(this.attrName=i,this._update=a):(this.attrName=t,this._update=o)}var l=e.sanitizeAttributeValue,c=t.isAttrRemovalValue,h=t.normalizeProperty,d=r.svgNamespace,f=n.getAttrNamespace;u.prototype.setContent=function(e){if(this.escaped){var t=l(this.domHelper,this.element,this.attrName,e);this._update(t,this.namespace)}else this._update(e,this.namespace)},i["default"]=u,i.sanitizeAttributeValue=l}),e("morph-attr/sanitize-attribute-value",["exports"],function(e){"use strict";function t(e,t,s,u){var l;if(l=t?t.tagName.toUpperCase():null,u&&u.toHTML)return u.toHTML();if((null===l||n[l])&&a[s]){var c=e.protocolForURL(u);if(r[c]===!0)return"unsafe:"+u}return i[l]&&o[s]?"unsafe:"+u:u}var r={"javascript:":!0,"vbscript:":!0},n={A:!0,BODY:!0,LINK:!0,IMG:!0,IFRAME:!0,BASE:!0},i={EMBED:!0},a={href:!0,src:!0,background:!0};e.badAttributes=a;var o={src:!0};e.sanitizeAttributeValue=t}),e("morph-range",["./morph-range/utils","exports"],function(e,t){"use strict";function r(e,t){this.domHelper=e,this.contextualElement=t,this.parseTextAsHTML=!1,this.firstNode=null,this.lastNode=null,this.parentMorph=null,this.firstChildMorph=null,this.lastChildMorph=null,this.previousMorph=null,this.nextMorph=null}function n(e){for(var t,r=e;(t=r.parentMorph)&&r===t.firstChildMorph&&r.firstNode!==t.firstNode;)t.firstNode=r.firstNode,r=t}function i(e){for(var t,r=e;(t=r.parentMorph)&&r===t.lastChildMorph&&r.lastNode!==t.lastNode;)t.lastNode=r.lastNode,r=t}var a=e.clear,o=e.insertBefore;r.prototype.setContent=function(e){if(null===e||void 0===e)return this.clear();var t=typeof e;switch(t){case"string":return this.parseTextAsHTML?this.setHTML(e):this.setText(e);case"object":if("number"==typeof e.nodeType)return this.setNode(e);if("string"==typeof e.string)return this.setHTML(e.string);if(this.parseTextAsHTML)return this.setHTML(e.toString());case"boolean":case"number":return this.setText(e.toString());default:throw new TypeError("unsupported content")}},r.prototype.clear=function(){return this.setNode(this.domHelper.createComment(""))},r.prototype.setText=function(e){var t=this.firstNode,r=this.lastNode;return t&&r===t&&3===t.nodeType?(t.nodeValue=e,t):this.setNode(e?this.domHelper.createTextNode(e):this.domHelper.createComment(""))},r.prototype.setNode=function(e){var t,r;switch(e.nodeType){case 3:t=e,r=e;break;case 11:t=e.firstChild,r=e.lastChild,null===t&&(t=this.domHelper.createComment(""),e.appendChild(t),r=t);break;default:t=e,r=e}var s=this.firstNode;if(null!==s){var u=s.parentNode;o(u,t,r,s),a(u,s,this.lastNode)}return this.firstNode=t,this.lastNode=r,this.parentMorph&&(n(this),i(this)),e},r.prototype.reset=function(){this.firstChildMorph=null,this.lastChildMorph=null},r.prototype.destroy=function(){var e=this.parentMorph,t=this.previousMorph,r=this.nextMorph,o=this.firstNode,s=this.lastNode,u=o&&o.parentNode;if(t?r?(t.nextMorph=r,r.previousMorph=t):(t.nextMorph=null,e&&(e.lastChildMorph=t)):r?(r.previousMorph=null,e&&(e.firstChildMorph=r)):e&&(e.lastChildMorph=e.firstChildMorph=null),this.parentMorph=null,this.firstNode=null,this.lastNode=null,e){if(!e.firstChildMorph)return void e.clear();n(e.firstChildMorph),i(e.lastChildMorph)}a(u,o,s)},r.prototype.setHTML=function(e){var t=this.domHelper.parseHTML(e,this.contextualElement);return this.setNode(t)},r.prototype.appendContent=function(e){return this.insertContentBeforeMorph(e,null)},r.prototype.insertContentBeforeMorph=function(e,t){var n=new r(this.domHelper,this.contextualElement);return n.setContent(e),this.insertBeforeMorph(n,t),n},r.prototype.appendMorph=function(e){this.insertBeforeMorph(e,null)},r.prototype.insertBeforeMorph=function(e,t){if(t&&t.parentMorph!==this)throw new Error("The morph before which the new morph is to be inserted is not a child of this morph.");e.parentMorph=this;var r=this.firstNode.parentNode;o(r,e.firstNode,e.lastNode,t?t.firstNode:this.lastNode.nextSibling),this.firstChildMorph||a(r,this.firstNode,this.lastNode);var s=t?t.previousMorph:this.lastChildMorph;s?(s.nextMorph=e,e.previousMorph=s):this.firstChildMorph=e,t?(t.previousMorph=e,e.nextMorph=t):this.lastChildMorph=e,n(this.firstChildMorph),i(this.lastChildMorph)},t["default"]=r}),e("morph-range/utils",["exports"],function(e){"use strict";function t(e,t,r){if(e){var n,i=t;do{if(n=i.nextSibling,e.removeChild(i),i===r)break;i=n}while(i)}}function r(e,t,r,n){var i,a=r,o=n;do{if(i=a.previousSibling,e.insertBefore(a,o),a===t)break;o=a,a=i}while(a)}e.clear=t,e.insertBefore=r}),e("route-recognizer",["./route-recognizer/dsl","exports"],function(e,t){"use strict";function r(e){return"[object Array]"===Object.prototype.toString.call(e)}function n(e){this.string=e}function i(e){this.name=e}function a(e){this.name=e}function o(){}function s(e,t,r){"/"===e.charAt(0)&&(e=e.substr(1));for(var s=e.split("/"),u=[],l=0,c=s.length;c>l;l++){var h,d=s[l];(h=d.match(/^:([^\/]+)$/))?(u.push(new i(h[1])),t.push(h[1]),r.dynamics++):(h=d.match(/^\*([^\/]+)$/))?(u.push(new a(h[1])),t.push(h[1]),r.stars++):""===d?u.push(new o):(u.push(new n(d)),r.statics++)}return u}function u(e){this.charSpec=e,this.nextStates=[]}function l(e){return e.sort(function(e,t){if(e.types.stars!==t.types.stars)return e.types.stars-t.types.stars;if(e.types.stars){if(e.types.statics!==t.types.statics)return t.types.statics-e.types.statics;if(e.types.dynamics!==t.types.dynamics)return t.types.dynamics-e.types.dynamics}return e.types.dynamics!==t.types.dynamics?e.types.dynamics-t.types.dynamics:e.types.statics!==t.types.statics?t.types.statics-e.types.statics:0})}function c(e,t){for(var r=[],n=0,i=e.length;i>n;n++){var a=e[n];r=r.concat(a.match(t))}return r}function h(e){this.queryParams=e||{}}function d(e,t,r){for(var n=e.handlers,i=e.regex,a=t.match(i),o=1,s=new h(r),u=0,l=n.length;l>u;u++){for(var c=n[u],d=c.names,f={},p=0,m=d.length;m>p;p++)f[d[p]]=a[o++];s.push({handler:c.handler,params:f,isDynamic:!!d.length})}return s}function f(e,t){return t.eachChar(function(t){e=e.put(t)}),e}function p(e){return e=e.replace(/\+/gm,"%20"),decodeURIComponent(e)}var m=e["default"],g=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],v=new RegExp("(\\"+g.join("|\\")+")","g");n.prototype={eachChar:function(e){for(var t,r=this.string,n=0,i=r.length;i>n;n++)t=r.charAt(n),e({validChars:t})},regex:function(){return this.string.replace(v,"\\$1")},generate:function(){return this.string}},i.prototype={eachChar:function(e){e({invalidChars:"/",repeat:!0})},regex:function(){return"([^/]+)"},generate:function(e){return e[this.name]}},a.prototype={eachChar:function(e){e({invalidChars:"",repeat:!0})},regex:function(){return"(.+)"},generate:function(e){return e[this.name]}},o.prototype={eachChar:function(){},regex:function(){return""},generate:function(){return""}},u.prototype={get:function(e){for(var t=this.nextStates,r=0,n=t.length;n>r;r++){var i=t[r],a=i.charSpec.validChars===e.validChars;if(a=a&&i.charSpec.invalidChars===e.invalidChars)return i}},put:function(e){var t;return(t=this.get(e))?t:(t=new u(e),this.nextStates.push(t),e.repeat&&t.nextStates.push(t),t)},match:function(e){for(var t,r,n,i=this.nextStates,a=[],o=0,s=i.length;s>o;o++)t=i[o],r=t.charSpec,"undefined"!=typeof(n=r.validChars)?-1!==n.indexOf(e)&&a.push(t):"undefined"!=typeof(n=r.invalidChars)&&-1===n.indexOf(e)&&a.push(t);return a}};var y=Object.create||function(e){function t(){}return t.prototype=e,new t};h.prototype=y({splice:Array.prototype.splice,slice:Array.prototype.slice,push:Array.prototype.push,length:0,queryParams:null});var b=function(){this.rootState=new u,this.names={}};b.prototype={add:function(e,t){for(var r,n=this.rootState,i="^",a={statics:0,dynamics:0,stars:0},u=[],l=[],c=!0,h=0,d=e.length;d>h;h++){var p=e[h],m=[],g=s(p.path,m,a);l=l.concat(g);for(var v=0,y=g.length;y>v;v++){var b=g[v];b instanceof o||(c=!1,n=n.put({validChars:"/"}),i+="/",n=f(n,b),i+=b.regex())}var _={handler:p.handler,names:m};u.push(_)}c&&(n=n.put({validChars:"/"}),i+="/"),n.handlers=u,n.regex=new RegExp(i+"$"),n.types=a,(r=t&&t.as)&&(this.names[r]={segments:l,handlers:u})},handlersFor:function(e){var t=this.names[e],r=[];if(!t)throw new Error("There is no route named "+e);for(var n=0,i=t.handlers.length;i>n;n++)r.push(t.handlers[n]);return r},hasRoute:function(e){return!!this.names[e]},generate:function(e,t){var r=this.names[e],n="";if(!r)throw new Error("There is no route named "+e);for(var i=r.segments,a=0,s=i.length;s>a;a++){var u=i[a];u instanceof o||(n+="/",n+=u.generate(t))}return"/"!==n.charAt(0)&&(n="/"+n),t&&t.queryParams&&(n+=this.generateQueryString(t.queryParams,r.handlers)),n},generateQueryString:function(e,t){var n=[],i=[];for(var a in e)e.hasOwnProperty(a)&&i.push(a);i.sort();for(var o=0,s=i.length;s>o;o++){a=i[o];var u=e[a];if(null!=u){var l=encodeURIComponent(a);if(r(u))for(var c=0,h=u.length;h>c;c++){var d=a+"[]="+encodeURIComponent(u[c]);n.push(d)}else l+="="+encodeURIComponent(u),n.push(l)}}return 0===n.length?"":"?"+n.join("&")},parseQueryString:function(e){for(var t=e.split("&"),r={},n=0;n<t.length;n++){var i,a=t[n].split("="),o=p(a[0]),s=o.length,u=!1;1===a.length?i="true":(s>2&&"[]"===o.slice(s-2)&&(u=!0,o=o.slice(0,s-2),r[o]||(r[o]=[])),i=a[1]?p(a[1]):""),u?r[o].push(i):r[o]=i}return r},recognize:function(e){var t,r,n,i,a=[this.rootState],o={},s=!1;if(i=e.indexOf("?"),-1!==i){var u=e.substr(i+1,e.length);e=e.substr(0,i),o=this.parseQueryString(u)}for(e=decodeURI(e),"/"!==e.charAt(0)&&(e="/"+e),t=e.length,t>1&&"/"===e.charAt(t-1)&&(e=e.substr(0,t-1),s=!0),r=0,n=e.length;n>r&&(a=c(a,e.charAt(r)),a.length);r++);var h=[];for(r=0,n=a.length;n>r;r++)a[r].handlers&&h.push(a[r]);a=l(h);var f=h[0];return f&&f.handlers?(s&&"(.+)$"===f.regex.source.slice(-5)&&(e+="/"),d(f,e,o)):void 0}},b.prototype.map=m,b.VERSION="0.1.5",t["default"]=b}),e("route-recognizer/dsl",["exports"],function(e){"use strict";function t(e,t,r){this.path=e,this.matcher=t,this.delegate=r}function r(e){this.routes={},this.children={},this.target=e}function n(e,r,i){return function(a,o){var s=e+a;return o?void o(n(s,r,i)):new t(e+a,r,i)}}function i(e,t,r){for(var n=0,i=0,a=e.length;a>i;i++)n+=e[i].path.length;t=t.substr(n);var o={path:t,handler:r};e.push(o)}function a(e,t,r,n){var o=t.routes;for(var s in o)if(o.hasOwnProperty(s)){var u=e.slice();i(u,s,o[s]),t.children[s]?a(u,t.children[s],r,n):r.call(n,u)}}t.prototype={to:function(e,t){var r=this.delegate;if(r&&r.willAddRoute&&(e=r.willAddRoute(this.matcher.target,e)),this.matcher.add(this.path,e),t){if(0===t.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,e,t,this.delegate)}return this}},r.prototype={add:function(e,t){this.routes[e]=t},addChild:function(e,t,i,a){var o=new r(t);this.children[e]=o;var s=n(e,o,a);a&&a.contextEntered&&a.contextEntered(t,s),i(s)}},e["default"]=function(e,t){var i=new r;e(n("",i,this.delegate)),a([],i,function(e){t?t(this,e):this.add(e)},this)}}),e("router",["./router/router","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=r}),e("router/handler-info",["./utils","rsvp/promise","exports"],function(e,t,r){"use strict";function n(e){var t=e||{};o(this,t),this.initialize(t)}function i(e,t){if(!e^!t)return!1;if(!e)return!0;for(var r in e)if(e.hasOwnProperty(r)&&e[r]!==t[r])return!1;return!0}var a=e.bind,o=e.merge,s=(e.serialize,e.promiseLabel),u=e.applyHook,l=t["default"];n.prototype={name:null,handler:null,params:null,context:null,factory:null,initialize:function(){},log:function(e,t){e.log&&e.log(this.name+": "+t)},promiseLabel:function(e){return s("'"+this.name+"' "+e)},getUnresolved:function(){return this},serialize:function(){return this.params||{}},resolve:function(e,t){var r=a(this,this.checkForAbort,e),n=a(this,this.runBeforeModelHook,t),i=a(this,this.getModel,t),o=a(this,this.runAfterModelHook,t),s=a(this,this.becomeResolved,t);return l.resolve(void 0,this.promiseLabel("Start handler")).then(r,null,this.promiseLabel("Check for abort")).then(n,null,this.promiseLabel("Before model")).then(r,null,this.promiseLabel("Check if aborted during 'beforeModel' hook")).then(i,null,this.promiseLabel("Model")).then(r,null,this.promiseLabel("Check if aborted in 'model' hook")).then(o,null,this.promiseLabel("After model")).then(r,null,this.promiseLabel("Check if aborted in 'afterModel' hook")).then(s,null,this.promiseLabel("Become resolved"))},runBeforeModelHook:function(e){return e.trigger&&e.trigger(!0,"willResolveModel",e,this.handler),this.runSharedModelHook(e,"beforeModel",[])},runAfterModelHook:function(e,t){var r=this.name;return this.stashResolvedModel(e,t),this.runSharedModelHook(e,"afterModel",[t]).then(function(){return e.resolvedModels[r]},null,this.promiseLabel("Ignore fulfillment value and return model value"))},runSharedModelHook:function(e,t,r){this.log(e,"calling "+t+" hook"),this.queryParams&&r.push(this.queryParams),r.push(e);var n=u(this.handler,t,r);return n&&n.isTransition&&(n=null),l.resolve(n,this.promiseLabel("Resolve value returned from one of the model hooks"))},getModel:null,checkForAbort:function(e,t){return l.resolve(e(),this.promiseLabel("Check for abort")).then(function(){return t},null,this.promiseLabel("Ignore fulfillment value and continue"))},stashResolvedModel:function(e,t){e.resolvedModels=e.resolvedModels||{},e.resolvedModels[this.name]=t},becomeResolved:function(e,t){var r=this.serialize(t);return e&&(this.stashResolvedModel(e,t),e.params=e.params||{},e.params[this.name]=r),this.factory("resolved",{context:t,name:this.name,handler:this.handler,params:r})},shouldSupercede:function(e){if(!e)return!0;var t=e.context===this.context;return e.name!==this.name||this.hasOwnProperty("context")&&!t||this.hasOwnProperty("params")&&!i(this.params,e.params)}},r["default"]=n}),e("router/handler-info/factory",["router/handler-info/resolved-handler-info","router/handler-info/unresolved-handler-info-by-object","router/handler-info/unresolved-handler-info-by-param","exports"],function(e,t,r,n){"use strict";function i(e,t){var r=i.klasses[e],n=new r(t||{});return n.factory=i,n}var a=e["default"],o=t["default"],s=r["default"];i.klasses={resolved:a,param:s,object:o},n["default"]=i}),e("router/handler-info/resolved-handler-info",["../handler-info","router/utils","rsvp/promise","exports"],function(e,t,r,n){"use strict";var i=e["default"],a=t.subclass,o=(t.promiseLabel,r["default"]),s=a(i,{resolve:function(e,t){return t&&t.resolvedModels&&(t.resolvedModels[this.name]=this.context),o.resolve(this,this.promiseLabel("Resolve"))},getUnresolved:function(){return this.factory("param",{name:this.name,handler:this.handler,params:this.params})},isResolved:!0});n["default"]=s}),e("router/handler-info/unresolved-handler-info-by-object",["../handler-info","router/utils","rsvp/promise","exports"],function(e,t,r,n){"use strict";var i=e["default"],a=(t.merge,t.subclass),o=(t.promiseLabel,t.isParam),s=r["default"],u=a(i,{getModel:function(e){return this.log(e,this.name+": resolving provided model"),s.resolve(this.context)},initialize:function(e){this.names=e.names||[],this.context=e.context},serialize:function(e){var t=e||this.context,r=this.names,n=this.handler,i={};if(o(t))return i[r[0]]=t,i;if(n.serialize)return n.serialize(t,r);if(1===r.length){var a=r[0];return i[a]=/_id$/.test(a)?t.id:t,i}}});n["default"]=u}),e("router/handler-info/unresolved-handler-info-by-param",["../handler-info","router/utils","exports"],function(e,t,r){"use strict";var n=e["default"],i=t.resolveHook,a=t.merge,o=t.subclass,s=(t.promiseLabel,o(n,{initialize:function(e){this.params=e.params||{}},getModel:function(e){var t=this.params;e&&e.queryParams&&(t={},a(t,this.params),t.queryParams=e.queryParams);var r=this.handler,n=i(r,"deserialize")||i(r,"model");return this.runSharedModelHook(e,n,[t])}}));r["default"]=s}),e("router/router",["route-recognizer","rsvp/promise","./utils","./transition-state","./transition","./transition-intent/named-transition-intent","./transition-intent/url-transition-intent","./handler-info","exports"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e){var t=e||{};this.getHandler=t.getHandler||this.getHandler,this.updateURL=t.updateURL||this.updateURL,this.replaceURL=t.replaceURL||this.replaceURL,this.didTransition=t.didTransition||this.didTransition,this.willTransition=t.willTransition||this.willTransition,this.delegate=t.delegate||this.delegate,this.triggerEvent=t.triggerEvent||this.triggerEvent,this.log=t.log||this.log,this.recognizer=new w,this.reset()}function c(e,t){var r,n=!!this.activeTransition,i=n?this.activeTransition.state:this.state,a=e.applyToState(i,this.recognizer,this.getHandler,t),o=O(i.queryParams,a.queryParams);return y(a.handlerInfos,i.handlerInfos)?o&&(r=this.queryParamsTransition(o,n,i,a))?r:this.activeTransition||new M(this):t?void d(this,a):(r=new M(this,e,a),this.activeTransition&&this.activeTransition.abort(),this.activeTransition=r,r.promise=r.promise.then(function(e){return g(r,e.state)},null,R("Settle transition promise when transition is finalized")),n||_(this,a,r),h(this,a,o),r)}function h(e,t,r){r&&(e._changedQueryParams=r.all,C(e,t.handlerInfos,!0,["queryParamsDidChange",r.changed,r.all,r.removed]),e._changedQueryParams=null)}function d(e,t,r){var n,i,a,o=p(e.state,t);for(n=0,i=o.exited.length;i>n;n++)a=o.exited[n].handler,delete a.context,P(a,"reset",!0,r),P(a,"exit",r);var s=e.oldState=e.state;e.state=t;var u=e.currentHandlerInfos=o.unchanged.slice();try{for(n=0,i=o.reset.length;i>n;n++)a=o.reset[n].handler,P(a,"reset",!1,r);for(n=0,i=o.updatedContext.length;i>n;n++)f(u,o.updatedContext[n],!1,r);for(n=0,i=o.entered.length;i>n;n++)f(u,o.entered[n],!0,r)}catch(l){throw e.state=s,e.currentHandlerInfos=s.handlerInfos,l}e.state.queryParams=b(e,u,t.queryParams,r)}function f(e,t,r,n){var i=t.handler,a=t.context;if(r&&P(i,"enter",n),n&&n.isAborted)throw new F;if(i.context=a,P(i,"contextDidChange"),P(i,"setup",a,n),n&&n.isAborted)throw new F;return e.push(t),!0}function p(e,t){var r,n,i,a=e.handlerInfos,o=t.handlerInfos,s={updatedContext:[],exited:[],entered:[],unchanged:[]},u=!1;for(n=0,i=o.length;i>n;n++){var l=a[n],c=o[n];l&&l.handler===c.handler||(r=!0),r?(s.entered.push(c),l&&s.exited.unshift(l)):u||l.context!==c.context?(u=!0,s.updatedContext.push(c)):s.unchanged.push(l)}for(n=o.length,i=a.length;i>n;n++)s.exited.unshift(a[n]);return s.reset=s.updatedContext.slice(),s.reset.reverse(),s}function m(e,t,r){var n=e.urlMethod;if(n){for(var i=e.router,a=t.handlerInfos,o=a[a.length-1].name,s={},u=a.length-1;u>=0;--u){var l=a[u];A(s,l.params),l.handler.inaccessibleByURL&&(n=null)}if(n){s.queryParams=e._visibleQueryParams||t.queryParams;var c=i.recognizer.generate(o,s);"replace"===n?i.replaceURL(c):i.updateURL(c)}}}function g(e,t){try{E(e.router,e.sequence,"Resolved all models on destination route; finalizing transition.");{var r=e.router,n=t.handlerInfos;e.sequence}return d(r,t,e),e.isAborted?(r.state.handlerInfos=r.currentHandlerInfos,x.reject(D(e))):(m(e,t,e.intent.url),e.isActive=!1,r.activeTransition=null,C(r,r.currentHandlerInfos,!0,["didTransition"]),r.didTransition&&r.didTransition(r.currentHandlerInfos),E(r,e.sequence,"TRANSITION COMPLETE."),n[n.length-1].handler)}catch(i){if(!(i instanceof F)){var a=e.state.handlerInfos;e.trigger(!0,"error",i,e,a[a.length-1].handler),e.abort()}throw i}}function v(e,t,r){var n=t[0]||"/",i=t[t.length-1],a={};i&&i.hasOwnProperty("queryParams")&&(a=L.call(t).queryParams);var o;if(0===t.length){E(e,"Updating query params");var s=e.state.handlerInfos;o=new j({name:s[s.length-1].name,contexts:[],queryParams:a})}else"/"===n.charAt(0)?(E(e,"Attempting URL transition to "+n),o=new I({url:n})):(E(e,"Attempting transition to "+n),o=new j({name:t[0],contexts:T.call(t,1),queryParams:a}));return e.transitionByIntent(o,r)}function y(e,t){if(e.length!==t.length)return!1;for(var r=0,n=e.length;n>r;++r)if(e[r]!==t[r])return!1;return!0}function b(e,t,r,n){for(var i in r)r.hasOwnProperty(i)&&null===r[i]&&delete r[i];var a=[];C(e,t,!0,["finalizeQueryParamChange",r,a,n]),n&&(n._visibleQueryParams={});for(var o={},s=0,u=a.length;u>s;++s){var l=a[s];o[l.key]=l.value,n&&l.visible!==!1&&(n._visibleQueryParams[l.key]=l.value)}return o}function _(e,t,r){var n,i,a,o,s,u,l=e.state.handlerInfos,c=[],h=null;for(o=l.length,a=0;o>a;a++){if(s=l[a],u=t.handlerInfos[a],!u||s.name!==u.name){h=a;break}u.isResolved||c.push(s)}null!==h&&(n=l.slice(h,o),i=function(e){for(var t=0,r=n.length;r>t;t++)if(n[t].name===e)return!0;return!1}),C(e,l,!0,["willTransition",r]),e.willTransition&&e.willTransition(l,t.handlerInfos,r)}var w=e["default"],x=t["default"],C=r.trigger,E=r.log,T=r.slice,S=r.forEach,A=r.merge,k=(r.serialize,r.extractQueryParams),O=r.getChangelist,R=r.promiseLabel,P=r.callHook,N=n["default"],D=i.logAbort,M=i.Transition,F=i.TransitionAborted,j=a["default"],I=o["default"],L=(s.ResolvedHandlerInfo,Array.prototype.pop);l.prototype={map:function(e){this.recognizer.delegate=this.delegate,this.recognizer.map(e,function(e,t){for(var r=t.length-1,n=!0;r>=0&&n;--r){var i=t[r];e.add(t,{as:i.handler}),n="/"===i.path||""===i.path||".index"===i.handler.slice(-6)}})},hasRoute:function(e){return this.recognizer.hasRoute(e)},getHandler:function(){},queryParamsTransition:function(e,t,r,n){var i=this;if(h(this,n,e),!t&&this.activeTransition)return this.activeTransition;var a=new M(this);return a.queryParamsOnly=!0,r.queryParams=b(this,n.handlerInfos,n.queryParams,a),a.promise=a.promise.then(function(e){return m(a,r,!0),i.didTransition&&i.didTransition(i.currentHandlerInfos),e},null,R("Transition complete")),a},transitionByIntent:function(e,t){try{return c.apply(this,arguments)}catch(r){return new M(this,e,null,r)}},reset:function(){this.state&&S(this.state.handlerInfos.slice().reverse(),function(e){var t=e.handler;P(t,"exit")}),this.state=new N,this.currentHandlerInfos=null},activeTransition:null,handleURL:function(e){var t=T.call(arguments);return"/"!==e.charAt(0)&&(t[0]="/"+e),v(this,t).method(null)},updateURL:function(){throw new Error("updateURL is not implemented")},replaceURL:function(e){this.updateURL(e)},transitionTo:function(e){return v(this,arguments)},intermediateTransitionTo:function(e){return v(this,arguments,!0)},refresh:function(e){for(var t=this.activeTransition?this.activeTransition.state:this.state,r=t.handlerInfos,n={},i=0,a=r.length;a>i;++i){var o=r[i];n[o.name]=o.params||{}}E(this,"Starting a refresh transition");var s=new j({name:r[r.length-1].name,pivotHandler:e||r[0].handler,contexts:[],queryParams:this._changedQueryParams||t.queryParams||{}});return this.transitionByIntent(s,!1)},replaceWith:function(e){return v(this,arguments).method("replace")},generate:function(e){for(var t=k(T.call(arguments,1)),r=t[0],n=t[1],i=new j({name:e,contexts:r}),a=i.applyToState(this.state,this.recognizer,this.getHandler),o={},s=0,u=a.handlerInfos.length;u>s;++s){var l=a.handlerInfos[s],c=l.serialize();A(o,c)}return o.queryParams=n,this.recognizer.generate(e,o)},applyIntent:function(e,t){var r=new j({name:e,contexts:t}),n=this.activeTransition&&this.activeTransition.state||this.state;return r.applyToState(n,this.recognizer,this.getHandler)},isActiveIntent:function(e,t,r,n){var i,a,o=n||this.state,s=o.handlerInfos;if(!s.length)return!1;var u=s[s.length-1].name,l=this.recognizer.handlersFor(u),c=0;for(a=l.length;a>c&&(i=s[c],i.name!==e);++c);if(c===l.length)return!1;var h=new N;h.handlerInfos=s.slice(0,c+1),l=l.slice(0,c+1);var d=new j({name:u,contexts:t}),f=d.applyToHandlers(h,l,this.getHandler,u,!0,!0),p=y(f.handlerInfos,h.handlerInfos);if(!r||!p)return p;var m={};A(m,r);var g=o.queryParams;for(var v in g)g.hasOwnProperty(v)&&m.hasOwnProperty(v)&&(m[v]=g[v]);return p&&!O(m,r)},isActive:function(e){var t=k(T.call(arguments,1));return this.isActiveIntent(e,t[0],t[1])},trigger:function(e){var t=T.call(arguments);C(this,this.currentHandlerInfos,!1,t)},log:null},u["default"]=l}),e("router/transition-intent",["./utils","exports"],function(e,t){
-"use strict";function r(e){this.initialize(e),this.data=this.data||{}}e.merge;r.prototype={initialize:null,applyToState:null},t["default"]=r}),e("router/transition-intent/named-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(e,t,r,n,i){"use strict";var a=e["default"],o=t["default"],s=r["default"],u=n.isParam,l=n.extractQueryParams,c=n.merge,h=n.subclass;i["default"]=h(a,{name:null,pivotHandler:null,contexts:null,queryParams:null,initialize:function(e){this.name=e.name,this.pivotHandler=e.pivotHandler,this.contexts=e.contexts||[],this.queryParams=e.queryParams},applyToState:function(e,t,r,n){var i=l([this.name].concat(this.contexts)),a=i[0],o=(i[1],t.handlersFor(a[0])),s=o[o.length-1].handler;return this.applyToHandlers(e,o,r,s,n)},applyToHandlers:function(e,t,r,n,i,a){var s,u,l=new o,h=this.contexts.slice(0),d=t.length;if(this.pivotHandler)for(s=0,u=t.length;u>s;++s)if(r(t[s].handler)===this.pivotHandler){d=s;break}!this.pivotHandler;for(s=t.length-1;s>=0;--s){var f=t[s],p=f.handler,m=r(p),g=e.handlerInfos[s],v=null;if(v=f.names.length>0?s>=d?this.createParamHandlerInfo(p,m,f.names,h,g):this.getHandlerInfoForDynamicSegment(p,m,f.names,h,g,n,s):this.createParamHandlerInfo(p,m,f.names,h,g),a){v=v.becomeResolved(null,v.context);var y=g&&g.context;f.names.length>0&&v.context===y&&(v.params=g&&g.params),v.context=y}var b=g;(s>=d||v.shouldSupercede(g))&&(d=Math.min(s,d),b=v),i&&!a&&(b=b.becomeResolved(null,b.context)),l.handlerInfos.unshift(b)}if(h.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+n);return i||this.invalidateChildren(l.handlerInfos,d),c(l.queryParams,this.queryParams||{}),l},invalidateChildren:function(e,t){for(var r=t,n=e.length;n>r;++r){{e[r]}e[r]=e[r].getUnresolved()}},getHandlerInfoForDynamicSegment:function(e,t,r,n,i,a,o){{var l;r.length}if(n.length>0){if(l=n[n.length-1],u(l))return this.createParamHandlerInfo(e,t,r,n,i);n.pop()}else{if(i&&i.name===e)return i;if(!this.preTransitionState)return i;var c=this.preTransitionState.handlerInfos[o];l=c&&c.context}return s("object",{name:e,handler:t,context:l,names:r})},createParamHandlerInfo:function(e,t,r,n,i){for(var a={},o=r.length;o--;){var l=i&&e===i.name&&i.params||{},c=n[n.length-1],h=r[o];if(u(c))a[h]=""+n.pop();else{if(!l.hasOwnProperty(h))throw new Error("You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route "+e);a[h]=l[h]}}return s("param",{name:e,handler:t,params:a})}})}),e("router/transition-intent/url-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","./../unrecognized-url-error","exports"],function(e,t,r,n,i,a){"use strict";var o=e["default"],s=t["default"],u=r["default"],l=(n.oCreate,n.merge),c=n.subclass,h=i["default"];a["default"]=c(o,{url:null,initialize:function(e){this.url=e.url},applyToState:function(e,t,r){var n,i,a=new s,o=t.recognize(this.url);if(!o)throw new h(this.url);var c=!1;for(n=0,i=o.length;i>n;++n){var d=o[n],f=d.handler,p=r(f);if(p.inaccessibleByURL)throw new h(this.url);var m=u("param",{name:f,handler:p,params:d.params}),g=e.handlerInfos[n];c||m.shouldSupercede(g)?(c=!0,a.handlerInfos[n]=m):a.handlerInfos[n]=g}return l(a.queryParams,o.queryParams),a}})}),e("router/transition-state",["./handler-info","./utils","rsvp/promise","exports"],function(e,t,r,n){"use strict";function i(e){this.handlerInfos=[],this.queryParams={},this.params={}}var a=(e.ResolvedHandlerInfo,t.forEach),o=t.promiseLabel,s=t.callHook,u=r["default"];i.prototype={handlerInfos:null,queryParams:null,params:null,promiseLabel:function(e){var t="";return a(this.handlerInfos,function(e){""!==t&&(t+="."),t+=e.name}),o("'"+t+"': "+e)},resolve:function(e,t){function r(){return u.resolve(e(),c.promiseLabel("Check if should continue"))["catch"](function(e){return h=!0,u.reject(e)},c.promiseLabel("Handle abort"))}function n(e){var r=c.handlerInfos,n=t.resolveIndex>=r.length?r.length-1:t.resolveIndex;return u.reject({error:e,handlerWithError:c.handlerInfos[n].handler,wasAborted:h,state:c})}function i(e){var n=c.handlerInfos[t.resolveIndex].isResolved;if(c.handlerInfos[t.resolveIndex++]=e,!n){var i=e.handler;s(i,"redirect",e.context,t)}return r().then(o,null,c.promiseLabel("Resolve handler"))}function o(){if(t.resolveIndex===c.handlerInfos.length)return{error:null,state:c};var e=c.handlerInfos[t.resolveIndex];return e.resolve(r,t).then(i,null,c.promiseLabel("Proceed"))}var l=this.params;a(this.handlerInfos,function(e){l[e.name]=e.params||{}}),t=t||{},t.resolveIndex=0;var c=this,h=!1;return u.resolve(null,this.promiseLabel("Start transition")).then(o,null,this.promiseLabel("Resolve handler"))["catch"](n,this.promiseLabel("Handle error"))}},n["default"]=i}),e("router/transition",["rsvp/promise","./handler-info","./utils","exports"],function(e,t,r,n){"use strict";function i(e,t,r,n){function o(){return u.isAborted?s.reject(void 0,h("Transition aborted - reject")):void 0}var u=this;if(this.state=r||e.state,this.intent=t,this.router=e,this.data=this.intent&&this.intent.data||{},this.resolvedModels={},this.queryParams={},n)return this.promise=s.reject(n),void(this.error=n);if(r){this.params=r.params,this.queryParams=r.queryParams,this.handlerInfos=r.handlerInfos;var l=r.handlerInfos.length;l&&(this.targetName=r.handlerInfos[l-1].name);for(var c=0;l>c;++c){var d=r.handlerInfos[c];if(!d.isResolved)break;this.pivotHandler=d.handler}this.sequence=i.currentSequence++,this.promise=r.resolve(o,this)["catch"](function(e){return e.wasAborted||u.isAborted?s.reject(a(u)):(u.trigger("error",e.error,u,e.handlerWithError),u.abort(),s.reject(e.error))},h("Handle Abort"))}else this.promise=s.resolve(this.state),this.params={}}function a(e){return c(e.router,e.sequence,"detected abort."),new o}function o(e){this.message=e||"TransitionAborted",this.name="TransitionAborted"}var s=e["default"],u=(t.ResolvedHandlerInfo,r.trigger),l=r.slice,c=r.log,h=r.promiseLabel;i.currentSequence=0,i.prototype={targetName:null,urlMethod:"update",intent:null,params:null,pivotHandler:null,resolveIndex:0,handlerInfos:null,resolvedModels:null,isActive:!0,state:null,queryParamsOnly:!1,isTransition:!0,isExiting:function(e){for(var t=this.handlerInfos,r=0,n=t.length;n>r;++r){var i=t[r];if(i.name===e||i.handler===e)return!1}return!0},promise:null,data:null,then:function(e,t,r){return this.promise.then(e,t,r)},"catch":function(e,t){return this.promise["catch"](e,t)},"finally":function(e,t){return this.promise["finally"](e,t)},abort:function(){return this.isAborted?this:(c(this.router,this.sequence,this.targetName+": transition was aborted"),this.intent.preTransitionState=this.router.state,this.isAborted=!0,this.isActive=!1,this.router.activeTransition=null,this)},retry:function(){return this.abort(),this.router.transitionByIntent(this.intent,!1)},method:function(e){return this.urlMethod=e,this},trigger:function(e){var t=l.call(arguments);"boolean"==typeof e?t.shift():e=!1,u(this.router,this.state.handlerInfos.slice(0,this.resolveIndex+1),e,t)},followRedirects:function(){var e=this.router;return this.promise["catch"](function(t){return e.activeTransition?e.activeTransition.followRedirects():s.reject(t)})},toString:function(){return"Transition (sequence "+this.sequence+")"},log:function(e){c(this.router,this.sequence,e)}},i.prototype.send=i.prototype.trigger,n.Transition=i,n.logAbort=a,n.TransitionAborted=o}),e("router/unrecognized-url-error",["./utils","exports"],function(e,t){"use strict";function r(e){this.message=e||"UnrecognizedURLError",this.name="UnrecognizedURLError",Error.call(this)}var n=e.oCreate;r.prototype=n(Error.prototype),t["default"]=r}),e("router/utils",["exports"],function(e){"use strict";function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}function r(e){var t,r,n=e&&e.length;return n&&n>0&&e[n-1]&&e[n-1].hasOwnProperty("queryParams")?(r=e[n-1].queryParams,t=g.call(e,0,n-1),[t,r]):[e,null]}function n(e){for(var t in e)if("number"==typeof e[t])e[t]=""+e[t];else if(v(e[t]))for(var r=0,n=e[t].length;n>r;r++)e[t][r]=""+e[t][r]}function i(e,t,r){e.log&&(3===arguments.length?e.log("Transition #"+t+": "+r):(r=t,e.log(r)))}function a(e,t){var r=arguments;return function(n){var i=g.call(r,2);return i.push(n),t.apply(e,i)}}function o(e){return"string"==typeof e||e instanceof String||"number"==typeof e||e instanceof Number}function s(e,t){for(var r=0,n=e.length;n>r&&!1!==t(e[r]);r++);}function u(e,t,r,n){if(e.triggerEvent)return void e.triggerEvent(t,r,n);var i=n.shift();if(!t){if(r)return;throw new Error("Could not trigger event '"+i+"'. There are no active handlers")}for(var a=!1,o=t.length-1;o>=0;o--){var s=t[o],u=s.handler;if(u.events&&u.events[i]){if(u.events[i].apply(u,n)!==!0)return;a=!0}}if(!a&&!r)throw new Error("Nothing handled the event '"+i+"'.")}function l(e,r){var i,a={all:{},changed:{},removed:{}};t(a.all,r);var o=!1;n(e),n(r);for(i in e)e.hasOwnProperty(i)&&(r.hasOwnProperty(i)||(o=!0,a.removed[i]=e[i]));for(i in r)if(r.hasOwnProperty(i))if(v(e[i])&&v(r[i]))if(e[i].length!==r[i].length)a.changed[i]=r[i],o=!0;else for(var s=0,u=e[i].length;u>s;s++)e[i][s]!==r[i][s]&&(a.changed[i]=r[i],o=!0);else e[i]!==r[i]&&(a.changed[i]=r[i],o=!0);return o&&a}function c(e){return"Router: "+e}function h(e,r){function n(t){e.call(this,t||{})}return n.prototype=y(e.prototype),t(n.prototype,r),n}function d(e,t){if(e){var r="_"+t;return e[r]&&r||e[t]&&t}}function f(e,t,r,n){var i=d(e,t);return i&&e[i].call(e,r,n)}function p(e,t,r){var n=d(e,t);return n?0===r.length?e[n].call(e):1===r.length?e[n].call(e,r[0]):2===r.length?e[n].call(e,r[0],r[1]):e[n].apply(e,r):void 0}var m,g=Array.prototype.slice;m=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var v=m;e.isArray=v;var y=Object.create||function(e){function t(){}return t.prototype=e,new t};e.oCreate=y,e.extractQueryParams=r,e.log=i,e.bind=a,e.forEach=s,e.trigger=u,e.getChangelist=l,e.promiseLabel=c,e.subclass=h,e.merge=t,e.slice=g,e.isParam=o,e.coerceQueryParamsToString=n,e.callHook=f,e.resolveHook=d,e.applyHook=p}),e("rsvp",["./rsvp/promise","./rsvp/events","./rsvp/node","./rsvp/all","./rsvp/all-settled","./rsvp/race","./rsvp/hash","./rsvp/hash-settled","./rsvp/rethrow","./rsvp/defer","./rsvp/config","./rsvp/map","./rsvp/resolve","./rsvp/reject","./rsvp/filter","./rsvp/asap","exports"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g){"use strict";function v(e,t){R.async(e,t)}function y(){R.on.apply(R,arguments)}function b(){R.off.apply(R,arguments)}var _=e["default"],w=t["default"],x=r["default"],C=n["default"],E=i["default"],T=a["default"],S=o["default"],A=s["default"],k=u["default"],O=l["default"],R=c.config,P=c.configure,N=h["default"],D=d["default"],M=f["default"],F=p["default"],j=m["default"];R.async=j;var I=D;if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){var L=window.__PROMISE_INSTRUMENTATION__;P("instrument",!0);for(var V in L)L.hasOwnProperty(V)&&y(V,L[V])}g.cast=I,g.Promise=_,g.EventTarget=w,g.all=C,g.allSettled=E,g.race=T,g.hash=S,g.hashSettled=A,g.rethrow=k,g.defer=O,g.denodeify=x,g.configure=P,g.on=y,g.off=b,g.resolve=D,g.reject=M,g.async=v,g.map=N,g.filter=F}),e("rsvp.umd",["./rsvp"],function(t){"use strict";var r=t.Promise,n=t.allSettled,i=t.hash,a=t.hashSettled,o=t.denodeify,s=t.on,u=t.off,l=t.map,c=t.filter,h=t.resolve,d=t.reject,f=t.rethrow,p=t.all,m=t.defer,g=t.EventTarget,v=t.configure,y=t.race,b=t.async,_={race:y,Promise:r,allSettled:n,hash:i,hashSettled:a,denodeify:o,on:s,off:u,map:l,filter:c,resolve:h,reject:d,all:p,rethrow:f,defer:m,EventTarget:g,configure:v,async:b};"function"==typeof e&&e.amd?e(function(){return _}):"undefined"!=typeof module&&module.exports?module.exports=_:"undefined"!=typeof this&&(this.RSVP=_)}),e("rsvp/-internal",["./utils","./instrument","./config","exports"],function(e,t,r,n){"use strict";function i(){return new TypeError("A promises callback cannot return that same promise.")}function a(){}function o(e){try{return e.then}catch(t){return k.error=t,k}}function s(e,t,r,n){try{e.call(t,r,n)}catch(i){return i}}function u(e,t,r){E.async(function(e){var n=!1,i=s(r,t,function(r){n||(n=!0,t!==r?h(e,r):f(e,r))},function(t){n||(n=!0,p(e,t))},"Settle: "+(e._label||" unknown promise"));!n&&i&&(n=!0,p(e,i))},e)}function l(e,t){t._state===S?f(e,t._result):e._state===A?p(e,t._result):m(t,void 0,function(r){t!==r?h(e,r):f(e,r)},function(t){p(e,t)})}function c(e,t){if(t.constructor===e.constructor)l(e,t);else{var r=o(t);r===k?p(e,k.error):void 0===r?f(e,t):x(r)?u(e,t,r):f(e,t)}}function h(e,t){e===t?f(e,t):w(t)?c(e,t):f(e,t)}function d(e){e._onerror&&e._onerror(e._result),g(e)}function f(e,t){e._state===T&&(e._result=t,e._state=S,0===e._subscribers.length?E.instrument&&C("fulfilled",e):E.async(g,e))}function p(e,t){e._state===T&&(e._state=A,e._result=t,E.async(d,e))}function m(e,t,r,n){var i=e._subscribers,a=i.length;e._onerror=null,i[a]=t,i[a+S]=r,i[a+A]=n,0===a&&e._state&&E.async(g,e)}function g(e){var t=e._subscribers,r=e._state;if(E.instrument&&C(r===S?"fulfilled":"rejected",e),0!==t.length){for(var n,i,a=e._result,o=0;o<t.length;o+=3)n=t[o],i=t[o+r],n?b(r,n,i,a):i(a);e._subscribers.length=0}}function v(){this.error=null}function y(e,t){try{return e(t)}catch(r){return O.error=r,O}}function b(e,t,r,n){var a,o,s,u,l=x(r);if(l){if(a=y(r,n),a===O?(u=!0,o=a.error,a=null):s=!0,t===a)return void p(t,i())}else a=n,s=!0;t._state!==T||(l&&s?h(t,a):u?p(t,o):e===S?f(t,a):e===A&&p(t,a))}function _(e,t){try{t(function(t){h(e,t)},function(t){p(e,t)})}catch(r){p(e,r)}}var w=e.objectOrFunction,x=e.isFunction,C=t["default"],E=r.config,T=void 0,S=1,A=2,k=new v,O=new v;n.noop=a,n.resolve=h,n.reject=p,n.fulfill=f,n.subscribe=m,n.publish=g,n.publishRejection=d,n.initializePromise=_,n.invokeCallback=b,n.FULFILLED=S,n.REJECTED=A,n.PENDING=T}),e("rsvp/all-settled",["./enumerator","./promise","./utils","exports"],function(e,t,r,n){"use strict";function i(e,t,r){this._superConstructor(e,t,!1,r)}var a=e["default"],o=e.makeSettledResult,s=t["default"],u=r.o_create;i.prototype=u(a.prototype),i.prototype._superConstructor=a,i.prototype._makeResult=o,i.prototype._validationError=function(){return new Error("allSettled must be called with an array")},n["default"]=function(e,t){return new i(s,e,t).promise}}),e("rsvp/all",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.all(e,t)}}),e("rsvp/asap",["exports"],function(e){"use strict";function t(){return function(){process.nextTick(s)}}function n(){return function(){vertxNext(s)}}function i(){var e=0,t=new f(s),r=document.createTextNode("");return t.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}function a(){var e=new MessageChannel;return e.port1.onmessage=s,function(){e.port2.postMessage(0)}}function o(){return function(){setTimeout(s,1)}}function s(){for(var e=0;l>e;e+=2){var t=m[e],r=m[e+1];t(r),m[e]=void 0,m[e+1]=void 0}l=0}function u(){try{{var e=r("vertx");e.runOnLoop||e.runOnContext}return n()}catch(t){return o()}}var l=0;e["default"]=function(e,t){m[l]=e,m[l+1]=t,l+=2,2===l&&c()};var c,h="undefined"!=typeof window?window:void 0,d=h||{},f=d.MutationObserver||d.WebKitMutationObserver,p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,m=new Array(1e3);c="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?t():f?i():p?a():void 0===h&&"function"==typeof r?u():o()}),e("rsvp/config",["./events","exports"],function(e,t){"use strict";function r(e,t){return"onerror"===e?void i.on("error",t):2!==arguments.length?i[e]:void(i[e]=t)}var n=e["default"],i={instrument:!1};n.mixin(i),t.config=i,t.configure=r}),e("rsvp/defer",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e){var t={};return t.promise=new r(function(e,r){t.resolve=e,t.reject=r},e),t}}),e("rsvp/enumerator",["./utils","./-internal","exports"],function(e,t,r){"use strict";function n(e,t,r){return e===h?{state:"fulfilled",value:r}:{state:"rejected",reason:r}}function i(e,t,r,n){this._instanceConstructor=e,this.promise=new e(s,n),this._abortOnReject=r,this._validateInput(t)?(this._input=t,this.length=t.length,this._remaining=t.length,this._init(),0===this.length?l(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&l(this.promise,this._result))):u(this.promise,this._validationError())}var a=e.isArray,o=e.isMaybeThenable,s=t.noop,u=t.reject,l=t.fulfill,c=t.subscribe,h=t.FULFILLED,d=t.REJECTED,f=t.PENDING;r.makeSettledResult=n,i.prototype._validateInput=function(e){return a(e)},i.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},i.prototype._init=function(){this._result=new Array(this.length)},r["default"]=i,i.prototype._enumerate=function(){for(var e=this.length,t=this.promise,r=this._input,n=0;t._state===f&&e>n;n++)this._eachEntry(r[n],n)},i.prototype._eachEntry=function(e,t){var r=this._instanceConstructor;o(e)?e.constructor===r&&e._state!==f?(e._onerror=null,this._settledAt(e._state,t,e._result)):this._willSettleAt(r.resolve(e),t):(this._remaining--,this._result[t]=this._makeResult(h,t,e))},i.prototype._settledAt=function(e,t,r){var n=this.promise;n._state===f&&(this._remaining--,this._abortOnReject&&e===d?u(n,r):this._result[t]=this._makeResult(e,t,r)),0===this._remaining&&l(n,this._result)},i.prototype._makeResult=function(e,t,r){return r},i.prototype._willSettleAt=function(e,t){var r=this;c(e,void 0,function(e){r._settledAt(h,t,e)},function(e){r._settledAt(d,t,e)})}}),e("rsvp/events",["exports"],function(e){"use strict";function t(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1}function r(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t}e["default"]={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e._promiseCallbacks=void 0,e},on:function(e,n){var i,a=r(this);i=a[e],i||(i=a[e]=[]),-1===t(i,n)&&i.push(n)},off:function(e,n){var i,a,o=r(this);return n?(i=o[e],a=t(i,n),void(-1!==a&&i.splice(a,1))):void(o[e]=[])},trigger:function(e,t){var n,i,a=r(this);if(n=a[e])for(var o=0;o<n.length;o++)(i=n[o])(t)}}}),e("rsvp/filter",["./promise","./utils","exports"],function(e,t,r){"use strict";var n=e["default"],i=t.isFunction;r["default"]=function(e,t,r){return n.all(e,r).then(function(e){if(!i(t))throw new TypeError("You must pass a function as filter's second argument.");for(var a=e.length,o=new Array(a),s=0;a>s;s++)o[s]=t(e[s]);return n.all(o,r).then(function(t){for(var r=new Array(a),n=0,i=0;a>i;i++)t[i]&&(r[n]=e[i],n++);return r.length=n,r})})}}),e("rsvp/hash-settled",["./promise","./enumerator","./promise-hash","./utils","exports"],function(e,t,r,n,i){"use strict";function a(e,t,r){this._superConstructor(e,t,!1,r)}var o=e["default"],s=t.makeSettledResult,u=r["default"],l=t["default"],c=n.o_create;a.prototype=c(u.prototype),a.prototype._superConstructor=l,a.prototype._makeResult=s,a.prototype._validationError=function(){return new Error("hashSettled must be called with an object")},i["default"]=function(e,t){return new a(o,e,t).promise}}),e("rsvp/hash",["./promise","./promise-hash","exports"],function(e,t,r){"use strict";var n=e["default"],i=t["default"];r["default"]=function(e,t){return new i(n,e,t).promise}}),e("rsvp/instrument",["./config","./utils","exports"],function(e,t,r){"use strict";function n(){setTimeout(function(){for(var e,t=0;t<o.length;t++){e=o[t];var r=e.payload;r.guid=r.key+r.id,r.childGuid=r.key+r.childId,r.error&&(r.stack=r.error.stack),i.trigger(e.name,e.payload)}o.length=0},50)}var i=e.config,a=t.now,o=[];r["default"]=function(e,t,r){1===o.push({name:e,payload:{key:t._guidKey,id:t._id,eventName:e,detail:t._result,childId:r&&r._id,label:t._label,timeStamp:a(),error:i["instrument-with-stack"]?new Error(t._label):null}})&&n()}}),e("rsvp/map",["./promise","./utils","exports"],function(e,t,r){"use strict";var n=e["default"],i=t.isFunction;r["default"]=function(e,t,r){return n.all(e,r).then(function(e){if(!i(t))throw new TypeError("You must pass a function as map's second argument.");for(var a=e.length,o=new Array(a),s=0;a>s;s++)o[s]=t(e[s]);return n.all(o,r)})}}),e("rsvp/node",["./promise","./-internal","./utils","exports"],function(e,t,r,n){"use strict";function i(){this.value=void 0}function a(e){try{return e.then}catch(t){return y.value=t,y}}function o(e,t,r){try{e.apply(t,r)}catch(n){return y.value=n,y}}function s(e,t){for(var r,n,i={},a=e.length,o=new Array(a),s=0;a>s;s++)o[s]=e[s];for(n=0;n<t.length;n++)r=t[n],i[r]=o[n+1];return i}function u(e){for(var t=e.length,r=new Array(t-1),n=1;t>n;n++)r[n-1]=e[n];return r}function l(e,t){return{then:function(r,n){return e.call(t,r,n)}}}function c(e,t,r,n){var i=o(r,n,t);return i===y&&g(e,i.value),e}function h(e,t,r,n){return f.all(t).then(function(t){var i=o(r,n,t);return i===y&&g(e,i.value),e})}function d(e){return e&&"object"==typeof e?e.constructor===f?!0:a(e):!1}var f=e["default"],p=t.noop,m=t.resolve,g=t.reject,v=r.isArray,y=new i,b=new i;n["default"]=function(e,t){var r=function(){for(var r,n=this,i=arguments.length,a=new Array(i+1),o=!1,y=0;i>y;++y){if(r=arguments[y],!o){if(o=d(r),o===b){var _=new f(p);return g(_,b.value),_}o&&o!==!0&&(r=l(o,r))}a[y]=r}var w=new f(p);return a[i]=function(e,r){e?g(w,e):void 0===t?m(w,r):t===!0?m(w,u(arguments)):v(t)?m(w,s(arguments,t)):m(w,r)},o?h(w,a,e,n):c(w,a,e,n)};return r.__proto__=e,r}}),e("rsvp/promise-hash",["./enumerator","./-internal","./utils","exports"],function(e,t,r,n){"use strict";function i(e,t,r){this._superConstructor(e,t,!0,r)}var a=e["default"],o=t.PENDING,s=r.o_create;n["default"]=i,i.prototype=s(a.prototype),i.prototype._superConstructor=a,i.prototype._init=function(){this._result={}},i.prototype._validateInput=function(e){return e&&"object"==typeof e},i.prototype._validationError=function(){return new Error("Promise.hash must be called with an object")},i.prototype._enumerate=function(){var e=this.promise,t=this._input,r=[];for(var n in t)e._state===o&&t.hasOwnProperty(n)&&r.push({position:n,entry:t[n]});var i=r.length;this._remaining=i;for(var a,s=0;e._state===o&&i>s;s++)a=r[s],this._eachEntry(a.entry,a.position)}}),e("rsvp/promise",["./config","./instrument","./utils","./-internal","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function c(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function h(e,t){this._id=A++,this._label=t,this._state=void 0,this._result=void 0,this._subscribers=[],d.instrument&&f("created",this),g!==e&&(p(e)||l(),this instanceof h||c(),y(this,e))}var d=e.config,f=t["default"],p=r.isFunction,m=r.now,g=n.noop,v=n.subscribe,y=n.initializePromise,b=n.invokeCallback,_=n.FULFILLED,w=n.REJECTED,x=i["default"],C=a["default"],E=o["default"],T=s["default"],S="rsvp_"+m()+"-",A=0;u["default"]=h,h.cast=E,h.all=x,h.race=C,h.resolve=E,h.reject=T,h.prototype={constructor:h,_guidKey:S,_onerror:function(e){d.trigger("error",e)},then:function(e,t,r){var n=this,i=n._state;if(i===_&&!e||i===w&&!t)return d.instrument&&f("chained",this,this),this;n._onerror=null;var a=new this.constructor(g,r),o=n._result;if(d.instrument&&f("chained",n,a),i){var s=arguments[i-1];d.async(function(){b(i,a,s,o)})}else v(n,a,e,t);return a},"catch":function(e,t){return this.then(null,e,t)},"finally":function(e,t){var r=this.constructor;return this.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})},t)}}}),e("rsvp/promise/all",["../enumerator","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return new r(this,e,!0,t).promise}}),e("rsvp/promise/race",["../utils","../-internal","exports"],function(e,t,r){"use strict";var n=e.isArray,i=t.noop,a=t.resolve,o=t.reject,s=t.subscribe,u=t.PENDING;r["default"]=function(e,t){function r(e){a(h,e)}function l(e){o(h,e)}var c=this,h=new c(i,t);if(!n(e))return o(h,new TypeError("You must pass an array to race.")),h;for(var d=e.length,f=0;h._state===u&&d>f;f++)s(c.resolve(e[f]),void 0,r,l);return h}}),e("rsvp/promise/reject",["../-internal","exports"],function(e,t){"use strict";var r=e.noop,n=e.reject;t["default"]=function(e,t){var i=this,a=new i(r,t);return n(a,e),a}}),e("rsvp/promise/resolve",["../-internal","exports"],function(e,t){"use strict";var r=e.noop,n=e.resolve;t["default"]=function(e,t){var i=this;if(e&&"object"==typeof e&&e.constructor===i)return e;var a=new i(r,t);return n(a,e),a}}),e("rsvp/race",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.race(e,t)}}),e("rsvp/reject",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.reject(e,t)}}),e("rsvp/resolve",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.resolve(e,t)}}),e("rsvp/rethrow",["exports"],function(e){"use strict";e["default"]=function(e){throw setTimeout(function(){throw e}),e}}),e("rsvp/utils",["exports"],function(e){"use strict";function t(e){return"function"==typeof e||"object"==typeof e&&null!==e}function r(e){return"function"==typeof e}function n(e){return"object"==typeof e&&null!==e}function i(){}e.objectOrFunction=t,e.isFunction=r,e.isMaybeThenable=n;var a;a=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var o=a;e.isArray=o;var s=Date.now||function(){return(new Date).getTime()};e.now=s;var u=Object.create||function(e){if(arguments.length>1)throw new Error("Second argument not supported");if("object"!=typeof e)throw new TypeError("Argument must be an object");return i.prototype=e,new i};e.o_create=u}),t("ember")}(),function(){define("ember",[],function(){"use strict";return{"default":Ember}}),define("ember-data",[],function(){"use strict";return{"default":DS}})}(),define("jquery",[],function(){"use strict";return{"default":jQuery}}),function(){define("ember/resolver",[],function(){"use strict";function e(e){return{create:function(t){return"function"==typeof e.extend?e.extend(t):e}}}function t(){var e=Object.create(null);return e._dict=null,delete e._dict,e}function r(e){if(e.parsedName===!0)return e;var t,r=e.split("@");2===r.length&&("view"===r[0].split(":")[0]&&(r[0]=r[0].split(":")[1],r[1]="view:"+r[1]),t=r[0]);var n=r[r.length-1].split(":"),o=n[0],s=n[1],u=s,l=a(this,"namespace"),c=l;return{parsedName:!0,fullName:e,prefix:t||this.prefix({type:o}),type:o,fullNameWithoutType:s,name:u,root:c,resolveMethodName:"resolve"+i(o)}}function n(t){Ember.assert("`modulePrefix` must be defined",this.namespace.modulePrefix);var r=this.findModuleName(t);if(r){var n=require(r,null,null,!0);if(n&&n["default"]&&(n=n["default"]),void 0===n)throw new Error(" Expected to find: '"+t.fullName+"' within '"+r+"' but got 'undefined'. Did you forget to `export default` within '"+r+"'?");return this.shouldWrapInClassFactory(n,t)&&(n=e(n)),n}return this._super(t)}if("undefined"==typeof requirejs.entries&&(requirejs.entries=requirejs._eak_seen),!Object.create||Object.create(null).hasOwnProperty)throw new Error("This browser does not support Object.create(null), please polyfil with es5-sham: http://git.io/yBU2rg");var i=(Ember.String.underscore,Ember.String.classify),a=Ember.get,o=Ember.DefaultResolver.extend({resolveOther:n,resolveTemplate:n,pluralizedTypes:null,makeToString:function(e,t){return""+this.namespace.modulePrefix+"@"+t+":"},parseName:r,shouldWrapInClassFactory:function(e,t){return!1},init:function(){this._super(),this.moduleBasedResolver=!0,this._normalizeCache=t(),this.pluralizedTypes=this.pluralizedTypes||t(),this.pluralizedTypes.config||(this.pluralizedTypes.config="config"),this._deprecatedPodModulePrefix=!1},normalize:function(e){return this._normalizeCache[e]||(this._normalizeCache[e]=this._normalize(e))},_normalize:function(e){var t=e.split(":");return t.length>1?t[0]+":"+Ember.String.dasherize(t[1].replace(/\./g,"/")):e},pluralize:function(e){return this.pluralizedTypes[e]||(this.pluralizedTypes[e]=e+"s")},podBasedLookupWithPrefix:function(e,t){var r=t.fullNameWithoutType;return"template"===t.type&&(r=r.replace(/^components\//,"")),e+"/"+r+"/"+t.type},podBasedModuleName:function(e){var t=this.namespace.podModulePrefix||this.namespace.modulePrefix;return this.podBasedLookupWithPrefix(t,e)},podBasedComponentsInSubdir:function(e){var t=this.namespace.podModulePrefix||this.namespace.modulePrefix;return t+="/components","component"===e.type||e.fullNameWithoutType.match(/^components/)?this.podBasedLookupWithPrefix(t,e):void 0},mainModuleName:function(e){var t=e.prefix+"/"+e.type;return"main"===e.fullNameWithoutType?t:void 0},defaultModuleName:function(e){return e.prefix+"/"+this.pluralize(e.type)+"/"+e.fullNameWithoutType},prefix:function(e){var t=this.namespace.modulePrefix;return this.namespace[e.type+"Prefix"]&&(t=this.namespace[e.type+"Prefix"]),t},moduleNameLookupPatterns:Ember.computed(function(){return Ember.A([this.podBasedModuleName,this.podBasedComponentsInSubdir,this.mainModuleName,this.defaultModuleName])}),findModuleName:function(e,t){var r,n=this;return this.get("moduleNameLookupPatterns").find(function(i){var a=requirejs.entries,o=i.call(n,e);return o&&(o=n.chooseModuleName(a,o)),o&&a[o]&&(t||n._logLookup(!0,e,o),r=o),t||n._logLookup(r,e,o),r}),r},chooseModuleName:function(e,t){var r=Ember.String.underscore(t);if(t!==r&&e[t]&&e[r])throw new TypeError("Ambiguous module names: `"+t+"` and `"+r+"`");if(e[t])return t;if(e[r])return r;var n=t.replace(/\/-([^\/]*)$/,"/_$1");return e[n]?(Ember.deprecate('Modules should not contain underscores. Attempted to lookup "'+t+'" which was not found. Please rename "'+n+'" to "'+t+'" instead.',!1),n):t},lookupDescription:function(e){var t=this.parseName(e),r=this.findModuleName(t,!0);return r},_logLookup:function(e,t,r){if(Ember.ENV.LOG_MODULE_RESOLVER||t.root.LOG_RESOLVER){var n,i;n=e?"[✓]":"[ ]",i=t.fullName.length>60?".":new Array(60-t.fullName.length).join("."),r||(r=this.lookupDescription(t)),Ember.Logger.info(n,t.fullName,i,r)}}});return o.moduleBasedResolver=!0,o["default"]=o,o}),define("resolver",["ember/resolver"],function(e){return Ember.deprecate('Importing/requiring Ember Resolver as "resolver" is deprecated, please use "ember/resolver" instead'),e})}(),function(){define("ember/container-debug-adapter",[],function(){"use strict";function e(e,t,r){var n=t.match(new RegExp("^/?"+r+"/(.+)/"+e+"$"));return n?n[1]:void 0}if("undefined"==typeof Ember.ContainerDebugAdapter)return null;var t=Ember.ContainerDebugAdapter.extend({canCatalogEntriesByType:function(e){return!0},_getEntries:function(){return requirejs.entries},catalogEntriesByType:function(t){var r=this._getEntries(),n=Ember.A(),i=this.namespace.modulePrefix;for(var a in r)if(r.hasOwnProperty(a)&&-1!==a.indexOf(t)){var o=e(t,a,this.namespace.podModulePrefix||i);o||(o=a.split(t+"s/").pop()),n.addObject(o)}return n}});return t["default"]=t,t})}(),function(){!function(){"use strict";Ember.Application.initializer({name:"container-debug-adapter",initialize:function(e,t){{var r=require("ember/container-debug-adapter");require("ember/resolver")}e.register("container-debug-adapter:main",r),t.inject("container-debug-adapter:main","namespace","application:main")}})}()}(),function(){define("ember/load-initializers",[],function(){"use strict";return{"default":function(e,t){var r=new RegExp("^"+t+"/initializers");Ember.keys(requirejs._eak_seen).filter(function(e){return r.test(e)}).forEach(function(t){var r=require(t,null,null,!0);if(!r)throw new Error(t+" must export an initializer.");e.initializer(r["default"])})}}})}(),define("ic-ajax",["ember","exports"],function(e,t){
-"use strict";function r(){return n.apply(null,arguments).then(function(e){return e.response},null,"ic-ajax: unwrap raw ajax response")}function n(){return o(s.apply(null,arguments))}function i(e,t){t.response&&(t.response=JSON.parse(JSON.stringify(t.response))),h[e]=t}function a(e){return h&&h[e]}function o(e){return new c.RSVP.Promise(function(t,r){var n=a(e.url);return n?"success"===n.textStatus||null==n.textStatus?c.run.later(null,t,n):c.run.later(null,r,n):(e.success=u(t),e.error=l(r),void c.$.ajax(e))},"ic-ajax: "+(e.type||"GET")+" to "+e.url)}function s(){var e={};if(1===arguments.length?"string"==typeof arguments[0]?e.url=arguments[0]:e=arguments[0]:2===arguments.length&&(e=arguments[1],e.url=arguments[0]),e.success||e.error)throw new c.Error("ajax should use promises, received 'success' or 'error' callback");return e}function u(e){return function(t,r,n){c.run(null,e,{response:t,textStatus:r,jqXHR:n})}}function l(e){return function(t,r,n){c.run(null,e,{jqXHR:t,textStatus:r,errorThrown:n})}}var c=e["default"]||e;t.request=r,t["default"]=r,t.raw=n;var h={};t.__fixtures__=h,t.defineFixture=i,t.lookupFixture=a}),function(){"use strict";function e(e){var t=Error.prototype.constructor.call(this,"The backend rejected the commit because it was invalid: "+Ember.inspect(e));this.errors=e;for(var r=0,n=me.length;n>r;r++)this[me[r]]=t[me[r]]}function t(e,t){return"function"!=typeof String.prototype.endsWith?-1!==e.indexOf(t,e.length-t.length):e.endsWith(t)}function r(e,t){for(var r=0,n=t.length;n>r;r++)e.uncountable[t[r].toLowerCase()]=!0}function n(e,t){for(var r,n=0,i=t.length;i>n;n++)r=t[n],e.irregular[r[0].toLowerCase()]=r[1],e.irregular[r[1].toLowerCase()]=r[1],e.irregularInverse[r[1].toLowerCase()]=r[0],e.irregularInverse[r[0].toLowerCase()]=r[0]}function i(e){e=e||{},e.uncountable=e.uncountable||a(),e.irregularPairs=e.irregularPairs||a();var t=this.rules={plurals:e.plurals||[],singular:e.singular||[],irregular:a(),irregularInverse:a(),uncountable:a()};r(t,e.uncountable),n(t,e.irregularPairs),this.enableCache()}function a(){var e=Object.create(null);return e._dict=null,delete e._dict,e}function o(e){return je.inflector.pluralize(e)}function s(e){return je.inflector.singularize(e)}function u(e,t){Re.HTMLBars.helpers[e]=t}function l(e,t){Re.HTMLBars.registerHelper(e,t)}function c(e,t){Re.HTMLBars._registerHelper(e,t)}function h(e,t){if(Re.HTMLBars){var r=Re.HTMLBars.makeBoundHelper(t);Re.HTMLBars._registerHelper?Re.HTMLBars.helpers?u(e,r):c(e,r):Re.HTMLBars.registerHelper&&l(e,r)}else Re.Handlebars&&Re.Handlebars.helper(e,t)}function d(e){return null==e?null:e+""}function f(e){this.container=e}function p(e,t){var r=new ut(e);r.registerDeprecations([{deprecated:"serializer:_ams",valid:"serializer:-active-model"},{deprecated:"adapter:_ams",valid:"adapter:-active-model"}]),e.register("serializer:-active-model",st),e.register("adapter:-active-model",Be)}function m(e){return function(){var t=ft(this,"content");return t[e].apply(t,arguments)}}function g(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(void 0,t)}}function v(e,t){var r=e["finally"](function(){t()||(r._subscribers.length=0)});return r}function y(e){return!(bt(e,"isDestroyed")||bt(e,"isDestroying"))}function b(e,t,r){var n=t.serializer;return void 0===n&&(n=e.serializerFor(r)),(null===n||void 0===n)&&(n={extract:function(e,t,r){return r}}),n}function _(e,t,r,n,i){var a=i._createSnapshot(),o=e.find(t,r,n,a),s=b(t,e,r),u="DS: Handle Adapter#find of "+r+" with id: "+n;return o=wt.cast(o,u),o=v(o,g(y,t)),o.then(function(e){return t._adapterRun(function(){var i=s.extract(t,r,e,n,"find");return t.push(r,i)})},function(e){var i=t.getById(r,n);throw i&&(i.notFound(),_t(i,"isEmpty")&&t.unloadRecord(i)),e},"DS: Extract payload of '"+r+"'")}function w(e,t,r,n,i){var a=Ember.A(i).invoke("_createSnapshot"),o=e.findMany(t,r,n,a),s=b(t,e,r),u="DS: Handle Adapter#findMany of "+r;if(void 0===o)throw new Error("adapter.findMany returned undefined, this was very likely a mistake");return o=wt.cast(o,u),o=v(o,g(y,t)),o.then(function(e){return t._adapterRun(function(){var n=s.extract(t,r,e,null,"findMany");return t.pushMany(r,n)})},null,"DS: Extract payload of "+r)}function x(e,t,r,n,i){var a=r._createSnapshot(),o=e.findHasMany(t,a,n,i),s=b(t,e,i.type),u="DS: Handle Adapter#findHasMany of "+r+" : "+i.type;return o=wt.cast(o,u),o=v(o,g(y,t)),o=v(o,g(y,r)),o.then(function(e){return t._adapterRun(function(){var r=s.extract(t,i.type,e,null,"findHasMany"),n=t.pushMany(i.type,r);return n})},null,"DS: Extract payload of "+r+" : hasMany "+i.type)}function C(e,t,r,n,i){var a=r._createSnapshot(),o=e.findBelongsTo(t,a,n,i),s=b(t,e,i.type),u="DS: Handle Adapter#findBelongsTo of "+r+" : "+i.type;return o=wt.cast(o,u),o=v(o,g(y,t)),o=v(o,g(y,r)),o.then(function(e){return t._adapterRun(function(){var r=s.extract(t,i.type,e,null,"findBelongsTo");if(!r)return null;var n=t.push(i.type,r);return n})},null,"DS: Extract payload of "+r+" : "+i.type)}function E(e,t,r,n){var i=e.findAll(t,r,n),a=b(t,e,r),o="DS: Handle Adapter#findAll of "+r;return i=wt.cast(i,o),i=v(i,g(y,t)),i.then(function(e){return t._adapterRun(function(){var n=a.extract(t,r,e,null,"findAll");t.pushMany(r,n)}),t.didUpdateAll(r),t.all(r)},null,"DS: Extract payload of findAll "+r)}function T(e,t,r,n,i){var a=e.findQuery(t,r,n,i),o=b(t,e,r),s="DS: Handle Adapter#findQuery of "+r;return a=wt.cast(a,s),a=v(a,g(y,t)),a.then(function(e){var n;return t._adapterRun(function(){n=o.extract(t,r,e,null,"findQuery")}),i.load(n),i},null,"DS: Extract payload of findQuery "+r)}function S(e){var t=Ember.create(null);for(var r in e)t[r]=e[r];return t}function A(e){e.destroy()}function k(e){for(var t=e.length,r=Ember.A(),n=0;t>n;n++)r=r.concat(e[n]);return r}function O(e,t){t.value===t.originalValue?(delete e._attributes[t.name],e.send("propertyWasReset",t.name)):t.value!==t.oldValue&&e.send("becomeDirty"),e.updateRecordArraysLater()}function R(e){var t,r={};for(var n in e)t=e[n],r[n]=t&&"object"==typeof t?R(t):t;return r}function P(e,t){for(var r in t)e[r]=t[r];return e}function N(e){var t=R(Vt);return P(t,e)}function D(e){}function M(e,t,r){e=P(t?Ember.create(t):{},e),e.parentState=t,e.stateName=r;for(var n in e)e.hasOwnProperty(n)&&"parentState"!==n&&"stateName"!==n&&"object"==typeof e[n]&&(e[n]=M(e[n],e,r+"."+n));return e}function F(e,t){if(!t||"object"!=typeof t)return e;for(var r,n=Ember.keys(t),i=n.length,a=0;i>a;a++)r=n[a],e[r]=t[r];return e}function j(e){var t=new Nt;if(e)for(var r=0,n=e.length;n>r;r++)t.add(e[r]);return t}function I(e){if(this._attributes=Ember.create(null),this._belongsToRelationships=Ember.create(null),this._belongsToIds=Ember.create(null),this._hasManyRelationships=Ember.create(null),this._hasManyIds=Ember.create(null),e.eachAttribute(function(t){this._attributes[t]=ur(e,t)},this),this.id=ur(e,"id"),this.record=e,this.type=e.constructor,this.typeKey=e.constructor.typeKey,Ember.platform.hasPropertyAccessors){var t=!0;Ember.defineProperty(this,"constructor",{get:function(){return t&&(t=!1,t=!0),this.type}})}else this.constructor=this.type}function L(e){return vr[e]||(vr[e]=e.split("."))}function V(e){return gr[e]||(gr[e]=L(e)[0])}function z(e,t){var r=[];if(!t||"object"!=typeof t)return r;var n,i,a,o=Ember.keys(t),s=o.length;for(n=0;s>n;n++)a=o[n],i=t[a],e[a]!==i&&r.push(a),e[a]=i;return r}function H(e,t,r){return"function"==typeof t.defaultValue?t.defaultValue.apply(null,arguments):t.defaultValue}function B(e,t){return t in e._attributes||t in e._inFlightAttributes||e._data.hasOwnProperty(t)}function $(e,t){return t in e._attributes?e._attributes[t]:t in e._inFlightAttributes?e._inFlightAttributes[t]:e._data[t]}function q(e,t){"object"==typeof e?(t=e,e=void 0):t=t||{};var r={type:e,isAttribute:!0,options:t};return Ember.computed(function(e,r){if(arguments.length>1){var n=$(this,e);return r!==n&&(this._attributes[e]=r,this.send("didSetProperty",{name:e,oldValue:n,originalValue:this._data[e],value:r})),r}return B(this,e)?$(this,e):H(this,t,e)}).meta(r)}function U(e){return null==e?null:e+""}function W(e,t,r,n){return t.eachRelationship(function(t,n){var i=n.kind,a=r[t];"belongsTo"===i?K(e,r,t,n,a):"hasMany"===i&&G(e,r,t,n,a)}),r}function K(e,t,r,n,i){if(!(Or(i)||i instanceof xr)){var a;"number"==typeof i||"string"==typeof i?(a=Y(n,r,t),t[r]=e.recordForId(a,i)):"object"==typeof i&&(t[r]=e.recordForId(i.type,i.id))}}function Y(e,t,r){return e.options.polymorphic?r[t+"Type"]:e.type}function G(e,t,r,n,i){if(!Or(i))for(var a=0,o=i.length;o>a;a++)K(e,i,a,n,i[a])}function Q(e){return e.lookup("serializer:application")||e.lookup("serializer:-default")}function X(t,r,n,i){var a=i.constructor,o=i._createSnapshot(),s=t[n](r,a,o),u=b(r,t,a),l="DS: Extract and notify about "+n+" completion of "+i;return s=Dr.cast(s,l),s=v(s,g(y,r)),s=v(s,g(y,i)),s.then(function(e){var t;return r._adapterRun(function(){t=e?u.extract(r,a,e,Sr(i,"id"),n):e,r.didSaveRecord(i,t)}),i},function(t){if(t instanceof e){var n=u.extractErrors(r,a,t.errors,Sr(i,"id"));r.recordWasInvalid(i,n),t=new e(n)}else r.recordWasError(i,t);throw t},l)}function J(e,t,r){var n=t.constructor;n.eachRelationship(function(e,n){var i=n.kind,a=r[e],o=t._relationships[e];if(r.links&&r.links[e]&&o.updateLink(r.links[e]),"belongsTo"===i){if(void 0===a)return;o.setCanonicalRecord(a)}else"hasMany"===i&&a&&o.updateRecordsFromAdapter(a)})}function Z(e,t){e.optionsForType("serializer",{singleton:!1}),e.optionsForType("adapter",{singleton:!1}),e.register("store:main",e.lookupFactory("store:application")||t&&t.Store||Ir);var r=new ut(e);r.registerDeprecations([{deprecated:"serializer:_default",valid:"serializer:-default"},{deprecated:"serializer:_rest",valid:"serializer:-rest"},{deprecated:"adapter:_rest",valid:"adapter:-rest"}]),e.register("serializer:-default",Ge),e.register("serializer:-rest",et),e.register("adapter:-rest",Oe);var n=e.lookup("store:main");e.register("service:store",n,{instantiate:!1})}function ee(e){return e===e&&e!==1/0&&e!==-(1/0)}function te(e){e.register("transform:boolean",Wr),e.register("transform:date",$r),e.register("transform:number",Hr),e.register("transform:string",Ur)}function re(e){e.injection("controller","store","store:main"),e.injection("route","store","store:main"),e.injection("data-adapter","store","store:main")}function ne(e){e.register("data-adapter:main",Jr)}function ie(e,t){Zr(e,t),Kr(e,t),Yr(e,t),Lr(e,t),lt(e,t)}function ae(e,t,r,n){return r.eachRelationship(function(r,i){if(e.hasDeserializeRecordsOption(r)){var a=t.modelFor(i.type.typeKey);"hasMany"===i.kind&&(i.options.polymorphic?se(t,r,n):oe(t,r,a,n)),"belongsTo"===i.kind&&(i.options.polymorphic?le(t,r,n):ue(t,r,a,n))}}),n}function oe(e,t,r,n){if(!n[t])return n;var i=[],a=e.serializerFor(r.typeKey);return sn(n[t],function(t){var n=a.normalize(r,t,null);e.push(r,n),i.push(n.id)}),n[t]=i,n}function se(e,t,r){if(!r[t])return r;var n=[];return sn(r[t],function(t){var r=t.type,i=e.serializerFor(r),a=e.modelFor(r),o=on(i,"primaryKey"),s=i.normalize(a,t,null);e.push(a,s),n.push({id:s[o],type:r})}),r[t]=n,r}function ue(e,t,r,n){if(!n[t])return n;var i=e.serializerFor(r.typeKey),a=i.normalize(r,n[t],null);return e.push(r,a),n[t]=a.id,n}function le(e,t,r){if(!r[t])return r;var n=r[t],i=n.type,a=e.serializerFor(i),o=e.modelFor(i),s=on(a,"primaryKey"),u=a.normalize(o,n,null);return e.push(o,u),r[t]=u[s],r[t+"Type"]=i,r}function ce(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r={type:e,isRelationship:!0,options:t,kind:"belongsTo",key:null};return Ember.computed(function(e,t){return arguments.length>1&&(void 0===t&&(t=null),t&&t.then?this._relationships[e].setRecordPromise(t):this._relationships[e].setRecord(t)),this._relationships[e].getRecord()}).meta(r)}function he(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r={type:e,isRelationship:!0,options:t,kind:"hasMany",key:null};return Ember.computed(function(e){var t=this._relationships[e];return t.getRecords()}).meta(r).readOnly()}function de(e,t){var r,n;return r=t.type||t.key,"string"==typeof r?("hasMany"===t.kind&&(r=s(r)),n=e.modelFor(r)):n=t.type,n}function fe(e,t){return{key:t.key,kind:t.kind,type:de(e,t),options:t.options,parentType:t.parentType,isRelationship:!0}}var pe=Ember.get,me=["description","fileName","lineNumber","message","name","number","stack"];e.prototype=Ember.create(Error.prototype);var ge=Ember.Object.extend({find:null,findAll:null,findQuery:null,generateIdForRecord:null,serialize:function(e,t){var r=e._createSnapshot();return pe(e,"store").serializerFor(r.typeKey).serialize(r,t)},createRecord:null,updateRecord:null,deleteRecord:null,coalesceFindRequests:!0,groupRecordsForFindMany:function(e,t){return[t]}}),ve=ge,ye=Ember.get,be=Ember.String.fmt,_e=Ember.EnumerableUtils.indexOf,we=0,xe=ve.extend({serializer:null,coalesceFindRequests:!1,simulateRemoteResponse:!0,latency:50,fixturesForType:function(e){if(e.FIXTURES){var t=Ember.A(e.FIXTURES);return t.map(function(e){var t=typeof e.id;if("number"!==t&&"string"!==t)throw new Error(be("the id property must be defined as a number or string for fixture %@",[e]));return e.id=e.id+"",e})}return null},queryFixtures:function(e,t,r){},updateFixtures:function(e,t){e.FIXTURES||(e.FIXTURES=[]);var r=e.FIXTURES;this.deleteLoadedFixture(e,t),r.push(t)},mockJSON:function(e,t,r){return e.serializerFor(r.typeKey).serialize(r,{includeId:!0})},generateIdForRecord:function(e){return"fixture-"+we++},find:function(e,t,r,n){var i,a=this.fixturesForType(t);return a&&(i=Ember.A(a).findBy("id",r)),i?this.simulateRemoteCall(function(){return i},this):void 0},findMany:function(e,t,r,n){var i=this.fixturesForType(t);return i&&(i=i.filter(function(e){return-1!==_e(r,e.id)})),i?this.simulateRemoteCall(function(){return i},this):void 0},findAll:function(e,t){var r=this.fixturesForType(t);return this.simulateRemoteCall(function(){return r},this)},findQuery:function(e,t,r,n){var i=this.fixturesForType(t);return i=this.queryFixtures(i,r,t),i?this.simulateRemoteCall(function(){return i},this):void 0},createRecord:function(e,t,r){var n=this.mockJSON(e,t,r);return this.updateFixtures(t,n),this.simulateRemoteCall(function(){return n},this)},updateRecord:function(e,t,r){var n=this.mockJSON(e,t,r);return this.updateFixtures(t,n),this.simulateRemoteCall(function(){return n},this)},deleteRecord:function(e,t,r){return this.deleteLoadedFixture(t,r),this.simulateRemoteCall(function(){return null})},deleteLoadedFixture:function(e,t){var r=this.findExistingFixture(e,t);if(r){var n=_e(e.FIXTURES,r);return e.FIXTURES.splice(n,1),!0}},findExistingFixture:function(e,t){var r=this.fixturesForType(e),n=t.id;return this.findFixtureById(r,n)},findFixtureById:function(e,t){return Ember.A(e).find(function(e){return""+ye(e,"id")==""+t?!0:!1})},simulateRemoteCall:function(e,t){var r=this;return new Ember.RSVP.Promise(function(n){var i=Ember.copy(e.call(t),!0);ye(r,"simulateRemoteResponse")?Ember.run.later(function(){n(i)},ye(r,"latency")):Ember.run.schedule("actions",null,function(){n(i)})},"DS: FixtureAdapter#simulateRemoteCall")}}),Ce=Ember.Map,Ee=Ember.MapWithDefault,Te=Ember.get,Se=Ember.Mixin.create({buildURL:function(e,t,r){var n=[],i=Te(this,"host"),a=this.urlPrefix();return e&&n.push(this.pathForType(e)),t&&!Ember.isArray(t)&&n.push(encodeURIComponent(t)),a&&n.unshift(a),n=n.join("/"),!i&&n&&(n="/"+n),n},urlPrefix:function(e,t){var r=Te(this,"host"),n=Te(this,"namespace"),i=[];return e?/^\/\//.test(e)||("/"===e.charAt(0)?r&&(e=e.slice(1),i.push(r)):/^http(s)?:\/\//.test(e)||i.push(t)):(r&&i.push(r),n&&i.push(n)),e&&i.push(e),i.join("/")},pathForType:function(e){var t=Ember.String.camelize(e);return Ember.String.pluralize(t)}}),Ae=Ember.get,ke=Ember.ArrayPolyfills.forEach,Oe=ge.extend(Se,{defaultSerializer:"-rest",sortQueryParams:function(e){var t=Ember.keys(e),r=t.length;if(2>r)return e;for(var n={},i=t.sort(),a=0;r>a;a++)n[i[a]]=e[i[a]];return n},coalesceFindRequests:!1,find:function(e,t,r,n){return this.ajax(this.buildURL(t.typeKey,r,n),"GET")},findAll:function(e,t,r){var n;return r&&(n={since:r}),this.ajax(this.buildURL(t.typeKey),"GET",{data:n})},findQuery:function(e,t,r){return this.sortQueryParams&&(r=this.sortQueryParams(r)),this.ajax(this.buildURL(t.typeKey),"GET",{data:r})},findMany:function(e,t,r,n){return this.ajax(this.buildURL(t.typeKey,r,n),"GET",{data:{ids:r}})},findHasMany:function(e,t,r,n){var i=Ae(this,"host"),a=t.id,o=t.typeKey;return i&&"/"===r.charAt(0)&&"/"!==r.charAt(1)&&(r=i+r),this.ajax(this.urlPrefix(r,this.buildURL(o,a)),"GET")},findBelongsTo:function(e,t,r,n){var i=t.id,a=t.typeKey;return this.ajax(this.urlPrefix(r,this.buildURL(a,i)),"GET")},createRecord:function(e,t,r){var n={},i=e.serializerFor(t.typeKey);return i.serializeIntoHash(n,t,r,{includeId:!0}),this.ajax(this.buildURL(t.typeKey,null,r),"POST",{data:n})},updateRecord:function(e,t,r){var n={},i=e.serializerFor(t.typeKey);i.serializeIntoHash(n,t,r);var a=r.id;return this.ajax(this.buildURL(t.typeKey,a,r),"PUT",{data:n})},deleteRecord:function(e,t,r){var n=r.id;return this.ajax(this.buildURL(t.typeKey,n,r),"DELETE")},_stripIDFromURL:function(e,r){var n=this.buildURL(r.typeKey,r.id,r),i=n.split("/"),a=i[i.length-1],o=r.id;return a===o?i[i.length-1]="":t(a,"?id="+o)&&(i[i.length-1]=a.substring(0,a.length-o.length-1)),i.join("/")},maxUrlLength:2048,groupRecordsForFindMany:function(e,t){function r(t,r,n){var a=i._stripIDFromURL(e,t[0]),o=0,s=[[]];return ke.call(t,function(e){var t=encodeURIComponent(e.id).length+n;a.length+o+t>=r&&(o=0,s.push([])),o+=t;var i=s.length-1;s[i].push(e)}),s}var n=Ee.create({defaultValue:function(){return[]}}),i=this,a=this.maxUrlLength;ke.call(t,function(t){var r=i._stripIDFromURL(e,t);n.get(r).push(t)});var o=[];return n.forEach(function(e,t){var n="&ids%5B%5D=".length,i=r(e,a,n);ke.call(i,function(e){o.push(e)})}),o},ajaxError:function(e,t,r){var n=null!==e&&"object"==typeof e;return n&&(e.then=null,e.errorThrown||(e.errorThrown="string"==typeof r?new Error(r):r)),e},ajaxSuccess:function(e,t){return t},ajax:function(t,r,n){var i=this;return new Ember.RSVP.Promise(function(a,o){var s=i.ajaxOptions(t,r,n);s.success=function(t,r,n){t=i.ajaxSuccess(n,t),t instanceof e?Ember.run(null,o,t):Ember.run(null,a,t)},s.error=function(e,t,r){Ember.run(null,o,i.ajaxError(e,e.responseText,r))},Ember.$.ajax(s)},"DS: RESTAdapter#ajax "+r+" to "+t)},ajaxOptions:function(e,t,r){var n=r||{};n.url=e,n.type=t,n.dataType="json",n.context=this,n.data&&"GET"!==t&&(n.contentType="application/json; charset=utf-8",n.data=JSON.stringify(n.data));var i=Ae(this,"headers");return void 0!==i&&(n.beforeSend=function(e){ke.call(Ember.keys(i),function(t){e.setRequestHeader(t,i[t])})}),n}}),Re=self.Ember,Pe=Re.String.capitalize,Ne=/^\s*$/,De=/(\w+[_-])([a-z\d]+$)/,Me=/(\w+)([A-Z][a-z\d]*$)/,Fe=/[A-Z][a-z\d]*$/;if(!Object.create&&!Object.create(null).hasOwnProperty)throw new Error("This browser does not support Object.create(null), please polyfil with es5-sham: http://git.io/yBU2rg");i.prototype={enableCache:function(){this.purgeCache(),this.singularize=function(e){return this._cacheUsed=!0,this._sCache[e]||(this._sCache[e]=this._singularize(e))},this.pluralize=function(e){return this._cacheUsed=!0,this._pCache[e]||(this._pCache[e]=this._pluralize(e))}},purgeCache:function(){this._cacheUsed=!1,this._sCache=a(),this._pCache=a()},disableCache:function(){this._sCache=null,this._pCache=null,this.singularize=function(e){return this._singularize(e)},this.pluralize=function(e){return this._pluralize(e)}},plural:function(e,t){this._cacheUsed&&this.purgeCache(),this.rules.plurals.push([e,t.toLowerCase()])},singular:function(e,t){this._cacheUsed&&this.purgeCache(),this.rules.singular.push([e,t.toLowerCase()])},uncountable:function(e){this._cacheUsed&&this.purgeCache(),r(this.rules,[e.toLowerCase()])},irregular:function(e,t){this._cacheUsed&&this.purgeCache(),n(this.rules,[[e,t]])},pluralize:function(e){return this._pluralize(e)},_pluralize:function(e){return this.inflect(e,this.rules.plurals,this.rules.irregular)},singularize:function(e){return this._singularize(e)},_singularize:function(e){return this.inflect(e,this.rules.singular,this.rules.irregularInverse)},inflect:function(e,t,r){var n,i,a,o,s,u,l,c,h,d,f,p;if(c=Ne.test(e),h=Fe.test(e),u="",c)return e;if(o=e.toLowerCase(),s=De.exec(e)||Me.exec(e),s&&(u=s[1],l=s[2].toLowerCase()),d=this.rules.uncountable[o]||this.rules.uncountable[l])return e;if(f=r&&(r[o]||r[l]))return r[o]?f:(f=h?Pe(f):f,u+f);for(var m=t.length,g=0;m>g&&(n=t[m-1],p=n[0],!p.test(e));m--);return n=n||[],p=n[0],i=n[1],a=e.replace(p,i)}};var je=i,Ie={plurals:[[/$/,"s"],[/s$/i,"s"],[/^(ax|test)is$/i,"$1es"],[/(octop|vir)us$/i,"$1i"],[/(octop|vir)i$/i,"$1i"],[/(alias|status)$/i,"$1es"],[/(bu)s$/i,"$1ses"],[/(buffal|tomat)o$/i,"$1oes"],[/([ti])um$/i,"$1a"],[/([ti])a$/i,"$1a"],[/sis$/i,"ses"],[/(?:([^f])fe|([lr])f)$/i,"$1$2ves"],[/(hive)$/i,"$1s"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/(x|ch|ss|sh)$/i,"$1es"],[/(matr|vert|ind)(?:ix|ex)$/i,"$1ices"],[/^(m|l)ouse$/i,"$1ice"],[/^(m|l)ice$/i,"$1ice"],[/^(ox)$/i,"$1en"],[/^(oxen)$/i,"$1"],[/(quiz)$/i,"$1zes"]],singular:[[/s$/i,""],[/(ss)$/i,"$1"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(sis|ses)$/i,"$1sis"],[/(^analy)(sis|ses)$/i,"$1sis"],[/([^f])ves$/i,"$1fe"],[/(hive)s$/i,"$1"],[/(tive)s$/i,"$1"],[/([lr])ves$/i,"$1f"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(x|ch|ss|sh)es$/i,"$1"],[/^(m|l)ice$/i,"$1ouse"],[/(bus)(es)?$/i,"$1"],[/(o)es$/i,"$1"],[/(shoe)s$/i,"$1"],[/(cris|test)(is|es)$/i,"$1is"],[/^(a)x[ie]s$/i,"$1xis"],[/(octop|vir)(us|i)$/i,"$1us"],[/(alias|status)(es)?$/i,"$1"],[/^(ox)en/i,"$1"],[/(vert|ind)ices$/i,"$1ex"],[/(matr)ices$/i,"$1ix"],[/(quiz)zes$/i,"$1"],[/(database)s$/i,"$1"]],irregularPairs:[["person","people"],["man","men"],["child","children"],["sex","sexes"],["move","moves"],["cow","kine"],["zombie","zombies"]],uncountable:["equipment","information","rice","money","species","series","fish","sheep","jeans","police"]};je.inflector=new je(Ie);var Le=h;Le("singularize",function(e){return s(e[0])}),Le("pluralize",function(e){var t,r;return 1===e.length?(r=e[0],o(r)):(t=e[0],r=e[1],1!==t&&(r=o(r)),t+" "+r)}),(Re.EXTEND_PROTOTYPES===!0||Re.EXTEND_PROTOTYPES.String)&&(String.prototype.pluralize=function(){return o(this)},String.prototype.singularize=function(){return s(this)}),je.defaultRules=Ie,Re.Inflector=je,Re.String.pluralize=o,Re.String.singularize=s;"undefined"!=typeof define&&define.amd?define("ember-inflector",["exports"],function(e){return e["default"]=je,je}):"undefined"!=typeof module&&module.exports&&(module.exports=je);var Ve=Ember.String.decamelize,ze=Ember.String.underscore,He=Oe.extend({defaultSerializer:"-active-model",pathForType:function(e){var t=Ve(e),r=ze(t);return o(r)},ajaxError:function(t){var r=this._super.apply(this,arguments);return t&&422===t.status?new e(Ember.$.parseJSON(t.responseText)):r}}),Be=He,$e=Ember.Object.extend({extract:null,serialize:null,normalize:function(e,t){return t}}),qe=$e,Ue=Ember.get,We=Ember.isNone,Ke=Ember.ArrayPolyfills.map,Ye=Ember.merge,Ge=qe.extend({primaryKey:"id",applyTransforms:function(e,t){return e.eachTransformedAttribute(function(e,r){if(t.hasOwnProperty(e)){var n=this.transformFor(r);t[e]=n.deserialize(t[e])}},this),t},normalize:function(e,t){return t?(this.normalizeId(t),this.normalizeAttributes(e,t),this.normalizeRelationships(e,t),this.normalizeUsingDeclaredMapping(e,t),this.applyTransforms(e,t),t):t},normalizePayload:function(e){return e},normalizeAttributes:function(e,t){var r;this.keyForAttribute&&e.eachAttribute(function(e){r=this.keyForAttribute(e),e!==r&&t.hasOwnProperty(r)&&(t[e]=t[r],delete t[r])},this)},normalizeRelationships:function(e,t){var r;this.keyForRelationship&&e.eachRelationship(function(e,n){r=this.keyForRelationship(e,n.kind),e!==r&&t.hasOwnProperty(r)&&(t[e]=t[r],delete t[r])},this)},normalizeUsingDeclaredMapping:function(e,t){var r,n,i=Ue(this,"attrs");if(i)for(n in i)r=this._getMappedKey(n),t.hasOwnProperty(r)&&r!==n&&(t[n]=t[r],delete t[r])},normalizeId:function(e){var t=Ue(this,"primaryKey");"id"!==t&&(e.id=e[t],delete e[t])},normalizeErrors:function(e,t){this.normalizeId(t),this.normalizeAttributes(e,t),this.normalizeRelationships(e,t)},_getMappedKey:function(e){var t,r=Ue(this,"attrs");return r&&r[e]&&(t=r[e],t.key&&(t=t.key),"string"==typeof t&&(e=t)),e},_canSerialize:function(e){var t=Ue(this,"attrs");return!t||!t[e]||t[e].serialize!==!1},serialize:function(e,t){var r={};if(t&&t.includeId){var n=e.id;n&&(r[Ue(this,"primaryKey")]=n)}return e.eachAttribute(function(t,n){this.serializeAttribute(e,r,t,n)},this),e.eachRelationship(function(t,n){"belongsTo"===n.kind?this.serializeBelongsTo(e,r,n):"hasMany"===n.kind&&this.serializeHasMany(e,r,n)},this),r},serializeIntoHash:function(e,t,r,n){Ye(e,this.serialize(r,n))},serializeAttribute:function(e,t,r,n){var i=n.type;if(this._canSerialize(r)){var a=e.attr(r);if(i){var o=this.transformFor(i);a=o.serialize(a)}var s=this._getMappedKey(r);s===r&&this.keyForAttribute&&(s=this.keyForAttribute(r)),t[s]=a}},serializeBelongsTo:function(e,t,r){var n=r.key;if(this._canSerialize(n)){var i=e.belongsTo(n,{id:!0}),a=this._getMappedKey(n);a===n&&this.keyForRelationship&&(a=this.keyForRelationship(n,"belongsTo")),t[a]=We(i)?null:i,r.options.polymorphic&&this.serializePolymorphicType(e,t,r)}},serializeHasMany:function(e,t,r){var n=r.key;if(this._canSerialize(n)){var i;i=this._getMappedKey(n),i===n&&this.keyForRelationship&&(i=this.keyForRelationship(n,"hasMany"));var a=e.type.determineRelationshipType(r);("manyToNone"===a||"manyToMany"===a)&&(t[i]=e.hasMany(n,{ids:!0}))}},serializePolymorphicType:Ember.K,extract:function(e,t,r,n,i){this.extractMeta(e,t,r);var a="extract"+i.charAt(0).toUpperCase()+i.substr(1);return this[a](e,t,r,n,i)},extractFindAll:function(e,t,r,n,i){return this.extractArray(e,t,r,n,i)},extractFindQuery:function(e,t,r,n,i){return this.extractArray(e,t,r,n,i)},extractFindMany:function(e,t,r,n,i){return this.extractArray(e,t,r,n,i)},extractFindHasMany:function(e,t,r,n,i){return this.extractArray(e,t,r,n,i)},extractCreateRecord:function(e,t,r,n,i){return this.extractSave(e,t,r,n,i)},extractUpdateRecord:function(e,t,r,n,i){return this.extractSave(e,t,r,n,i)},extractDeleteRecord:function(e,t,r,n,i){return this.extractSave(e,t,r,n,i)},extractFind:function(e,t,r,n,i){return this.extractSingle(e,t,r,n,i)},extractFindBelongsTo:function(e,t,r,n,i){return this.extractSingle(e,t,r,n,i)},extractSave:function(e,t,r,n,i){return this.extractSingle(e,t,r,n,i)},extractSingle:function(e,t,r,n,i){return r=this.normalizePayload(r),this.normalize(t,r)},extractArray:function(e,t,r,n,i){var a=this.normalizePayload(r),o=this;return Ke.call(a,function(e){return o.normalize(t,e)})},extractMeta:function(e,t,r){r&&r.meta&&(e.setMetadataFor(t,r.meta),delete r.meta)},extractErrors:function(e,t,r,n){return r&&"object"==typeof r&&r.errors&&(r=r.errors,this.normalizeErrors(t,r)),r},keyForAttribute:function(e){return e},keyForRelationship:function(e,t){return e},transformFor:function(e,t){var r=this.container.lookup("transform:"+e);return r}}),Qe=Ember.ArrayPolyfills.forEach,Xe=Ember.ArrayPolyfills.map,Je=Ember.String.camelize,Ze=Ge.extend({normalize:function(e,t,r){return this.normalizeId(t),this.normalizeAttributes(e,t),this.normalizeRelationships(e,t),this.normalizeUsingDeclaredMapping(e,t),this.normalizeHash&&this.normalizeHash[r]&&this.normalizeHash[r](t),this.applyTransforms(e,t),t},extractSingle:function(e,t,r,n){var i,a=this.normalizePayload(r),o=t.typeKey;for(var s in a){var u=this.typeForRoot(s);if(e.modelFactoryFor(u)){var l=e.modelFor(u),c=l.typeKey===o,h=a[s];null!==h&&(c&&"array"!==Ember.typeOf(h)?i=this.normalize(t,h,s):Qe.call(h,function(t){var r=this.typeForRoot(s),a=e.modelFor(r),o=e.serializerFor(a);t=o.normalize(a,t,s);var u=c&&!n&&!i,l=c&&d(t.id)===n;u||l?i=t:e.push(r,t)},this))}}return i},extractArray:function(e,t,r){var n,i=this.normalizePayload(r),a=t.typeKey;for(var o in i){var s=o,u=!1;"_"===o.charAt(0)&&(u=!0,s=o.substr(1));var l=this.typeForRoot(s);if(e.modelFactoryFor(l)){var c=e.modelFor(l),h=e.serializerFor(c),d=!u&&c.typeKey===a,f=Xe.call(i[o],function(e){return h.normalize(c,e,o)},this);d?n=f:e.pushMany(l,f)}}return n},pushPayload:function(e,t){var r=this.normalizePayload(t);for(var n in r){var i=this.typeForRoot(n);if(e.modelFactoryFor(i,n)){var a=e.modelFor(i),o=e.serializerFor(a),s=Xe.call(Ember.makeArray(r[n]),function(e){return o.normalize(a,e,n)},this);e.pushMany(i,s)}}},typeForRoot:function(e){return Je(s(e))},serialize:function(e,t){return this._super.apply(this,arguments)},serializeIntoHash:function(e,t,r,n){e[t.typeKey]=this.serialize(r,n)},serializePolymorphicType:function(e,t,r){var n=r.key,i=e.belongsTo(n);n=this.keyForAttribute?this.keyForAttribute(n):n,t[n+"Type"]=Ember.isNone(i)?null:Ember.String.camelize(i.typeKey)}}),et=Ze,tt=Ember.EnumerableUtils.forEach,rt=Ember.String.camelize,nt=Ember.String.capitalize,it=Ember.String.decamelize,at=Ember.String.underscore,ot=et.extend({keyForAttribute:function(e){return it(e)},keyForRelationship:function(e,t){var r=it(e);return"belongsTo"===t?r+"_id":"hasMany"===t?s(r)+"_ids":r},serializeHasMany:Ember.K,serializeIntoHash:function(e,t,r,n){var i=at(it(t.typeKey));e[i]=this.serialize(r,n)},serializePolymorphicType:function(e,t,r){var n=r.key,i=e.belongsTo(n),a=at(n+"_type");t[a]=Ember.isNone(i)?null:nt(rt(i.typeKey))},normalize:function(e,t,r){return this.normalizeLinks(t),this._super(e,t,r)},normalizeLinks:function(e){if(e.links){var t=e.links;for(var r in t){var n=rt(r);n!==r&&(t[n]=t[r],delete t[r])}}},normalizeRelationships:function(e,t){this.keyForRelationship&&e.eachRelationship(function(e,r){var n,i;if(r.options.polymorphic){if(n=this.keyForAttribute(e),i=t[n],i&&i.type)i.type=this.typeForRoot(i.type);else if(i&&"hasMany"===r.kind){var a=this;tt(i,function(e){e.type=a.typeForRoot(e.type)})}}else{if(n=this.keyForRelationship(e,r.kind),!t.hasOwnProperty(n))return;i=t[n]}t[e]=i,e!==n&&delete t[n]},this)}}),st=ot;f.prototype.aliasedFactory=function(e,t){var r=this;return{create:function(){return t&&t(),r.container.lookup(e)}}},f.prototype.registerAlias=function(e,t,r){var n=this.aliasedFactory(t,r);return this.container.register(e,n)},f.prototype.registerDeprecation=function(e,t){var r=function(){};return this.registerAlias(e,t,r)},f.prototype.registerDeprecations=function(e){var t,r,n,i;for(t=e.length;t>0;t--)r=e[t-1],n=r.deprecated,i=r.valid,this.registerDeprecation(n,i)};var ut=f,lt=p,ct=Ember.Namespace.create({VERSION:"1.0.0-beta.16.1"});Ember.libraries&&Ember.libraries.registerCoreLibrary("Ember Data",ct.VERSION);var ht=ct,dt=Ember.RSVP.Promise,ft=Ember.get,pt=Ember.ArrayProxy.extend(Ember.PromiseProxyMixin),mt=Ember.ObjectProxy.extend(Ember.PromiseProxyMixin),gt=function(e,t){return mt.create({promise:dt.resolve(e,t)})},vt=function(e,t){return pt.create({promise:dt.resolve(e,t)})},yt=pt.extend({reload:function(){return yt.create({promise:ft(this,"content").reload()})},createRecord:m("createRecord"),on:m("on"),one:m("one"),trigger:m("trigger"),off:m("off"),has:m("has")}),bt=Ember.get,_t=Ember.get,wt=Ember.RSVP.Promise,xt=Ember.get,Ct=Ember.set,Et=Ember.ArrayProxy.extend(Ember.Evented,{type:null,content:null,isLoaded:!1,isUpdating:!1,store:null,objectAtContent:function(e){var t=xt(this,"content");return t.objectAt(e)},update:function(){if(!xt(this,"isUpdating")){var e=xt(this,"store"),t=xt(this,"type");return e.fetchAll(t,this)}},addRecord:function(e,t){var r=xt(this,"content");void 0===t?r.addObject(e):r.contains(e)||r.insertAt(t,e)},_pushRecord:function(e){xt(this,"content").pushObject(e)},pushRecord:function(e){this._pushRecord(e)},removeRecord:function(e){xt(this,"content").removeObject(e)},save:function(){var e=this,t="DS: RecordArray#save "+xt(this,"type"),r=Ember.RSVP.all(this.invoke("save"),t).then(function(t){return e},null,"DS: RecordArray#save return RecordArray");return pt.create({promise:r})},_dissociateFromOwnRecords:function(){
-var e=this;this.forEach(function(t){var r=t._recordArrays;r&&r["delete"](e)})},_unregisterFromManager:function(){var e=xt(this,"manager");e&&e.unregisterFilteredRecordArray(this)},willDestroy:function(){this._unregisterFromManager(),this._dissociateFromOwnRecords(),Ct(this,"content",void 0),this._super.apply(this,arguments)}}),Tt=Ember.get,St=Et.extend({filterFunction:null,isLoaded:!0,replace:function(){var e=Tt(this,"type").toString();throw new Error("The result of a client-side filter (on "+e+") is immutable.")},_updateFilter:function(){var e=Tt(this,"manager");e.updateFilter(this,Tt(this,"type"),Tt(this,"filterFunction"))},updateFilter:Ember.observer(function(){Ember.run.once(this,this._updateFilter)},"filterFunction")}),At=Ember.get,kt=Et.extend({query:null,replace:function(){var e=At(this,"type").toString();throw new Error("The result of a server query (on "+e+") is immutable.")},load:function(e){var t=At(this,"store"),r=At(this,"type"),n=t.pushMany(r,e),i=t.metadataFor(r);this.setProperties({content:Ember.A(n),isLoaded:!0,meta:S(i)}),n.forEach(function(e){this.manager.recordArraysForRecord(e).add(this)},this),Ember.run.once(this,"trigger","didLoad")}}),Ot=Ember.OrderedSet,Rt=Ember.guidFor,Pt=function(){this._super$constructor()};Pt.create=function(){var e=this;return new e},Pt.prototype=Ember.create(Ot.prototype),Pt.prototype.constructor=Pt,Pt.prototype._super$constructor=Ot,Pt.prototype.addWithIndex=function(e,t){var r=Rt(e),n=this.presenceSet,i=this.list;return n[r]!==!0?(n[r]=!0,void 0===t||null==t?i.push(e):i.splice(t,0,e),this.size+=1,this):void 0};var Nt=Pt,Dt=Ember.get,Mt=Ember.EnumerableUtils.forEach,Ft=Ember.EnumerableUtils.indexOf,jt=Ember.Object.extend({init:function(){this.filteredRecordArrays=Ee.create({defaultValue:function(){return[]}}),this.changedRecords=[],this._adapterPopulatedRecordArrays=[]},recordDidChange:function(e){1===this.changedRecords.push(e)&&Ember.run.schedule("actions",this,this.updateRecordArrays)},recordArraysForRecord:function(e){return e._recordArrays=e._recordArrays||Nt.create(),e._recordArrays},updateRecordArrays:function(){Mt(this.changedRecords,function(e){Dt(e,"isDeleted")?this._recordWasDeleted(e):this._recordWasChanged(e)},this),this.changedRecords.length=0},_recordWasDeleted:function(e){var t=e._recordArrays;t&&(t.forEach(function(t){t.removeRecord(e)}),e._recordArrays=null)},_recordWasChanged:function(e){var t,r=e.constructor,n=this.filteredRecordArrays.get(r);Mt(n,function(n){t=Dt(n,"filterFunction"),t&&this.updateRecordArray(n,t,r,e)},this)},recordWasLoaded:function(e){var t,r=e.constructor,n=this.filteredRecordArrays.get(r);Mt(n,function(n){t=Dt(n,"filterFunction"),this.updateRecordArray(n,t,r,e)},this)},updateRecordArray:function(e,t,r,n){var i;i=t?t(n):!0;var a=this.recordArraysForRecord(n);i?a.has(e)||(e._pushRecord(n),a.add(e)):i||(a["delete"](e),e.removeRecord(n))},updateFilter:function(e,t,r){for(var n,i=this.store.typeMapFor(t),a=i.records,o=0,s=a.length;s>o;o++)n=a[o],Dt(n,"isDeleted")||Dt(n,"isEmpty")||this.updateRecordArray(e,r,t,n)},createRecordArray:function(e){var t=Et.create({type:e,content:Ember.A(),store:this.store,isLoaded:!0,manager:this});return this.registerFilteredRecordArray(t,e),t},createFilteredRecordArray:function(e,t,r){var n=St.create({query:r,type:e,content:Ember.A(),store:this.store,manager:this,filterFunction:t});return this.registerFilteredRecordArray(n,e,t),n},createAdapterPopulatedRecordArray:function(e,t){var r=kt.create({type:e,query:t,content:Ember.A(),store:this.store,manager:this});return this._adapterPopulatedRecordArrays.push(r),r},registerFilteredRecordArray:function(e,t,r){var n=this.filteredRecordArrays.get(t);n.push(e),this.updateFilter(e,t,r)},unregisterFilteredRecordArray:function(e){var t=this.filteredRecordArrays.get(e.type),r=Ft(t,e);t.splice(r,1)},willDestroy:function(){this._super.apply(this,arguments),this.filteredRecordArrays.forEach(function(e){Mt(k(e),A)}),Mt(this._adapterPopulatedRecordArrays,A)}}),It=Ember.get,Lt=Ember.set,Vt={initialState:"uncommitted",isDirty:!0,uncommitted:{didSetProperty:O,loadingData:Ember.K,propertyWasReset:function(e,t){var r=Ember.keys(e._attributes).length,n=r>0;n||e.send("rolledBack")},pushedData:Ember.K,becomeDirty:Ember.K,willCommit:function(e){e.transitionTo("inFlight")},reloadRecord:function(e,t){t(It(e,"store").reloadRecord(e))},rolledBack:function(e){e.transitionTo("loaded.saved")},becameInvalid:function(e){e.transitionTo("invalid")},rollback:function(e){e.rollback(),e.triggerLater("ready")}},inFlight:{isSaving:!0,didSetProperty:O,becomeDirty:Ember.K,pushedData:Ember.K,unloadRecord:function(e){},willCommit:Ember.K,didCommit:function(e){var t=It(this,"dirtyType");e.transitionTo("saved"),e.send("invokeLifecycleCallbacks",t)},becameInvalid:function(e){e.transitionTo("invalid"),e.send("invokeLifecycleCallbacks")},becameError:function(e){e.transitionTo("uncommitted"),e.triggerLater("becameError",e)}},invalid:{isValid:!1,deleteRecord:function(e){e.transitionTo("deleted.uncommitted"),e.disconnectRelationships()},didSetProperty:function(e,t){It(e,"errors").remove(t.name),O(e,t)},becomeDirty:Ember.K,willCommit:function(e){It(e,"errors").clear(),e.transitionTo("inFlight")},rolledBack:function(e){It(e,"errors").clear(),e.triggerLater("ready")},becameValid:function(e){e.transitionTo("uncommitted")},invokeLifecycleCallbacks:function(e){e.triggerLater("becameInvalid",e)},exit:function(e){e._inFlightAttributes={}}}},zt=N({dirtyType:"created",isNew:!0});zt.uncommitted.rolledBack=function(e){e.transitionTo("deleted.saved")};var Ht=N({dirtyType:"updated"});zt.uncommitted.deleteRecord=function(e){e.disconnectRelationships(),e.transitionTo("deleted.saved"),e.send("invokeLifecycleCallbacks")},zt.uncommitted.rollback=function(e){Vt.uncommitted.rollback.apply(this,arguments),e.transitionTo("deleted.saved")},zt.uncommitted.pushedData=function(e){e.transitionTo("loaded.updated.uncommitted"),e.triggerLater("didLoad")},zt.uncommitted.propertyWasReset=Ember.K,Ht.inFlight.unloadRecord=D,Ht.uncommitted.deleteRecord=function(e){e.transitionTo("deleted.uncommitted"),e.disconnectRelationships()};var Bt={isEmpty:!1,isLoading:!1,isLoaded:!1,isDirty:!1,isSaving:!1,isDeleted:!1,isNew:!1,isValid:!0,rolledBack:Ember.K,unloadRecord:function(e){e.clearRelationships(),e.transitionTo("deleted.saved")},propertyWasReset:Ember.K,empty:{isEmpty:!0,loadingData:function(e,t){e._loadingPromise=t,e.transitionTo("loading")},loadedData:function(e){e.transitionTo("loaded.created.uncommitted"),e.triggerLater("ready")},pushedData:function(e){e.transitionTo("loaded.saved"),e.triggerLater("didLoad"),e.triggerLater("ready")}},loading:{isLoading:!0,exit:function(e){e._loadingPromise=null},pushedData:function(e){e.transitionTo("loaded.saved"),e.triggerLater("didLoad"),e.triggerLater("ready"),Lt(e,"isError",!1)},becameError:function(e){e.triggerLater("becameError",e)},notFound:function(e){e.transitionTo("empty")}},loaded:{initialState:"saved",isLoaded:!0,loadingData:Ember.K,saved:{setup:function(e){var t=e._attributes,r=Ember.keys(t).length>0;r&&e.adapterDidDirty()},didSetProperty:O,pushedData:Ember.K,becomeDirty:function(e){e.transitionTo("updated.uncommitted")},willCommit:function(e){e.transitionTo("updated.inFlight")},reloadRecord:function(e,t){t(It(e,"store").reloadRecord(e))},deleteRecord:function(e){e.transitionTo("deleted.uncommitted"),e.disconnectRelationships()},unloadRecord:function(e){e.clearRelationships(),e.transitionTo("deleted.saved")},didCommit:function(e){e.send("invokeLifecycleCallbacks",It(e,"lastDirtyType"))},notFound:Ember.K},created:zt,updated:Ht},deleted:{initialState:"uncommitted",dirtyType:"deleted",isDeleted:!0,isLoaded:!0,isDirty:!0,setup:function(e){e.updateRecordArrays()},uncommitted:{willCommit:function(e){e.transitionTo("inFlight")},rollback:function(e){e.rollback(),e.triggerLater("ready")},becomeDirty:Ember.K,deleteRecord:Ember.K,rolledBack:function(e){e.transitionTo("loaded.saved"),e.triggerLater("ready")}},inFlight:{isSaving:!0,unloadRecord:D,willCommit:Ember.K,didCommit:function(e){e.transitionTo("saved"),e.send("invokeLifecycleCallbacks")},becameError:function(e){e.transitionTo("uncommitted"),e.triggerLater("becameError",e)},becameInvalid:function(e){e.transitionTo("invalid"),e.triggerLater("becameInvalid",e)}},saved:{isDirty:!1,setup:function(e){var t=It(e,"store");t._dematerializeRecord(e)},invokeLifecycleCallbacks:function(e){e.triggerLater("didDelete",e),e.triggerLater("didCommit",e)},willCommit:Ember.K,didCommit:Ember.K},invalid:{isValid:!1,didSetProperty:function(e,t){It(e,"errors").remove(t.name),O(e,t)},deleteRecord:Ember.K,becomeDirty:Ember.K,willCommit:Ember.K,rolledBack:function(e){It(e,"errors").clear(),e.transitionTo("loaded.saved"),e.triggerLater("ready")},becameValid:function(e){e.transitionTo("uncommitted")}}},invokeLifecycleCallbacks:function(e,t){"created"===t?e.triggerLater("didCreate",e):e.triggerLater("didUpdate",e),e.triggerLater("didCommit",e)}};Bt=M(Bt,null,"root");var $t=Bt,qt=Ember.get,Ut=Ember.isEmpty,Wt=Ember.EnumerableUtils.map,Kt=Ember.Object.extend(Ember.Enumerable,Ember.Evented,{registerHandlers:function(e,t,r){this.on("becameInvalid",e,t),this.on("becameValid",e,r)},errorsByAttributeName:Ember.reduceComputed("content",{initialValue:function(){return Ee.create({defaultValue:function(){return Ember.A()}})},addedItem:function(e,t){return e.get(t.attribute).pushObject(t),e},removedItem:function(e,t){return e.get(t.attribute).removeObject(t),e}}),errorsFor:function(e){return qt(this,"errorsByAttributeName").get(e)},messages:Ember.computed.mapBy("content","message"),content:Ember.computed(function(){return Ember.A()}),unknownProperty:function(e){var t=this.errorsFor(e);return Ut(t)?null:t},nextObject:function(e,t,r){return qt(this,"content").objectAt(e)},length:Ember.computed.oneWay("content.length").readOnly(),isEmpty:Ember.computed.not("length").readOnly(),add:function(e,t){var r=qt(this,"isEmpty");t=this._findOrCreateMessages(e,t),qt(this,"content").addObjects(t),this.notifyPropertyChange(e),this.enumerableContentDidChange(),r&&!qt(this,"isEmpty")&&this.trigger("becameInvalid")},_findOrCreateMessages:function(e,t){var r=this.errorsFor(e);return Wt(Ember.makeArray(t),function(t){return r.findBy("message",t)||{attribute:e,message:t}})},remove:function(e){if(!qt(this,"isEmpty")){var t=qt(this,"content").rejectBy("attribute",e);qt(this,"content").setObjects(t),this.notifyPropertyChange(e),this.enumerableContentDidChange(),qt(this,"isEmpty")&&this.trigger("becameValid")}},clear:function(){qt(this,"isEmpty")||(qt(this,"content").clear(),this.enumerableContentDidChange(),this.trigger("becameValid"))},has:function(e){return!Ut(this.errorsFor(e))}}),Yt=F,Gt=Ember.EnumerableUtils.forEach,Qt=function(e,t,r,n){this.members=new Nt,this.canonicalMembers=new Nt,this.store=e,this.key=n.key,this.inverseKey=r,this.record=t,this.isAsync=n.options.async,this.relationshipMeta=n,this.inverseKeyForImplicit=this.store.modelFor(this.record.constructor).typeKey+this.key,this.linkPromise=null};Qt.prototype={constructor:Qt,destroy:Ember.K,clear:function(){for(var e,t=this.members.list;t.length>0;)e=t[0],this.removeRecord(e)},disconnect:function(){this.members.forEach(function(e){this.removeRecordFromInverse(e)},this)},reconnect:function(){this.members.forEach(function(e){this.addRecordToInverse(e)},this)},removeRecords:function(e){var t=this;Gt(e,function(e){t.removeRecord(e)})},addRecords:function(e,t){var r=this;Gt(e,function(e){r.addRecord(e,t),void 0!==t&&t++})},addCanonicalRecords:function(e,t){for(var r=0;r<e.length;r++)void 0!==t?this.addCanonicalRecord(e[r],r+t):this.addCanonicalRecord(e[r])},addCanonicalRecord:function(e,t){this.canonicalMembers.has(e)||(this.canonicalMembers.add(e),this.inverseKey?e._relationships[this.inverseKey].addCanonicalRecord(this.record):(e._implicitRelationships[this.inverseKeyForImplicit]||(e._implicitRelationships[this.inverseKeyForImplicit]=new Qt(this.store,e,this.key,{options:{}})),e._implicitRelationships[this.inverseKeyForImplicit].addCanonicalRecord(this.record))),this.flushCanonicalLater()},removeCanonicalRecords:function(e,t){for(var r=0;r<e.length;r++)void 0!==t?this.removeCanonicalRecord(e[r],r+t):this.removeCanonicalRecord(e[r])},removeCanonicalRecord:function(e,t){this.canonicalMembers.has(e)&&(this.removeCanonicalRecordFromOwn(e),this.inverseKey?this.removeCanonicalRecordFromInverse(e):e._implicitRelationships[this.inverseKeyForImplicit]&&e._implicitRelationships[this.inverseKeyForImplicit].removeCanonicalRecord(this.record)),this.flushCanonicalLater()},addRecord:function(e,t){this.members.has(e)||(this.members.addWithIndex(e,t),this.notifyRecordRelationshipAdded(e,t),this.inverseKey?e._relationships[this.inverseKey].addRecord(this.record):(e._implicitRelationships[this.inverseKeyForImplicit]||(e._implicitRelationships[this.inverseKeyForImplicit]=new Qt(this.store,e,this.key,{options:{}})),e._implicitRelationships[this.inverseKeyForImplicit].addRecord(this.record)),this.record.updateRecordArraysLater())},removeRecord:function(e){this.members.has(e)&&(this.removeRecordFromOwn(e),this.inverseKey?this.removeRecordFromInverse(e):e._implicitRelationships[this.inverseKeyForImplicit]&&e._implicitRelationships[this.inverseKeyForImplicit].removeRecord(this.record))},addRecordToInverse:function(e){this.inverseKey&&e._relationships[this.inverseKey].addRecord(this.record)},removeRecordFromInverse:function(e){var t=e._relationships[this.inverseKey];t&&t.removeRecordFromOwn(this.record)},removeRecordFromOwn:function(e){this.members["delete"](e),this.notifyRecordRelationshipRemoved(e),this.record.updateRecordArrays()},removeCanonicalRecordFromInverse:function(e){var t=e._relationships[this.inverseKey];t&&t.removeCanonicalRecordFromOwn(this.record)},removeCanonicalRecordFromOwn:function(e){this.canonicalMembers["delete"](e),this.flushCanonicalLater()},flushCanonical:function(){this.willSync=!1;for(var e=[],t=0;t<this.members.list.length;t++)this.members.list[t].get("isNew")&&e.push(this.members.list[t]);for(this.members=this.canonicalMembers.copy(),t=0;t<e.length;t++)this.members.add(e[t])},flushCanonicalLater:function(){if(!this.willSync){this.willSync=!0;var e=this;this.store._backburner.join(function(){e.store._backburner.schedule("syncRelationships",e,e.flushCanonical)})}},updateLink:function(e){e!==this.link&&(this.link=e,this.linkPromise=null,this.record.notifyPropertyChange(this.key))},findLink:function(){if(this.linkPromise)return this.linkPromise;var e=this.fetchLink();return this.linkPromise=e,e.then(function(e){return e})},updateRecordsFromAdapter:function(e){var t=this;t.computeChanges(e)},notifyRecordRelationshipAdded:Ember.K,notifyRecordRelationshipRemoved:Ember.K};var Xt=Qt,Jt=Ember.get,Zt=Ember.set,er=Ember.ArrayPolyfills.filter,tr=Ember.Object.extend(Ember.MutableArray,Ember.Evented,{init:function(){this.currentState=Ember.A([])},record:null,canonicalState:null,currentState:null,length:0,objectAt:function(e){return this.currentState[e]?this.currentState[e]:this.canonicalState[e]},flushCanonical:function(){var e=er.call(this.canonicalState,function(e){return!e.get("isDeleted")}),t=this.currentState.filter(function(e){return e.get("isNew")});e=e.concat(t);var r=this.length;this.arrayContentWillChange(0,this.length,e.length),this.set("length",e.length),this.currentState=e,this.arrayContentDidChange(0,r,this.length),this.relationship.notifyHasManyChanged(),this.record.updateRecordArrays()},isPolymorphic:!1,isLoaded:!1,relationship:null,internalReplace:function(e,t,r){r||(r=[]),this.arrayContentWillChange(e,t,r.length),this.currentState.splice.apply(this.currentState,[e,t].concat(r)),this.set("length",this.currentState.length),this.arrayContentDidChange(e,t,r.length),r&&this.relationship.notifyHasManyChanged(),this.record.updateRecordArrays()},internalRemoveRecords:function(e){for(var t,r=0;r<e.length;r++)t=this.currentState.indexOf(e[r]),this.internalReplace(t,1)},internalAddRecords:function(e,t){void 0===t&&(t=this.currentState.length),this.internalReplace(t,0,e)},replace:function(e,t,r){var n;t>0&&(n=this.currentState.slice(e,e+t),this.get("relationship").removeRecords(n)),r&&this.get("relationship").addRecords(r,e)},promise:null,loadingRecordsCount:function(e){this.loadingRecordsCount=e},loadedRecord:function(){this.loadingRecordsCount--,0===this.loadingRecordsCount&&(Zt(this,"isLoaded",!0),this.trigger("didLoad"))},reload:function(){return this.relationship.reload()},save:function(){var e=this,t="DS: ManyArray#save "+Jt(this,"type"),r=Ember.RSVP.all(this.invoke("save"),t).then(function(t){return e},null,"DS: ManyArray#save return ManyArray");return pt.create({promise:r})},createRecord:function(e){var t,r=Jt(this,"store"),n=Jt(this,"type");return t=r.createRecord(n,e),this.pushObject(t),t},addRecord:function(e){this.addObject(e)},removeRecord:function(e){this.removeObject(e)}}),rr=function(e,t,r,n){this._super$constructor(e,t,r,n),this.belongsToType=n.type,this.canonicalState=[],this.manyArray=tr.create({canonicalState:this.canonicalState,store:this.store,relationship:this,type:this.belongsToType,record:t}),this.isPolymorphic=n.options.polymorphic,this.manyArray.isPolymorphic=this.isPolymorphic};rr.prototype=Ember.create(Xt.prototype),rr.prototype.constructor=rr,rr.prototype._super$constructor=Xt,rr.prototype.destroy=function(){this.manyArray.destroy()},rr.prototype._super$addCanonicalRecord=Xt.prototype.addCanonicalRecord,rr.prototype.addCanonicalRecord=function(e,t){this.canonicalMembers.has(e)||(void 0!==t?this.canonicalState.splice(t,0,e):this.canonicalState.push(e),this._super$addCanonicalRecord(e,t))},rr.prototype._super$addRecord=Xt.prototype.addRecord,rr.prototype.addRecord=function(e,t){this.members.has(e)||(this._super$addRecord(e,t),this.manyArray.internalAddRecords([e],t))},rr.prototype._super$removeCanonicalRecordFromOwn=Xt.prototype.removeCanonicalRecordFromOwn,rr.prototype.removeCanonicalRecordFromOwn=function(e,t){var r=t;this.canonicalMembers.has(e)&&(void 0===r&&(r=this.canonicalState.indexOf(e)),r>-1&&this.canonicalState.splice(r,1),this._super$removeCanonicalRecordFromOwn(e,t))},rr.prototype._super$flushCanonical=Xt.prototype.flushCanonical,rr.prototype.flushCanonical=function(){this.manyArray.flushCanonical(),this._super$flushCanonical()},rr.prototype._super$removeRecordFromOwn=Xt.prototype.removeRecordFromOwn,rr.prototype.removeRecordFromOwn=function(e,t){this.members.has(e)&&(this._super$removeRecordFromOwn(e,t),void 0!==t?this.manyArray.currentState.removeAt(t):this.manyArray.internalRemoveRecords([e]))},rr.prototype.notifyRecordRelationshipAdded=function(e,t){this.relationshipMeta.type;this.record.notifyHasManyAdded(this.key,e,t)},rr.prototype.reload=function(){var e=this;return this.link?this.fetchLink():this.store.scheduleFetchMany(this.manyArray.toArray()).then(function(){return e.manyArray.set("isLoaded",!0),e.manyArray})},rr.prototype.computeChanges=function(e){var t,r,n,i=this.canonicalMembers,a=[];for(e=j(e),i.forEach(function(t){e.has(t)||a.push(t)}),this.removeCanonicalRecords(a),e=e.toArray(),t=e.length,n=0;t>n;n++)r=e[n],this.removeCanonicalRecord(r),this.addCanonicalRecord(r,n)},rr.prototype.fetchLink=function(){var e=this;return this.store.findHasMany(this.record,this.link,this.relationshipMeta).then(function(t){return e.store._backburner.join(function(){e.updateRecordsFromAdapter(t)}),e.manyArray})},rr.prototype.findRecords=function(){var e=this.manyArray;return this.store.findMany(e.toArray()).then(function(){return e.set("isLoaded",!0),e})},rr.prototype.notifyHasManyChanged=function(){this.record.notifyHasManyAdded(this.key)},rr.prototype.getRecords=function(){if(this.isAsync){var e,t=this;return e=this.link?this.findLink().then(function(){return t.findRecords()}):this.findRecords(),yt.create({content:this.manyArray,promise:e})}return this.manyArray.get("isDestroyed")||this.manyArray.set("isLoaded",!0),this.manyArray};var nr=rr,ir=function(e,t,r,n){this._super$constructor(e,t,r,n),this.record=t,this.key=n.key,this.inverseRecord=null,this.canonicalState=null};ir.prototype=Ember.create(Xt.prototype),ir.prototype.constructor=ir,ir.prototype._super$constructor=Xt,ir.prototype.setRecord=function(e){e?this.addRecord(e):this.inverseRecord&&this.removeRecord(this.inverseRecord)},ir.prototype.setCanonicalRecord=function(e){e?this.addCanonicalRecord(e):this.inverseRecord&&this.removeCanonicalRecord(this.inverseRecord)},ir.prototype._super$addCanonicalRecord=Xt.prototype.addCanonicalRecord,ir.prototype.addCanonicalRecord=function(e){this.canonicalMembers.has(e)||(this.canonicalState&&this.removeCanonicalRecord(this.canonicalState),this.canonicalState=e,this._super$addCanonicalRecord(e))},ir.prototype._super$flushCanonical=Xt.prototype.flushCanonical,ir.prototype.flushCanonical=function(){this.inverseRecord&&this.inverseRecord.get("isNew")&&!this.canonicalState||(this.inverseRecord=this.canonicalState,this.record.notifyBelongsToChanged(this.key),this._super$flushCanonical())},ir.prototype._super$addRecord=Xt.prototype.addRecord,ir.prototype.addRecord=function(e){if(!this.members.has(e)){{this.relationshipMeta.type}this.inverseRecord&&this.removeRecord(this.inverseRecord),this.inverseRecord=e,this._super$addRecord(e),this.record.notifyBelongsToChanged(this.key)}},ir.prototype.setRecordPromise=function(e){var t=e.get&&e.get("content");this.setRecord(t)},ir.prototype._super$removeRecordFromOwn=Xt.prototype.removeRecordFromOwn,ir.prototype.removeRecordFromOwn=function(e){this.members.has(e)&&(this.inverseRecord=null,this._super$removeRecordFromOwn(e),this.record.notifyBelongsToChanged(this.key))},ir.prototype._super$removeCanonicalRecordFromOwn=Xt.prototype.removeCanonicalRecordFromOwn,ir.prototype.removeCanonicalRecordFromOwn=function(e){this.canonicalMembers.has(e)&&(this.canonicalState=null,this._super$removeCanonicalRecordFromOwn(e))},ir.prototype.findRecord=function(){return this.inverseRecord?this.store._findByRecord(this.inverseRecord):Ember.RSVP.Promise.resolve(null)},ir.prototype.fetchLink=function(){var e=this;return this.store.findBelongsTo(this.record,this.link,this.relationshipMeta).then(function(t){return t&&e.addRecord(t),t})},ir.prototype.getRecord=function(){if(this.isAsync){var e;if(this.link){var t=this;e=this.findLink().then(function(){return t.findRecord()})}else e=this.findRecord();return mt.create({promise:e,content:this.inverseRecord})}return this.inverseRecord};var ar=ir,or=function(e,t,r){var n,i=e.constructor.inverseFor(t.key);return i&&(n=i.name),"hasMany"===t.kind?new nr(r,e,n,t):new ar(r,e,n,t)},sr=or,ur=Ember.get;I.prototype={constructor:I,id:null,record:null,type:null,typeKey:null,attr:function(e){if(e in this._attributes)return this._attributes[e];throw new Ember.Error("Model '"+Ember.inspect(this.record)+"' has no attribute named '"+e+"' defined.")},attributes:function(){return Ember.copy(this._attributes)},belongsTo:function(e,t){var r,n,i,a=t&&t.id;if(a&&e in this._belongsToIds)return this._belongsToIds[e];if(!a&&e in this._belongsToRelationships)return this._belongsToRelationships[e];if(n=this.record._relationships[e],!n||"belongsTo"!==n.relationshipMeta.kind)throw new Ember.Error("Model '"+Ember.inspect(this.record)+"' has no belongsTo relationship named '"+e+"' defined.");return i=ur(n,"inverseRecord"),a?(i&&(r=ur(i,"id")),this._belongsToIds[e]=r):(i&&(r=i._createSnapshot()),this._belongsToRelationships[e]=r),r},hasMany:function(e,t){var r,n,i=t&&t.ids,a=[];if(i&&e in this._hasManyIds)return this._hasManyIds[e];if(!i&&e in this._hasManyRelationships)return this._hasManyRelationships[e];if(r=this.record._relationships[e],!r||"hasMany"!==r.relationshipMeta.kind)throw new Ember.Error("Model '"+Ember.inspect(this.record)+"' has no hasMany relationship named '"+e+"' defined.");return n=ur(r,"members"),i?(n.forEach(function(e){a.push(ur(e,"id"))}),this._hasManyIds[e]=a):(n.forEach(function(e){a.push(e._createSnapshot())}),this._hasManyRelationships[e]=a),a},eachAttribute:function(e,t){this.record.eachAttribute(e,t)},eachRelationship:function(e,t){this.record.eachRelationship(e,t)},get:function(e){if("id"===e)return this.id;if(e in this._attributes)return this.attr(e);var t=this.record._relationships[e];return t&&"belongsTo"===t.relationshipMeta.kind?this.belongsTo(e):t&&"hasMany"===t.relationshipMeta.kind?this.hasMany(e):ur(this.record,e)},unknownProperty:function(e){return this.get(e)},_createSnapshot:function(){return this}};var lr=I,cr=Ember.get,hr=Ember.set,dr=Ember.RSVP.Promise,fr=Ember.ArrayPolyfills.forEach,pr=Ember.ArrayPolyfills.map,mr=(Ember.EnumerableUtils.intersection,Ember.computed("currentState",function(e,t){return cr(cr(this,"currentState"),e)}).readOnly()),gr=Ember.create(null),vr=Ember.create(null),yr=Ember.Object.extend(Ember.Evented,{_recordArrays:void 0,_relationships:void 0,store:null,isEmpty:mr,isLoading:mr,isLoaded:mr,isDirty:mr,isSaving:mr,isDeleted:mr,isNew:mr,isValid:mr,dirtyType:mr,isError:!1,isReloading:!1,clientId:null,id:null,currentState:$t.empty,errors:Ember.computed(function(){var e=Kt.create();return e.registerHandlers(this,function(){this.send("becameInvalid")},function(){this.send("becameValid")}),e}).readOnly(),serialize:function(e){return this.store.serialize(this,e)},toJSON:function(e){var t=Ge.create({container:this.container}),r=this._createSnapshot();return t.serialize(r,e)},ready:function(){this.store.recordArrayManager.recordWasLoaded(this)},didLoad:Ember.K,didUpdate:Ember.K,didCreate:Ember.K,didDelete:Ember.K,becameInvalid:Ember.K,becameError:Ember.K,data:Ember.computed(function(){return this._data=this._data||{},this._data}).readOnly(),_data:null,init:function(){this._super.apply(this,arguments),this._setup()},_setup:function(){this._changesToSync={},this._deferredTriggers=[],this._data={},this._attributes=Ember.create(null),this._inFlightAttributes=Ember.create(null),this._relationships={},this._implicitRelationships=Ember.create(null);var e=this;this.constructor.eachRelationship(function(t,r){e._relationships[t]=sr(e,r,e.store)})},send:function(e,t){var r=cr(this,"currentState");return r[e]||this._unhandledEvent(r,e,t),r[e](this,t)},transitionTo:function(e){var t=V(e),r=cr(this,"currentState"),n=r;do n.exit&&n.exit(this),n=n.parentState;while(!n.hasOwnProperty(t));var i,a,o=L(e),s=[],u=[];for(i=0,a=o.length;a>i;i++)n=n[o[i]],n.enter&&u.push(n),n.setup&&s.push(n);for(i=0,a=u.length;a>i;i++)u[i].enter(this);for(hr(this,"currentState",n),i=0,a=s.length;a>i;i++)s[i].setup(this);this.updateRecordArraysLater()},_unhandledEvent:function(e,t,r){var n="Attempted to handle event `"+t+"` ";throw n+="on "+String(this)+" while in state ",n+=e.stateName+". ",void 0!==r&&(n+="Called with "+Ember.inspect(r)+"."),new Ember.Error(n)},withTransaction:function(e){var t=cr(this,"transaction");t&&e(t)},loadingData:function(e){this.send("loadingData",e)},loadedData:function(){this.send("loadedData")},notFound:function(){this.send("notFound")},pushedData:function(){this.send("pushedData")},deleteRecord:function(){this.send("deleteRecord")},destroyRecord:function(){return this.deleteRecord(),this.save()},unloadRecord:function(){this.isDestroyed||this.send("unloadRecord")},clearRelationships:function(){this.eachRelationship(function(e,t){var r=this._relationships[e];r&&(r.clear(),r.destroy())},this);var e=this;fr.call(Ember.keys(this._implicitRelationships),function(t){e._implicitRelationships[t].clear(),e._implicitRelationships[t].destroy()})},disconnectRelationships:function(){this.eachRelationship(function(e,t){this._relationships[e].disconnect()},this);var e=this;fr.call(Ember.keys(this._implicitRelationships),function(t){e._implicitRelationships[t].disconnect()})},reconnectRelationships:function(){this.eachRelationship(function(e,t){this._relationships[e].reconnect()},this);var e=this;fr.call(Ember.keys(this._implicitRelationships),function(t){e._implicitRelationships[t].reconnect()})},updateRecordArrays:function(){this._updatingRecordArraysLater=!1,this.store.dataWasUpdated(this.constructor,this)},_preloadData:function(e){var t=this;fr.call(Ember.keys(e),function(r){var n=cr(e,r),i=t.constructor.metaForProperty(r);i.isRelationship?t._preloadRelationship(r,n):cr(t,"_data")[r]=n})},_preloadRelationship:function(e,t){var r=this.constructor.metaForProperty(e),n=r.type;"hasMany"===r.kind?this._preloadHasMany(e,t,n):this._preloadBelongsTo(e,t,n)},_preloadHasMany:function(e,t,r){var n=this,i=pr.call(t,function(e){return n._convertStringOrNumberIntoRecord(e,r)});this._relationships[e].updateRecordsFromAdapter(i)},_preloadBelongsTo:function(e,t,r){var n=this._convertStringOrNumberIntoRecord(t,r);this._relationships[e].setRecord(n)},_convertStringOrNumberIntoRecord:function(e,t){return"string"===Ember.typeOf(e)||"number"===Ember.typeOf(e)?this.store.recordForId(t,e):e},_notifyProperties:function(e){Ember.beginPropertyChanges();for(var t,r=0,n=e.length;n>r;r++)t=e[r],this.notifyPropertyChange(t);Ember.endPropertyChanges()},changedAttributes:function(){var e,t=cr(this,"_data"),r=cr(this,"_attributes"),n={};for(e in r)n[e]=[t[e],r[e]];return n},adapterWillCommit:function(){this.send("willCommit")},adapterDidCommit:function(e){var t;hr(this,"isError",!1),e?t=z(this._data,e):Yt(this._data,this._inFlightAttributes),this._inFlightAttributes=Ember.create(null),this.send("didCommit"),this.updateRecordArraysLater(),e&&this._notifyProperties(t)},adapterDidDirty:function(){this.send("becomeDirty"),this.updateRecordArraysLater()},updateRecordArraysLater:function(){this._updatingRecordArraysLater||(this._updatingRecordArraysLater=!0,Ember.run.schedule("actions",this,this.updateRecordArrays))},setupData:function(e){var t=z(this._data,e);this.pushedData(),this._notifyProperties(t)},materializeId:function(e){hr(this,"id",e)},materializeAttributes:function(e){Yt(this._data,e)},materializeAttribute:function(e,t){this._data[e]=t},rollback:function(){var e=Ember.keys(this._attributes);this._attributes=Ember.create(null),cr(this,"isError")&&(this._inFlightAttributes=Ember.create(null),hr(this,"isError",!1)),cr(this,"isDeleted")&&this.reconnectRelationships(),cr(this,"isNew")&&this.clearRelationships(),cr(this,"isValid")||(this._inFlightAttributes=Ember.create(null)),this.send("rolledBack"),this._notifyProperties(e)},_createSnapshot:function(){return new lr(this)},toStringExtension:function(){return cr(this,"id")},save:function(){var e="DS: Model#save "+this,t=Ember.RSVP.defer(e);return this.store.scheduleSave(this,t),this._inFlightAttributes=this._attributes,this._attributes=Ember.create(null),mt.create({promise:t.promise})},reload:function(){hr(this,"isReloading",!0);var e=this,t="DS: Model#reload of "+this,r=new dr(function(t){e.send("reloadRecord",t)},t).then(function(){return e.set("isReloading",!1),e.set("isError",!1),e},function(t){throw e.set("isError",!0),t},"DS: Model#reload complete, update flags")["finally"](function(){e.updateRecordArrays()});return mt.create({promise:r})},adapterDidInvalidate:function(e){var t=cr(this,"errors");for(var r in e)e.hasOwnProperty(r)&&t.add(r,e[r]);this._saveWasRejected()},adapterDidError:function(){this.send("becameError"),hr(this,"isError",!0),this._saveWasRejected()},_saveWasRejected:function(){for(var e=Ember.keys(this._inFlightAttributes),t=0;t<e.length;t++)void 0===this._attributes[e[t]]&&(this._attributes[e[t]]=this._inFlightAttributes[e[t]]);this._inFlightAttributes=Ember.create(null)},trigger:function(){for(var e=arguments.length,t=new Array(e-1),r=arguments[0],n=1;e>n;n++)t[n-1]=arguments[n];Ember.tryInvoke(this,r,t),this._super.apply(this,arguments)},triggerLater:function(){for(var e=arguments.length,t=new Array(e),r=0;e>r;r++)t[r]=arguments[r];1===this._deferredTriggers.push(t)&&Ember.run.schedule("actions",this,"_triggerDeferredTriggers")},_triggerDeferredTriggers:function(){for(var e=0,t=this._deferredTriggers.length;t>e;e++)this.trigger.apply(this,this._deferredTriggers[e]);this._deferredTriggers.length=0},willDestroy:function(){this._super.apply(this,arguments),this.clearRelationships()},willMergeMixin:function(e){
-this.constructor},attr:function(){},belongsTo:function(){},hasMany:function(){}});yr.reopenClass({_create:yr.create,create:function(){throw new Ember.Error("You should not call `create` on a model. Instead, call `store.createRecord` with the attributes you would like to set.")}});var br=yr,_r=Ember.get;br.reopenClass({attributes:Ember.computed(function(){var e=Ce.create();return this.eachComputedProperty(function(t,r){r.isAttribute&&(r.name=t,e.set(t,r))}),e}).readOnly(),transformedAttributes:Ember.computed(function(){var e=Ce.create();return this.eachAttribute(function(t,r){r.type&&e.set(t,r.type)}),e}).readOnly(),eachAttribute:function(e,t){_r(this,"attributes").forEach(function(r,n){e.call(t,n,r)},t)},eachTransformedAttribute:function(e,t){_r(this,"transformedAttributes").forEach(function(r,n){e.call(t,n,r)})}}),br.reopen({eachAttribute:function(e,t){this.constructor.eachAttribute(e,t)}});var wr=q,xr=br,Cr=Ember.__loader.require("backburner")["default"]||Ember.__loader.require("backburner").Backburner;if(!Cr.prototype.join){var Er=function(e){return"string"==typeof e};Cr.prototype.join=function(){var e,t;if(this.currentInstance){var r=arguments.length;if(1===r?(e=arguments[0],t=null):(t=arguments[0],e=arguments[1]),Er(e)&&(e=t[e]),1===r)return e();if(2===r)return e.call(t);for(var n=new Array(r-2),i=0,a=r-2;a>i;i++)n[i]=arguments[i+2];return e.apply(t,n)}return this.run.apply(this,arguments)}}var Tr,Sr=Ember.get,Ar=Ember.set,kr=Ember.run.once,Or=Ember.isNone,Rr=Ember.EnumerableUtils.forEach,Pr=Ember.EnumerableUtils.indexOf,Nr=Ember.EnumerableUtils.map,Dr=Ember.RSVP.Promise,Mr=Ember.copy,Fr=Ember.String.camelize,jr=Ember.Service;jr||(jr=Ember.Object),Tr=jr.extend({init:function(){this._backburner=new Cr(["normalizeRelationships","syncRelationships","finished"]),this.typeMaps={},this.recordArrayManager=jt.create({store:this}),this._pendingSave=[],this._containerCache=Ember.create(null),this._pendingFetch=Ce.create()},adapter:"-rest",serialize:function(e,t){var r=e._createSnapshot();return this.serializerFor(r.typeKey).serialize(r,t)},defaultAdapter:Ember.computed("adapter",function(){var e=Sr(this,"adapter");return"string"==typeof e&&(e=this.container.lookup("adapter:"+e)||this.container.lookup("adapter:application")||this.container.lookup("adapter:-rest")),DS.Adapter.detect(e)&&(e=e.create({container:this.container,store:this})),e}),createRecord:function(e,t){var r=this.modelFor(e),n=Mr(t)||{};Or(n.id)&&(n.id=this._generateId(r,n)),n.id=U(n.id);var i=this.buildRecord(r,n.id);return i.loadedData(),i.setProperties(n),i},_generateId:function(e,t){var r=this.adapterFor(e);return r&&r.generateIdForRecord?r.generateIdForRecord(this,e,t):null},deleteRecord:function(e){e.deleteRecord()},unloadRecord:function(e){e.unloadRecord()},find:function(e,t,r){return 1===arguments.length?this.findAll(e):"object"===Ember.typeOf(t)?this.findQuery(e,t):this.findById(e,U(t),r)},fetchById:function(e,t,r){return this.hasRecordForId(e,t)?this.getById(e,t).reload():this.find(e,t,r)},fetchAll:function(e){return e=this.modelFor(e),this._fetchAll(e,this.all(e))},fetch:function(e,t,r){return this.fetchById(e,t,r)},findById:function(e,t,r){var n=this.modelFor(e),i=this.recordForId(n,t);return this._findByRecord(i,r)},_findByRecord:function(e,t){var r;return t&&e._preloadData(t),Sr(e,"isEmpty")?r=this.scheduleFetch(e):Sr(e,"isLoading")&&(r=e._loadingPromise),gt(r||e,"DS: Store#findByRecord "+e.typeKey+" with id: "+Sr(e,"id"))},findByIds:function(e,t){var r=this;return vt(Ember.RSVP.all(Nr(t,function(t){return r.findById(e,t)})).then(Ember.A,null,"DS: Store#findByIds of "+e+" complete"))},fetchRecord:function(e){var t=e.constructor,r=Sr(e,"id"),n=this.adapterFor(t),i=_(n,this,t,r,e);return i},scheduleFetchMany:function(e){return Dr.all(Nr(e,this.scheduleFetch,this))},scheduleFetch:function(e){var t=e.constructor;if(Or(e))return null;if(e._loadingPromise)return e._loadingPromise;var r=Ember.RSVP.defer("Fetching "+t+"with id: "+e.get("id")),n={record:e,resolver:r},i=r.promise;return e.loadingData(i),this._pendingFetch.get(t)?this._pendingFetch.get(t).push(n):this._pendingFetch.set(t,[n]),Ember.run.scheduleOnce("afterRender",this,this.flushAllPendingFetches),i},flushAllPendingFetches:function(){this.isDestroyed||this.isDestroying||(this._pendingFetch.forEach(this._flushPendingFetchForType,this),this._pendingFetch=Ce.create())},_flushPendingFetchForType:function(e,t){function r(e){e.resolver.resolve(s.fetchRecord(e.record))}function n(t){return Rr(t,function(t){var r=Ember.A(e).findBy("record",t);if(r){var n=r.resolver;n.resolve(t)}}),t}function i(e){return function(t){t=Ember.A(t);var r=e.reject(function(e){return t.contains(e)});r.length,o(r)}}function a(e){return function(t){o(e,t)}}function o(t,r){Rr(t,function(t){var n=Ember.A(e).findBy("record",t);if(n){var i=n.resolver;i.reject(r)}})}var s=this,u=s.adapterFor(t),l=!!u.findMany&&u.coalesceFindRequests,c=Ember.A(e).mapBy("record");if(1===e.length)r(e[0]);else if(l){var h=Ember.A(c).invoke("_createSnapshot"),d=u.groupRecordsForFindMany(this,h);Rr(d,function(o){var l=Ember.A(o).mapBy("record"),c=Ember.A(l),h=c.mapBy("id");if(h.length>1)w(u,s,t,h,c).then(n).then(i(c)).then(null,a(c));else if(1===h.length){var d=Ember.A(e).findBy("record",l[0]);r(d)}})}else Rr(e,r)},getById:function(e,t){return this.hasRecordForId(e,t)?this.recordForId(e,t):null},reloadRecord:function(e){{var t=e.constructor;this.adapterFor(t),Sr(e,"id")}return this.scheduleFetch(e)},hasRecordForId:function(e,t){var r=this.modelFor(e),n=U(t),i=this.typeMapFor(r).idToRecord[n];return!!i&&Sr(i,"isLoaded")},recordForId:function(e,t){var r=this.modelFor(e),n=U(t),i=this.typeMapFor(r).idToRecord,a=i[n];return a&&i[n]||(a=this.buildRecord(r,n)),a},findMany:function(e){var t=this;return Dr.all(Nr(e,function(e){return t._findByRecord(e)}))},findHasMany:function(e,t,r){var n=this.adapterFor(e.constructor);return x(n,this,e,t,r)},findBelongsTo:function(e,t,r){var n=this.adapterFor(e.constructor);return C(n,this,e,t,r)},findQuery:function(e,t){var r=this.modelFor(e),n=this.recordArrayManager.createAdapterPopulatedRecordArray(r,t),i=this.adapterFor(r);return vt(T(i,this,r,t,n))},findAll:function(e){return this.fetchAll(e)},_fetchAll:function(e,t){var r=this.adapterFor(e),n=this.typeMapFor(e).metadata.since;return Ar(t,"isUpdating",!0),vt(E(r,this,e,n))},didUpdateAll:function(e){var t=this.typeMapFor(e).findAllCache;Ar(t,"isUpdating",!1)},all:function(e){var t=this.modelFor(e),r=this.typeMapFor(t),n=r.findAllCache;if(n)return this.recordArrayManager.updateFilter(n,t),n;var i=this.recordArrayManager.createRecordArray(t);return r.findAllCache=i,i},unloadAll:function(e){for(var t,r=this.modelFor(e),n=this.typeMapFor(r),i=n.records.slice(),a=0;a<i.length;a++)t=i[a],t.unloadRecord(),t.destroy();n.findAllCache=null},filter:function(e,t,r){var n,i,a=arguments.length,o=3===a;return o?n=this.findQuery(e,t):2===arguments.length&&(r=t),e=this.modelFor(e),i=o?this.recordArrayManager.createFilteredRecordArray(e,r,t):this.recordArrayManager.createFilteredRecordArray(e,r),n=n||Dr.cast(i),vt(n.then(function(){return i},null,"DS: Store#filter of "+e))},recordIsLoaded:function(e,t){return this.hasRecordForId(e,t)?!Sr(this.recordForId(e,t),"isEmpty"):!1},metadataFor:function(e){var t=this.modelFor(e);return this.typeMapFor(t).metadata},setMetadataFor:function(e,t){var r=this.modelFor(e);Ember.merge(this.typeMapFor(r).metadata,t)},dataWasUpdated:function(e,t){this.recordArrayManager.recordDidChange(t)},scheduleSave:function(e,t){e.adapterWillCommit(),this._pendingSave.push([e,t]),kr(this,"flushPendingSave")},flushPendingSave:function(){var e=this._pendingSave.slice();this._pendingSave=[],Rr(e,function(e){var t,r=e[0],n=e[1],i=this.adapterFor(r.constructor);return"root.deleted.saved"===Sr(r,"currentState.stateName")?n.resolve(r):(t=Sr(r,"isNew")?"createRecord":Sr(r,"isDeleted")?"deleteRecord":"updateRecord",void n.resolve(X(i,this,t,r)))},this)},didSaveRecord:function(e,t){t&&(this._backburner.schedule("normalizeRelationships",this,"_setupRelationships",e,e.constructor,t),this.updateId(e,t)),e.adapterDidCommit(t)},recordWasInvalid:function(e,t){e.adapterDidInvalidate(t)},recordWasError:function(e){e.adapterDidError()},updateId:function(e,t){var r=(Sr(e,"id"),U(t.id));this.typeMapFor(e.constructor).idToRecord[r]=e,Ar(e,"id",r)},typeMapFor:function(e){var t,r=Sr(this,"typeMaps"),n=Ember.guidFor(e);return(t=r[n])?t:(t={idToRecord:Ember.create(null),records:[],metadata:Ember.create(null),type:e},r[n]=t,t)},_load:function(e,t){var r=U(t.id),n=this.recordForId(e,r);return n.setupData(t),this.recordArrayManager.recordDidChange(n),n},_modelForMixin:function(e){var t=this.container._registry?this.container._registry:this.container,r=t.resolve("mixin:"+e);r&&t.register("model:"+e,DS.Model.extend(r));var n=this.modelFactoryFor(e);return n&&(n.__isMixin=!0,n.__mixin=r),n},modelFor:function(e){var t;if("string"==typeof e){if(t=this.modelFactoryFor(e),t||(t=this._modelForMixin(e)),!t)throw new Ember.Error("No model was found for '"+e+"'");t.typeKey=t.typeKey||this._normalizeTypeKey(e)}else t=e,t.typeKey&&(t.typeKey=this._normalizeTypeKey(t.typeKey));return t.store=this,t},modelFactoryFor:function(e){return this.container.lookupFactory("model:"+e)},push:function(e,t){{var r=this.modelFor(e);Ember.EnumerableUtils.filter}Ember.ENV.DS_WARN_ON_UNKNOWN_KEYS,this._load(r,t);var n=this.recordForId(r,t.id),i=this;return this._backburner.join(function(){i._backburner.schedule("normalizeRelationships",i,"_setupRelationships",n,r,t)}),n},_setupRelationships:function(e,t,r){r=W(this,t,r),J(this,e,r)},pushPayload:function(e,t){var r,n;t?(n=t,r=this.serializerFor(e)):(n=e,r=Q(this.container));var i=this;this._adapterRun(function(){r.pushPayload(i,n)})},normalize:function(e,t){var r=this.serializerFor(e),n=this.modelFor(e);return r.normalize(n,t)},update:function(e,t){return this.push(e,t)},pushMany:function(e,t){for(var r=t.length,n=new Array(r),i=0;r>i;i++)n[i]=this.push(e,t[i]);return n},metaForType:function(e,t){this.setMetadataFor(e,t)},buildRecord:function(e,t,r){var n=this.typeMapFor(e),i=n.idToRecord,a=e._create({id:t,store:this,container:this.container});return r&&a.setupData(r),t&&(i[t]=a),n.records.push(a),a},recordWasLoaded:function(e){this.recordArrayManager.recordWasLoaded(e)},dematerializeRecord:function(e){this._dematerializeRecord(e)},_dematerializeRecord:function(e){var t=e.constructor,r=this.typeMapFor(t),n=Sr(e,"id");e.updateRecordArrays(),n&&delete r.idToRecord[n];var i=Pr(r.records,e);r.records.splice(i,1)},adapterFor:function(e){"application"!==e&&(e=this.modelFor(e));var t=this.lookupAdapter(e.typeKey)||this.lookupAdapter("application");return t||Sr(this,"defaultAdapter")},_adapterRun:function(e){return this._backburner.run(e)},serializerFor:function(e){"application"!==e&&(e=this.modelFor(e));var t=this.lookupSerializer(e.typeKey)||this.lookupSerializer("application");if(!t){var r=this.adapterFor(e);t=this.lookupSerializer(Sr(r,"defaultSerializer"))}return t||(t=this.lookupSerializer("-default")),t},retrieveManagedInstance:function(e,t){var r=e+":"+t;if(!this._containerCache[r]){var n=this.container.lookup(r);n&&(Ar(n,"store",this),this._containerCache[r]=n)}return this._containerCache[r]},lookupAdapter:function(e){return this.retrieveManagedInstance("adapter",e)},lookupSerializer:function(e){return this.retrieveManagedInstance("serializer",e)},willDestroy:function(){function e(e){return t[e].type}var t=this.typeMaps,r=Ember.keys(t),n=Nr(r,e);this.recordArrayManager.destroy(),Rr(n,this.unloadAll,this);for(var i in this._containerCache)this._containerCache[i].destroy(),delete this._containerCache[i];delete this._containerCache},_normalizeTypeKey:function(e){return Fr(s(e))}});var Ir=Tr,Lr=Z,Vr=Ember.Object.extend({serialize:null,deserialize:null}),zr=Ember.isEmpty,Hr=Vr.extend({deserialize:function(e){var t;return zr(e)?null:(t=Number(e),ee(t)?t:null)},serialize:function(e){var t;return zr(e)?null:(t=Number(e),ee(t)?t:null)}}),Br=Date.prototype.toISOString||function(){function e(e){return 10>e?"0"+e:e}return this.getUTCFullYear()+"-"+e(this.getUTCMonth()+1)+"-"+e(this.getUTCDate())+"T"+e(this.getUTCHours())+":"+e(this.getUTCMinutes())+":"+e(this.getUTCSeconds())+"."+(this.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};Ember.SHIM_ES5&&(Date.prototype.toISOString||(Date.prototype.toISOString=Br));var $r=Vr.extend({deserialize:function(e){var t=typeof e;return"string"===t?new Date(Ember.Date.parse(e)):"number"===t?new Date(e):null===e||void 0===e?e:null},serialize:function(e){return e instanceof Date?Br.call(e):null}}),qr=Ember.isNone,Ur=Vr.extend({deserialize:function(e){return qr(e)?null:String(e)},serialize:function(e){return qr(e)?null:String(e)}}),Wr=Vr.extend({deserialize:function(e){var t=typeof e;return"boolean"===t?e:"string"===t?null!==e.match(/^true$|^t$|^1$/i):"number"===t?1===e:!1},serialize:function(e){return Boolean(e)}}),Kr=te,Yr=re,Gr=Ember.get,Qr=Ember.String.capitalize,Xr=Ember.String.underscore,Jr=Ember.DataAdapter.extend({getFilters:function(){return[{name:"isNew",desc:"New"},{name:"isModified",desc:"Modified"},{name:"isClean",desc:"Clean"}]},detect:function(e){return e!==xr&&xr.detect(e)},columnsForType:function(e){var t=[{name:"id",desc:"Id"}],r=0,n=this;return Gr(e,"attributes").forEach(function(e,i){if(r++>n.attributeLimit)return!1;var a=Qr(Xr(i).replace("_"," "));t.push({name:i,desc:a})}),t},getRecords:function(e){return this.get("store").all(e)},getRecordColumnValues:function(e){var t=this,r=0,n={id:Gr(e,"id")};return e.eachAttribute(function(i){if(r++>t.attributeLimit)return!1;var a=Gr(e,i);n[i]=a}),n},getRecordKeywords:function(e){var t=[],r=Ember.A(["id"]);return e.eachAttribute(function(e){r.push(e)}),r.forEach(function(r){t.push(Gr(e,r))}),t},getRecordFilterValues:function(e){return{isNew:e.get("isNew"),isModified:e.get("isDirty")&&!e.get("isNew"),isClean:!e.get("isDirty")}},getRecordColor:function(e){var t="black";return e.get("isNew")?t="green":e.get("isDirty")&&(t="blue"),t},observeRecord:function(e,t){var r=Ember.A(),n=this,i=Ember.A(["id","isNew","isDirty"]);e.eachAttribute(function(e){i.push(e)}),i.forEach(function(i){var a=function(){t(n.wrapRecord(e))};Ember.addObserver(e,i,a),r.push(function(){Ember.removeObserver(e,i,a)})});var a=function(){r.forEach(function(e){e()})};return a}}),Zr=ne,en=ie,tn=Ember.K;Ember.onLoad("Ember.Application",function(e){e.initializer({name:"ember-data",initialize:en}),e.initializer({name:"store",after:"ember-data",initialize:tn}),e.initializer({name:"activeModelAdapter",before:"store",initialize:tn}),e.initializer({name:"transforms",before:"store",initialize:tn}),e.initializer({name:"data-adapter",before:"store",initialize:tn}),e.initializer({name:"injectStore",before:"store",initialize:tn})}),Ember.Date=Ember.Date||{};var rn=Date.parse,nn=[1,4,5,6,7,10,11];Ember.Date.parse=function(e){var t,r,n=0;if(r=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/.exec(e)){for(var i,a=0;i=nn[a];++a)r[i]=+r[i]||0;r[2]=(+r[2]||1)-1,r[3]=+r[3]||1,"Z"!==r[8]&&void 0!==r[9]&&(n=60*r[10]+r[11],"+"===r[9]&&(n=0-n)),t=Date.UTC(r[1],r[2],r[3],r[4],r[5]+n,r[6],r[7])}else t=rn?rn(e):0/0;return t},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Date)&&(Date.parse=Ember.Date.parse),xr.reopen({_debugInfo:function(){var e=["id"],t={belongsTo:[],hasMany:[]},r=[];this.eachAttribute(function(t,r){e.push(t)},this),this.eachRelationship(function(e,n){t[n.kind].push(e),r.push(e)});var n=[{name:"Attributes",properties:e,expand:!0},{name:"Belongs To",properties:t.belongsTo,expand:!0},{name:"Has Many",properties:t.hasMany,expand:!0},{name:"Flags",properties:["isLoaded","isDirty","isSaving","isDeleted","isError","isNew","isValid"]}];return{propertyInfo:{includeOtherProperties:!0,groups:n,expensiveProperties:r}}}});var an=Jr,on=Ember.get,sn=Ember.EnumerableUtils.forEach,un=Ember.String.camelize,ln=Ember.Mixin.create({normalize:function(e,t,r){var n=this._super(e,t,r);return ae(this,this.store,e,n)},keyForRelationship:function(e,t){return this.hasDeserializeRecordsOption(e)?this.keyForAttribute(e):this._super(e,t)||e},serializeBelongsTo:function(e,t,r){var n=r.key;if(this.noSerializeOptionSpecified(n))return void this._super(e,t,r);var i,a=this.hasSerializeIdsOption(n),o=this.hasSerializeRecordsOption(n),s=e.belongsTo(n);a?(i=this.keyForRelationship(n,r.kind),t[i]=s?s.id:null):o&&(i=this.keyForAttribute(n),s?(t[i]=s.record.serialize({includeId:!0}),this.removeEmbeddedForeignKey(e,s,r,t[i])):t[i]=null)},serializeHasMany:function(e,t,r){var n=r.key;if(this.noSerializeOptionSpecified(n))return void this._super(e,t,r);var i,a=this.hasSerializeIdsOption(n),o=this.hasSerializeRecordsOption(n);a?(i=this.keyForRelationship(n,r.kind),t[i]=e.hasMany(n,{ids:!0})):o&&(i=this.keyForAttribute(n),t[i]=e.hasMany(n).map(function(t){var n=t.record.serialize({includeId:!0});return this.removeEmbeddedForeignKey(e,t,r,n),n},this))},removeEmbeddedForeignKey:function(e,t,r,n){if("hasMany"!==r.kind&&"belongsTo"===r.kind){var i=e.type.inverseFor(r.key);if(i){var a=i.name,o=this.store.serializerFor(t.type),s=o.keyForRelationship(a,i.kind);s&&delete n[s]}}},hasEmbeddedAlwaysOption:function(e){var t=this.attrsOption(e);return t&&"always"===t.embedded},hasSerializeRecordsOption:function(e){var t=this.hasEmbeddedAlwaysOption(e),r=this.attrsOption(e);return t||r&&"records"===r.serialize},hasSerializeIdsOption:function(e){var t=this.attrsOption(e);return t&&("ids"===t.serialize||"id"===t.serialize)},noSerializeOptionSpecified:function(e){var t=this.attrsOption(e);return!(t&&(t.serialize||t.embedded))},hasDeserializeRecordsOption:function(e){var t=this.hasEmbeddedAlwaysOption(e),r=this.attrsOption(e);return t||r&&"records"===r.deserialize},attrsOption:function(e){var t=this.get("attrs");return t&&(t[un(e)]||t[e])}}),cn=ln;xr.reopen({notifyBelongsToChanged:function(e){this.notifyPropertyChange(e)}});var hn=ce;xr.reopen({notifyHasManyAdded:function(e){this.notifyPropertyChange(e)}});var dn=he,fn=Ember.get,pn=Ember.ArrayPolyfills.filter,mn=Ember.computed(function(){Ember.testing===!0&&mn._cacheable===!0&&(mn._cacheable=!1);var e=new Ee({defaultValue:function(){return[]}});return this.eachComputedProperty(function(t,r){if(r.isRelationship){r.key=t;var n=e.get(de(this.store,r));n.push({name:t,kind:r.kind})}}),e}).readOnly(),gn=Ember.computed(function(){Ember.testing===!0&&gn._cacheable===!0&&(gn._cacheable=!1);var e,t=Ember.A();return this.eachComputedProperty(function(r,n){n.isRelationship&&(n.key=r,e=de(this.store,n),t.contains(e)||t.push(e))}),t}).readOnly(),vn=Ember.computed(function(){Ember.testing===!0&&vn._cacheable===!0&&(vn._cacheable=!1);var e=Ce.create();return this.eachComputedProperty(function(t,r){if(r.isRelationship){r.key=t;var n=fe(this.store,r);n.type=de(this.store,r),e.set(t,n)}}),e}).readOnly();xr.reopen({didDefineProperty:function(e,t,r){if(r instanceof Ember.ComputedProperty){var n=r.meta();n.parentType=e.constructor}}}),xr.reopenClass({typeForRelationship:function(e){var t=fn(this,"relationshipsByName").get(e);return t&&t.type},inverseMap:Ember.computed(function(){return Ember.create(null)}),inverseFor:function(e){var t=fn(this,"inverseMap");if(t[e])return t[e];var r=this._findInverseFor(e);return t[e]=r,r},_findInverseFor:function(e){function t(r,n,i){var a=i||[],o=fn(n,"relationships");if(o){var s=o.get(r);return s=pn.call(s,function(t){var r=n.metaForProperty(t.name).options;return r.inverse?e===r.inverse:!0}),s&&a.push.apply(a,s),r.superclass&&t(r.superclass,n,a),a}}var r=this.typeForRelationship(e);if(!r)return null;var n=this.metaForProperty(e),i=n.options;if(null===i.inverse)return null;var a,o,s;if(i.inverse)a=i.inverse,s=Ember.get(r,"relationshipsByName").get(a),o=s.kind;else{var u=t(this,r);if(0===u.length)return null;var l=pn.call(u,function(t){var n=r.metaForProperty(t.name).options;return e===n.inverse});1===l.length&&(u=l),a=u[0].name,o=u[0].kind}return{type:r,name:a,kind:o}},relationships:mn,relationshipNames:Ember.computed(function(){var e={hasMany:[],belongsTo:[]};return this.eachComputedProperty(function(t,r){r.isRelationship&&e[r.kind].push(t)}),e}),relatedTypes:gn,relationshipsByName:vn,fields:Ember.computed(function(){var e=Ce.create();return this.eachComputedProperty(function(t,r){r.isRelationship?e.set(t,r.kind):r.isAttribute&&e.set(t,"attribute")}),e}).readOnly(),eachRelationship:function(e,t){fn(this,"relationshipsByName").forEach(function(r,n){e.call(t,n,r)})},eachRelatedType:function(e,t){fn(this,"relatedTypes").forEach(function(r){e.call(t,r)})},determineRelationshipType:function(e){var t,r,n=e.key,i=e.kind,a=this.inverseFor(n);return a?(t=a.name,r=a.kind,"belongsTo"===r?"belongsTo"===i?"oneToOne":"manyToOne":"belongsTo"===i?"oneToMany":"manyToMany"):"belongsTo"===i?"oneToNone":"manyToNone"}}),xr.reopen({eachRelationship:function(e,t){this.constructor.eachRelationship(e,t)},relationshipFor:function(e){return fn(this.constructor,"relationshipsByName").get(e)},inverseFor:function(e){return this.constructor.inverseFor(e)}}),Ember.RSVP.Promise.cast=Ember.RSVP.Promise.cast||Ember.RSVP.resolve,ht.Store=Tr,ht.PromiseArray=pt,ht.PromiseObject=mt,ht.PromiseManyArray=yt,ht.Model=xr,ht.RootState=$t,ht.attr=wr,ht.Errors=Kt,ht.Snapshot=lr,ht.Adapter=ge,ht.InvalidError=e,ht.Serializer=qe,ht.DebugAdapter=an,ht.RecordArray=Et,ht.FilteredRecordArray=St,ht.AdapterPopulatedRecordArray=kt,ht.ManyArray=tr,ht.RecordArrayManager=jt,ht.RESTAdapter=Oe,ht.BuildURLMixin=Se,ht.FixtureAdapter=xe,ht.RESTSerializer=et,ht.JSONSerializer=Ge,ht.Transform=Vr,ht.DateTransform=$r,ht.StringTransform=Ur,ht.NumberTransform=Hr,ht.BooleanTransform=Wr,ht.ActiveModelAdapter=Be,ht.ActiveModelSerializer=st,ht.EmbeddedRecordsMixin=cn,ht.belongsTo=hn,ht.hasMany=dn,ht.Relationship=Xt,ht.ContainerProxy=ut,ht._setupContainer=en,Ember.lookup.DS=ht}.call(this),"undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(e){"use strict";var t=e.fn.jquery.split(" ")[0].split(".");if(t[0]<2&&t[1]<9||1==t[0]&&9==t[1]&&t[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var r in t)if(void 0!==e.style[r])return{end:t[r]};return!1}e.fn.emulateTransitionEnd=function(t){var r=!1,n=this;e(this).one("bsTransitionEnd",function(){r=!0});var i=function(){r||e(n).trigger(e.support.transition.end)};return setTimeout(i,t),this},e(function(){e.support.transition=t(),e.support.transition&&(e.event.special.bsTransitionEnd={bindType:e.support.transition.end,delegateType:e.support.transition.end,handle:function(t){return e(t.target).is(this)?t.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var r=e(this),i=r.data("bs.alert");i||r.data("bs.alert",i=new n(this)),"string"==typeof t&&i[t].call(r)})}var r='[data-dismiss="alert"]',n=function(t){e(t).on("click",r,this.close)};n.VERSION="3.3.4",n.TRANSITION_DURATION=150,n.prototype.close=function(t){function r(){o.detach().trigger("closed.bs.alert").remove()}var i=e(this),a=i.attr("data-target");a||(a=i.attr("href"),a=a&&a.replace(/.*(?=#[^\s]*$)/,""));var o=e(a);t&&t.preventDefault(),o.length||(o=i.closest(".alert")),o.trigger(t=e.Event("close.bs.alert")),t.isDefaultPrevented()||(o.removeClass("in"),e.support.transition&&o.hasClass("fade")?o.one("bsTransitionEnd",r).emulateTransitionEnd(n.TRANSITION_DURATION):r())};var i=e.fn.alert;e.fn.alert=t,e.fn.alert.Constructor=n,e.fn.alert.noConflict=function(){return e.fn.alert=i,this},e(document).on("click.bs.alert.data-api",r,n.prototype.close)}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),i=n.data("bs.button"),a="object"==typeof t&&t;i||n.data("bs.button",i=new r(this,a)),"toggle"==t?i.toggle():t&&i.setState(t)})}var r=function(t,n){this.$element=e(t),this.options=e.extend({},r.DEFAULTS,n),this.isLoading=!1};r.VERSION="3.3.4",r.DEFAULTS={loadingText:"loading..."},r.prototype.setState=function(t){var r="disabled",n=this.$element,i=n.is("input")?"val":"html",a=n.data();t+="Text",null==a.resetText&&n.data("resetText",n[i]()),setTimeout(e.proxy(function(){n[i](null==a[t]?this.options[t]:a[t]),"loadingText"==t?(this.isLoading=!0,n.addClass(r).attr(r,r)):this.isLoading&&(this.isLoading=!1,n.removeClass(r).removeAttr(r))},this),0)},r.prototype.toggle=function(){var e=!0,t=this.$element.closest('[data-toggle="buttons"]');if(t.length){var r=this.$element.find("input");"radio"==r.prop("type")&&(r.prop("checked")&&this.$element.hasClass("active")?e=!1:t.find(".active").removeClass("active")),e&&r.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));e&&this.$element.toggleClass("active")};var n=e.fn.button;e.fn.button=t,e.fn.button.Constructor=r,e.fn.button.noConflict=function(){return e.fn.button=n,this},e(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(r){var n=e(r.target);n.hasClass("btn")||(n=n.closest(".btn")),t.call(n,"toggle"),r.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(t){e(t.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(t.type))})}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),i=n.data("bs.carousel"),a=e.extend({},r.DEFAULTS,n.data(),"object"==typeof t&&t),o="string"==typeof t?t:a.slide;i||n.data("bs.carousel",i=new r(this,a)),"number"==typeof t?i.to(t):o?i[o]():a.interval&&i.pause().cycle()})}var r=function(t,r){this.$element=e(t),this.$indicators=this.$element.find(".carousel-indicators"),this.options=r,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",e.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",e.proxy(this.pause,this)).on("mouseleave.bs.carousel",e.proxy(this.cycle,this))};r.VERSION="3.3.4",r.TRANSITION_DURATION=600,r.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},r.prototype.keydown=function(e){if(!/input|textarea/i.test(e.target.tagName)){switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()}},r.prototype.cycle=function(t){return t||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(e.proxy(this.next,this),this.options.interval)),this},r.prototype.getItemIndex=function(e){return this.$items=e.parent().children(".item"),this.$items.index(e||this.$active)},r.prototype.getItemForDirection=function(e,t){var r=this.getItemIndex(t),n="prev"==e&&0===r||"next"==e&&r==this.$items.length-1;if(n&&!this.options.wrap)return t;var i="prev"==e?-1:1,a=(r+i)%this.$items.length;return this.$items.eq(a)},r.prototype.to=function(e){var t=this,r=this.getItemIndex(this.$active=this.$element.find(".item.active"));return e>this.$items.length-1||0>e?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){t.to(e)}):r==e?this.pause().cycle():this.slide(e>r?"next":"prev",this.$items.eq(e))},r.prototype.pause=function(t){return t||(this.paused=!0),this.$element.find(".next, .prev").length&&e.support.transition&&(this.$element.trigger(e.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},r.prototype.next=function(){return this.sliding?void 0:this.slide("next")},r.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},r.prototype.slide=function(t,n){var i=this.$element.find(".item.active"),a=n||this.getItemForDirection(t,i),o=this.interval,s="next"==t?"left":"right",u=this;if(a.hasClass("active"))return this.sliding=!1;var l=a[0],c=e.Event("slide.bs.carousel",{relatedTarget:l,direction:s});if(this.$element.trigger(c),!c.isDefaultPrevented()){if(this.sliding=!0,o&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var h=e(this.$indicators.children()[this.getItemIndex(a)]);h&&h.addClass("active")}var d=e.Event("slid.bs.carousel",{relatedTarget:l,direction:s});return e.support.transition&&this.$element.hasClass("slide")?(a.addClass(t),a[0].offsetWidth,i.addClass(s),a.addClass(s),i.one("bsTransitionEnd",function(){a.removeClass([t,s].join(" ")).addClass("active"),i.removeClass(["active",s].join(" ")),u.sliding=!1,setTimeout(function(){u.$element.trigger(d)},0)}).emulateTransitionEnd(r.TRANSITION_DURATION)):(i.removeClass("active"),a.addClass("active"),this.sliding=!1,this.$element.trigger(d)),o&&this.cycle(),this}};var n=e.fn.carousel;e.fn.carousel=t,e.fn.carousel.Constructor=r,e.fn.carousel.noConflict=function(){return e.fn.carousel=n,this};var i=function(r){var n,i=e(this),a=e(i.attr("data-target")||(n=i.attr("href"))&&n.replace(/.*(?=#[^\s]+$)/,""));if(a.hasClass("carousel")){var o=e.extend({},a.data(),i.data()),s=i.attr("data-slide-to");s&&(o.interval=!1),t.call(a,o),s&&a.data("bs.carousel").to(s),r.preventDefault()}};e(document).on("click.bs.carousel.data-api","[data-slide]",i).on("click.bs.carousel.data-api","[data-slide-to]",i),e(window).on("load",function(){e('[data-ride="carousel"]').each(function(){var r=e(this);t.call(r,r.data())})})}(jQuery),+function(e){"use strict";function t(t){var r,n=t.attr("data-target")||(r=t.attr("href"))&&r.replace(/.*(?=#[^\s]+$)/,"");return e(n)}function r(t){return this.each(function(){var r=e(this),i=r.data("bs.collapse"),a=e.extend({},n.DEFAULTS,r.data(),"object"==typeof t&&t);!i&&a.toggle&&/show|hide/.test(t)&&(a.toggle=!1),i||r.data("bs.collapse",i=new n(this,a)),"string"==typeof t&&i[t]()})}var n=function(t,r){this.$element=e(t),this.options=e.extend({},n.DEFAULTS,r),this.$trigger=e('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};n.VERSION="3.3.4",n.TRANSITION_DURATION=350,n.DEFAULTS={toggle:!0},n.prototype.dimension=function(){var e=this.$element.hasClass("width");return e?"width":"height"},n.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var t,i=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(i&&i.length&&(t=i.data("bs.collapse"),t&&t.transitioning))){var a=e.Event("show.bs.collapse");if(this.$element.trigger(a),!a.isDefaultPrevented()){i&&i.length&&(r.call(i,"hide"),t||i.data("bs.collapse",null));var o=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[o](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var s=function(){this.$element.removeClass("collapsing").addClass("collapse in")[o](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!e.support.transition)return s.call(this);var u=e.camelCase(["scroll",o].join("-"));this.$element.one("bsTransitionEnd",e.proxy(s,this)).emulateTransitionEnd(n.TRANSITION_DURATION)[o](this.$element[0][u])}}}},n.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var t=e.Event("hide.bs.collapse");if(this.$element.trigger(t),!t.isDefaultPrevented()){var r=this.dimension();this.$element[r](this.$element[r]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var i=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return e.support.transition?void this.$element[r](0).one("bsTransitionEnd",e.proxy(i,this)).emulateTransitionEnd(n.TRANSITION_DURATION):i.call(this);
-
-}}},n.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},n.prototype.getParent=function(){return e(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(e.proxy(function(r,n){var i=e(n);this.addAriaAndCollapsedClass(t(i),i)},this)).end()},n.prototype.addAriaAndCollapsedClass=function(e,t){var r=e.hasClass("in");e.attr("aria-expanded",r),t.toggleClass("collapsed",!r).attr("aria-expanded",r)};var i=e.fn.collapse;e.fn.collapse=r,e.fn.collapse.Constructor=n,e.fn.collapse.noConflict=function(){return e.fn.collapse=i,this},e(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(n){var i=e(this);i.attr("data-target")||n.preventDefault();var a=t(i),o=a.data("bs.collapse"),s=o?"toggle":i.data();r.call(a,s)})}(jQuery),+function(e){"use strict";function t(t){t&&3===t.which||(e(i).remove(),e(a).each(function(){var n=e(this),i=r(n),a={relatedTarget:this};i.hasClass("open")&&(i.trigger(t=e.Event("hide.bs.dropdown",a)),t.isDefaultPrevented()||(n.attr("aria-expanded","false"),i.removeClass("open").trigger("hidden.bs.dropdown",a)))}))}function r(t){var r=t.attr("data-target");r||(r=t.attr("href"),r=r&&/#[A-Za-z]/.test(r)&&r.replace(/.*(?=#[^\s]*$)/,""));var n=r&&e(r);return n&&n.length?n:t.parent()}function n(t){return this.each(function(){var r=e(this),n=r.data("bs.dropdown");n||r.data("bs.dropdown",n=new o(this)),"string"==typeof t&&n[t].call(r)})}var i=".dropdown-backdrop",a='[data-toggle="dropdown"]',o=function(t){e(t).on("click.bs.dropdown",this.toggle)};o.VERSION="3.3.4",o.prototype.toggle=function(n){var i=e(this);if(!i.is(".disabled, :disabled")){var a=r(i),o=a.hasClass("open");if(t(),!o){"ontouchstart"in document.documentElement&&!a.closest(".navbar-nav").length&&e('<div class="dropdown-backdrop"/>').insertAfter(e(this)).on("click",t);var s={relatedTarget:this};if(a.trigger(n=e.Event("show.bs.dropdown",s)),n.isDefaultPrevented())return;i.trigger("focus").attr("aria-expanded","true"),a.toggleClass("open").trigger("shown.bs.dropdown",s)}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var n=e(this);if(t.preventDefault(),t.stopPropagation(),!n.is(".disabled, :disabled")){var i=r(n),o=i.hasClass("open");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(a).trigger("focus"),n.trigger("click");var s=" li:not(.disabled):visible a",u=i.find('[role="menu"]'+s+', [role="listbox"]'+s);if(u.length){var l=u.index(t.target);38==t.which&&l>0&&l--,40==t.which&&l<u.length-1&&l++,~l||(l=0),u.eq(l).trigger("focus")}}}};var s=e.fn.dropdown;e.fn.dropdown=n,e.fn.dropdown.Constructor=o,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.bs.dropdown.data-api",t).on("click.bs.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.bs.dropdown.data-api",a,o.prototype.toggle).on("keydown.bs.dropdown.data-api",a,o.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',o.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',o.prototype.keydown)}(jQuery),+function(e){"use strict";function t(t,n){return this.each(function(){var i=e(this),a=i.data("bs.modal"),o=e.extend({},r.DEFAULTS,i.data(),"object"==typeof t&&t);a||i.data("bs.modal",a=new r(this,o)),"string"==typeof t?a[t](n):o.show&&a.show(n)})}var r=function(t,r){this.options=r,this.$body=e(document.body),this.$element=e(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,e.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};r.VERSION="3.3.4",r.TRANSITION_DURATION=300,r.BACKDROP_TRANSITION_DURATION=150,r.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},r.prototype.toggle=function(e){return this.isShown?this.hide():this.show(e)},r.prototype.show=function(t){var n=this,i=e.Event("show.bs.modal",{relatedTarget:t});this.$element.trigger(i),this.isShown||i.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',e.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){n.$element.one("mouseup.dismiss.bs.modal",function(t){e(t.target).is(n.$element)&&(n.ignoreBackdropClick=!0)})}),this.backdrop(function(){var i=e.support.transition&&n.$element.hasClass("fade");n.$element.parent().length||n.$element.appendTo(n.$body),n.$element.show().scrollTop(0),n.adjustDialog(),i&&n.$element[0].offsetWidth,n.$element.addClass("in").attr("aria-hidden",!1),n.enforceFocus();var a=e.Event("shown.bs.modal",{relatedTarget:t});i?n.$dialog.one("bsTransitionEnd",function(){n.$element.trigger("focus").trigger(a)}).emulateTransitionEnd(r.TRANSITION_DURATION):n.$element.trigger("focus").trigger(a)}))},r.prototype.hide=function(t){t&&t.preventDefault(),t=e.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),e(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),e.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",e.proxy(this.hideModal,this)).emulateTransitionEnd(r.TRANSITION_DURATION):this.hideModal())},r.prototype.enforceFocus=function(){e(document).off("focusin.bs.modal").on("focusin.bs.modal",e.proxy(function(e){this.$element[0]===e.target||this.$element.has(e.target).length||this.$element.trigger("focus")},this))},r.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",e.proxy(function(e){27==e.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},r.prototype.resize=function(){this.isShown?e(window).on("resize.bs.modal",e.proxy(this.handleUpdate,this)):e(window).off("resize.bs.modal")},r.prototype.hideModal=function(){var e=this;this.$element.hide(),this.backdrop(function(){e.$body.removeClass("modal-open"),e.resetAdjustments(),e.resetScrollbar(),e.$element.trigger("hidden.bs.modal")})},r.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},r.prototype.backdrop=function(t){var n=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var a=e.support.transition&&i;if(this.$backdrop=e('<div class="modal-backdrop '+i+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",e.proxy(function(e){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(e.target===e.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),a&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;a?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(r.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var o=function(){n.removeBackdrop(),t&&t()};e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",o).emulateTransitionEnd(r.BACKDROP_TRANSITION_DURATION):o()}else t&&t()},r.prototype.handleUpdate=function(){this.adjustDialog()},r.prototype.adjustDialog=function(){var e=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&e?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!e?this.scrollbarWidth:""})},r.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},r.prototype.checkScrollbar=function(){var e=window.innerWidth;if(!e){var t=document.documentElement.getBoundingClientRect();e=t.right-Math.abs(t.left)}this.bodyIsOverflowing=document.body.clientWidth<e,this.scrollbarWidth=this.measureScrollbar()},r.prototype.setScrollbar=function(){var e=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",e+this.scrollbarWidth)},r.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},r.prototype.measureScrollbar=function(){var e=document.createElement("div");e.className="modal-scrollbar-measure",this.$body.append(e);var t=e.offsetWidth-e.clientWidth;return this.$body[0].removeChild(e),t};var n=e.fn.modal;e.fn.modal=t,e.fn.modal.Constructor=r,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(r){var n=e(this),i=n.attr("href"),a=e(n.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,"")),o=a.data("bs.modal")?"toggle":e.extend({remote:!/#/.test(i)&&i},a.data(),n.data());n.is("a")&&r.preventDefault(),a.one("show.bs.modal",function(e){e.isDefaultPrevented()||a.one("hidden.bs.modal",function(){n.is(":visible")&&n.trigger("focus")})}),t.call(a,o,this)})}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),i=n.data("bs.tooltip"),a="object"==typeof t&&t;(i||!/destroy|hide/.test(t))&&(i||n.data("bs.tooltip",i=new r(this,a)),"string"==typeof t&&i[t]())})}var r=function(e,t){this.type=null,this.options=null,this.enabled=null,this.timeout=null,this.hoverState=null,this.$element=null,this.init("tooltip",e,t)};r.VERSION="3.3.4",r.TRANSITION_DURATION=150,r.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},r.prototype.init=function(t,r,n){if(this.enabled=!0,this.type=t,this.$element=e(r),this.options=this.getOptions(n),this.$viewport=this.options.viewport&&e(this.options.viewport.selector||this.options.viewport),this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var i=this.options.trigger.split(" "),a=i.length;a--;){var o=i[a];if("click"==o)this.$element.on("click."+this.type,this.options.selector,e.proxy(this.toggle,this));else if("manual"!=o){var s="hover"==o?"mouseenter":"focusin",u="hover"==o?"mouseleave":"focusout";this.$element.on(s+"."+this.type,this.options.selector,e.proxy(this.enter,this)),this.$element.on(u+"."+this.type,this.options.selector,e.proxy(this.leave,this))}}this.options.selector?this._options=e.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},r.prototype.getDefaults=function(){return r.DEFAULTS},r.prototype.getOptions=function(t){return t=e.extend({},this.getDefaults(),this.$element.data(),t),t.delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t},r.prototype.getDelegateOptions=function(){var t={},r=this.getDefaults();return this._options&&e.each(this._options,function(e,n){r[e]!=n&&(t[e]=n)}),t},r.prototype.enter=function(t){var r=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return r&&r.$tip&&r.$tip.is(":visible")?void(r.hoverState="in"):(r||(r=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,r)),clearTimeout(r.timeout),r.hoverState="in",r.options.delay&&r.options.delay.show?void(r.timeout=setTimeout(function(){"in"==r.hoverState&&r.show()},r.options.delay.show)):r.show())},r.prototype.leave=function(t){var r=t instanceof this.constructor?t:e(t.currentTarget).data("bs."+this.type);return r||(r=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,r)),clearTimeout(r.timeout),r.hoverState="out",r.options.delay&&r.options.delay.hide?void(r.timeout=setTimeout(function(){"out"==r.hoverState&&r.hide()},r.options.delay.hide)):r.hide()},r.prototype.show=function(){var t=e.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var n=e.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!n)return;var i=this,a=this.tip(),o=this.getUID(this.type);this.setContent(),a.attr("id",o),this.$element.attr("aria-describedby",o),this.options.animation&&a.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,a[0],this.$element[0]):this.options.placement,u=/\s?auto?\s?/i,l=u.test(s);l&&(s=s.replace(u,"")||"top"),a.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?a.appendTo(this.options.container):a.insertAfter(this.$element);var c=this.getPosition(),h=a[0].offsetWidth,d=a[0].offsetHeight;if(l){var f=s,p=this.options.container?e(this.options.container):this.$element.parent(),m=this.getPosition(p);s="bottom"==s&&c.bottom+d>m.bottom?"top":"top"==s&&c.top-d<m.top?"bottom":"right"==s&&c.right+h>m.width?"left":"left"==s&&c.left-h<m.left?"right":s,a.removeClass(f).addClass(s)}var g=this.getCalculatedOffset(s,c,h,d);this.applyPlacement(g,s);var v=function(){var e=i.hoverState;i.$element.trigger("shown.bs."+i.type),i.hoverState=null,"out"==e&&i.leave(i)};e.support.transition&&this.$tip.hasClass("fade")?a.one("bsTransitionEnd",v).emulateTransitionEnd(r.TRANSITION_DURATION):v()}},r.prototype.applyPlacement=function(t,r){var n=this.tip(),i=n[0].offsetWidth,a=n[0].offsetHeight,o=parseInt(n.css("margin-top"),10),s=parseInt(n.css("margin-left"),10);isNaN(o)&&(o=0),isNaN(s)&&(s=0),t.top=t.top+o,t.left=t.left+s,e.offset.setOffset(n[0],e.extend({using:function(e){n.css({top:Math.round(e.top),left:Math.round(e.left)})}},t),0),n.addClass("in");var u=n[0].offsetWidth,l=n[0].offsetHeight;"top"==r&&l!=a&&(t.top=t.top+a-l);var c=this.getViewportAdjustedDelta(r,t,u,l);c.left?t.left+=c.left:t.top+=c.top;var h=/top|bottom/.test(r),d=h?2*c.left-i+u:2*c.top-a+l,f=h?"offsetWidth":"offsetHeight";n.offset(t),this.replaceArrow(d,n[0][f],h)},r.prototype.replaceArrow=function(e,t,r){this.arrow().css(r?"left":"top",50*(1-e/t)+"%").css(r?"top":"left","")},r.prototype.setContent=function(){var e=this.tip(),t=this.getTitle();e.find(".tooltip-inner")[this.options.html?"html":"text"](t),e.removeClass("fade in top bottom left right")},r.prototype.hide=function(t){function n(){"in"!=i.hoverState&&a.detach(),i.$element.removeAttr("aria-describedby").trigger("hidden.bs."+i.type),t&&t()}var i=this,a=e(this.$tip),o=e.Event("hide.bs."+this.type);return this.$element.trigger(o),o.isDefaultPrevented()?void 0:(a.removeClass("in"),e.support.transition&&a.hasClass("fade")?a.one("bsTransitionEnd",n).emulateTransitionEnd(r.TRANSITION_DURATION):n(),this.hoverState=null,this)},r.prototype.fixTitle=function(){var e=this.$element;(e.attr("title")||"string"!=typeof e.attr("data-original-title"))&&e.attr("data-original-title",e.attr("title")||"").attr("title","")},r.prototype.hasContent=function(){return this.getTitle()},r.prototype.getPosition=function(t){t=t||this.$element;var r=t[0],n="BODY"==r.tagName,i=r.getBoundingClientRect();null==i.width&&(i=e.extend({},i,{width:i.right-i.left,height:i.bottom-i.top}));var a=n?{top:0,left:0}:t.offset(),o={scroll:n?document.documentElement.scrollTop||document.body.scrollTop:t.scrollTop()},s=n?{width:e(window).width(),height:e(window).height()}:null;return e.extend({},i,o,s,a)},r.prototype.getCalculatedOffset=function(e,t,r,n){return"bottom"==e?{top:t.top+t.height,left:t.left+t.width/2-r/2}:"top"==e?{top:t.top-n,left:t.left+t.width/2-r/2}:"left"==e?{top:t.top+t.height/2-n/2,left:t.left-r}:{top:t.top+t.height/2-n/2,left:t.left+t.width}},r.prototype.getViewportAdjustedDelta=function(e,t,r,n){var i={top:0,left:0};if(!this.$viewport)return i;var a=this.options.viewport&&this.options.viewport.padding||0,o=this.getPosition(this.$viewport);if(/right|left/.test(e)){var s=t.top-a-o.scroll,u=t.top+a-o.scroll+n;s<o.top?i.top=o.top-s:u>o.top+o.height&&(i.top=o.top+o.height-u)}else{var l=t.left-a,c=t.left+a+r;l<o.left?i.left=o.left-l:c>o.width&&(i.left=o.left+o.width-c)}return i},r.prototype.getTitle=function(){var e,t=this.$element,r=this.options;return e=t.attr("data-original-title")||("function"==typeof r.title?r.title.call(t[0]):r.title)},r.prototype.getUID=function(e){do e+=~~(1e6*Math.random());while(document.getElementById(e));return e},r.prototype.tip=function(){return this.$tip=this.$tip||e(this.options.template)},r.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},r.prototype.enable=function(){this.enabled=!0},r.prototype.disable=function(){this.enabled=!1},r.prototype.toggleEnabled=function(){this.enabled=!this.enabled},r.prototype.toggle=function(t){var r=this;t&&(r=e(t.currentTarget).data("bs."+this.type),r||(r=new this.constructor(t.currentTarget,this.getDelegateOptions()),e(t.currentTarget).data("bs."+this.type,r))),r.tip().hasClass("in")?r.leave(r):r.enter(r)},r.prototype.destroy=function(){var e=this;clearTimeout(this.timeout),this.hide(function(){e.$element.off("."+e.type).removeData("bs."+e.type)})};var n=e.fn.tooltip;e.fn.tooltip=t,e.fn.tooltip.Constructor=r,e.fn.tooltip.noConflict=function(){return e.fn.tooltip=n,this}}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),i=n.data("bs.popover"),a="object"==typeof t&&t;(i||!/destroy|hide/.test(t))&&(i||n.data("bs.popover",i=new r(this,a)),"string"==typeof t&&i[t]())})}var r=function(e,t){this.init("popover",e,t)};if(!e.fn.tooltip)throw new Error("Popover requires tooltip.js");r.VERSION="3.3.4",r.DEFAULTS=e.extend({},e.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),r.prototype=e.extend({},e.fn.tooltip.Constructor.prototype),r.prototype.constructor=r,r.prototype.getDefaults=function(){return r.DEFAULTS},r.prototype.setContent=function(){var e=this.tip(),t=this.getTitle(),r=this.getContent();e.find(".popover-title")[this.options.html?"html":"text"](t),e.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof r?"html":"append":"text"](r),e.removeClass("fade top bottom left right in"),e.find(".popover-title").html()||e.find(".popover-title").hide()},r.prototype.hasContent=function(){return this.getTitle()||this.getContent()},r.prototype.getContent=function(){var e=this.$element,t=this.options;return e.attr("data-content")||("function"==typeof t.content?t.content.call(e[0]):t.content)},r.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var n=e.fn.popover;e.fn.popover=t,e.fn.popover.Constructor=r,e.fn.popover.noConflict=function(){return e.fn.popover=n,this}}(jQuery),+function(e){"use strict";function t(r,n){this.$body=e(document.body),this.$scrollElement=e(e(r).is(document.body)?window:r),this.options=e.extend({},t.DEFAULTS,n),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e.proxy(this.process,this)),this.refresh(),this.process()}function r(r){return this.each(function(){var n=e(this),i=n.data("bs.scrollspy"),a="object"==typeof r&&r;i||n.data("bs.scrollspy",i=new t(this,a)),"string"==typeof r&&i[r]()})}t.VERSION="3.3.4",t.DEFAULTS={offset:10},t.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},t.prototype.refresh=function(){var t=this,r="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),e.isWindow(this.$scrollElement[0])||(r="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=e(this),i=t.data("target")||t.attr("href"),a=/^#./.test(i)&&e(i);return a&&a.length&&a.is(":visible")&&[[a[r]().top+n,i]]||null}).sort(function(e,t){return e[0]-t[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},t.prototype.process=function(){var e,t=this.$scrollElement.scrollTop()+this.options.offset,r=this.getScrollHeight(),n=this.options.offset+r-this.$scrollElement.height(),i=this.offsets,a=this.targets,o=this.activeTarget;if(this.scrollHeight!=r&&this.refresh(),t>=n)return o!=(e=a[a.length-1])&&this.activate(e);if(o&&t<i[0])return this.activeTarget=null,this.clear();for(e=i.length;e--;)o!=a[e]&&t>=i[e]&&(void 0===i[e+1]||t<i[e+1])&&this.activate(a[e])},t.prototype.activate=function(t){this.activeTarget=t,this.clear();var r=this.selector+'[data-target="'+t+'"],'+this.selector+'[href="'+t+'"]',n=e(r).parents("li").addClass("active");n.parent(".dropdown-menu").length&&(n=n.closest("li.dropdown").addClass("active")),n.trigger("activate.bs.scrollspy")},t.prototype.clear=function(){e(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var n=e.fn.scrollspy;e.fn.scrollspy=r,e.fn.scrollspy.Constructor=t,e.fn.scrollspy.noConflict=function(){return e.fn.scrollspy=n,this},e(window).on("load.bs.scrollspy.data-api",function(){e('[data-spy="scroll"]').each(function(){var t=e(this);r.call(t,t.data())})})}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),i=n.data("bs.tab");i||n.data("bs.tab",i=new r(this)),"string"==typeof t&&i[t]()})}var r=function(t){this.element=e(t)};r.VERSION="3.3.4",r.TRANSITION_DURATION=150,r.prototype.show=function(){var t=this.element,r=t.closest("ul:not(.dropdown-menu)"),n=t.data("target");if(n||(n=t.attr("href"),n=n&&n.replace(/.*(?=#[^\s]*$)/,"")),!t.parent("li").hasClass("active")){var i=r.find(".active:last a"),a=e.Event("hide.bs.tab",{relatedTarget:t[0]}),o=e.Event("show.bs.tab",{relatedTarget:i[0]});if(i.trigger(a),t.trigger(o),!o.isDefaultPrevented()&&!a.isDefaultPrevented()){var s=e(n);this.activate(t.closest("li"),r),this.activate(s,s.parent(),function(){i.trigger({type:"hidden.bs.tab",relatedTarget:t[0]}),t.trigger({type:"shown.bs.tab",relatedTarget:i[0]})})}}},r.prototype.activate=function(t,n,i){function a(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),s?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}var o=n.find("> .active"),s=i&&e.support.transition&&(o.length&&o.hasClass("fade")||!!n.find("> .fade").length);o.length&&s?o.one("bsTransitionEnd",a).emulateTransitionEnd(r.TRANSITION_DURATION):a(),o.removeClass("in")};var n=e.fn.tab;e.fn.tab=t,e.fn.tab.Constructor=r,e.fn.tab.noConflict=function(){return e.fn.tab=n,this};var i=function(r){r.preventDefault(),t.call(e(this),"show")};e(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),i=n.data("bs.affix"),a="object"==typeof t&&t;i||n.data("bs.affix",i=new r(this,a)),"string"==typeof t&&i[t]()})}var r=function(t,n){this.options=e.extend({},r.DEFAULTS,n),this.$target=e(this.options.target).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};r.VERSION="3.3.4",r.RESET="affix affix-top affix-bottom",r.DEFAULTS={offset:0,target:window},r.prototype.getState=function(e,t,r,n){var i=this.$target.scrollTop(),a=this.$element.offset(),o=this.$target.height();if(null!=r&&"top"==this.affixed)return r>i?"top":!1;if("bottom"==this.affixed)return null!=r?i+this.unpin<=a.top?!1:"bottom":e-n>=i+o?!1:"bottom";var s=null==this.affixed,u=s?i:a.top,l=s?o:t;return null!=r&&r>=i?"top":null!=n&&u+l>=e-n?"bottom":!1},r.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(r.RESET).addClass("affix");var e=this.$target.scrollTop(),t=this.$element.offset();return this.pinnedOffset=t.top-e},r.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},r.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),n=this.options.offset,i=n.top,a=n.bottom,o=e(document.body).height();"object"!=typeof n&&(a=i=n),"function"==typeof i&&(i=n.top(this.$element)),"function"==typeof a&&(a=n.bottom(this.$element));var s=this.getState(o,t,i,a);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var u="affix"+(s?"-"+s:""),l=e.Event(u+".bs.affix");if(this.$element.trigger(l),l.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(r.RESET).addClass(u).trigger(u.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:o-t-a})}};var n=e.fn.affix;e.fn.affix=t,e.fn.affix.Constructor=r,e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var r=e(this),n=r.data();n.offset=n.offset||{},null!=n.offsetBottom&&(n.offset.bottom=n.offsetBottom),null!=n.offsetTop&&(n.offset.top=n.offsetTop),t.call(r,n)})})}(jQuery),function(e){function t(e,t,r){switch(arguments.length){case 2:return null!=e?e:t;case 3:return null!=e?e:null!=t?t:r;default:throw new Error("Implement me")}}function r(e,t){return Ae.call(e,t)}function n(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function i(e){we.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function a(e,t){var r=!0;return p(function(){return r&&(i(e),r=!1),t.apply(this,arguments)},t)}function o(e,t){yt[e]||(i(t),yt[e]=!0)}function s(e,t){return function(r){return v(e.call(this,r),t)}}function u(e,t){return function(r){return this.localeData().ordinal(e.call(this,r),t)}}function l(e,t){var r,n,i=12*(t.year()-e.year())+(t.month()-e.month()),a=e.clone().add(i,"months");return 0>t-a?(r=e.clone().add(i-1,"months"),n=(t-a)/(a-r)):(r=e.clone().add(i+1,"months"),n=(t-a)/(r-a)),-(i+n)}function c(e,t,r){var n;return null==r?t:null!=e.meridiemHour?e.meridiemHour(t,r):null!=e.isPM?(n=e.isPM(r),n&&12>t&&(t+=12),n||12!==t||(t=0),t):t}function h(){}function d(e,t){t!==!1&&D(e),m(this,e),this._d=new Date(+e._d),_t===!1&&(_t=!0,we.updateOffset(this),_t=!1)}function f(e){var t=S(e),r=t.year||0,n=t.quarter||0,i=t.month||0,a=t.week||0,o=t.day||0,s=t.hour||0,u=t.minute||0,l=t.second||0,c=t.millisecond||0;this._milliseconds=+c+1e3*l+6e4*u+36e5*s,this._days=+o+7*a,this._months=+i+3*n+12*r,this._data={},this._locale=we.localeData(),this._bubble()}function p(e,t){for(var n in t)r(t,n)&&(e[n]=t[n]);return r(t,"toString")&&(e.toString=t.toString),r(t,"valueOf")&&(e.valueOf=t.valueOf),e}function m(e,t){var r,n,i;if("undefined"!=typeof t._isAMomentObject&&(e._isAMomentObject=t._isAMomentObject),"undefined"!=typeof t._i&&(e._i=t._i),"undefined"!=typeof t._f&&(e._f=t._f),"undefined"!=typeof t._l&&(e._l=t._l),"undefined"!=typeof t._strict&&(e._strict=t._strict),"undefined"!=typeof t._tzm&&(e._tzm=t._tzm),"undefined"!=typeof t._isUTC&&(e._isUTC=t._isUTC),"undefined"!=typeof t._offset&&(e._offset=t._offset),"undefined"!=typeof t._pf&&(e._pf=t._pf),"undefined"!=typeof t._locale&&(e._locale=t._locale),je.length>0)for(r in je)n=je[r],i=t[n],"undefined"!=typeof i&&(e[n]=i);return e}function g(e){return 0>e?Math.ceil(e):Math.floor(e)}function v(e,t,r){for(var n=""+Math.abs(e),i=e>=0;n.length<t;)n="0"+n;return(i?r?"+":"":"-")+n}function y(e,t){var r={milliseconds:0,months:0};return r.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(r.months,"M").isAfter(t)&&--r.months,r.milliseconds=+t-+e.clone().add(r.months,"M"),r}function b(e,t){var r;return t=L(t,e),e.isBefore(t)?r=y(e,t):(r=y(t,e),r.milliseconds=-r.milliseconds,r.months=-r.months),r}function _(e,t){return function(r,n){var i,a;return null===n||isNaN(+n)||(o(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period)."),a=r,r=n,n=a),r="string"==typeof r?+r:r,i=we.duration(r,n),w(this,i,e),this}}function w(e,t,r,n){var i=t._milliseconds,a=t._days,o=t._months;n=null==n?!0:n,i&&e._d.setTime(+e._d+i*r),a&&me(e,"Date",pe(e,"Date")+a*r),o&&fe(e,pe(e,"Month")+o*r),n&&we.updateOffset(e,a||o)}function x(e){return"[object Array]"===Object.prototype.toString.call(e)}function C(e){return"[object Date]"===Object.prototype.toString.call(e)||e instanceof Date}function E(e,t,r){var n,i=Math.min(e.length,t.length),a=Math.abs(e.length-t.length),o=0;for(n=0;i>n;n++)(r&&e[n]!==t[n]||!r&&k(e[n])!==k(t[n]))&&o++;return o+a}function T(e){if(e){var t=e.toLowerCase().replace(/(.)s$/,"$1");e=ht[e]||dt[t]||t}return e}function S(e){var t,n,i={};for(n in e)r(e,n)&&(t=T(n),t&&(i[t]=e[n]));return i}function A(t){var r,n;if(0===t.indexOf("week"))r=7,n="day";else{if(0!==t.indexOf("month"))return;r=12,n="month"}we[t]=function(i,a){var o,s,u=we._locale[t],l=[];if("number"==typeof i&&(a=i,i=e),s=function(e){var t=we().utc().set(n,e);return u.call(we._locale,t,i||"")},null!=a)return s(a);for(o=0;r>o;o++)l.push(s(o));return l}}function k(e){var t=+e,r=0;return 0!==t&&isFinite(t)&&(r=t>=0?Math.floor(t):Math.ceil(t)),r}function O(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function R(e,t,r){return le(we([e,11,31+t-r]),t,r).week}function P(e){return N(e)?366:365}function N(e){return e%4===0&&e%100!==0||e%400===0}function D(e){var t;e._a&&-2===e._pf.overflow&&(t=e._a[Oe]<0||e._a[Oe]>11?Oe:e._a[Re]<1||e._a[Re]>O(e._a[ke],e._a[Oe])?Re:e._a[Pe]<0||e._a[Pe]>24||24===e._a[Pe]&&(0!==e._a[Ne]||0!==e._a[De]||0!==e._a[Me])?Pe:e._a[Ne]<0||e._a[Ne]>59?Ne:e._a[De]<0||e._a[De]>59?De:e._a[Me]<0||e._a[Me]>999?Me:-1,e._pf._overflowDayOfYear&&(ke>t||t>Re)&&(t=Re),e._pf.overflow=t)}function M(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length&&t._pf.bigHour===e)),t._isValid}function F(e){return e?e.toLowerCase().replace("_","-"):e}function j(e){for(var t,r,n,i,a=0;a<e.length;){for(i=F(e[a]).split("-"),t=i.length,r=F(e[a+1]),r=r?r.split("-"):null;t>0;){if(n=I(i.slice(0,t).join("-")))return n;if(r&&r.length>=t&&E(i,r,!0)>=t-1)break;t--}a++}return null}function I(e){var t=null;if(!Fe[e]&&Ie)try{t=we.locale(),require("./locale/"+e),we.locale(t)}catch(r){}return Fe[e]}function L(e,t){var r,n;return t._isUTC?(r=t.clone(),n=(we.isMoment(e)||C(e)?+e:+we(e))-+r,r._d.setTime(+r._d+n),we.updateOffset(r,!1),r):we(e).local()}function V(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function z(e){var t,r,n=e.match(He);for(t=0,r=n.length;r>t;t++)n[t]=vt[n[t]]?vt[n[t]]:V(n[t]);return function(i){var a="";for(t=0;r>t;t++)a+=n[t]instanceof Function?n[t].call(i,e):n[t];return a}}function H(e,t){return e.isValid()?(t=B(t,e.localeData()),ft[t]||(ft[t]=z(t)),ft[t](e)):e.localeData().invalidDate()}function B(e,t){function r(e){return t.longDateFormat(e)||e}var n=5;for(Be.lastIndex=0;n>=0&&Be.test(e);)e=e.replace(Be,r),Be.lastIndex=0,n-=1;return e}function $(e,t){var r,n=t._strict;switch(e){case"Q":return Ze;case"DDDD":return tt;case"YYYY":case"GGGG":case"gggg":return n?rt:Ue;case"Y":case"G":case"g":return it;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return n?nt:We;case"S":if(n)return Ze;case"SS":if(n)return et;case"SSS":if(n)return tt;case"DDD":return qe;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":
-return Ye;case"a":case"A":return t._locale._meridiemParse;case"x":return Xe;case"X":return Je;case"Z":case"ZZ":return Ge;case"T":return Qe;case"SSSS":return Ke;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return n?et:$e;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return $e;case"Do":return n?t._locale._ordinalParse:t._locale._ordinalParseLenient;default:return r=new RegExp(J(X(e.replace("\\","")),"i"))}}function q(e){e=e||"";var t=e.match(Ge)||[],r=t[t.length-1]||[],n=(r+"").match(lt)||["-",0,0],i=+(60*n[1])+k(n[2]);return"+"===n[0]?i:-i}function U(e,t,r){var n,i=r._a;switch(e){case"Q":null!=t&&(i[Oe]=3*(k(t)-1));break;case"M":case"MM":null!=t&&(i[Oe]=k(t)-1);break;case"MMM":case"MMMM":n=r._locale.monthsParse(t,e,r._strict),null!=n?i[Oe]=n:r._pf.invalidMonth=t;break;case"D":case"DD":null!=t&&(i[Re]=k(t));break;case"Do":null!=t&&(i[Re]=k(parseInt(t.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=t&&(r._dayOfYear=k(t));break;case"YY":i[ke]=we.parseTwoDigitYear(t);break;case"YYYY":case"YYYYY":case"YYYYYY":i[ke]=k(t);break;case"a":case"A":r._meridiem=t;break;case"h":case"hh":r._pf.bigHour=!0;case"H":case"HH":i[Pe]=k(t);break;case"m":case"mm":i[Ne]=k(t);break;case"s":case"ss":i[De]=k(t);break;case"S":case"SS":case"SSS":case"SSSS":i[Me]=k(1e3*("0."+t));break;case"x":r._d=new Date(k(t));break;case"X":r._d=new Date(1e3*parseFloat(t));break;case"Z":case"ZZ":r._useUTC=!0,r._tzm=q(t);break;case"dd":case"ddd":case"dddd":n=r._locale.weekdaysParse(t),null!=n?(r._w=r._w||{},r._w.d=n):r._pf.invalidWeekday=t;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":e=e.substr(0,1);case"gggg":case"GGGG":case"GGGGG":e=e.substr(0,2),t&&(r._w=r._w||{},r._w[e]=k(t));break;case"gg":case"GG":r._w=r._w||{},r._w[e]=we.parseTwoDigitYear(t)}}function W(e){var r,n,i,a,o,s,u;r=e._w,null!=r.GG||null!=r.W||null!=r.E?(o=1,s=4,n=t(r.GG,e._a[ke],le(we(),1,4).year),i=t(r.W,1),a=t(r.E,1)):(o=e._locale._week.dow,s=e._locale._week.doy,n=t(r.gg,e._a[ke],le(we(),o,s).year),i=t(r.w,1),null!=r.d?(a=r.d,o>a&&++i):a=null!=r.e?r.e+o:o),u=ce(n,i,a,s,o),e._a[ke]=u.year,e._dayOfYear=u.dayOfYear}function K(e){var r,n,i,a,o=[];if(!e._d){for(i=G(e),e._w&&null==e._a[Re]&&null==e._a[Oe]&&W(e),e._dayOfYear&&(a=t(e._a[ke],i[ke]),e._dayOfYear>P(a)&&(e._pf._overflowDayOfYear=!0),n=ae(a,0,e._dayOfYear),e._a[Oe]=n.getUTCMonth(),e._a[Re]=n.getUTCDate()),r=0;3>r&&null==e._a[r];++r)e._a[r]=o[r]=i[r];for(;7>r;r++)e._a[r]=o[r]=null==e._a[r]?2===r?1:0:e._a[r];24===e._a[Pe]&&0===e._a[Ne]&&0===e._a[De]&&0===e._a[Me]&&(e._nextDay=!0,e._a[Pe]=0),e._d=(e._useUTC?ae:ie).apply(null,o),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Pe]=24)}}function Y(e){var t;e._d||(t=S(e._i),e._a=[t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],K(e))}function G(e){var t=new Date;return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function Q(t){if(t._f===we.ISO_8601)return void ee(t);t._a=[],t._pf.empty=!0;var r,n,i,a,o,s=""+t._i,u=s.length,l=0;for(i=B(t._f,t._locale).match(He)||[],r=0;r<i.length;r++)a=i[r],n=(s.match($(a,t))||[])[0],n&&(o=s.substr(0,s.indexOf(n)),o.length>0&&t._pf.unusedInput.push(o),s=s.slice(s.indexOf(n)+n.length),l+=n.length),vt[a]?(n?t._pf.empty=!1:t._pf.unusedTokens.push(a),U(a,n,t)):t._strict&&!n&&t._pf.unusedTokens.push(a);t._pf.charsLeftOver=u-l,s.length>0&&t._pf.unusedInput.push(s),t._pf.bigHour===!0&&t._a[Pe]<=12&&(t._pf.bigHour=e),t._a[Pe]=c(t._locale,t._a[Pe],t._meridiem),K(t),D(t)}function X(e){return e.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,r,n,i){return t||r||n||i})}function J(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(e){var t,r,i,a,o;if(0===e._f.length)return e._pf.invalidFormat=!0,void(e._d=new Date(0/0));for(a=0;a<e._f.length;a++)o=0,t=m({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._pf=n(),t._f=e._f[a],Q(t),M(t)&&(o+=t._pf.charsLeftOver,o+=10*t._pf.unusedTokens.length,t._pf.score=o,(null==i||i>o)&&(i=o,r=t));p(e,r||t)}function ee(e){var t,r,n=e._i,i=at.exec(n);if(i){for(e._pf.iso=!0,t=0,r=st.length;r>t;t++)if(st[t][1].exec(n)){e._f=st[t][0]+(i[6]||" ");break}for(t=0,r=ut.length;r>t;t++)if(ut[t][1].exec(n)){e._f+=ut[t][0];break}n.match(Ge)&&(e._f+="Z"),Q(e)}else e._isValid=!1}function te(e){ee(e),e._isValid===!1&&(delete e._isValid,we.createFromInputFallback(e))}function re(e,t){var r,n=[];for(r=0;r<e.length;++r)n.push(t(e[r],r));return n}function ne(t){var r,n=t._i;n===e?t._d=new Date:C(n)?t._d=new Date(+n):null!==(r=Le.exec(n))?t._d=new Date(+r[1]):"string"==typeof n?te(t):x(n)?(t._a=re(n.slice(0),function(e){return parseInt(e,10)}),K(t)):"object"==typeof n?Y(t):"number"==typeof n?t._d=new Date(n):we.createFromInputFallback(t)}function ie(e,t,r,n,i,a,o){var s=new Date(e,t,r,n,i,a,o);return 1970>e&&s.setFullYear(e),s}function ae(e){var t=new Date(Date.UTC.apply(null,arguments));return 1970>e&&t.setUTCFullYear(e),t}function oe(e,t){if("string"==typeof e)if(isNaN(e)){if(e=t.weekdaysParse(e),"number"!=typeof e)return null}else e=parseInt(e,10);return e}function se(e,t,r,n,i){return i.relativeTime(t||1,!!r,e,n)}function ue(e,t,r){var n=we.duration(e).abs(),i=Se(n.as("s")),a=Se(n.as("m")),o=Se(n.as("h")),s=Se(n.as("d")),u=Se(n.as("M")),l=Se(n.as("y")),c=i<pt.s&&["s",i]||1===a&&["m"]||a<pt.m&&["mm",a]||1===o&&["h"]||o<pt.h&&["hh",o]||1===s&&["d"]||s<pt.d&&["dd",s]||1===u&&["M"]||u<pt.M&&["MM",u]||1===l&&["y"]||["yy",l];return c[2]=t,c[3]=+e>0,c[4]=r,se.apply({},c)}function le(e,t,r){var n,i=r-t,a=r-e.day();return a>i&&(a-=7),i-7>a&&(a+=7),n=we(e).add(a,"d"),{week:Math.ceil(n.dayOfYear()/7),year:n.year()}}function ce(e,t,r,n,i){var a,o,s=ae(e,0,1).getUTCDay();return s=0===s?7:s,r=null!=r?r:i,a=i-s+(s>n?7:0)-(i>s?7:0),o=7*(t-1)+(r-i)+a+1,{year:o>0?e:e-1,dayOfYear:o>0?o:P(e-1)+o}}function he(t){var r,n=t._i,i=t._f;return t._locale=t._locale||we.localeData(t._l),null===n||i===e&&""===n?we.invalid({nullInput:!0}):("string"==typeof n&&(t._i=n=t._locale.preparse(n)),we.isMoment(n)?new d(n,!0):(i?x(i)?Z(t):Q(t):ne(t),r=new d(t),r._nextDay&&(r.add(1,"d"),r._nextDay=e),r))}function de(e,t){var r,n;if(1===t.length&&x(t[0])&&(t=t[0]),!t.length)return we();for(r=t[0],n=1;n<t.length;++n)t[n][e](r)&&(r=t[n]);return r}function fe(e,t){var r;return"string"==typeof t&&(t=e.localeData().monthsParse(t),"number"!=typeof t)?e:(r=Math.min(e.date(),O(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,r),e)}function pe(e,t){return e._d["get"+(e._isUTC?"UTC":"")+t]()}function me(e,t,r){return"Month"===t?fe(e,r):e._d["set"+(e._isUTC?"UTC":"")+t](r)}function ge(e,t){return function(r){return null!=r?(me(this,e,r),we.updateOffset(this,t),this):pe(this,e)}}function ve(e){return 400*e/146097}function ye(e){return 146097*e/400}function be(e){we.duration.fn[e]=function(){return this._data[e]}}function _e(e){"undefined"==typeof ender&&(xe=Te.moment,Te.moment=e?a("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",we):we)}for(var we,xe,Ce,Ee="2.9.0",Te="undefined"==typeof global||"undefined"!=typeof window&&window!==global.window?this:global,Se=Math.round,Ae=Object.prototype.hasOwnProperty,ke=0,Oe=1,Re=2,Pe=3,Ne=4,De=5,Me=6,Fe={},je=[],Ie="undefined"!=typeof module&&module&&module.exports,Le=/^\/?Date\((\-?\d+)/i,Ve=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,ze=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,He=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Be=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,$e=/\d\d?/,qe=/\d{1,3}/,Ue=/\d{1,4}/,We=/[+\-]?\d{1,6}/,Ke=/\d+/,Ye=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ge=/Z|[\+\-]\d\d:?\d\d/gi,Qe=/T/i,Xe=/[\+\-]?\d+/,Je=/[\+\-]?\d+(\.\d{1,3})?/,Ze=/\d/,et=/\d\d/,tt=/\d{3}/,rt=/\d{4}/,nt=/[+-]?\d{6}/,it=/[+-]?\d+/,at=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ot="YYYY-MM-DDTHH:mm:ssZ",st=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],ut=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],lt=/([\+\-]|\d\d)/gi,ct=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),ht={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},dt={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},ft={},pt={s:45,m:45,h:22,d:26,M:11},mt="DDD w W M D d".split(" "),gt="M D H h m s w W".split(" "),vt={M:function(){return this.month()+1},MMM:function(e){return this.localeData().monthsShort(this,e)},MMMM:function(e){return this.localeData().months(this,e)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(e){return this.localeData().weekdaysMin(this,e)},ddd:function(e){return this.localeData().weekdaysShort(this,e)},dddd:function(e){return this.localeData().weekdays(this,e)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return v(this.year()%100,2)},YYYY:function(){return v(this.year(),4)},YYYYY:function(){return v(this.year(),5)},YYYYYY:function(){var e=this.year(),t=e>=0?"+":"-";return t+v(Math.abs(e),6)},gg:function(){return v(this.weekYear()%100,2)},gggg:function(){return v(this.weekYear(),4)},ggggg:function(){return v(this.weekYear(),5)},GG:function(){return v(this.isoWeekYear()%100,2)},GGGG:function(){return v(this.isoWeekYear(),4)},GGGGG:function(){return v(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return k(this.milliseconds()/100)},SS:function(){return v(k(this.milliseconds()/10),2)},SSS:function(){return v(this.milliseconds(),3)},SSSS:function(){return v(this.milliseconds(),3)},Z:function(){var e=this.utcOffset(),t="+";return 0>e&&(e=-e,t="-"),t+v(k(e/60),2)+":"+v(k(e)%60,2)},ZZ:function(){var e=this.utcOffset(),t="+";return 0>e&&(e=-e,t="-"),t+v(k(e/60),2)+v(k(e)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},yt={},bt=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],_t=!1;mt.length;)Ce=mt.pop(),vt[Ce+"o"]=u(vt[Ce],Ce);for(;gt.length;)Ce=gt.pop(),vt[Ce+Ce]=s(vt[Ce],2);vt.DDDD=s(vt.DDD,3),p(h.prototype,{set:function(e){var t,r;for(r in e)t=e[r],"function"==typeof t?this[r]=t:this["_"+r]=t;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(e){return this._months[e.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(e){return this._monthsShort[e.month()]},monthsParse:function(e,t,r){var n,i,a;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;12>n;n++){if(i=we.utc([2e3,n]),r&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),r||this._monthsParse[n]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[n]=new RegExp(a.replace(".",""),"i")),r&&"MMMM"===t&&this._longMonthsParse[n].test(e))return n;if(r&&"MMM"===t&&this._shortMonthsParse[n].test(e))return n;if(!r&&this._monthsParse[n].test(e))return n}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(e){return this._weekdays[e.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(e){return this._weekdaysShort[e.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(e){return this._weekdaysMin[e.day()]},weekdaysParse:function(e){var t,r,n;for(this._weekdaysParse||(this._weekdaysParse=[]),t=0;7>t;t++)if(this._weekdaysParse[t]||(r=we([2e3,1]).day(t),n="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[t]=new RegExp(n.replace(".",""),"i")),this._weekdaysParse[t].test(e))return t},_longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(e){var t=this._longDateFormat[e];return!t&&this._longDateFormat[e.toUpperCase()]&&(t=this._longDateFormat[e.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e]=t),t},isPM:function(e){return"p"===(e+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(e,t,r){return e>11?r?"pm":"PM":r?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(e,t,r){var n=this._calendar[e];return"function"==typeof n?n.apply(t,[r]):n},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(e,t,r,n){var i=this._relativeTime[r];return"function"==typeof i?i(e,t,r,n):i.replace(/%d/i,e)},pastFuture:function(e,t){var r=this._relativeTime[e>0?"future":"past"];return"function"==typeof r?r(t):r.replace(/%s/i,t)},ordinal:function(e){return this._ordinal.replace("%d",e)},_ordinal:"%d",_ordinalParse:/\d{1,2}/,preparse:function(e){return e},postformat:function(e){return e},week:function(e){return le(e,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},firstDayOfWeek:function(){return this._week.dow},firstDayOfYear:function(){return this._week.doy},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),we=function(t,r,i,a){var o;return"boolean"==typeof i&&(a=i,i=e),o={},o._isAMomentObject=!0,o._i=t,o._f=r,o._l=i,o._strict=a,o._isUTC=!1,o._pf=n(),he(o)},we.suppressDeprecationWarnings=!1,we.createFromInputFallback=a("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),we.min=function(){var e=[].slice.call(arguments,0);return de("isBefore",e)},we.max=function(){var e=[].slice.call(arguments,0);return de("isAfter",e)},we.utc=function(t,r,i,a){var o;return"boolean"==typeof i&&(a=i,i=e),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=r,o._strict=a,o._pf=n(),he(o).utc()},we.unix=function(e){return we(1e3*e)},we.duration=function(e,t){var n,i,a,o,s=e,u=null;return we.isDuration(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:"number"==typeof e?(s={},t?s[t]=e:s.milliseconds=e):(u=Ve.exec(e))?(n="-"===u[1]?-1:1,s={y:0,d:k(u[Re])*n,h:k(u[Pe])*n,m:k(u[Ne])*n,s:k(u[De])*n,ms:k(u[Me])*n}):(u=ze.exec(e))?(n="-"===u[1]?-1:1,a=function(e){var t=e&&parseFloat(e.replace(",","."));return(isNaN(t)?0:t)*n},s={y:a(u[2]),M:a(u[3]),d:a(u[4]),h:a(u[5]),m:a(u[6]),s:a(u[7]),w:a(u[8])}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(o=b(we(s.from),we(s.to)),s={},s.ms=o.milliseconds,s.M=o.months),i=new f(s),we.isDuration(e)&&r(e,"_locale")&&(i._locale=e._locale),i},we.version=Ee,we.defaultFormat=ot,we.ISO_8601=function(){},we.momentProperties=je,we.updateOffset=function(){},we.relativeTimeThreshold=function(t,r){return pt[t]===e?!1:r===e?pt[t]:(pt[t]=r,!0)},we.lang=a("moment.lang is deprecated. Use moment.locale instead.",function(e,t){return we.locale(e,t)}),we.locale=function(e,t){var r;return e&&(r="undefined"!=typeof t?we.defineLocale(e,t):we.localeData(e),r&&(we.duration._locale=we._locale=r)),we._locale._abbr},we.defineLocale=function(e,t){return null!==t?(t.abbr=e,Fe[e]||(Fe[e]=new h),Fe[e].set(t),we.locale(e),Fe[e]):(delete Fe[e],null)},we.langData=a("moment.langData is deprecated. Use moment.localeData instead.",function(e){return we.localeData(e)}),we.localeData=function(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return we._locale;if(!x(e)){if(t=I(e))return t;e=[e]}return j(e)},we.isMoment=function(e){return e instanceof d||null!=e&&r(e,"_isAMomentObject")},we.isDuration=function(e){return e instanceof f};for(Ce=bt.length-1;Ce>=0;--Ce)A(bt[Ce]);we.normalizeUnits=function(e){return T(e)},we.invalid=function(e){var t=we.utc(0/0);return null!=e?p(t._pf,e):t._pf.userInvalidated=!0,t},we.parseZone=function(){return we.apply(null,arguments).parseZone()},we.parseTwoDigitYear=function(e){return k(e)+(k(e)>68?1900:2e3)},we.isDate=C,p(we.fn=d.prototype,{clone:function(){return we(this)},valueOf:function(){return+this._d-6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var e=we(this).utc();return 0<e.year()&&e.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():H(e,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):H(e,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var e=this;return[e.year(),e.month(),e.date(),e.hours(),e.minutes(),e.seconds(),e.milliseconds()]},isValid:function(){return M(this)},isDSTShifted:function(){return this._a?this.isValid()&&E(this._a,(this._isUTC?we.utc(this._a):we(this._a)).toArray())>0:!1},parsingFlags:function(){return p({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(e){return this.utcOffset(0,e)},local:function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(this._dateUtcOffset(),"m")),this},format:function(e){var t=H(this,e||we.defaultFormat);return this.localeData().postformat(t)},add:_(1,"add"),subtract:_(-1,"subtract"),diff:function(e,t,r){var n,i,a=L(e,this),o=6e4*(a.utcOffset()-this.utcOffset());return t=T(t),"year"===t||"month"===t||"quarter"===t?(i=l(this,a),"quarter"===t?i/=3:"year"===t&&(i/=12)):(n=this-a,i="second"===t?n/1e3:"minute"===t?n/6e4:"hour"===t?n/36e5:"day"===t?(n-o)/864e5:"week"===t?(n-o)/6048e5:n),r?i:g(i)},from:function(e,t){return we.duration({to:this,from:e}).locale(this.locale()).humanize(!t)},fromNow:function(e){return this.from(we(),e)},calendar:function(e){var t=e||we(),r=L(t,this).startOf("day"),n=this.diff(r,"days",!0),i=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse";return this.format(this.localeData().calendar(i,this,we(t)))},isLeapYear:function(){return N(this.year())},isDST:function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},day:function(e){var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=oe(e,this.localeData()),this.add(e-t,"d")):t},month:ge("Month",!0),startOf:function(e){switch(e=T(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e?this.weekday(0):"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(t){return t=T(t),t===e||"millisecond"===t?this:this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")},isAfter:function(e,t){var r;return t=T("undefined"!=typeof t?t:"millisecond"),"millisecond"===t?(e=we.isMoment(e)?e:we(e),+this>+e):(r=we.isMoment(e)?+e:+we(e),r<+this.clone().startOf(t))},isBefore:function(e,t){var r;return t=T("undefined"!=typeof t?t:"millisecond"),"millisecond"===t?(e=we.isMoment(e)?e:we(e),+e>+this):(r=we.isMoment(e)?+e:+we(e),+this.clone().endOf(t)<r)},isBetween:function(e,t,r){return this.isAfter(e,r)&&this.isBefore(t,r)},isSame:function(e,t){var r;return t=T(t||"millisecond"),"millisecond"===t?(e=we.isMoment(e)?e:we(e),+this===+e):(r=+we(e),+this.clone().startOf(t)<=r&&r<=+this.clone().endOf(t))},min:a("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(e){return e=we.apply(null,arguments),this>e?this:e}),max:a("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(e){return e=we.apply(null,arguments),e>this?this:e}),zone:a("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),utcOffset:function(e,t){var r,n=this._offset||0;return null!=e?("string"==typeof e&&(e=q(e)),Math.abs(e)<16&&(e=60*e),!this._isUTC&&t&&(r=this._dateUtcOffset()),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,"m"),n!==e&&(!t||this._changeInProgress?w(this,we.duration(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,we.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:this._dateUtcOffset()},isLocal:function(){return!this._isUTC},isUtcOffset:function(){return this._isUTC},isUtc:function(){return this._isUTC&&0===this._offset},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(q(this._i)),this},hasAlignedHourOffset:function(e){return e=e?we(e).utcOffset():0,(this.utcOffset()-e)%60===0},daysInMonth:function(){return O(this.year(),this.month())},dayOfYear:function(e){var t=Se((we(this).startOf("day")-we(this).startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},quarter:function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},weekYear:function(e){var t=le(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==e?t:this.add(e-t,"y")},isoWeekYear:function(e){var t=le(this,1,4).year;return null==e?t:this.add(e-t,"y")},week:function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},isoWeek:function(e){var t=le(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},weekday:function(e){var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},isoWeekday:function(e){return null==e?this.day()||7:this.day(this.day()%7?e:e-7)},isoWeeksInYear:function(){return R(this.year(),1,4)},weeksInYear:function(){var e=this.localeData()._week;return R(this.year(),e.dow,e.doy)},get:function(e){return e=T(e),this[e]()},set:function(e,t){var r;if("object"==typeof e)for(r in e)this.set(r,e[r]);else e=T(e),"function"==typeof this[e]&&this[e](t);return this},locale:function(t){var r;return t===e?this._locale._abbr:(r=we.localeData(t),null!=r&&(this._locale=r),this)},lang:a("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===e?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateUtcOffset:function(){return 15*-Math.round(this._d.getTimezoneOffset()/15)}}),we.fn.millisecond=we.fn.milliseconds=ge("Milliseconds",!1),we.fn.second=we.fn.seconds=ge("Seconds",!1),we.fn.minute=we.fn.minutes=ge("Minutes",!1),we.fn.hour=we.fn.hours=ge("Hours",!0),we.fn.date=ge("Date",!0),we.fn.dates=a("dates accessor is deprecated. Use date instead.",ge("Date",!0)),we.fn.year=ge("FullYear",!0),we.fn.years=a("years accessor is deprecated. Use year instead.",ge("FullYear",!0)),we.fn.days=we.fn.day,we.fn.months=we.fn.month,we.fn.weeks=we.fn.week,we.fn.isoWeeks=we.fn.isoWeek,we.fn.quarters=we.fn.quarter,we.fn.toJSON=we.fn.toISOString,we.fn.isUTC=we.fn.isUtc,p(we.duration.fn=f.prototype,{_bubble:function(){var e,t,r,n=this._milliseconds,i=this._days,a=this._months,o=this._data,s=0;o.milliseconds=n%1e3,e=g(n/1e3),o.seconds=e%60,t=g(e/60),o.minutes=t%60,r=g(t/60),o.hours=r%24,i+=g(r/24),s=g(ve(i)),i-=g(ye(s)),a+=g(i/30),i%=30,s+=g(a/12),a%=12,o.days=i,o.months=a,o.years=s},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return g(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*k(this._months/12)},humanize:function(e){var t=ue(this,!e,this.localeData());return e&&(t=this.localeData().pastFuture(+this,t)),this.localeData().postformat(t)},add:function(e,t){var r=we.duration(e,t);return this._milliseconds+=r._milliseconds,this._days+=r._days,this._months+=r._months,this._bubble(),this},subtract:function(e,t){var r=we.duration(e,t);return this._milliseconds-=r._milliseconds,this._days-=r._days,this._months-=r._months,this._bubble(),this},get:function(e){return e=T(e),this[e.toLowerCase()+"s"]()},as:function(e){var t,r;if(e=T(e),"month"===e||"year"===e)return t=this._days+this._milliseconds/864e5,r=this._months+12*ve(t),"month"===e?r:r/12;switch(t=this._days+Math.round(ye(this._months/12)),e){case"week":return t/7+this._milliseconds/6048e5;case"day":return t+this._milliseconds/864e5;case"hour":return 24*t+this._milliseconds/36e5;case"minute":return 24*t*60+this._milliseconds/6e4;case"second":return 24*t*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*t*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+e)}},lang:we.fn.lang,locale:we.fn.locale,toIsoString:a("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var e=Math.abs(this.years()),t=Math.abs(this.months()),r=Math.abs(this.days()),n=Math.abs(this.hours()),i=Math.abs(this.minutes()),a=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(e?e+"Y":"")+(t?t+"M":"")+(r?r+"D":"")+(n||i||a?"T":"")+(n?n+"H":"")+(i?i+"M":"")+(a?a+"S":""):"P0D"},localeData:function(){return this._locale},toJSON:function(){return this.toISOString()}}),we.duration.fn.toString=we.duration.fn.toISOString;for(Ce in ct)r(ct,Ce)&&be(Ce.toLowerCase());we.duration.fn.asMilliseconds=function(){return this.as("ms")},we.duration.fn.asSeconds=function(){return this.as("s")},we.duration.fn.asMinutes=function(){return this.as("m")},we.duration.fn.asHours=function(){return this.as("h")},we.duration.fn.asDays=function(){return this.as("d")},we.duration.fn.asWeeks=function(){return this.as("weeks")},we.duration.fn.asMonths=function(){return this.as("M")},we.duration.fn.asYears=function(){return this.as("y")},we.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,r=1===k(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+r}}),Ie?module.exports=we:"function"==typeof define&&define.amd?(define(function(e,t,r){return r.config&&r.config()&&r.config().noGlobal===!0&&(Te.moment=xe),we}),_e(!0)):_e()}.call(this),define("django-ember-gettext",["django-ember-gettext/index","ember","exports"],function(e,t,r){"use strict";t["default"].keys(e).forEach(function(t){r[t]=e[t]})}),define("django-ember-gettext/lib/main",["exports","ember"],function(e,t){"use strict";function r(e,t){return Object.getOwnPropertyNames(t.hash).length>0?interpolate(gettext(e),t.hash,!0):gettext(e)}function n(e,t,r,n){return n.hash.count=r,interpolate(ngettext(e,t,r),n.hash,!0)}function i(e,t,r){return Object.getOwnPropertyNames(r.hash).length>0?interpolate(pgettext(e,t),r.hash,!0):pgettext(e,t)}function a(e,t,r,n,i){return i.hash.count=n,interpolate(ngettext(t,r,n),i.hash,!0)}function o(){t["default"].Handlebars.helper("gettext",r),t["default"].Handlebars.helper("ngettext",n),t["default"].Handlebars.helper("pgettext",i),t["default"].Handlebars.helper("npgettext",a)}e["default"]=o}),define("ember-django-adapter",["ember-django-adapter/index","ember","exports"],function(e,t,r){"use strict";t["default"].keys(e).forEach(function(t){r[t]=e[t]})}),define("ember-django-adapter/adapters/drf",["exports","ember-data","ember"],function(e,t,r){"use strict";e["default"]=t["default"].RESTAdapter.extend({defaultSerializer:"DS/djangoREST",addTrailingSlashes:!0,pathForType:function(e){var t=r["default"].String.dasherize(e);return r["default"].String.pluralize(t)},buildURL:function(e,t,r){var n=this._super(e,t,r);return this.get("addTrailingSlashes")&&"/"!==n.charAt(n.length-1)&&(n+="/"),n},ajaxError:function(e){var n=this._super(e);if(e&&400===e.status){var i;try{i=r["default"].$.parseJSON(e.responseText)}catch(a){return n}var o={};return o.errors=i,new t["default"].InvalidError(o)}return n},findMany:function(e,t,n,i){return r["default"].Logger.warn("WARNING: You are fetching several records in a single request because you have set `coalesceFindRequests=true` on the adapter.  For this to work, you MUST implement a custom filter in Django REST Framework.  See http://dustinfarris.com/ember-django-adapter/coalesce-find-requests/ for more information."),this._super(e,t,n,i)},_stripIDFromURL:function(e,t){return this.buildURL(t.constructor.typeKey)}})}),define("ember-django-adapter/serializers/drf",["exports","ember-data","ember"],function(e,t,r){"use strict";e["default"]=t["default"].RESTSerializer.extend({extractPageNumber:function(e){var t=/.*?[\?&]page=(\d+).*?/.exec(e);return t?Number(t[1]).valueOf():null},extractMeta:function(e,t,r){r&&r.results&&(e.metaForType(t,{count:r.count,next:this.extractPageNumber(r.next),previous:this.extractPageNumber(r.previous)}),delete r.count,delete r.next,delete r.previous)},extractSingle:function(e,t,r,n){var i={};return i[t.typeKey]=r,this._super(e,t,i,n)},extractArray:function(e,t,r,n){var i={};return i[t.typeKey]=r.results?r.results:r,this._super(e,t,i)},serializeIntoHash:function(e,t,n,i){r["default"].merge(e,this.serialize(n,i))},keyForAttribute:function(e){return r["default"].String.decamelize(e)},keyForRelationship:function(e,t){return r["default"].String.decamelize(e)}})});
+for(n=0;i>n;n++)r=t[n],e(r);return this},appendTo:function(e){var t=f["default"](e);return this.renderer.appendTo(this,t[0]),this},replaceIn:function(e){var t=f["default"](e);return this.renderer.replaceIn(this,t[0]),this},append:function(){return this.appendTo(document.body)},remove:function(){this.removedFromDOM||this.destroyElement()},elementId:null,findElementInParentElement:function(e){var t="#"+this.elementId;return f["default"](t)[0]||f["default"](t,e)[0]},createElement:function(){return this.element?this:(this._didCreateElementWithoutMorph=!0,this.renderer.renderTree(this),this)},willInsertElement:k,didInsertElement:k,willClearRender:k,destroyElement:function(){return this.currentState.destroyElement(this)},willDestroyElement:k,parentViewDidChange:k,applyAttributesToBuffer:function(e){this._applyClassNameBindings(),this._applyAttributeBindings(e),e.setClasses(this.classNames),e.id(this.elementId);var t=a.get(this,"ariaRole");t&&e.attr("role",t),a.get(this,"isVisible")===!1&&e.style("display","none")},tagName:null,ariaRole:null,init:function(){this.isVirtual||this.elementId||(this.elementId=u.guidFor(this)),this._super.apply(this,arguments)},__defineNonEnumerable:function(e){this[e.name]=e.descriptor.value},appendAttr:function(e){return this.currentState.appendAttr(this,e)},removeFromParent:function(){var e=this._parentView;return this.remove(),e&&e.removeChild(this),this},destroy:function(){var e=a.get(this,"parentView"),t=this.viewName;return this._super.apply(this,arguments)?(t&&e&&e.set(t,null),this):void 0},handleEvent:function(e,t){return this.currentState.handleEvent(this,e,t)},registerObserver:function(e,t,r,n){if(n||"function"!=typeof r||(n=r,r=null),e&&"object"==typeof e){var i=this._wrapAsScheduled(n);n.addObserver(e,t,r,i),this.one("willClearRender",function(){n.removeObserver(e,t,r,i)})}},_wrapAsScheduled:function(e){var t=this,r=function(){t.currentState.invokeObserver(this,e)},n=function(){o["default"].scheduleOnce("render",this,r)};return n}});h.deprecateProperty(O.prototype,"state","_state"),h.deprecateProperty(O.prototype,"states","_states");var R=n["default"].extend(r["default"]).create();O.addMutationListener=function(e){R.on("change",e)},O.removeMutationListener=function(e){R.off("change",e)},O.notifyMutationListeners=function(){R.trigger("change")},O.views={},O.childViewsProperty=b.childViewsProperty,e["default"]=O,e.ViewKeywordSupport=v["default"],e.ViewStreamSupport=g["default"],e.ViewContextSupport=y["default"],e.ViewChildViewsSupport=b["default"],e.ViewStateSupport=_["default"],e.TemplateRenderingSupport=w["default"],e.ClassNamesSupport=x["default"],e.AttributeBindingsSupport=C["default"]}),e("ember-views/views/with_view",["exports","ember-metal/property_set","ember-views/views/metamorph_view","ember-views/mixins/normalized_rerender_if_needed","ember-metal/run_loop","ember-htmlbars/system/render-view"],function(e,t,r,n,i,a){"use strict";e["default"]=r["default"].extend(n["default"],{init:function(){this._super.apply(this,arguments);var e=this;this.withValue.subscribe(this._wrapAsScheduled(function(){i["default"].scheduleOnce("render",e,"rerenderIfNeeded")}));var r=this.controllerName;if(r){var n=this.container.lookupFactory("controller:"+r),a=n.create({parentController:this.previousContext,target:this.previousContext});this._generatedController=a,this.preserveContext?(this._blockArguments=[a],this.withValue.subscribe(function(e){t.set(a,"model",e.value())})):t.set(this,"controller",a),t.set(a,"model",this.withValue.value())}else this.preserveContext&&(this._blockArguments=[this.withValue])},normalizedValue:function(){return this.withValue.value()},render:function(e){var r=this.normalizedValue();this._lastNormalizedValue=r,this.preserveContext||this.controllerName||t.set(this,"_context",r);var n=r?this.mainTemplate:this.inverseTemplate;a["default"](this,e,n)},willDestroy:function(){this._super.apply(this,arguments),this._generatedController&&this._generatedController.destroy()}})}),e("ember",["ember-metal","ember-runtime","ember-views","ember-routing","ember-application","ember-extension-support","ember-htmlbars","ember-routing-htmlbars","ember-routing-views","ember-metal/environment","ember-runtime/system/lazy_load"],function(e,r,n,a,o,s,u,l,c,h,d){"use strict";i.__loader.registry["ember-template-compiler"]&&t("ember-template-compiler"),i.__loader.registry["ember-testing"]&&t("ember-testing"),d.runLoadHooks("Ember")}),e("htmlbars-util",["./htmlbars-util/safe-string","./htmlbars-util/handlebars/utils","./htmlbars-util/namespaces","exports"],function(e,t,r,n){"use strict";var i=e["default"],a=t.escapeExpression,o=r.getAttrNamespace;n.SafeString=i,n.escapeExpression=a,n.getAttrNamespace=o}),e("htmlbars-util/array-utils",["exports"],function(e){"use strict";function t(e,t,r){var n,i;if(void 0===r)for(n=0,i=e.length;i>n;n++)t(e[n],n,e);else for(n=0,i=e.length;i>n;n++)t.call(r,e[n],n,e)}function r(e,t){var r,n,i=[];for(r=0,n=e.length;n>r;r++)i.push(t(e[r],r,e));return i}e.forEach=t,e.map=r;var n;n=Array.prototype.indexOf?function(e,t,r){return e.indexOf(t,r)}:function(e,t,r){void 0===r||null===r?r=0:0>r&&(r=Math.max(0,e.length+r));for(var n=r,i=e.length;i>n;n++)if(e[n]===t)return n;return-1};var i=n;e.indexOfArray=i}),e("htmlbars-util/handlebars/safe-string",["exports"],function(e){"use strict";function t(e){this.string=e}t.prototype.toString=t.prototype.toHTML=function(){return""+this.string},e["default"]=t}),e("htmlbars-util/handlebars/utils",["./safe-string","exports"],function(e,t){"use strict";function r(e){return s[e]}function n(e){for(var t=1;t<arguments.length;t++)for(var r in arguments[t])Object.prototype.hasOwnProperty.call(arguments[t],r)&&(e[r]=arguments[t][r]);return e}function i(e){return e&&e.toHTML?e.toHTML():null==e?"":e?(e=""+e,l.test(e)?e.replace(u,r):e):e+""}function a(e){return e||0===e?d(e)&&0===e.length?!0:!1:!0}function o(e,t){return(e?e+".":"")+t}var s=(e["default"],{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"}),u=/[&<>"'`]/g,l=/[&<>"'`]/;t.extend=n;var c=Object.prototype.toString;t.toString=c;var h=function(e){return"function"==typeof e};h(/x/)&&(h=function(e){return"function"==typeof e&&"[object Function]"===c.call(e)});var h;t.isFunction=h;var d=Array.isArray||function(e){return e&&"object"==typeof e?"[object Array]"===c.call(e):!1};t.isArray=d,t.escapeExpression=i,t.isEmpty=a,t.appendContextPath=o}),e("htmlbars-util/namespaces",["exports"],function(e){"use strict";function t(e){var t,n=e.indexOf(":");if(-1!==n){var i=e.slice(0,n);t=r[i]}return t||null}var r={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"};e.getAttrNamespace=t}),e("htmlbars-util/object-utils",["exports"],function(e){"use strict";function t(e,t){for(var r in t)e.hasOwnProperty(r)||(e[r]=t[r]);return e}e.merge=t}),e("htmlbars-util/quoting",["exports"],function(e){"use strict";function t(e){return e=e.replace(/\\/g,"\\\\"),e=e.replace(/"/g,'\\"'),e=e.replace(/\n/g,"\\n")}function r(e){return'"'+t(e)+'"'}function n(e){return"["+e+"]"}function i(e){return"{"+e.join(", ")+"}"}function a(e,t){for(var r="";t--;)r+=e;return r}e.escapeString=t,e.string=r,e.array=n,e.hash=i,e.repeat=a}),e("htmlbars-util/safe-string",["./handlebars/safe-string","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=r}),e("morph-attr",["./morph-attr/sanitize-attribute-value","./dom-helper/prop","./dom-helper/build-html-dom","./htmlbars-util","exports"],function(e,t,r,n,i){"use strict";function a(e){this.domHelper.setPropertyStrict(this.element,this.attrName,e)}function o(e){c(e)?this.domHelper.removeAttribute(this.element,this.attrName):this.domHelper.setAttribute(this.element,this.attrName,e)}function s(e){c(e)?this.domHelper.removeAttribute(this.element,this.attrName):this.domHelper.setAttributeNS(this.element,this.namespace,this.attrName,e)}function u(e,t,r,n){this.element=e,this.domHelper=r,this.namespace=void 0!==n?n:f(t),this.escaped=!0;var i=h(this.element,t);this.namespace?(this._update=s,this.attrName=t):e.namespaceURI!==d&&"style"!==t&&i?(this.attrName=i,this._update=a):(this.attrName=t,this._update=o)}var l=e.sanitizeAttributeValue,c=t.isAttrRemovalValue,h=t.normalizeProperty,d=r.svgNamespace,f=n.getAttrNamespace;u.prototype.setContent=function(e){if(this.escaped){var t=l(this.domHelper,this.element,this.attrName,e);this._update(t,this.namespace)}else this._update(e,this.namespace)},i["default"]=u,i.sanitizeAttributeValue=l}),e("morph-attr/sanitize-attribute-value",["exports"],function(e){"use strict";function t(e,t,s,u){var l;if(l=t?t.tagName.toUpperCase():null,u&&u.toHTML)return u.toHTML();if((null===l||n[l])&&a[s]){var c=e.protocolForURL(u);if(r[c]===!0)return"unsafe:"+u}return i[l]&&o[s]?"unsafe:"+u:u}var r={"javascript:":!0,"vbscript:":!0},n={A:!0,BODY:!0,LINK:!0,IMG:!0,IFRAME:!0,BASE:!0},i={EMBED:!0},a={href:!0,src:!0,background:!0};e.badAttributes=a;var o={src:!0};e.sanitizeAttributeValue=t}),e("morph-range",["./morph-range/utils","exports"],function(e,t){"use strict";function r(e,t){this.domHelper=e,this.contextualElement=t,this.parseTextAsHTML=!1,this.firstNode=null,this.lastNode=null,this.parentMorph=null,this.firstChildMorph=null,this.lastChildMorph=null,this.previousMorph=null,this.nextMorph=null}function n(e){for(var t,r=e;(t=r.parentMorph)&&r===t.firstChildMorph&&r.firstNode!==t.firstNode;)t.firstNode=r.firstNode,r=t}function i(e){for(var t,r=e;(t=r.parentMorph)&&r===t.lastChildMorph&&r.lastNode!==t.lastNode;)t.lastNode=r.lastNode,r=t}var a=e.clear,o=e.insertBefore;r.prototype.setContent=function(e){if(null===e||void 0===e)return this.clear();var t=typeof e;switch(t){case"string":return this.parseTextAsHTML?this.setHTML(e):this.setText(e);case"object":if("number"==typeof e.nodeType)return this.setNode(e);if("string"==typeof e.string)return this.setHTML(e.string);if(this.parseTextAsHTML)return this.setHTML(e.toString());case"boolean":case"number":return this.setText(e.toString());default:throw new TypeError("unsupported content")}},r.prototype.clear=function(){return this.setNode(this.domHelper.createComment(""))},r.prototype.setText=function(e){var t=this.firstNode,r=this.lastNode;return t&&r===t&&3===t.nodeType?(t.nodeValue=e,t):this.setNode(e?this.domHelper.createTextNode(e):this.domHelper.createComment(""))},r.prototype.setNode=function(e){var t,r;switch(e.nodeType){case 3:t=e,r=e;break;case 11:t=e.firstChild,r=e.lastChild,null===t&&(t=this.domHelper.createComment(""),e.appendChild(t),r=t);break;default:t=e,r=e}var s=this.firstNode;if(null!==s){var u=s.parentNode;o(u,t,r,s),a(u,s,this.lastNode)}return this.firstNode=t,this.lastNode=r,this.parentMorph&&(n(this),i(this)),e},r.prototype.reset=function(){this.firstChildMorph=null,this.lastChildMorph=null},r.prototype.destroy=function(){var e=this.parentMorph,t=this.previousMorph,r=this.nextMorph,o=this.firstNode,s=this.lastNode,u=o&&o.parentNode;if(t?r?(t.nextMorph=r,r.previousMorph=t):(t.nextMorph=null,e&&(e.lastChildMorph=t)):r?(r.previousMorph=null,e&&(e.firstChildMorph=r)):e&&(e.lastChildMorph=e.firstChildMorph=null),this.parentMorph=null,this.firstNode=null,this.lastNode=null,e){if(!e.firstChildMorph)return void e.clear();n(e.firstChildMorph),i(e.lastChildMorph)}a(u,o,s)},r.prototype.setHTML=function(e){var t=this.domHelper.parseHTML(e,this.contextualElement);return this.setNode(t)},r.prototype.appendContent=function(e){return this.insertContentBeforeMorph(e,null)},r.prototype.insertContentBeforeMorph=function(e,t){var n=new r(this.domHelper,this.contextualElement);return n.setContent(e),this.insertBeforeMorph(n,t),n},r.prototype.appendMorph=function(e){this.insertBeforeMorph(e,null)},r.prototype.insertBeforeMorph=function(e,t){if(t&&t.parentMorph!==this)throw new Error("The morph before which the new morph is to be inserted is not a child of this morph.");e.parentMorph=this;var r=this.firstNode.parentNode;o(r,e.firstNode,e.lastNode,t?t.firstNode:this.lastNode.nextSibling),this.firstChildMorph||a(r,this.firstNode,this.lastNode);var s=t?t.previousMorph:this.lastChildMorph;s?(s.nextMorph=e,e.previousMorph=s):this.firstChildMorph=e,t?(t.previousMorph=e,e.nextMorph=t):this.lastChildMorph=e,n(this.firstChildMorph),i(this.lastChildMorph)},t["default"]=r}),e("morph-range/utils",["exports"],function(e){"use strict";function t(e,t,r){if(e){var n,i=t;do{if(n=i.nextSibling,e.removeChild(i),i===r)break;i=n}while(i)}}function r(e,t,r,n){var i,a=r,o=n;do{if(i=a.previousSibling,e.insertBefore(a,o),a===t)break;o=a,a=i}while(a)}e.clear=t,e.insertBefore=r}),e("route-recognizer",["./route-recognizer/dsl","exports"],function(e,t){"use strict";function r(e){return"[object Array]"===Object.prototype.toString.call(e)}function n(e){this.string=e}function i(e){this.name=e}function a(e){this.name=e}function o(){}function s(e,t,r){"/"===e.charAt(0)&&(e=e.substr(1));for(var s=e.split("/"),u=[],l=0,c=s.length;c>l;l++){var h,d=s[l];(h=d.match(/^:([^\/]+)$/))?(u.push(new i(h[1])),t.push(h[1]),r.dynamics++):(h=d.match(/^\*([^\/]+)$/))?(u.push(new a(h[1])),t.push(h[1]),r.stars++):""===d?u.push(new o):(u.push(new n(d)),r.statics++)}return u}function u(e){this.charSpec=e,this.nextStates=[]}function l(e){return e.sort(function(e,t){if(e.types.stars!==t.types.stars)return e.types.stars-t.types.stars;if(e.types.stars){if(e.types.statics!==t.types.statics)return t.types.statics-e.types.statics;if(e.types.dynamics!==t.types.dynamics)return t.types.dynamics-e.types.dynamics}return e.types.dynamics!==t.types.dynamics?e.types.dynamics-t.types.dynamics:e.types.statics!==t.types.statics?t.types.statics-e.types.statics:0})}function c(e,t){for(var r=[],n=0,i=e.length;i>n;n++){var a=e[n];r=r.concat(a.match(t))}return r}function h(e){this.queryParams=e||{}}function d(e,t,r){for(var n=e.handlers,i=e.regex,a=t.match(i),o=1,s=new h(r),u=0,l=n.length;l>u;u++){for(var c=n[u],d=c.names,f={},p=0,m=d.length;m>p;p++)f[d[p]]=a[o++];s.push({handler:c.handler,params:f,isDynamic:!!d.length})}return s}function f(e,t){return t.eachChar(function(t){e=e.put(t)}),e}function p(e){return e=e.replace(/\+/gm,"%20"),decodeURIComponent(e)}var m=e["default"],g=["/",".","*","+","?","|","(",")","[","]","{","}","\\"],v=new RegExp("(\\"+g.join("|\\")+")","g");n.prototype={eachChar:function(e){for(var t,r=this.string,n=0,i=r.length;i>n;n++)t=r.charAt(n),e({validChars:t})},regex:function(){return this.string.replace(v,"\\$1")},generate:function(){return this.string}},i.prototype={eachChar:function(e){e({invalidChars:"/",repeat:!0})},regex:function(){return"([^/]+)"},generate:function(e){return e[this.name]}},a.prototype={eachChar:function(e){e({invalidChars:"",repeat:!0})},regex:function(){return"(.+)"},generate:function(e){return e[this.name]}},o.prototype={eachChar:function(){},regex:function(){return""},generate:function(){return""}},u.prototype={get:function(e){for(var t=this.nextStates,r=0,n=t.length;n>r;r++){var i=t[r],a=i.charSpec.validChars===e.validChars;if(a=a&&i.charSpec.invalidChars===e.invalidChars)return i}},put:function(e){var t;return(t=this.get(e))?t:(t=new u(e),this.nextStates.push(t),e.repeat&&t.nextStates.push(t),t)},match:function(e){for(var t,r,n,i=this.nextStates,a=[],o=0,s=i.length;s>o;o++)t=i[o],r=t.charSpec,"undefined"!=typeof(n=r.validChars)?-1!==n.indexOf(e)&&a.push(t):"undefined"!=typeof(n=r.invalidChars)&&-1===n.indexOf(e)&&a.push(t);return a}};var y=Object.create||function(e){function t(){}return t.prototype=e,new t};h.prototype=y({splice:Array.prototype.splice,slice:Array.prototype.slice,push:Array.prototype.push,length:0,queryParams:null});var b=function(){this.rootState=new u,this.names={}};b.prototype={add:function(e,t){for(var r,n=this.rootState,i="^",a={statics:0,dynamics:0,stars:0},u=[],l=[],c=!0,h=0,d=e.length;d>h;h++){var p=e[h],m=[],g=s(p.path,m,a);l=l.concat(g);for(var v=0,y=g.length;y>v;v++){var b=g[v];b instanceof o||(c=!1,n=n.put({validChars:"/"}),i+="/",n=f(n,b),i+=b.regex())}var _={handler:p.handler,names:m};u.push(_)}c&&(n=n.put({validChars:"/"}),i+="/"),n.handlers=u,n.regex=new RegExp(i+"$"),n.types=a,(r=t&&t.as)&&(this.names[r]={segments:l,handlers:u})},handlersFor:function(e){var t=this.names[e],r=[];if(!t)throw new Error("There is no route named "+e);for(var n=0,i=t.handlers.length;i>n;n++)r.push(t.handlers[n]);return r},hasRoute:function(e){return!!this.names[e]},generate:function(e,t){var r=this.names[e],n="";if(!r)throw new Error("There is no route named "+e);for(var i=r.segments,a=0,s=i.length;s>a;a++){var u=i[a];u instanceof o||(n+="/",n+=u.generate(t))}return"/"!==n.charAt(0)&&(n="/"+n),t&&t.queryParams&&(n+=this.generateQueryString(t.queryParams,r.handlers)),n},generateQueryString:function(e,t){var n=[],i=[];for(var a in e)e.hasOwnProperty(a)&&i.push(a);i.sort();for(var o=0,s=i.length;s>o;o++){a=i[o];var u=e[a];if(null!=u){var l=encodeURIComponent(a);if(r(u))for(var c=0,h=u.length;h>c;c++){var d=a+"[]="+encodeURIComponent(u[c]);n.push(d)}else l+="="+encodeURIComponent(u),n.push(l)}}return 0===n.length?"":"?"+n.join("&")},parseQueryString:function(e){for(var t=e.split("&"),r={},n=0;n<t.length;n++){var i,a=t[n].split("="),o=p(a[0]),s=o.length,u=!1;1===a.length?i="true":(s>2&&"[]"===o.slice(s-2)&&(u=!0,o=o.slice(0,s-2),r[o]||(r[o]=[])),i=a[1]?p(a[1]):""),u?r[o].push(i):r[o]=i}return r},recognize:function(e){var t,r,n,i,a=[this.rootState],o={},s=!1;if(i=e.indexOf("?"),-1!==i){var u=e.substr(i+1,e.length);e=e.substr(0,i),o=this.parseQueryString(u)}for(e=decodeURI(e),"/"!==e.charAt(0)&&(e="/"+e),t=e.length,t>1&&"/"===e.charAt(t-1)&&(e=e.substr(0,t-1),s=!0),r=0,n=e.length;n>r&&(a=c(a,e.charAt(r)),a.length);r++);var h=[];for(r=0,n=a.length;n>r;r++)a[r].handlers&&h.push(a[r]);a=l(h);var f=h[0];return f&&f.handlers?(s&&"(.+)$"===f.regex.source.slice(-5)&&(e+="/"),d(f,e,o)):void 0}},b.prototype.map=m,b.VERSION="0.1.5",t["default"]=b}),e("route-recognizer/dsl",["exports"],function(e){"use strict";function t(e,t,r){this.path=e,this.matcher=t,this.delegate=r}function r(e){this.routes={},this.children={},this.target=e}function n(e,r,i){return function(a,o){var s=e+a;return o?void o(n(s,r,i)):new t(e+a,r,i)}}function i(e,t,r){for(var n=0,i=0,a=e.length;a>i;i++)n+=e[i].path.length;t=t.substr(n);var o={path:t,handler:r};e.push(o)}function a(e,t,r,n){var o=t.routes;for(var s in o)if(o.hasOwnProperty(s)){var u=e.slice();i(u,s,o[s]),t.children[s]?a(u,t.children[s],r,n):r.call(n,u)}}t.prototype={to:function(e,t){var r=this.delegate;if(r&&r.willAddRoute&&(e=r.willAddRoute(this.matcher.target,e)),this.matcher.add(this.path,e),t){if(0===t.length)throw new Error("You must have an argument in the function passed to `to`");this.matcher.addChild(this.path,e,t,this.delegate)}return this}},r.prototype={add:function(e,t){this.routes[e]=t},addChild:function(e,t,i,a){var o=new r(t);this.children[e]=o;var s=n(e,o,a);a&&a.contextEntered&&a.contextEntered(t,s),i(s)}},e["default"]=function(e,t){var i=new r;e(n("",i,this.delegate)),a([],i,function(e){t?t(this,e):this.add(e)},this)}}),e("router",["./router/router","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=r}),e("router/handler-info",["./utils","rsvp/promise","exports"],function(e,t,r){"use strict";function n(e){var t=e||{};o(this,t),this.initialize(t)}function i(e,t){if(!e^!t)return!1;if(!e)return!0;for(var r in e)if(e.hasOwnProperty(r)&&e[r]!==t[r])return!1;return!0}var a=e.bind,o=e.merge,s=(e.serialize,e.promiseLabel),u=e.applyHook,l=t["default"];n.prototype={name:null,handler:null,params:null,context:null,factory:null,initialize:function(){},log:function(e,t){e.log&&e.log(this.name+": "+t)},promiseLabel:function(e){return s("'"+this.name+"' "+e)},getUnresolved:function(){return this},serialize:function(){return this.params||{}},resolve:function(e,t){var r=a(this,this.checkForAbort,e),n=a(this,this.runBeforeModelHook,t),i=a(this,this.getModel,t),o=a(this,this.runAfterModelHook,t),s=a(this,this.becomeResolved,t);return l.resolve(void 0,this.promiseLabel("Start handler")).then(r,null,this.promiseLabel("Check for abort")).then(n,null,this.promiseLabel("Before model")).then(r,null,this.promiseLabel("Check if aborted during 'beforeModel' hook")).then(i,null,this.promiseLabel("Model")).then(r,null,this.promiseLabel("Check if aborted in 'model' hook")).then(o,null,this.promiseLabel("After model")).then(r,null,this.promiseLabel("Check if aborted in 'afterModel' hook")).then(s,null,this.promiseLabel("Become resolved"))},runBeforeModelHook:function(e){return e.trigger&&e.trigger(!0,"willResolveModel",e,this.handler),this.runSharedModelHook(e,"beforeModel",[])},runAfterModelHook:function(e,t){var r=this.name;return this.stashResolvedModel(e,t),this.runSharedModelHook(e,"afterModel",[t]).then(function(){return e.resolvedModels[r]},null,this.promiseLabel("Ignore fulfillment value and return model value"))},runSharedModelHook:function(e,t,r){this.log(e,"calling "+t+" hook"),this.queryParams&&r.push(this.queryParams),r.push(e);var n=u(this.handler,t,r);return n&&n.isTransition&&(n=null),l.resolve(n,this.promiseLabel("Resolve value returned from one of the model hooks"))},getModel:null,checkForAbort:function(e,t){return l.resolve(e(),this.promiseLabel("Check for abort")).then(function(){return t},null,this.promiseLabel("Ignore fulfillment value and continue"))},stashResolvedModel:function(e,t){e.resolvedModels=e.resolvedModels||{},e.resolvedModels[this.name]=t},becomeResolved:function(e,t){var r=this.serialize(t);return e&&(this.stashResolvedModel(e,t),e.params=e.params||{},e.params[this.name]=r),this.factory("resolved",{context:t,name:this.name,handler:this.handler,params:r})},shouldSupercede:function(e){if(!e)return!0;var t=e.context===this.context;return e.name!==this.name||this.hasOwnProperty("context")&&!t||this.hasOwnProperty("params")&&!i(this.params,e.params)}},r["default"]=n}),e("router/handler-info/factory",["router/handler-info/resolved-handler-info","router/handler-info/unresolved-handler-info-by-object","router/handler-info/unresolved-handler-info-by-param","exports"],function(e,t,r,n){"use strict";function i(e,t){var r=i.klasses[e],n=new r(t||{});return n.factory=i,n}var a=e["default"],o=t["default"],s=r["default"];i.klasses={resolved:a,param:s,object:o},n["default"]=i}),e("router/handler-info/resolved-handler-info",["../handler-info","router/utils","rsvp/promise","exports"],function(e,t,r,n){"use strict";var i=e["default"],a=t.subclass,o=(t.promiseLabel,r["default"]),s=a(i,{resolve:function(e,t){return t&&t.resolvedModels&&(t.resolvedModels[this.name]=this.context),o.resolve(this,this.promiseLabel("Resolve"))},getUnresolved:function(){return this.factory("param",{name:this.name,handler:this.handler,params:this.params})},isResolved:!0});n["default"]=s}),e("router/handler-info/unresolved-handler-info-by-object",["../handler-info","router/utils","rsvp/promise","exports"],function(e,t,r,n){"use strict";var i=e["default"],a=(t.merge,t.subclass),o=(t.promiseLabel,t.isParam),s=r["default"],u=a(i,{getModel:function(e){return this.log(e,this.name+": resolving provided model"),s.resolve(this.context)},initialize:function(e){this.names=e.names||[],this.context=e.context},serialize:function(e){var t=e||this.context,r=this.names,n=this.handler,i={};if(o(t))return i[r[0]]=t,i;if(n.serialize)return n.serialize(t,r);if(1===r.length){var a=r[0];return i[a]=/_id$/.test(a)?t.id:t,i}}});n["default"]=u}),e("router/handler-info/unresolved-handler-info-by-param",["../handler-info","router/utils","exports"],function(e,t,r){"use strict";var n=e["default"],i=t.resolveHook,a=t.merge,o=t.subclass,s=(t.promiseLabel,o(n,{initialize:function(e){this.params=e.params||{}},getModel:function(e){var t=this.params;e&&e.queryParams&&(t={},a(t,this.params),t.queryParams=e.queryParams);var r=this.handler,n=i(r,"deserialize")||i(r,"model");return this.runSharedModelHook(e,n,[t])}}));r["default"]=s}),e("router/router",["route-recognizer","rsvp/promise","./utils","./transition-state","./transition","./transition-intent/named-transition-intent","./transition-intent/url-transition-intent","./handler-info","exports"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(e){var t=e||{};this.getHandler=t.getHandler||this.getHandler,this.updateURL=t.updateURL||this.updateURL,this.replaceURL=t.replaceURL||this.replaceURL,this.didTransition=t.didTransition||this.didTransition,this.willTransition=t.willTransition||this.willTransition,this.delegate=t.delegate||this.delegate,this.triggerEvent=t.triggerEvent||this.triggerEvent,this.log=t.log||this.log,this.recognizer=new w,this.reset()}function c(e,t){var r,n=!!this.activeTransition,i=n?this.activeTransition.state:this.state,a=e.applyToState(i,this.recognizer,this.getHandler,t),o=O(i.queryParams,a.queryParams);return y(a.handlerInfos,i.handlerInfos)?o&&(r=this.queryParamsTransition(o,n,i,a))?r:this.activeTransition||new D(this):t?void d(this,a):(r=new D(this,e,a),this.activeTransition&&this.activeTransition.abort(),this.activeTransition=r,r.promise=r.promise.then(function(e){return g(r,e.state)},null,R("Settle transition promise when transition is finalized")),n||_(this,a,r),h(this,a,o),r)}function h(e,t,r){r&&(e._changedQueryParams=r.all,C(e,t.handlerInfos,!0,["queryParamsDidChange",r.changed,r.all,r.removed]),e._changedQueryParams=null)}function d(e,t,r){var n,i,a,o=p(e.state,t);for(n=0,i=o.exited.length;i>n;n++)a=o.exited[n].handler,delete a.context,P(a,"reset",!0,r),P(a,"exit",r);var s=e.oldState=e.state;e.state=t;var u=e.currentHandlerInfos=o.unchanged.slice();try{for(n=0,i=o.reset.length;i>n;n++)a=o.reset[n].handler,P(a,"reset",!1,r);for(n=0,i=o.updatedContext.length;i>n;n++)f(u,o.updatedContext[n],!1,r);for(n=0,i=o.entered.length;i>n;n++)f(u,o.entered[n],!0,r)}catch(l){throw e.state=s,e.currentHandlerInfos=s.handlerInfos,l}e.state.queryParams=b(e,u,t.queryParams,r)}function f(e,t,r,n){var i=t.handler,a=t.context;if(r&&P(i,"enter",n),n&&n.isAborted)throw new F;if(i.context=a,P(i,"contextDidChange"),P(i,"setup",a,n),n&&n.isAborted)throw new F;return e.push(t),!0}function p(e,t){var r,n,i,a=e.handlerInfos,o=t.handlerInfos,s={updatedContext:[],exited:[],entered:[],unchanged:[]},u=!1;for(n=0,i=o.length;i>n;n++){var l=a[n],c=o[n];l&&l.handler===c.handler||(r=!0),r?(s.entered.push(c),l&&s.exited.unshift(l)):u||l.context!==c.context?(u=!0,s.updatedContext.push(c)):s.unchanged.push(l)}for(n=o.length,i=a.length;i>n;n++)s.exited.unshift(a[n]);return s.reset=s.updatedContext.slice(),s.reset.reverse(),s}function m(e,t,r){var n=e.urlMethod;if(n){for(var i=e.router,a=t.handlerInfos,o=a[a.length-1].name,s={},u=a.length-1;u>=0;--u){var l=a[u];k(s,l.params),l.handler.inaccessibleByURL&&(n=null)}if(n){s.queryParams=e._visibleQueryParams||t.queryParams;var c=i.recognizer.generate(o,s);"replace"===n?i.replaceURL(c):i.updateURL(c)}}}function g(e,t){try{E(e.router,e.sequence,"Resolved all models on destination route; finalizing transition.");{var r=e.router,n=t.handlerInfos;e.sequence}return d(r,t,e),e.isAborted?(r.state.handlerInfos=r.currentHandlerInfos,x.reject(M(e))):(m(e,t,e.intent.url),e.isActive=!1,r.activeTransition=null,C(r,r.currentHandlerInfos,!0,["didTransition"]),r.didTransition&&r.didTransition(r.currentHandlerInfos),E(r,e.sequence,"TRANSITION COMPLETE."),n[n.length-1].handler)}catch(i){if(!(i instanceof F)){var a=e.state.handlerInfos;e.trigger(!0,"error",i,e,a[a.length-1].handler),e.abort()}throw i}}function v(e,t,r){var n=t[0]||"/",i=t[t.length-1],a={};i&&i.hasOwnProperty("queryParams")&&(a=L.call(t).queryParams);var o;if(0===t.length){E(e,"Updating query params");var s=e.state.handlerInfos;o=new j({name:s[s.length-1].name,contexts:[],queryParams:a})}else"/"===n.charAt(0)?(E(e,"Attempting URL transition to "+n),o=new I({url:n})):(E(e,"Attempting transition to "+n),o=new j({name:t[0],contexts:S.call(t,1),queryParams:a}));return e.transitionByIntent(o,r)}function y(e,t){if(e.length!==t.length)return!1;for(var r=0,n=e.length;n>r;++r)if(e[r]!==t[r])return!1;return!0}function b(e,t,r,n){for(var i in r)r.hasOwnProperty(i)&&null===r[i]&&delete r[i];var a=[];C(e,t,!0,["finalizeQueryParamChange",r,a,n]),n&&(n._visibleQueryParams={});for(var o={},s=0,u=a.length;u>s;++s){var l=a[s];o[l.key]=l.value,n&&l.visible!==!1&&(n._visibleQueryParams[l.key]=l.value)}return o}function _(e,t,r){var n,i,a,o,s,u,l=e.state.handlerInfos,c=[],h=null;for(o=l.length,a=0;o>a;a++){if(s=l[a],u=t.handlerInfos[a],!u||s.name!==u.name){h=a;break}u.isResolved||c.push(s)}null!==h&&(n=l.slice(h,o),i=function(e){for(var t=0,r=n.length;r>t;t++)if(n[t].name===e)return!0;return!1}),C(e,l,!0,["willTransition",r]),e.willTransition&&e.willTransition(l,t.handlerInfos,r)}var w=e["default"],x=t["default"],C=r.trigger,E=r.log,S=r.slice,T=r.forEach,k=r.merge,A=(r.serialize,r.extractQueryParams),O=r.getChangelist,R=r.promiseLabel,P=r.callHook,N=n["default"],M=i.logAbort,D=i.Transition,F=i.TransitionAborted,j=a["default"],I=o["default"],L=(s.ResolvedHandlerInfo,Array.prototype.pop);l.prototype={map:function(e){this.recognizer.delegate=this.delegate,this.recognizer.map(e,function(e,t){for(var r=t.length-1,n=!0;r>=0&&n;--r){var i=t[r];e.add(t,{as:i.handler}),n="/"===i.path||""===i.path||".index"===i.handler.slice(-6)}})},hasRoute:function(e){return this.recognizer.hasRoute(e)},getHandler:function(){},queryParamsTransition:function(e,t,r,n){var i=this;if(h(this,n,e),!t&&this.activeTransition)return this.activeTransition;var a=new D(this);return a.queryParamsOnly=!0,r.queryParams=b(this,n.handlerInfos,n.queryParams,a),a.promise=a.promise.then(function(e){return m(a,r,!0),i.didTransition&&i.didTransition(i.currentHandlerInfos),e},null,R("Transition complete")),a},transitionByIntent:function(e,t){try{return c.apply(this,arguments)}catch(r){return new D(this,e,null,r)}},reset:function(){this.state&&T(this.state.handlerInfos.slice().reverse(),function(e){var t=e.handler;P(t,"exit")}),this.state=new N,this.currentHandlerInfos=null},activeTransition:null,handleURL:function(e){var t=S.call(arguments);return"/"!==e.charAt(0)&&(t[0]="/"+e),v(this,t).method(null)},updateURL:function(){throw new Error("updateURL is not implemented")},replaceURL:function(e){this.updateURL(e)},transitionTo:function(e){return v(this,arguments)},intermediateTransitionTo:function(e){return v(this,arguments,!0)},refresh:function(e){for(var t=this.activeTransition?this.activeTransition.state:this.state,r=t.handlerInfos,n={},i=0,a=r.length;a>i;++i){var o=r[i];n[o.name]=o.params||{}}E(this,"Starting a refresh transition");var s=new j({name:r[r.length-1].name,pivotHandler:e||r[0].handler,contexts:[],queryParams:this._changedQueryParams||t.queryParams||{}});return this.transitionByIntent(s,!1)},replaceWith:function(e){return v(this,arguments).method("replace")},generate:function(e){for(var t=A(S.call(arguments,1)),r=t[0],n=t[1],i=new j({name:e,contexts:r}),a=i.applyToState(this.state,this.recognizer,this.getHandler),o={},s=0,u=a.handlerInfos.length;u>s;++s){var l=a.handlerInfos[s],c=l.serialize();k(o,c)}return o.queryParams=n,this.recognizer.generate(e,o)},applyIntent:function(e,t){var r=new j({name:e,contexts:t}),n=this.activeTransition&&this.activeTransition.state||this.state;return r.applyToState(n,this.recognizer,this.getHandler)},isActiveIntent:function(e,t,r,n){var i,a,o=n||this.state,s=o.handlerInfos;if(!s.length)return!1;var u=s[s.length-1].name,l=this.recognizer.handlersFor(u),c=0;for(a=l.length;a>c&&(i=s[c],i.name!==e);++c);if(c===l.length)return!1;var h=new N;h.handlerInfos=s.slice(0,c+1),l=l.slice(0,c+1);var d=new j({name:u,contexts:t}),f=d.applyToHandlers(h,l,this.getHandler,u,!0,!0),p=y(f.handlerInfos,h.handlerInfos);if(!r||!p)return p;var m={};k(m,r);var g=o.queryParams;for(var v in g)g.hasOwnProperty(v)&&m.hasOwnProperty(v)&&(m[v]=g[v]);return p&&!O(m,r)},isActive:function(e){var t=A(S.call(arguments,1));return this.isActiveIntent(e,t[0],t[1])},trigger:function(e){var t=S.call(arguments);C(this,this.currentHandlerInfos,!1,t)},log:null},u["default"]=l}),e("router/transition-intent",["./utils","exports"],function(e,t){
+"use strict";function r(e){this.initialize(e),this.data=this.data||{}}e.merge;r.prototype={initialize:null,applyToState:null},t["default"]=r}),e("router/transition-intent/named-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","exports"],function(e,t,r,n,i){"use strict";var a=e["default"],o=t["default"],s=r["default"],u=n.isParam,l=n.extractQueryParams,c=n.merge,h=n.subclass;i["default"]=h(a,{name:null,pivotHandler:null,contexts:null,queryParams:null,initialize:function(e){this.name=e.name,this.pivotHandler=e.pivotHandler,this.contexts=e.contexts||[],this.queryParams=e.queryParams},applyToState:function(e,t,r,n){var i=l([this.name].concat(this.contexts)),a=i[0],o=(i[1],t.handlersFor(a[0])),s=o[o.length-1].handler;return this.applyToHandlers(e,o,r,s,n)},applyToHandlers:function(e,t,r,n,i,a){var s,u,l=new o,h=this.contexts.slice(0),d=t.length;if(this.pivotHandler)for(s=0,u=t.length;u>s;++s)if(r(t[s].handler)===this.pivotHandler){d=s;break}!this.pivotHandler;for(s=t.length-1;s>=0;--s){var f=t[s],p=f.handler,m=r(p),g=e.handlerInfos[s],v=null;if(v=f.names.length>0?s>=d?this.createParamHandlerInfo(p,m,f.names,h,g):this.getHandlerInfoForDynamicSegment(p,m,f.names,h,g,n,s):this.createParamHandlerInfo(p,m,f.names,h,g),a){v=v.becomeResolved(null,v.context);var y=g&&g.context;f.names.length>0&&v.context===y&&(v.params=g&&g.params),v.context=y}var b=g;(s>=d||v.shouldSupercede(g))&&(d=Math.min(s,d),b=v),i&&!a&&(b=b.becomeResolved(null,b.context)),l.handlerInfos.unshift(b)}if(h.length>0)throw new Error("More context objects were passed than there are dynamic segments for the route: "+n);return i||this.invalidateChildren(l.handlerInfos,d),c(l.queryParams,this.queryParams||{}),l},invalidateChildren:function(e,t){for(var r=t,n=e.length;n>r;++r){{e[r]}e[r]=e[r].getUnresolved()}},getHandlerInfoForDynamicSegment:function(e,t,r,n,i,a,o){{var l;r.length}if(n.length>0){if(l=n[n.length-1],u(l))return this.createParamHandlerInfo(e,t,r,n,i);n.pop()}else{if(i&&i.name===e)return i;if(!this.preTransitionState)return i;var c=this.preTransitionState.handlerInfos[o];l=c&&c.context}return s("object",{name:e,handler:t,context:l,names:r})},createParamHandlerInfo:function(e,t,r,n,i){for(var a={},o=r.length;o--;){var l=i&&e===i.name&&i.params||{},c=n[n.length-1],h=r[o];if(u(c))a[h]=""+n.pop();else{if(!l.hasOwnProperty(h))throw new Error("You didn't provide enough string/numeric parameters to satisfy all of the dynamic segments for route "+e);a[h]=l[h]}}return s("param",{name:e,handler:t,params:a})}})}),e("router/transition-intent/url-transition-intent",["../transition-intent","../transition-state","../handler-info/factory","../utils","./../unrecognized-url-error","exports"],function(e,t,r,n,i,a){"use strict";var o=e["default"],s=t["default"],u=r["default"],l=(n.oCreate,n.merge),c=n.subclass,h=i["default"];a["default"]=c(o,{url:null,initialize:function(e){this.url=e.url},applyToState:function(e,t,r){var n,i,a=new s,o=t.recognize(this.url);if(!o)throw new h(this.url);var c=!1;for(n=0,i=o.length;i>n;++n){var d=o[n],f=d.handler,p=r(f);if(p.inaccessibleByURL)throw new h(this.url);var m=u("param",{name:f,handler:p,params:d.params}),g=e.handlerInfos[n];c||m.shouldSupercede(g)?(c=!0,a.handlerInfos[n]=m):a.handlerInfos[n]=g}return l(a.queryParams,o.queryParams),a}})}),e("router/transition-state",["./handler-info","./utils","rsvp/promise","exports"],function(e,t,r,n){"use strict";function i(e){this.handlerInfos=[],this.queryParams={},this.params={}}var a=(e.ResolvedHandlerInfo,t.forEach),o=t.promiseLabel,s=t.callHook,u=r["default"];i.prototype={handlerInfos:null,queryParams:null,params:null,promiseLabel:function(e){var t="";return a(this.handlerInfos,function(e){""!==t&&(t+="."),t+=e.name}),o("'"+t+"': "+e)},resolve:function(e,t){function r(){return u.resolve(e(),c.promiseLabel("Check if should continue"))["catch"](function(e){return h=!0,u.reject(e)},c.promiseLabel("Handle abort"))}function n(e){var r=c.handlerInfos,n=t.resolveIndex>=r.length?r.length-1:t.resolveIndex;return u.reject({error:e,handlerWithError:c.handlerInfos[n].handler,wasAborted:h,state:c})}function i(e){var n=c.handlerInfos[t.resolveIndex].isResolved;if(c.handlerInfos[t.resolveIndex++]=e,!n){var i=e.handler;s(i,"redirect",e.context,t)}return r().then(o,null,c.promiseLabel("Resolve handler"))}function o(){if(t.resolveIndex===c.handlerInfos.length)return{error:null,state:c};var e=c.handlerInfos[t.resolveIndex];return e.resolve(r,t).then(i,null,c.promiseLabel("Proceed"))}var l=this.params;a(this.handlerInfos,function(e){l[e.name]=e.params||{}}),t=t||{},t.resolveIndex=0;var c=this,h=!1;return u.resolve(null,this.promiseLabel("Start transition")).then(o,null,this.promiseLabel("Resolve handler"))["catch"](n,this.promiseLabel("Handle error"))}},n["default"]=i}),e("router/transition",["rsvp/promise","./handler-info","./utils","exports"],function(e,t,r,n){"use strict";function i(e,t,r,n){function o(){return u.isAborted?s.reject(void 0,h("Transition aborted - reject")):void 0}var u=this;if(this.state=r||e.state,this.intent=t,this.router=e,this.data=this.intent&&this.intent.data||{},this.resolvedModels={},this.queryParams={},n)return this.promise=s.reject(n),void(this.error=n);if(r){this.params=r.params,this.queryParams=r.queryParams,this.handlerInfos=r.handlerInfos;var l=r.handlerInfos.length;l&&(this.targetName=r.handlerInfos[l-1].name);for(var c=0;l>c;++c){var d=r.handlerInfos[c];if(!d.isResolved)break;this.pivotHandler=d.handler}this.sequence=i.currentSequence++,this.promise=r.resolve(o,this)["catch"](function(e){return e.wasAborted||u.isAborted?s.reject(a(u)):(u.trigger("error",e.error,u,e.handlerWithError),u.abort(),s.reject(e.error))},h("Handle Abort"))}else this.promise=s.resolve(this.state),this.params={}}function a(e){return c(e.router,e.sequence,"detected abort."),new o}function o(e){this.message=e||"TransitionAborted",this.name="TransitionAborted"}var s=e["default"],u=(t.ResolvedHandlerInfo,r.trigger),l=r.slice,c=r.log,h=r.promiseLabel;i.currentSequence=0,i.prototype={targetName:null,urlMethod:"update",intent:null,params:null,pivotHandler:null,resolveIndex:0,handlerInfos:null,resolvedModels:null,isActive:!0,state:null,queryParamsOnly:!1,isTransition:!0,isExiting:function(e){for(var t=this.handlerInfos,r=0,n=t.length;n>r;++r){var i=t[r];if(i.name===e||i.handler===e)return!1}return!0},promise:null,data:null,then:function(e,t,r){return this.promise.then(e,t,r)},"catch":function(e,t){return this.promise["catch"](e,t)},"finally":function(e,t){return this.promise["finally"](e,t)},abort:function(){return this.isAborted?this:(c(this.router,this.sequence,this.targetName+": transition was aborted"),this.intent.preTransitionState=this.router.state,this.isAborted=!0,this.isActive=!1,this.router.activeTransition=null,this)},retry:function(){return this.abort(),this.router.transitionByIntent(this.intent,!1)},method:function(e){return this.urlMethod=e,this},trigger:function(e){var t=l.call(arguments);"boolean"==typeof e?t.shift():e=!1,u(this.router,this.state.handlerInfos.slice(0,this.resolveIndex+1),e,t)},followRedirects:function(){var e=this.router;return this.promise["catch"](function(t){return e.activeTransition?e.activeTransition.followRedirects():s.reject(t)})},toString:function(){return"Transition (sequence "+this.sequence+")"},log:function(e){c(this.router,this.sequence,e)}},i.prototype.send=i.prototype.trigger,n.Transition=i,n.logAbort=a,n.TransitionAborted=o}),e("router/unrecognized-url-error",["./utils","exports"],function(e,t){"use strict";function r(e){this.message=e||"UnrecognizedURLError",this.name="UnrecognizedURLError",Error.call(this)}var n=e.oCreate;r.prototype=n(Error.prototype),t["default"]=r}),e("router/utils",["exports"],function(e){"use strict";function t(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])}function r(e){var t,r,n=e&&e.length;return n&&n>0&&e[n-1]&&e[n-1].hasOwnProperty("queryParams")?(r=e[n-1].queryParams,t=g.call(e,0,n-1),[t,r]):[e,null]}function n(e){for(var t in e)if("number"==typeof e[t])e[t]=""+e[t];else if(v(e[t]))for(var r=0,n=e[t].length;n>r;r++)e[t][r]=""+e[t][r]}function i(e,t,r){e.log&&(3===arguments.length?e.log("Transition #"+t+": "+r):(r=t,e.log(r)))}function a(e,t){var r=arguments;return function(n){var i=g.call(r,2);return i.push(n),t.apply(e,i)}}function o(e){return"string"==typeof e||e instanceof String||"number"==typeof e||e instanceof Number}function s(e,t){for(var r=0,n=e.length;n>r&&!1!==t(e[r]);r++);}function u(e,t,r,n){if(e.triggerEvent)return void e.triggerEvent(t,r,n);var i=n.shift();if(!t){if(r)return;throw new Error("Could not trigger event '"+i+"'. There are no active handlers")}for(var a=!1,o=t.length-1;o>=0;o--){var s=t[o],u=s.handler;if(u.events&&u.events[i]){if(u.events[i].apply(u,n)!==!0)return;a=!0}}if(!a&&!r)throw new Error("Nothing handled the event '"+i+"'.")}function l(e,r){var i,a={all:{},changed:{},removed:{}};t(a.all,r);var o=!1;n(e),n(r);for(i in e)e.hasOwnProperty(i)&&(r.hasOwnProperty(i)||(o=!0,a.removed[i]=e[i]));for(i in r)if(r.hasOwnProperty(i))if(v(e[i])&&v(r[i]))if(e[i].length!==r[i].length)a.changed[i]=r[i],o=!0;else for(var s=0,u=e[i].length;u>s;s++)e[i][s]!==r[i][s]&&(a.changed[i]=r[i],o=!0);else e[i]!==r[i]&&(a.changed[i]=r[i],o=!0);return o&&a}function c(e){return"Router: "+e}function h(e,r){function n(t){e.call(this,t||{})}return n.prototype=y(e.prototype),t(n.prototype,r),n}function d(e,t){if(e){var r="_"+t;return e[r]&&r||e[t]&&t}}function f(e,t,r,n){var i=d(e,t);return i&&e[i].call(e,r,n)}function p(e,t,r){var n=d(e,t);return n?0===r.length?e[n].call(e):1===r.length?e[n].call(e,r[0]):2===r.length?e[n].call(e,r[0],r[1]):e[n].apply(e,r):void 0}var m,g=Array.prototype.slice;m=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var v=m;e.isArray=v;var y=Object.create||function(e){function t(){}return t.prototype=e,new t};e.oCreate=y,e.extractQueryParams=r,e.log=i,e.bind=a,e.forEach=s,e.trigger=u,e.getChangelist=l,e.promiseLabel=c,e.subclass=h,e.merge=t,e.slice=g,e.isParam=o,e.coerceQueryParamsToString=n,e.callHook=f,e.resolveHook=d,e.applyHook=p}),e("rsvp",["./rsvp/promise","./rsvp/events","./rsvp/node","./rsvp/all","./rsvp/all-settled","./rsvp/race","./rsvp/hash","./rsvp/hash-settled","./rsvp/rethrow","./rsvp/defer","./rsvp/config","./rsvp/map","./rsvp/resolve","./rsvp/reject","./rsvp/filter","./rsvp/asap","exports"],function(e,t,r,n,i,a,o,s,u,l,c,h,d,f,p,m,g){"use strict";function v(e,t){R.async(e,t)}function y(){R.on.apply(R,arguments)}function b(){R.off.apply(R,arguments)}var _=e["default"],w=t["default"],x=r["default"],C=n["default"],E=i["default"],S=a["default"],T=o["default"],k=s["default"],A=u["default"],O=l["default"],R=c.config,P=c.configure,N=h["default"],M=d["default"],D=f["default"],F=p["default"],j=m["default"];R.async=j;var I=M;if("undefined"!=typeof window&&"object"==typeof window.__PROMISE_INSTRUMENTATION__){var L=window.__PROMISE_INSTRUMENTATION__;P("instrument",!0);for(var V in L)L.hasOwnProperty(V)&&y(V,L[V])}g.cast=I,g.Promise=_,g.EventTarget=w,g.all=C,g.allSettled=E,g.race=S,g.hash=T,g.hashSettled=k,g.rethrow=A,g.defer=O,g.denodeify=x,g.configure=P,g.on=y,g.off=b,g.resolve=M,g.reject=D,g.async=v,g.map=N,g.filter=F}),e("rsvp.umd",["./rsvp"],function(t){"use strict";var r=t.Promise,n=t.allSettled,i=t.hash,a=t.hashSettled,o=t.denodeify,s=t.on,u=t.off,l=t.map,c=t.filter,h=t.resolve,d=t.reject,f=t.rethrow,p=t.all,m=t.defer,g=t.EventTarget,v=t.configure,y=t.race,b=t.async,_={race:y,Promise:r,allSettled:n,hash:i,hashSettled:a,denodeify:o,on:s,off:u,map:l,filter:c,resolve:h,reject:d,all:p,rethrow:f,defer:m,EventTarget:g,configure:v,async:b};"function"==typeof e&&e.amd?e(function(){return _}):"undefined"!=typeof module&&module.exports?module.exports=_:"undefined"!=typeof this&&(this.RSVP=_)}),e("rsvp/-internal",["./utils","./instrument","./config","exports"],function(e,t,r,n){"use strict";function i(){return new TypeError("A promises callback cannot return that same promise.")}function a(){}function o(e){try{return e.then}catch(t){return A.error=t,A}}function s(e,t,r,n){try{e.call(t,r,n)}catch(i){return i}}function u(e,t,r){E.async(function(e){var n=!1,i=s(r,t,function(r){n||(n=!0,t!==r?h(e,r):f(e,r))},function(t){n||(n=!0,p(e,t))},"Settle: "+(e._label||" unknown promise"));!n&&i&&(n=!0,p(e,i))},e)}function l(e,t){t._state===T?f(e,t._result):e._state===k?p(e,t._result):m(t,void 0,function(r){t!==r?h(e,r):f(e,r)},function(t){p(e,t)})}function c(e,t){if(t.constructor===e.constructor)l(e,t);else{var r=o(t);r===A?p(e,A.error):void 0===r?f(e,t):x(r)?u(e,t,r):f(e,t)}}function h(e,t){e===t?f(e,t):w(t)?c(e,t):f(e,t)}function d(e){e._onerror&&e._onerror(e._result),g(e)}function f(e,t){e._state===S&&(e._result=t,e._state=T,0===e._subscribers.length?E.instrument&&C("fulfilled",e):E.async(g,e))}function p(e,t){e._state===S&&(e._state=k,e._result=t,E.async(d,e))}function m(e,t,r,n){var i=e._subscribers,a=i.length;e._onerror=null,i[a]=t,i[a+T]=r,i[a+k]=n,0===a&&e._state&&E.async(g,e)}function g(e){var t=e._subscribers,r=e._state;if(E.instrument&&C(r===T?"fulfilled":"rejected",e),0!==t.length){for(var n,i,a=e._result,o=0;o<t.length;o+=3)n=t[o],i=t[o+r],n?b(r,n,i,a):i(a);e._subscribers.length=0}}function v(){this.error=null}function y(e,t){try{return e(t)}catch(r){return O.error=r,O}}function b(e,t,r,n){var a,o,s,u,l=x(r);if(l){if(a=y(r,n),a===O?(u=!0,o=a.error,a=null):s=!0,t===a)return void p(t,i())}else a=n,s=!0;t._state!==S||(l&&s?h(t,a):u?p(t,o):e===T?f(t,a):e===k&&p(t,a))}function _(e,t){try{t(function(t){h(e,t)},function(t){p(e,t)})}catch(r){p(e,r)}}var w=e.objectOrFunction,x=e.isFunction,C=t["default"],E=r.config,S=void 0,T=1,k=2,A=new v,O=new v;n.noop=a,n.resolve=h,n.reject=p,n.fulfill=f,n.subscribe=m,n.publish=g,n.publishRejection=d,n.initializePromise=_,n.invokeCallback=b,n.FULFILLED=T,n.REJECTED=k,n.PENDING=S}),e("rsvp/all-settled",["./enumerator","./promise","./utils","exports"],function(e,t,r,n){"use strict";function i(e,t,r){this._superConstructor(e,t,!1,r)}var a=e["default"],o=e.makeSettledResult,s=t["default"],u=r.o_create;i.prototype=u(a.prototype),i.prototype._superConstructor=a,i.prototype._makeResult=o,i.prototype._validationError=function(){return new Error("allSettled must be called with an array")},n["default"]=function(e,t){return new i(s,e,t).promise}}),e("rsvp/all",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.all(e,t)}}),e("rsvp/asap",["exports"],function(e){"use strict";function t(){return function(){process.nextTick(s)}}function n(){return function(){vertxNext(s)}}function i(){var e=0,t=new f(s),r=document.createTextNode("");return t.observe(r,{characterData:!0}),function(){r.data=e=++e%2}}function a(){var e=new MessageChannel;return e.port1.onmessage=s,function(){e.port2.postMessage(0)}}function o(){return function(){setTimeout(s,1)}}function s(){for(var e=0;l>e;e+=2){var t=m[e],r=m[e+1];t(r),m[e]=void 0,m[e+1]=void 0}l=0}function u(){try{{var e=r("vertx");e.runOnLoop||e.runOnContext}return n()}catch(t){return o()}}var l=0;e["default"]=function(e,t){m[l]=e,m[l+1]=t,l+=2,2===l&&c()};var c,h="undefined"!=typeof window?window:void 0,d=h||{},f=d.MutationObserver||d.WebKitMutationObserver,p="undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof importScripts&&"undefined"!=typeof MessageChannel,m=new Array(1e3);c="undefined"!=typeof process&&"[object process]"==={}.toString.call(process)?t():f?i():p?a():void 0===h&&"function"==typeof r?u():o()}),e("rsvp/config",["./events","exports"],function(e,t){"use strict";function r(e,t){return"onerror"===e?void i.on("error",t):2!==arguments.length?i[e]:void(i[e]=t)}var n=e["default"],i={instrument:!1};n.mixin(i),t.config=i,t.configure=r}),e("rsvp/defer",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e){var t={};return t.promise=new r(function(e,r){t.resolve=e,t.reject=r},e),t}}),e("rsvp/enumerator",["./utils","./-internal","exports"],function(e,t,r){"use strict";function n(e,t,r){return e===h?{state:"fulfilled",value:r}:{state:"rejected",reason:r}}function i(e,t,r,n){this._instanceConstructor=e,this.promise=new e(s,n),this._abortOnReject=r,this._validateInput(t)?(this._input=t,this.length=t.length,this._remaining=t.length,this._init(),0===this.length?l(this.promise,this._result):(this.length=this.length||0,this._enumerate(),0===this._remaining&&l(this.promise,this._result))):u(this.promise,this._validationError())}var a=e.isArray,o=e.isMaybeThenable,s=t.noop,u=t.reject,l=t.fulfill,c=t.subscribe,h=t.FULFILLED,d=t.REJECTED,f=t.PENDING;r.makeSettledResult=n,i.prototype._validateInput=function(e){return a(e)},i.prototype._validationError=function(){return new Error("Array Methods must be provided an Array")},i.prototype._init=function(){this._result=new Array(this.length)},r["default"]=i,i.prototype._enumerate=function(){for(var e=this.length,t=this.promise,r=this._input,n=0;t._state===f&&e>n;n++)this._eachEntry(r[n],n)},i.prototype._eachEntry=function(e,t){var r=this._instanceConstructor;o(e)?e.constructor===r&&e._state!==f?(e._onerror=null,this._settledAt(e._state,t,e._result)):this._willSettleAt(r.resolve(e),t):(this._remaining--,this._result[t]=this._makeResult(h,t,e))},i.prototype._settledAt=function(e,t,r){var n=this.promise;n._state===f&&(this._remaining--,this._abortOnReject&&e===d?u(n,r):this._result[t]=this._makeResult(e,t,r)),0===this._remaining&&l(n,this._result)},i.prototype._makeResult=function(e,t,r){return r},i.prototype._willSettleAt=function(e,t){var r=this;c(e,void 0,function(e){r._settledAt(h,t,e)},function(e){r._settledAt(d,t,e)})}}),e("rsvp/events",["exports"],function(e){"use strict";function t(e,t){for(var r=0,n=e.length;n>r;r++)if(e[r]===t)return r;return-1}function r(e){var t=e._promiseCallbacks;return t||(t=e._promiseCallbacks={}),t}e["default"]={mixin:function(e){return e.on=this.on,e.off=this.off,e.trigger=this.trigger,e._promiseCallbacks=void 0,e},on:function(e,n){var i,a=r(this);i=a[e],i||(i=a[e]=[]),-1===t(i,n)&&i.push(n)},off:function(e,n){var i,a,o=r(this);return n?(i=o[e],a=t(i,n),void(-1!==a&&i.splice(a,1))):void(o[e]=[])},trigger:function(e,t){var n,i,a=r(this);if(n=a[e])for(var o=0;o<n.length;o++)(i=n[o])(t)}}}),e("rsvp/filter",["./promise","./utils","exports"],function(e,t,r){"use strict";var n=e["default"],i=t.isFunction;r["default"]=function(e,t,r){return n.all(e,r).then(function(e){if(!i(t))throw new TypeError("You must pass a function as filter's second argument.");for(var a=e.length,o=new Array(a),s=0;a>s;s++)o[s]=t(e[s]);return n.all(o,r).then(function(t){for(var r=new Array(a),n=0,i=0;a>i;i++)t[i]&&(r[n]=e[i],n++);return r.length=n,r})})}}),e("rsvp/hash-settled",["./promise","./enumerator","./promise-hash","./utils","exports"],function(e,t,r,n,i){"use strict";function a(e,t,r){this._superConstructor(e,t,!1,r)}var o=e["default"],s=t.makeSettledResult,u=r["default"],l=t["default"],c=n.o_create;a.prototype=c(u.prototype),a.prototype._superConstructor=l,a.prototype._makeResult=s,a.prototype._validationError=function(){return new Error("hashSettled must be called with an object")},i["default"]=function(e,t){return new a(o,e,t).promise}}),e("rsvp/hash",["./promise","./promise-hash","exports"],function(e,t,r){"use strict";var n=e["default"],i=t["default"];r["default"]=function(e,t){return new i(n,e,t).promise}}),e("rsvp/instrument",["./config","./utils","exports"],function(e,t,r){"use strict";function n(){setTimeout(function(){for(var e,t=0;t<o.length;t++){e=o[t];var r=e.payload;r.guid=r.key+r.id,r.childGuid=r.key+r.childId,r.error&&(r.stack=r.error.stack),i.trigger(e.name,e.payload)}o.length=0},50)}var i=e.config,a=t.now,o=[];r["default"]=function(e,t,r){1===o.push({name:e,payload:{key:t._guidKey,id:t._id,eventName:e,detail:t._result,childId:r&&r._id,label:t._label,timeStamp:a(),error:i["instrument-with-stack"]?new Error(t._label):null}})&&n()}}),e("rsvp/map",["./promise","./utils","exports"],function(e,t,r){"use strict";var n=e["default"],i=t.isFunction;r["default"]=function(e,t,r){return n.all(e,r).then(function(e){if(!i(t))throw new TypeError("You must pass a function as map's second argument.");for(var a=e.length,o=new Array(a),s=0;a>s;s++)o[s]=t(e[s]);return n.all(o,r)})}}),e("rsvp/node",["./promise","./-internal","./utils","exports"],function(e,t,r,n){"use strict";function i(){this.value=void 0}function a(e){try{return e.then}catch(t){return y.value=t,y}}function o(e,t,r){try{e.apply(t,r)}catch(n){return y.value=n,y}}function s(e,t){for(var r,n,i={},a=e.length,o=new Array(a),s=0;a>s;s++)o[s]=e[s];for(n=0;n<t.length;n++)r=t[n],i[r]=o[n+1];return i}function u(e){for(var t=e.length,r=new Array(t-1),n=1;t>n;n++)r[n-1]=e[n];return r}function l(e,t){return{then:function(r,n){return e.call(t,r,n)}}}function c(e,t,r,n){var i=o(r,n,t);return i===y&&g(e,i.value),e}function h(e,t,r,n){return f.all(t).then(function(t){var i=o(r,n,t);return i===y&&g(e,i.value),e})}function d(e){return e&&"object"==typeof e?e.constructor===f?!0:a(e):!1}var f=e["default"],p=t.noop,m=t.resolve,g=t.reject,v=r.isArray,y=new i,b=new i;n["default"]=function(e,t){var r=function(){for(var r,n=this,i=arguments.length,a=new Array(i+1),o=!1,y=0;i>y;++y){if(r=arguments[y],!o){if(o=d(r),o===b){var _=new f(p);return g(_,b.value),_}o&&o!==!0&&(r=l(o,r))}a[y]=r}var w=new f(p);return a[i]=function(e,r){e?g(w,e):void 0===t?m(w,r):t===!0?m(w,u(arguments)):v(t)?m(w,s(arguments,t)):m(w,r)},o?h(w,a,e,n):c(w,a,e,n)};return r.__proto__=e,r}}),e("rsvp/promise-hash",["./enumerator","./-internal","./utils","exports"],function(e,t,r,n){"use strict";function i(e,t,r){this._superConstructor(e,t,!0,r)}var a=e["default"],o=t.PENDING,s=r.o_create;n["default"]=i,i.prototype=s(a.prototype),i.prototype._superConstructor=a,i.prototype._init=function(){this._result={}},i.prototype._validateInput=function(e){return e&&"object"==typeof e},i.prototype._validationError=function(){return new Error("Promise.hash must be called with an object")},i.prototype._enumerate=function(){var e=this.promise,t=this._input,r=[];for(var n in t)e._state===o&&t.hasOwnProperty(n)&&r.push({position:n,entry:t[n]});var i=r.length;this._remaining=i;for(var a,s=0;e._state===o&&i>s;s++)a=r[s],this._eachEntry(a.entry,a.position)}}),e("rsvp/promise",["./config","./instrument","./utils","./-internal","./promise/all","./promise/race","./promise/resolve","./promise/reject","exports"],function(e,t,r,n,i,a,o,s,u){"use strict";function l(){throw new TypeError("You must pass a resolver function as the first argument to the promise constructor")}function c(){throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.")}function h(e,t){this._id=k++,this._label=t,this._state=void 0,this._result=void 0,this._subscribers=[],d.instrument&&f("created",this),g!==e&&(p(e)||l(),this instanceof h||c(),y(this,e))}var d=e.config,f=t["default"],p=r.isFunction,m=r.now,g=n.noop,v=n.subscribe,y=n.initializePromise,b=n.invokeCallback,_=n.FULFILLED,w=n.REJECTED,x=i["default"],C=a["default"],E=o["default"],S=s["default"],T="rsvp_"+m()+"-",k=0;u["default"]=h,h.cast=E,h.all=x,h.race=C,h.resolve=E,h.reject=S,h.prototype={constructor:h,_guidKey:T,_onerror:function(e){d.trigger("error",e)},then:function(e,t,r){var n=this,i=n._state;if(i===_&&!e||i===w&&!t)return d.instrument&&f("chained",this,this),this;n._onerror=null;var a=new this.constructor(g,r),o=n._result;if(d.instrument&&f("chained",n,a),i){var s=arguments[i-1];d.async(function(){b(i,a,s,o)})}else v(n,a,e,t);return a},"catch":function(e,t){return this.then(null,e,t)},"finally":function(e,t){var r=this.constructor;return this.then(function(t){return r.resolve(e()).then(function(){return t})},function(t){return r.resolve(e()).then(function(){throw t})},t)}}}),e("rsvp/promise/all",["../enumerator","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return new r(this,e,!0,t).promise}}),e("rsvp/promise/race",["../utils","../-internal","exports"],function(e,t,r){"use strict";var n=e.isArray,i=t.noop,a=t.resolve,o=t.reject,s=t.subscribe,u=t.PENDING;r["default"]=function(e,t){function r(e){a(h,e)}function l(e){o(h,e)}var c=this,h=new c(i,t);if(!n(e))return o(h,new TypeError("You must pass an array to race.")),h;for(var d=e.length,f=0;h._state===u&&d>f;f++)s(c.resolve(e[f]),void 0,r,l);return h}}),e("rsvp/promise/reject",["../-internal","exports"],function(e,t){"use strict";var r=e.noop,n=e.reject;t["default"]=function(e,t){var i=this,a=new i(r,t);return n(a,e),a}}),e("rsvp/promise/resolve",["../-internal","exports"],function(e,t){"use strict";var r=e.noop,n=e.resolve;t["default"]=function(e,t){var i=this;if(e&&"object"==typeof e&&e.constructor===i)return e;var a=new i(r,t);return n(a,e),a}}),e("rsvp/race",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.race(e,t)}}),e("rsvp/reject",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.reject(e,t)}}),e("rsvp/resolve",["./promise","exports"],function(e,t){"use strict";var r=e["default"];t["default"]=function(e,t){return r.resolve(e,t)}}),e("rsvp/rethrow",["exports"],function(e){"use strict";e["default"]=function(e){throw setTimeout(function(){throw e}),e}}),e("rsvp/utils",["exports"],function(e){"use strict";function t(e){return"function"==typeof e||"object"==typeof e&&null!==e}function r(e){return"function"==typeof e}function n(e){return"object"==typeof e&&null!==e}function i(){}e.objectOrFunction=t,e.isFunction=r,e.isMaybeThenable=n;var a;a=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)};var o=a;e.isArray=o;var s=Date.now||function(){return(new Date).getTime()};e.now=s;var u=Object.create||function(e){if(arguments.length>1)throw new Error("Second argument not supported");if("object"!=typeof e)throw new TypeError("Argument must be an object");return i.prototype=e,new i};e.o_create=u}),t("ember")}(),function(){define("ember",[],function(){"use strict";return{"default":Ember}}),define("ember-data",[],function(){"use strict";return{"default":DS}})}(),define("jquery",[],function(){"use strict";return{"default":jQuery}}),function(){define("ember/resolver",[],function(){"use strict";function e(e){return{create:function(t){return"function"==typeof e.extend?e.extend(t):e}}}function t(){var e=Object.create(null);return e._dict=null,delete e._dict,e}function r(e){if(e.parsedName===!0)return e;var t,r=e.split("@");2===r.length&&("view"===r[0].split(":")[0]&&(r[0]=r[0].split(":")[1],r[1]="view:"+r[1]),t=r[0]);var n=r[r.length-1].split(":"),o=n[0],s=n[1],u=s,l=a(this,"namespace"),c=l;return{parsedName:!0,fullName:e,prefix:t||this.prefix({type:o}),type:o,fullNameWithoutType:s,name:u,root:c,resolveMethodName:"resolve"+i(o)}}function n(t){Ember.assert("`modulePrefix` must be defined",this.namespace.modulePrefix);var r=this.findModuleName(t);if(r){var n=require(r,null,null,!0);if(n&&n["default"]&&(n=n["default"]),void 0===n)throw new Error(" Expected to find: '"+t.fullName+"' within '"+r+"' but got 'undefined'. Did you forget to `export default` within '"+r+"'?");return this.shouldWrapInClassFactory(n,t)&&(n=e(n)),n}return this._super(t)}if("undefined"==typeof requirejs.entries&&(requirejs.entries=requirejs._eak_seen),!Object.create||Object.create(null).hasOwnProperty)throw new Error("This browser does not support Object.create(null), please polyfil with es5-sham: http://git.io/yBU2rg");var i=(Ember.String.underscore,Ember.String.classify),a=Ember.get,o=Ember.DefaultResolver.extend({resolveOther:n,resolveTemplate:n,pluralizedTypes:null,makeToString:function(e,t){return""+this.namespace.modulePrefix+"@"+t+":"},parseName:r,shouldWrapInClassFactory:function(e,t){return!1},init:function(){this._super(),this.moduleBasedResolver=!0,this._normalizeCache=t(),this.pluralizedTypes=this.pluralizedTypes||t(),this.pluralizedTypes.config||(this.pluralizedTypes.config="config"),this._deprecatedPodModulePrefix=!1},normalize:function(e){return this._normalizeCache[e]||(this._normalizeCache[e]=this._normalize(e))},_normalize:function(e){var t=e.split(":");return t.length>1?t[0]+":"+Ember.String.dasherize(t[1].replace(/\./g,"/")):e},pluralize:function(e){return this.pluralizedTypes[e]||(this.pluralizedTypes[e]=e+"s")},podBasedLookupWithPrefix:function(e,t){var r=t.fullNameWithoutType;return"template"===t.type&&(r=r.replace(/^components\//,"")),e+"/"+r+"/"+t.type},podBasedModuleName:function(e){var t=this.namespace.podModulePrefix||this.namespace.modulePrefix;return this.podBasedLookupWithPrefix(t,e)},podBasedComponentsInSubdir:function(e){var t=this.namespace.podModulePrefix||this.namespace.modulePrefix;return t+="/components","component"===e.type||e.fullNameWithoutType.match(/^components/)?this.podBasedLookupWithPrefix(t,e):void 0},mainModuleName:function(e){var t=e.prefix+"/"+e.type;return"main"===e.fullNameWithoutType?t:void 0},defaultModuleName:function(e){return e.prefix+"/"+this.pluralize(e.type)+"/"+e.fullNameWithoutType},prefix:function(e){var t=this.namespace.modulePrefix;return this.namespace[e.type+"Prefix"]&&(t=this.namespace[e.type+"Prefix"]),t},moduleNameLookupPatterns:Ember.computed(function(){return Ember.A([this.podBasedModuleName,this.podBasedComponentsInSubdir,this.mainModuleName,this.defaultModuleName])}),findModuleName:function(e,t){var r,n=this;return this.get("moduleNameLookupPatterns").find(function(i){var a=requirejs.entries,o=i.call(n,e);return o&&(o=n.chooseModuleName(a,o)),o&&a[o]&&(t||n._logLookup(!0,e,o),r=o),t||n._logLookup(r,e,o),r}),r},chooseModuleName:function(e,t){var r=Ember.String.underscore(t);if(t!==r&&e[t]&&e[r])throw new TypeError("Ambiguous module names: `"+t+"` and `"+r+"`");if(e[t])return t;if(e[r])return r;var n=t.replace(/\/-([^\/]*)$/,"/_$1");return e[n]?(Ember.deprecate('Modules should not contain underscores. Attempted to lookup "'+t+'" which was not found. Please rename "'+n+'" to "'+t+'" instead.',!1),n):t},lookupDescription:function(e){var t=this.parseName(e),r=this.findModuleName(t,!0);return r},_logLookup:function(e,t,r){if(Ember.ENV.LOG_MODULE_RESOLVER||t.root.LOG_RESOLVER){var n,i;n=e?"[✓]":"[ ]",i=t.fullName.length>60?".":new Array(60-t.fullName.length).join("."),r||(r=this.lookupDescription(t)),Ember.Logger.info(n,t.fullName,i,r)}}});return o.moduleBasedResolver=!0,o["default"]=o,o}),define("resolver",["ember/resolver"],function(e){return Ember.deprecate('Importing/requiring Ember Resolver as "resolver" is deprecated, please use "ember/resolver" instead'),e})}(),function(){define("ember/container-debug-adapter",[],function(){"use strict";function e(e,t,r){var n=t.match(new RegExp("^/?"+r+"/(.+)/"+e+"$"));return n?n[1]:void 0}if("undefined"==typeof Ember.ContainerDebugAdapter)return null;var t=Ember.ContainerDebugAdapter.extend({canCatalogEntriesByType:function(e){return!0},_getEntries:function(){return requirejs.entries},catalogEntriesByType:function(t){var r=this._getEntries(),n=Ember.A(),i=this.namespace.modulePrefix;for(var a in r)if(r.hasOwnProperty(a)&&-1!==a.indexOf(t)){var o=e(t,a,this.namespace.podModulePrefix||i);o||(o=a.split(t+"s/").pop()),n.addObject(o)}return n}});return t["default"]=t,t})}(),function(){!function(){"use strict";Ember.Application.initializer({name:"container-debug-adapter",initialize:function(e,t){{var r=require("ember/container-debug-adapter");require("ember/resolver")}e.register("container-debug-adapter:main",r),t.inject("container-debug-adapter:main","namespace","application:main")}})}()}(),function(){define("ember/load-initializers",[],function(){"use strict";return{"default":function(e,t){var r=new RegExp("^"+t+"/initializers");Ember.keys(requirejs._eak_seen).filter(function(e){return r.test(e)}).forEach(function(t){var r=require(t,null,null,!0);if(!r)throw new Error(t+" must export an initializer.");e.initializer(r["default"])})}}})}(),define("ic-ajax",["ember","exports"],function(e,t){
+"use strict";function r(){return n.apply(null,arguments).then(function(e){return e.response},null,"ic-ajax: unwrap raw ajax response")}function n(){return o(s.apply(null,arguments))}function i(e,t){t.response&&(t.response=JSON.parse(JSON.stringify(t.response))),h[e]=t}function a(e){return h&&h[e]}function o(e){return new c.RSVP.Promise(function(t,r){var n=a(e.url);return n?"success"===n.textStatus||null==n.textStatus?c.run.later(null,t,n):c.run.later(null,r,n):(e.success=u(t),e.error=l(r),void c.$.ajax(e))},"ic-ajax: "+(e.type||"GET")+" to "+e.url)}function s(){var e={};if(1===arguments.length?"string"==typeof arguments[0]?e.url=arguments[0]:e=arguments[0]:2===arguments.length&&(e=arguments[1],e.url=arguments[0]),e.success||e.error)throw new c.Error("ajax should use promises, received 'success' or 'error' callback");return e}function u(e){return function(t,r,n){c.run(null,e,{response:t,textStatus:r,jqXHR:n})}}function l(e){return function(t,r,n){c.run(null,e,{jqXHR:t,textStatus:r,errorThrown:n})}}var c=e["default"]||e;t.request=r,t["default"]=r,t.raw=n;var h={};t.__fixtures__=h,t.defineFixture=i,t.lookupFixture=a}),function(){"use strict";function e(e){var t=Error.prototype.constructor.call(this,"The backend rejected the commit because it was invalid: "+Ember.inspect(e));this.errors=e;for(var r=0,n=me.length;n>r;r++)this[me[r]]=t[me[r]]}function t(e,t){return"function"!=typeof String.prototype.endsWith?-1!==e.indexOf(t,e.length-t.length):e.endsWith(t)}function r(e,t){for(var r=0,n=t.length;n>r;r++)e.uncountable[t[r].toLowerCase()]=!0}function n(e,t){for(var r,n=0,i=t.length;i>n;n++)r=t[n],e.irregular[r[0].toLowerCase()]=r[1],e.irregular[r[1].toLowerCase()]=r[1],e.irregularInverse[r[1].toLowerCase()]=r[0],e.irregularInverse[r[0].toLowerCase()]=r[0]}function i(e){e=e||{},e.uncountable=e.uncountable||a(),e.irregularPairs=e.irregularPairs||a();var t=this.rules={plurals:e.plurals||[],singular:e.singular||[],irregular:a(),irregularInverse:a(),uncountable:a()};r(t,e.uncountable),n(t,e.irregularPairs),this.enableCache()}function a(){var e=Object.create(null);return e._dict=null,delete e._dict,e}function o(e){return je.inflector.pluralize(e)}function s(e){return je.inflector.singularize(e)}function u(e,t){Re.HTMLBars.helpers[e]=t}function l(e,t){Re.HTMLBars.registerHelper(e,t)}function c(e,t){Re.HTMLBars._registerHelper(e,t)}function h(e,t){if(Re.HTMLBars){var r=Re.HTMLBars.makeBoundHelper(t);Re.HTMLBars._registerHelper?Re.HTMLBars.helpers?u(e,r):c(e,r):Re.HTMLBars.registerHelper&&l(e,r)}else Re.Handlebars&&Re.Handlebars.helper(e,t)}function d(e){return null==e?null:e+""}function f(e){this.container=e}function p(e,t){var r=new ut(e);r.registerDeprecations([{deprecated:"serializer:_ams",valid:"serializer:-active-model"},{deprecated:"adapter:_ams",valid:"adapter:-active-model"}]),e.register("serializer:-active-model",st),e.register("adapter:-active-model",Be)}function m(e){return function(){var t=ft(this,"content");return t[e].apply(t,arguments)}}function g(e){var t=Array.prototype.slice.call(arguments,1);return function(){return e.apply(void 0,t)}}function v(e,t){var r=e["finally"](function(){t()||(r._subscribers.length=0)});return r}function y(e){return!(bt(e,"isDestroyed")||bt(e,"isDestroying"))}function b(e,t,r){var n=t.serializer;return void 0===n&&(n=e.serializerFor(r)),(null===n||void 0===n)&&(n={extract:function(e,t,r){return r}}),n}function _(e,t,r,n,i){var a=i._createSnapshot(),o=e.find(t,r,n,a),s=b(t,e,r),u="DS: Handle Adapter#find of "+r+" with id: "+n;return o=wt.cast(o,u),o=v(o,g(y,t)),o.then(function(e){return t._adapterRun(function(){var i=s.extract(t,r,e,n,"find");return t.push(r,i)})},function(e){var i=t.getById(r,n);throw i&&(i.notFound(),_t(i,"isEmpty")&&t.unloadRecord(i)),e},"DS: Extract payload of '"+r+"'")}function w(e,t,r,n,i){var a=Ember.A(i).invoke("_createSnapshot"),o=e.findMany(t,r,n,a),s=b(t,e,r),u="DS: Handle Adapter#findMany of "+r;if(void 0===o)throw new Error("adapter.findMany returned undefined, this was very likely a mistake");return o=wt.cast(o,u),o=v(o,g(y,t)),o.then(function(e){return t._adapterRun(function(){var n=s.extract(t,r,e,null,"findMany");return t.pushMany(r,n)})},null,"DS: Extract payload of "+r)}function x(e,t,r,n,i){var a=r._createSnapshot(),o=e.findHasMany(t,a,n,i),s=b(t,e,i.type),u="DS: Handle Adapter#findHasMany of "+r+" : "+i.type;return o=wt.cast(o,u),o=v(o,g(y,t)),o=v(o,g(y,r)),o.then(function(e){return t._adapterRun(function(){var r=s.extract(t,i.type,e,null,"findHasMany"),n=t.pushMany(i.type,r);return n})},null,"DS: Extract payload of "+r+" : hasMany "+i.type)}function C(e,t,r,n,i){var a=r._createSnapshot(),o=e.findBelongsTo(t,a,n,i),s=b(t,e,i.type),u="DS: Handle Adapter#findBelongsTo of "+r+" : "+i.type;return o=wt.cast(o,u),o=v(o,g(y,t)),o=v(o,g(y,r)),o.then(function(e){return t._adapterRun(function(){var r=s.extract(t,i.type,e,null,"findBelongsTo");if(!r)return null;var n=t.push(i.type,r);return n})},null,"DS: Extract payload of "+r+" : "+i.type)}function E(e,t,r,n){var i=e.findAll(t,r,n),a=b(t,e,r),o="DS: Handle Adapter#findAll of "+r;return i=wt.cast(i,o),i=v(i,g(y,t)),i.then(function(e){return t._adapterRun(function(){var n=a.extract(t,r,e,null,"findAll");t.pushMany(r,n)}),t.didUpdateAll(r),t.all(r)},null,"DS: Extract payload of findAll "+r)}function S(e,t,r,n,i){var a=e.findQuery(t,r,n,i),o=b(t,e,r),s="DS: Handle Adapter#findQuery of "+r;return a=wt.cast(a,s),a=v(a,g(y,t)),a.then(function(e){var n;return t._adapterRun(function(){n=o.extract(t,r,e,null,"findQuery")}),i.load(n),i},null,"DS: Extract payload of findQuery "+r)}function T(e){var t=Ember.create(null);for(var r in e)t[r]=e[r];return t}function k(e){e.destroy()}function A(e){for(var t=e.length,r=Ember.A(),n=0;t>n;n++)r=r.concat(e[n]);return r}function O(e,t){t.value===t.originalValue?(delete e._attributes[t.name],e.send("propertyWasReset",t.name)):t.value!==t.oldValue&&e.send("becomeDirty"),e.updateRecordArraysLater()}function R(e){var t,r={};for(var n in e)t=e[n],r[n]=t&&"object"==typeof t?R(t):t;return r}function P(e,t){for(var r in t)e[r]=t[r];return e}function N(e){var t=R(Vt);return P(t,e)}function M(e){}function D(e,t,r){e=P(t?Ember.create(t):{},e),e.parentState=t,e.stateName=r;for(var n in e)e.hasOwnProperty(n)&&"parentState"!==n&&"stateName"!==n&&"object"==typeof e[n]&&(e[n]=D(e[n],e,r+"."+n));return e}function F(e,t){if(!t||"object"!=typeof t)return e;for(var r,n=Ember.keys(t),i=n.length,a=0;i>a;a++)r=n[a],e[r]=t[r];return e}function j(e){var t=new Nt;if(e)for(var r=0,n=e.length;n>r;r++)t.add(e[r]);return t}function I(e){if(this._attributes=Ember.create(null),this._belongsToRelationships=Ember.create(null),this._belongsToIds=Ember.create(null),this._hasManyRelationships=Ember.create(null),this._hasManyIds=Ember.create(null),e.eachAttribute(function(t){this._attributes[t]=ur(e,t)},this),this.id=ur(e,"id"),this.record=e,this.type=e.constructor,this.typeKey=e.constructor.typeKey,Ember.platform.hasPropertyAccessors){var t=!0;Ember.defineProperty(this,"constructor",{get:function(){return t&&(t=!1,t=!0),this.type}})}else this.constructor=this.type}function L(e){return vr[e]||(vr[e]=e.split("."))}function V(e){return gr[e]||(gr[e]=L(e)[0])}function z(e,t){var r=[];if(!t||"object"!=typeof t)return r;var n,i,a,o=Ember.keys(t),s=o.length;for(n=0;s>n;n++)a=o[n],i=t[a],e[a]!==i&&r.push(a),e[a]=i;return r}function H(e,t,r){return"function"==typeof t.defaultValue?t.defaultValue.apply(null,arguments):t.defaultValue}function B(e,t){return t in e._attributes||t in e._inFlightAttributes||e._data.hasOwnProperty(t)}function q(e,t){return t in e._attributes?e._attributes[t]:t in e._inFlightAttributes?e._inFlightAttributes[t]:e._data[t]}function U(e,t){"object"==typeof e?(t=e,e=void 0):t=t||{};var r={type:e,isAttribute:!0,options:t};return Ember.computed(function(e,r){if(arguments.length>1){var n=q(this,e);return r!==n&&(this._attributes[e]=r,this.send("didSetProperty",{name:e,oldValue:n,originalValue:this._data[e],value:r})),r}return B(this,e)?q(this,e):H(this,t,e)}).meta(r)}function W(e){return null==e?null:e+""}function $(e,t,r,n){return t.eachRelationship(function(t,n){var i=n.kind,a=r[t];"belongsTo"===i?K(e,r,t,n,a):"hasMany"===i&&G(e,r,t,n,a)}),r}function K(e,t,r,n,i){if(!(Or(i)||i instanceof xr)){var a;"number"==typeof i||"string"==typeof i?(a=Y(n,r,t),t[r]=e.recordForId(a,i)):"object"==typeof i&&(t[r]=e.recordForId(i.type,i.id))}}function Y(e,t,r){return e.options.polymorphic?r[t+"Type"]:e.type}function G(e,t,r,n,i){if(!Or(i))for(var a=0,o=i.length;o>a;a++)K(e,i,a,n,i[a])}function Q(e){return e.lookup("serializer:application")||e.lookup("serializer:-default")}function X(t,r,n,i){var a=i.constructor,o=i._createSnapshot(),s=t[n](r,a,o),u=b(r,t,a),l="DS: Extract and notify about "+n+" completion of "+i;return s=Mr.cast(s,l),s=v(s,g(y,r)),s=v(s,g(y,i)),s.then(function(e){var t;return r._adapterRun(function(){t=e?u.extract(r,a,e,Tr(i,"id"),n):e,r.didSaveRecord(i,t)}),i},function(t){if(t instanceof e){var n=u.extractErrors(r,a,t.errors,Tr(i,"id"));r.recordWasInvalid(i,n),t=new e(n)}else r.recordWasError(i,t);throw t},l)}function J(e,t,r){var n=t.constructor;n.eachRelationship(function(e,n){var i=n.kind,a=r[e],o=t._relationships[e];if(r.links&&r.links[e]&&o.updateLink(r.links[e]),"belongsTo"===i){if(void 0===a)return;o.setCanonicalRecord(a)}else"hasMany"===i&&a&&o.updateRecordsFromAdapter(a)})}function Z(e,t){e.optionsForType("serializer",{singleton:!1}),e.optionsForType("adapter",{singleton:!1}),e.register("store:main",e.lookupFactory("store:application")||t&&t.Store||Ir);var r=new ut(e);r.registerDeprecations([{deprecated:"serializer:_default",valid:"serializer:-default"},{deprecated:"serializer:_rest",valid:"serializer:-rest"},{deprecated:"adapter:_rest",valid:"adapter:-rest"}]),e.register("serializer:-default",Ge),e.register("serializer:-rest",et),e.register("adapter:-rest",Oe);var n=e.lookup("store:main");e.register("service:store",n,{instantiate:!1})}function ee(e){return e===e&&e!==1/0&&e!==-(1/0)}function te(e){e.register("transform:boolean",$r),e.register("transform:date",qr),e.register("transform:number",Hr),e.register("transform:string",Wr)}function re(e){e.injection("controller","store","store:main"),e.injection("route","store","store:main"),e.injection("data-adapter","store","store:main")}function ne(e){e.register("data-adapter:main",Jr)}function ie(e,t){Zr(e,t),Kr(e,t),Yr(e,t),Lr(e,t),lt(e,t)}function ae(e,t,r,n){return r.eachRelationship(function(r,i){if(e.hasDeserializeRecordsOption(r)){var a=t.modelFor(i.type.typeKey);"hasMany"===i.kind&&(i.options.polymorphic?se(t,r,n):oe(t,r,a,n)),"belongsTo"===i.kind&&(i.options.polymorphic?le(t,r,n):ue(t,r,a,n))}}),n}function oe(e,t,r,n){if(!n[t])return n;var i=[],a=e.serializerFor(r.typeKey);return sn(n[t],function(t){var n=a.normalize(r,t,null);e.push(r,n),i.push(n.id)}),n[t]=i,n}function se(e,t,r){if(!r[t])return r;var n=[];return sn(r[t],function(t){var r=t.type,i=e.serializerFor(r),a=e.modelFor(r),o=on(i,"primaryKey"),s=i.normalize(a,t,null);e.push(a,s),n.push({id:s[o],type:r})}),r[t]=n,r}function ue(e,t,r,n){if(!n[t])return n;var i=e.serializerFor(r.typeKey),a=i.normalize(r,n[t],null);return e.push(r,a),n[t]=a.id,n}function le(e,t,r){if(!r[t])return r;var n=r[t],i=n.type,a=e.serializerFor(i),o=e.modelFor(i),s=on(a,"primaryKey"),u=a.normalize(o,n,null);return e.push(o,u),r[t]=u[s],r[t+"Type"]=i,r}function ce(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r={type:e,isRelationship:!0,options:t,kind:"belongsTo",key:null};return Ember.computed(function(e,t){return arguments.length>1&&(void 0===t&&(t=null),t&&t.then?this._relationships[e].setRecordPromise(t):this._relationships[e].setRecord(t)),this._relationships[e].getRecord()}).meta(r)}function he(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var r={type:e,isRelationship:!0,options:t,kind:"hasMany",key:null};return Ember.computed(function(e){var t=this._relationships[e];return t.getRecords()}).meta(r).readOnly()}function de(e,t){var r,n;return r=t.type||t.key,"string"==typeof r?("hasMany"===t.kind&&(r=s(r)),n=e.modelFor(r)):n=t.type,n}function fe(e,t){return{key:t.key,kind:t.kind,type:de(e,t),options:t.options,parentType:t.parentType,isRelationship:!0}}var pe=Ember.get,me=["description","fileName","lineNumber","message","name","number","stack"];e.prototype=Ember.create(Error.prototype);var ge=Ember.Object.extend({find:null,findAll:null,findQuery:null,generateIdForRecord:null,serialize:function(e,t){var r=e._createSnapshot();return pe(e,"store").serializerFor(r.typeKey).serialize(r,t)},createRecord:null,updateRecord:null,deleteRecord:null,coalesceFindRequests:!0,groupRecordsForFindMany:function(e,t){return[t]}}),ve=ge,ye=Ember.get,be=Ember.String.fmt,_e=Ember.EnumerableUtils.indexOf,we=0,xe=ve.extend({serializer:null,coalesceFindRequests:!1,simulateRemoteResponse:!0,latency:50,fixturesForType:function(e){if(e.FIXTURES){var t=Ember.A(e.FIXTURES);return t.map(function(e){var t=typeof e.id;if("number"!==t&&"string"!==t)throw new Error(be("the id property must be defined as a number or string for fixture %@",[e]));return e.id=e.id+"",e})}return null},queryFixtures:function(e,t,r){},updateFixtures:function(e,t){e.FIXTURES||(e.FIXTURES=[]);var r=e.FIXTURES;this.deleteLoadedFixture(e,t),r.push(t)},mockJSON:function(e,t,r){return e.serializerFor(r.typeKey).serialize(r,{includeId:!0})},generateIdForRecord:function(e){return"fixture-"+we++},find:function(e,t,r,n){var i,a=this.fixturesForType(t);return a&&(i=Ember.A(a).findBy("id",r)),i?this.simulateRemoteCall(function(){return i},this):void 0},findMany:function(e,t,r,n){var i=this.fixturesForType(t);return i&&(i=i.filter(function(e){return-1!==_e(r,e.id)})),i?this.simulateRemoteCall(function(){return i},this):void 0},findAll:function(e,t){var r=this.fixturesForType(t);return this.simulateRemoteCall(function(){return r},this)},findQuery:function(e,t,r,n){var i=this.fixturesForType(t);return i=this.queryFixtures(i,r,t),i?this.simulateRemoteCall(function(){return i},this):void 0},createRecord:function(e,t,r){var n=this.mockJSON(e,t,r);return this.updateFixtures(t,n),this.simulateRemoteCall(function(){return n},this)},updateRecord:function(e,t,r){var n=this.mockJSON(e,t,r);return this.updateFixtures(t,n),this.simulateRemoteCall(function(){return n},this)},deleteRecord:function(e,t,r){return this.deleteLoadedFixture(t,r),this.simulateRemoteCall(function(){return null})},deleteLoadedFixture:function(e,t){var r=this.findExistingFixture(e,t);if(r){var n=_e(e.FIXTURES,r);return e.FIXTURES.splice(n,1),!0}},findExistingFixture:function(e,t){var r=this.fixturesForType(e),n=t.id;return this.findFixtureById(r,n)},findFixtureById:function(e,t){return Ember.A(e).find(function(e){return""+ye(e,"id")==""+t?!0:!1})},simulateRemoteCall:function(e,t){var r=this;return new Ember.RSVP.Promise(function(n){var i=Ember.copy(e.call(t),!0);ye(r,"simulateRemoteResponse")?Ember.run.later(function(){n(i)},ye(r,"latency")):Ember.run.schedule("actions",null,function(){n(i)})},"DS: FixtureAdapter#simulateRemoteCall")}}),Ce=Ember.Map,Ee=Ember.MapWithDefault,Se=Ember.get,Te=Ember.Mixin.create({buildURL:function(e,t,r){var n=[],i=Se(this,"host"),a=this.urlPrefix();return e&&n.push(this.pathForType(e)),t&&!Ember.isArray(t)&&n.push(encodeURIComponent(t)),a&&n.unshift(a),n=n.join("/"),!i&&n&&(n="/"+n),n},urlPrefix:function(e,t){var r=Se(this,"host"),n=Se(this,"namespace"),i=[];return e?/^\/\//.test(e)||("/"===e.charAt(0)?r&&(e=e.slice(1),i.push(r)):/^http(s)?:\/\//.test(e)||i.push(t)):(r&&i.push(r),n&&i.push(n)),e&&i.push(e),i.join("/")},pathForType:function(e){var t=Ember.String.camelize(e);return Ember.String.pluralize(t)}}),ke=Ember.get,Ae=Ember.ArrayPolyfills.forEach,Oe=ge.extend(Te,{defaultSerializer:"-rest",sortQueryParams:function(e){var t=Ember.keys(e),r=t.length;if(2>r)return e;for(var n={},i=t.sort(),a=0;r>a;a++)n[i[a]]=e[i[a]];return n},coalesceFindRequests:!1,find:function(e,t,r,n){return this.ajax(this.buildURL(t.typeKey,r,n),"GET")},findAll:function(e,t,r){var n;return r&&(n={since:r}),this.ajax(this.buildURL(t.typeKey),"GET",{data:n})},findQuery:function(e,t,r){return this.sortQueryParams&&(r=this.sortQueryParams(r)),this.ajax(this.buildURL(t.typeKey),"GET",{data:r})},findMany:function(e,t,r,n){return this.ajax(this.buildURL(t.typeKey,r,n),"GET",{data:{ids:r}})},findHasMany:function(e,t,r,n){var i=ke(this,"host"),a=t.id,o=t.typeKey;return i&&"/"===r.charAt(0)&&"/"!==r.charAt(1)&&(r=i+r),this.ajax(this.urlPrefix(r,this.buildURL(o,a)),"GET")},findBelongsTo:function(e,t,r,n){var i=t.id,a=t.typeKey;return this.ajax(this.urlPrefix(r,this.buildURL(a,i)),"GET")},createRecord:function(e,t,r){var n={},i=e.serializerFor(t.typeKey);return i.serializeIntoHash(n,t,r,{includeId:!0}),this.ajax(this.buildURL(t.typeKey,null,r),"POST",{data:n})},updateRecord:function(e,t,r){var n={},i=e.serializerFor(t.typeKey);i.serializeIntoHash(n,t,r);var a=r.id;return this.ajax(this.buildURL(t.typeKey,a,r),"PUT",{data:n})},deleteRecord:function(e,t,r){var n=r.id;return this.ajax(this.buildURL(t.typeKey,n,r),"DELETE")},_stripIDFromURL:function(e,r){var n=this.buildURL(r.typeKey,r.id,r),i=n.split("/"),a=i[i.length-1],o=r.id;return a===o?i[i.length-1]="":t(a,"?id="+o)&&(i[i.length-1]=a.substring(0,a.length-o.length-1)),i.join("/")},maxUrlLength:2048,groupRecordsForFindMany:function(e,t){function r(t,r,n){var a=i._stripIDFromURL(e,t[0]),o=0,s=[[]];return Ae.call(t,function(e){var t=encodeURIComponent(e.id).length+n;a.length+o+t>=r&&(o=0,s.push([])),o+=t;var i=s.length-1;s[i].push(e)}),s}var n=Ee.create({defaultValue:function(){return[]}}),i=this,a=this.maxUrlLength;Ae.call(t,function(t){var r=i._stripIDFromURL(e,t);n.get(r).push(t)});var o=[];return n.forEach(function(e,t){var n="&ids%5B%5D=".length,i=r(e,a,n);Ae.call(i,function(e){o.push(e)})}),o},ajaxError:function(e,t,r){var n=null!==e&&"object"==typeof e;return n&&(e.then=null,e.errorThrown||(e.errorThrown="string"==typeof r?new Error(r):r)),e},ajaxSuccess:function(e,t){return t},ajax:function(t,r,n){var i=this;return new Ember.RSVP.Promise(function(a,o){var s=i.ajaxOptions(t,r,n);s.success=function(t,r,n){t=i.ajaxSuccess(n,t),t instanceof e?Ember.run(null,o,t):Ember.run(null,a,t)},s.error=function(e,t,r){Ember.run(null,o,i.ajaxError(e,e.responseText,r))},Ember.$.ajax(s)},"DS: RESTAdapter#ajax "+r+" to "+t)},ajaxOptions:function(e,t,r){var n=r||{};n.url=e,n.type=t,n.dataType="json",n.context=this,n.data&&"GET"!==t&&(n.contentType="application/json; charset=utf-8",n.data=JSON.stringify(n.data));var i=ke(this,"headers");return void 0!==i&&(n.beforeSend=function(e){Ae.call(Ember.keys(i),function(t){e.setRequestHeader(t,i[t])})}),n}}),Re=self.Ember,Pe=Re.String.capitalize,Ne=/^\s*$/,Me=/(\w+[_-])([a-z\d]+$)/,De=/(\w+)([A-Z][a-z\d]*$)/,Fe=/[A-Z][a-z\d]*$/;if(!Object.create&&!Object.create(null).hasOwnProperty)throw new Error("This browser does not support Object.create(null), please polyfil with es5-sham: http://git.io/yBU2rg");i.prototype={enableCache:function(){this.purgeCache(),this.singularize=function(e){return this._cacheUsed=!0,this._sCache[e]||(this._sCache[e]=this._singularize(e))},this.pluralize=function(e){return this._cacheUsed=!0,this._pCache[e]||(this._pCache[e]=this._pluralize(e))}},purgeCache:function(){this._cacheUsed=!1,this._sCache=a(),this._pCache=a()},disableCache:function(){this._sCache=null,this._pCache=null,this.singularize=function(e){return this._singularize(e)},this.pluralize=function(e){return this._pluralize(e)}},plural:function(e,t){this._cacheUsed&&this.purgeCache(),this.rules.plurals.push([e,t.toLowerCase()])},singular:function(e,t){this._cacheUsed&&this.purgeCache(),this.rules.singular.push([e,t.toLowerCase()])},uncountable:function(e){this._cacheUsed&&this.purgeCache(),r(this.rules,[e.toLowerCase()])},irregular:function(e,t){this._cacheUsed&&this.purgeCache(),n(this.rules,[[e,t]])},pluralize:function(e){return this._pluralize(e)},_pluralize:function(e){return this.inflect(e,this.rules.plurals,this.rules.irregular)},singularize:function(e){return this._singularize(e)},_singularize:function(e){return this.inflect(e,this.rules.singular,this.rules.irregularInverse)},inflect:function(e,t,r){var n,i,a,o,s,u,l,c,h,d,f,p;if(c=Ne.test(e),h=Fe.test(e),u="",c)return e;if(o=e.toLowerCase(),s=Me.exec(e)||De.exec(e),s&&(u=s[1],l=s[2].toLowerCase()),d=this.rules.uncountable[o]||this.rules.uncountable[l])return e;if(f=r&&(r[o]||r[l]))return r[o]?f:(f=h?Pe(f):f,u+f);for(var m=t.length,g=0;m>g&&(n=t[m-1],p=n[0],!p.test(e));m--);return n=n||[],p=n[0],i=n[1],a=e.replace(p,i)}};var je=i,Ie={plurals:[[/$/,"s"],[/s$/i,"s"],[/^(ax|test)is$/i,"$1es"],[/(octop|vir)us$/i,"$1i"],[/(octop|vir)i$/i,"$1i"],[/(alias|status)$/i,"$1es"],[/(bu)s$/i,"$1ses"],[/(buffal|tomat)o$/i,"$1oes"],[/([ti])um$/i,"$1a"],[/([ti])a$/i,"$1a"],[/sis$/i,"ses"],[/(?:([^f])fe|([lr])f)$/i,"$1$2ves"],[/(hive)$/i,"$1s"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/(x|ch|ss|sh)$/i,"$1es"],[/(matr|vert|ind)(?:ix|ex)$/i,"$1ices"],[/^(m|l)ouse$/i,"$1ice"],[/^(m|l)ice$/i,"$1ice"],[/^(ox)$/i,"$1en"],[/^(oxen)$/i,"$1"],[/(quiz)$/i,"$1zes"]],singular:[[/s$/i,""],[/(ss)$/i,"$1"],[/(n)ews$/i,"$1ews"],[/([ti])a$/i,"$1um"],[/((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)(sis|ses)$/i,"$1sis"],[/(^analy)(sis|ses)$/i,"$1sis"],[/([^f])ves$/i,"$1fe"],[/(hive)s$/i,"$1"],[/(tive)s$/i,"$1"],[/([lr])ves$/i,"$1f"],[/([^aeiouy]|qu)ies$/i,"$1y"],[/(s)eries$/i,"$1eries"],[/(m)ovies$/i,"$1ovie"],[/(x|ch|ss|sh)es$/i,"$1"],[/^(m|l)ice$/i,"$1ouse"],[/(bus)(es)?$/i,"$1"],[/(o)es$/i,"$1"],[/(shoe)s$/i,"$1"],[/(cris|test)(is|es)$/i,"$1is"],[/^(a)x[ie]s$/i,"$1xis"],[/(octop|vir)(us|i)$/i,"$1us"],[/(alias|status)(es)?$/i,"$1"],[/^(ox)en/i,"$1"],[/(vert|ind)ices$/i,"$1ex"],[/(matr)ices$/i,"$1ix"],[/(quiz)zes$/i,"$1"],[/(database)s$/i,"$1"]],irregularPairs:[["person","people"],["man","men"],["child","children"],["sex","sexes"],["move","moves"],["cow","kine"],["zombie","zombies"]],uncountable:["equipment","information","rice","money","species","series","fish","sheep","jeans","police"]};je.inflector=new je(Ie);var Le=h;Le("singularize",function(e){return s(e[0])}),Le("pluralize",function(e){var t,r;return 1===e.length?(r=e[0],o(r)):(t=e[0],r=e[1],1!==t&&(r=o(r)),t+" "+r)}),(Re.EXTEND_PROTOTYPES===!0||Re.EXTEND_PROTOTYPES.String)&&(String.prototype.pluralize=function(){return o(this)},String.prototype.singularize=function(){return s(this)}),je.defaultRules=Ie,Re.Inflector=je,Re.String.pluralize=o,Re.String.singularize=s;"undefined"!=typeof define&&define.amd?define("ember-inflector",["exports"],function(e){return e["default"]=je,je}):"undefined"!=typeof module&&module.exports&&(module.exports=je);var Ve=Ember.String.decamelize,ze=Ember.String.underscore,He=Oe.extend({defaultSerializer:"-active-model",pathForType:function(e){var t=Ve(e),r=ze(t);return o(r)},ajaxError:function(t){var r=this._super.apply(this,arguments);return t&&422===t.status?new e(Ember.$.parseJSON(t.responseText)):r}}),Be=He,qe=Ember.Object.extend({extract:null,serialize:null,normalize:function(e,t){return t}}),Ue=qe,We=Ember.get,$e=Ember.isNone,Ke=Ember.ArrayPolyfills.map,Ye=Ember.merge,Ge=Ue.extend({primaryKey:"id",applyTransforms:function(e,t){return e.eachTransformedAttribute(function(e,r){if(t.hasOwnProperty(e)){var n=this.transformFor(r);t[e]=n.deserialize(t[e])}},this),t},normalize:function(e,t){return t?(this.normalizeId(t),this.normalizeAttributes(e,t),this.normalizeRelationships(e,t),this.normalizeUsingDeclaredMapping(e,t),this.applyTransforms(e,t),t):t},normalizePayload:function(e){return e},normalizeAttributes:function(e,t){var r;this.keyForAttribute&&e.eachAttribute(function(e){r=this.keyForAttribute(e),e!==r&&t.hasOwnProperty(r)&&(t[e]=t[r],delete t[r])},this)},normalizeRelationships:function(e,t){var r;this.keyForRelationship&&e.eachRelationship(function(e,n){r=this.keyForRelationship(e,n.kind),e!==r&&t.hasOwnProperty(r)&&(t[e]=t[r],delete t[r])},this)},normalizeUsingDeclaredMapping:function(e,t){var r,n,i=We(this,"attrs");if(i)for(n in i)r=this._getMappedKey(n),t.hasOwnProperty(r)&&r!==n&&(t[n]=t[r],delete t[r])},normalizeId:function(e){var t=We(this,"primaryKey");"id"!==t&&(e.id=e[t],delete e[t])},normalizeErrors:function(e,t){this.normalizeId(t),this.normalizeAttributes(e,t),this.normalizeRelationships(e,t)},_getMappedKey:function(e){var t,r=We(this,"attrs");return r&&r[e]&&(t=r[e],t.key&&(t=t.key),"string"==typeof t&&(e=t)),e},_canSerialize:function(e){var t=We(this,"attrs");return!t||!t[e]||t[e].serialize!==!1},serialize:function(e,t){var r={};if(t&&t.includeId){var n=e.id;n&&(r[We(this,"primaryKey")]=n)}return e.eachAttribute(function(t,n){this.serializeAttribute(e,r,t,n)},this),e.eachRelationship(function(t,n){"belongsTo"===n.kind?this.serializeBelongsTo(e,r,n):"hasMany"===n.kind&&this.serializeHasMany(e,r,n)},this),r},serializeIntoHash:function(e,t,r,n){Ye(e,this.serialize(r,n))},serializeAttribute:function(e,t,r,n){var i=n.type;if(this._canSerialize(r)){var a=e.attr(r);if(i){var o=this.transformFor(i);a=o.serialize(a)}var s=this._getMappedKey(r);s===r&&this.keyForAttribute&&(s=this.keyForAttribute(r)),t[s]=a}},serializeBelongsTo:function(e,t,r){var n=r.key;if(this._canSerialize(n)){var i=e.belongsTo(n,{id:!0}),a=this._getMappedKey(n);a===n&&this.keyForRelationship&&(a=this.keyForRelationship(n,"belongsTo")),t[a]=$e(i)?null:i,r.options.polymorphic&&this.serializePolymorphicType(e,t,r)}},serializeHasMany:function(e,t,r){var n=r.key;if(this._canSerialize(n)){var i;i=this._getMappedKey(n),i===n&&this.keyForRelationship&&(i=this.keyForRelationship(n,"hasMany"));var a=e.type.determineRelationshipType(r);("manyToNone"===a||"manyToMany"===a)&&(t[i]=e.hasMany(n,{ids:!0}))}},serializePolymorphicType:Ember.K,extract:function(e,t,r,n,i){this.extractMeta(e,t,r);var a="extract"+i.charAt(0).toUpperCase()+i.substr(1);return this[a](e,t,r,n,i)},extractFindAll:function(e,t,r,n,i){return this.extractArray(e,t,r,n,i)},extractFindQuery:function(e,t,r,n,i){return this.extractArray(e,t,r,n,i)},extractFindMany:function(e,t,r,n,i){return this.extractArray(e,t,r,n,i)},extractFindHasMany:function(e,t,r,n,i){return this.extractArray(e,t,r,n,i)},extractCreateRecord:function(e,t,r,n,i){return this.extractSave(e,t,r,n,i)},extractUpdateRecord:function(e,t,r,n,i){return this.extractSave(e,t,r,n,i)},extractDeleteRecord:function(e,t,r,n,i){return this.extractSave(e,t,r,n,i)},extractFind:function(e,t,r,n,i){return this.extractSingle(e,t,r,n,i)},extractFindBelongsTo:function(e,t,r,n,i){return this.extractSingle(e,t,r,n,i)},extractSave:function(e,t,r,n,i){return this.extractSingle(e,t,r,n,i)},extractSingle:function(e,t,r,n,i){return r=this.normalizePayload(r),this.normalize(t,r)},extractArray:function(e,t,r,n,i){var a=this.normalizePayload(r),o=this;return Ke.call(a,function(e){return o.normalize(t,e)})},extractMeta:function(e,t,r){r&&r.meta&&(e.setMetadataFor(t,r.meta),delete r.meta)},extractErrors:function(e,t,r,n){return r&&"object"==typeof r&&r.errors&&(r=r.errors,this.normalizeErrors(t,r)),r},keyForAttribute:function(e){return e},keyForRelationship:function(e,t){return e},transformFor:function(e,t){var r=this.container.lookup("transform:"+e);return r}}),Qe=Ember.ArrayPolyfills.forEach,Xe=Ember.ArrayPolyfills.map,Je=Ember.String.camelize,Ze=Ge.extend({normalize:function(e,t,r){return this.normalizeId(t),this.normalizeAttributes(e,t),this.normalizeRelationships(e,t),this.normalizeUsingDeclaredMapping(e,t),this.normalizeHash&&this.normalizeHash[r]&&this.normalizeHash[r](t),this.applyTransforms(e,t),t},extractSingle:function(e,t,r,n){var i,a=this.normalizePayload(r),o=t.typeKey;for(var s in a){var u=this.typeForRoot(s);if(e.modelFactoryFor(u)){var l=e.modelFor(u),c=l.typeKey===o,h=a[s];null!==h&&(c&&"array"!==Ember.typeOf(h)?i=this.normalize(t,h,s):Qe.call(h,function(t){var r=this.typeForRoot(s),a=e.modelFor(r),o=e.serializerFor(a);t=o.normalize(a,t,s);var u=c&&!n&&!i,l=c&&d(t.id)===n;u||l?i=t:e.push(r,t)},this))}}return i},extractArray:function(e,t,r){var n,i=this.normalizePayload(r),a=t.typeKey;for(var o in i){var s=o,u=!1;"_"===o.charAt(0)&&(u=!0,s=o.substr(1));var l=this.typeForRoot(s);if(e.modelFactoryFor(l)){var c=e.modelFor(l),h=e.serializerFor(c),d=!u&&c.typeKey===a,f=Xe.call(i[o],function(e){return h.normalize(c,e,o)},this);d?n=f:e.pushMany(l,f)}}return n},pushPayload:function(e,t){var r=this.normalizePayload(t);for(var n in r){var i=this.typeForRoot(n);if(e.modelFactoryFor(i,n)){var a=e.modelFor(i),o=e.serializerFor(a),s=Xe.call(Ember.makeArray(r[n]),function(e){return o.normalize(a,e,n)},this);e.pushMany(i,s)}}},typeForRoot:function(e){return Je(s(e))},serialize:function(e,t){return this._super.apply(this,arguments)},serializeIntoHash:function(e,t,r,n){e[t.typeKey]=this.serialize(r,n)},serializePolymorphicType:function(e,t,r){var n=r.key,i=e.belongsTo(n);n=this.keyForAttribute?this.keyForAttribute(n):n,t[n+"Type"]=Ember.isNone(i)?null:Ember.String.camelize(i.typeKey)}}),et=Ze,tt=Ember.EnumerableUtils.forEach,rt=Ember.String.camelize,nt=Ember.String.capitalize,it=Ember.String.decamelize,at=Ember.String.underscore,ot=et.extend({keyForAttribute:function(e){return it(e)},keyForRelationship:function(e,t){var r=it(e);return"belongsTo"===t?r+"_id":"hasMany"===t?s(r)+"_ids":r},serializeHasMany:Ember.K,serializeIntoHash:function(e,t,r,n){var i=at(it(t.typeKey));e[i]=this.serialize(r,n)},serializePolymorphicType:function(e,t,r){var n=r.key,i=e.belongsTo(n),a=at(n+"_type");t[a]=Ember.isNone(i)?null:nt(rt(i.typeKey))},normalize:function(e,t,r){return this.normalizeLinks(t),this._super(e,t,r)},normalizeLinks:function(e){if(e.links){var t=e.links;for(var r in t){var n=rt(r);n!==r&&(t[n]=t[r],delete t[r])}}},normalizeRelationships:function(e,t){this.keyForRelationship&&e.eachRelationship(function(e,r){var n,i;if(r.options.polymorphic){if(n=this.keyForAttribute(e),i=t[n],i&&i.type)i.type=this.typeForRoot(i.type);else if(i&&"hasMany"===r.kind){var a=this;tt(i,function(e){e.type=a.typeForRoot(e.type)})}}else{if(n=this.keyForRelationship(e,r.kind),!t.hasOwnProperty(n))return;i=t[n]}t[e]=i,e!==n&&delete t[n]},this)}}),st=ot;f.prototype.aliasedFactory=function(e,t){var r=this;return{create:function(){return t&&t(),r.container.lookup(e)}}},f.prototype.registerAlias=function(e,t,r){var n=this.aliasedFactory(t,r);return this.container.register(e,n)},f.prototype.registerDeprecation=function(e,t){var r=function(){};return this.registerAlias(e,t,r)},f.prototype.registerDeprecations=function(e){var t,r,n,i;for(t=e.length;t>0;t--)r=e[t-1],n=r.deprecated,i=r.valid,this.registerDeprecation(n,i)};var ut=f,lt=p,ct=Ember.Namespace.create({VERSION:"1.0.0-beta.16.1"});Ember.libraries&&Ember.libraries.registerCoreLibrary("Ember Data",ct.VERSION);var ht=ct,dt=Ember.RSVP.Promise,ft=Ember.get,pt=Ember.ArrayProxy.extend(Ember.PromiseProxyMixin),mt=Ember.ObjectProxy.extend(Ember.PromiseProxyMixin),gt=function(e,t){return mt.create({promise:dt.resolve(e,t)})},vt=function(e,t){return pt.create({promise:dt.resolve(e,t)})},yt=pt.extend({reload:function(){return yt.create({promise:ft(this,"content").reload()})},createRecord:m("createRecord"),on:m("on"),one:m("one"),trigger:m("trigger"),off:m("off"),has:m("has")}),bt=Ember.get,_t=Ember.get,wt=Ember.RSVP.Promise,xt=Ember.get,Ct=Ember.set,Et=Ember.ArrayProxy.extend(Ember.Evented,{type:null,content:null,isLoaded:!1,isUpdating:!1,store:null,objectAtContent:function(e){var t=xt(this,"content");return t.objectAt(e)},update:function(){if(!xt(this,"isUpdating")){var e=xt(this,"store"),t=xt(this,"type");return e.fetchAll(t,this)}},addRecord:function(e,t){var r=xt(this,"content");void 0===t?r.addObject(e):r.contains(e)||r.insertAt(t,e)},_pushRecord:function(e){xt(this,"content").pushObject(e)},pushRecord:function(e){this._pushRecord(e)},removeRecord:function(e){xt(this,"content").removeObject(e)},save:function(){var e=this,t="DS: RecordArray#save "+xt(this,"type"),r=Ember.RSVP.all(this.invoke("save"),t).then(function(t){return e},null,"DS: RecordArray#save return RecordArray");return pt.create({promise:r})},_dissociateFromOwnRecords:function(){
+var e=this;this.forEach(function(t){var r=t._recordArrays;r&&r["delete"](e)})},_unregisterFromManager:function(){var e=xt(this,"manager");e&&e.unregisterFilteredRecordArray(this)},willDestroy:function(){this._unregisterFromManager(),this._dissociateFromOwnRecords(),Ct(this,"content",void 0),this._super.apply(this,arguments)}}),St=Ember.get,Tt=Et.extend({filterFunction:null,isLoaded:!0,replace:function(){var e=St(this,"type").toString();throw new Error("The result of a client-side filter (on "+e+") is immutable.")},_updateFilter:function(){var e=St(this,"manager");e.updateFilter(this,St(this,"type"),St(this,"filterFunction"))},updateFilter:Ember.observer(function(){Ember.run.once(this,this._updateFilter)},"filterFunction")}),kt=Ember.get,At=Et.extend({query:null,replace:function(){var e=kt(this,"type").toString();throw new Error("The result of a server query (on "+e+") is immutable.")},load:function(e){var t=kt(this,"store"),r=kt(this,"type"),n=t.pushMany(r,e),i=t.metadataFor(r);this.setProperties({content:Ember.A(n),isLoaded:!0,meta:T(i)}),n.forEach(function(e){this.manager.recordArraysForRecord(e).add(this)},this),Ember.run.once(this,"trigger","didLoad")}}),Ot=Ember.OrderedSet,Rt=Ember.guidFor,Pt=function(){this._super$constructor()};Pt.create=function(){var e=this;return new e},Pt.prototype=Ember.create(Ot.prototype),Pt.prototype.constructor=Pt,Pt.prototype._super$constructor=Ot,Pt.prototype.addWithIndex=function(e,t){var r=Rt(e),n=this.presenceSet,i=this.list;return n[r]!==!0?(n[r]=!0,void 0===t||null==t?i.push(e):i.splice(t,0,e),this.size+=1,this):void 0};var Nt=Pt,Mt=Ember.get,Dt=Ember.EnumerableUtils.forEach,Ft=Ember.EnumerableUtils.indexOf,jt=Ember.Object.extend({init:function(){this.filteredRecordArrays=Ee.create({defaultValue:function(){return[]}}),this.changedRecords=[],this._adapterPopulatedRecordArrays=[]},recordDidChange:function(e){1===this.changedRecords.push(e)&&Ember.run.schedule("actions",this,this.updateRecordArrays)},recordArraysForRecord:function(e){return e._recordArrays=e._recordArrays||Nt.create(),e._recordArrays},updateRecordArrays:function(){Dt(this.changedRecords,function(e){Mt(e,"isDeleted")?this._recordWasDeleted(e):this._recordWasChanged(e)},this),this.changedRecords.length=0},_recordWasDeleted:function(e){var t=e._recordArrays;t&&(t.forEach(function(t){t.removeRecord(e)}),e._recordArrays=null)},_recordWasChanged:function(e){var t,r=e.constructor,n=this.filteredRecordArrays.get(r);Dt(n,function(n){t=Mt(n,"filterFunction"),t&&this.updateRecordArray(n,t,r,e)},this)},recordWasLoaded:function(e){var t,r=e.constructor,n=this.filteredRecordArrays.get(r);Dt(n,function(n){t=Mt(n,"filterFunction"),this.updateRecordArray(n,t,r,e)},this)},updateRecordArray:function(e,t,r,n){var i;i=t?t(n):!0;var a=this.recordArraysForRecord(n);i?a.has(e)||(e._pushRecord(n),a.add(e)):i||(a["delete"](e),e.removeRecord(n))},updateFilter:function(e,t,r){for(var n,i=this.store.typeMapFor(t),a=i.records,o=0,s=a.length;s>o;o++)n=a[o],Mt(n,"isDeleted")||Mt(n,"isEmpty")||this.updateRecordArray(e,r,t,n)},createRecordArray:function(e){var t=Et.create({type:e,content:Ember.A(),store:this.store,isLoaded:!0,manager:this});return this.registerFilteredRecordArray(t,e),t},createFilteredRecordArray:function(e,t,r){var n=Tt.create({query:r,type:e,content:Ember.A(),store:this.store,manager:this,filterFunction:t});return this.registerFilteredRecordArray(n,e,t),n},createAdapterPopulatedRecordArray:function(e,t){var r=At.create({type:e,query:t,content:Ember.A(),store:this.store,manager:this});return this._adapterPopulatedRecordArrays.push(r),r},registerFilteredRecordArray:function(e,t,r){var n=this.filteredRecordArrays.get(t);n.push(e),this.updateFilter(e,t,r)},unregisterFilteredRecordArray:function(e){var t=this.filteredRecordArrays.get(e.type),r=Ft(t,e);t.splice(r,1)},willDestroy:function(){this._super.apply(this,arguments),this.filteredRecordArrays.forEach(function(e){Dt(A(e),k)}),Dt(this._adapterPopulatedRecordArrays,k)}}),It=Ember.get,Lt=Ember.set,Vt={initialState:"uncommitted",isDirty:!0,uncommitted:{didSetProperty:O,loadingData:Ember.K,propertyWasReset:function(e,t){var r=Ember.keys(e._attributes).length,n=r>0;n||e.send("rolledBack")},pushedData:Ember.K,becomeDirty:Ember.K,willCommit:function(e){e.transitionTo("inFlight")},reloadRecord:function(e,t){t(It(e,"store").reloadRecord(e))},rolledBack:function(e){e.transitionTo("loaded.saved")},becameInvalid:function(e){e.transitionTo("invalid")},rollback:function(e){e.rollback(),e.triggerLater("ready")}},inFlight:{isSaving:!0,didSetProperty:O,becomeDirty:Ember.K,pushedData:Ember.K,unloadRecord:function(e){},willCommit:Ember.K,didCommit:function(e){var t=It(this,"dirtyType");e.transitionTo("saved"),e.send("invokeLifecycleCallbacks",t)},becameInvalid:function(e){e.transitionTo("invalid"),e.send("invokeLifecycleCallbacks")},becameError:function(e){e.transitionTo("uncommitted"),e.triggerLater("becameError",e)}},invalid:{isValid:!1,deleteRecord:function(e){e.transitionTo("deleted.uncommitted"),e.disconnectRelationships()},didSetProperty:function(e,t){It(e,"errors").remove(t.name),O(e,t)},becomeDirty:Ember.K,willCommit:function(e){It(e,"errors").clear(),e.transitionTo("inFlight")},rolledBack:function(e){It(e,"errors").clear(),e.triggerLater("ready")},becameValid:function(e){e.transitionTo("uncommitted")},invokeLifecycleCallbacks:function(e){e.triggerLater("becameInvalid",e)},exit:function(e){e._inFlightAttributes={}}}},zt=N({dirtyType:"created",isNew:!0});zt.uncommitted.rolledBack=function(e){e.transitionTo("deleted.saved")};var Ht=N({dirtyType:"updated"});zt.uncommitted.deleteRecord=function(e){e.disconnectRelationships(),e.transitionTo("deleted.saved"),e.send("invokeLifecycleCallbacks")},zt.uncommitted.rollback=function(e){Vt.uncommitted.rollback.apply(this,arguments),e.transitionTo("deleted.saved")},zt.uncommitted.pushedData=function(e){e.transitionTo("loaded.updated.uncommitted"),e.triggerLater("didLoad")},zt.uncommitted.propertyWasReset=Ember.K,Ht.inFlight.unloadRecord=M,Ht.uncommitted.deleteRecord=function(e){e.transitionTo("deleted.uncommitted"),e.disconnectRelationships()};var Bt={isEmpty:!1,isLoading:!1,isLoaded:!1,isDirty:!1,isSaving:!1,isDeleted:!1,isNew:!1,isValid:!0,rolledBack:Ember.K,unloadRecord:function(e){e.clearRelationships(),e.transitionTo("deleted.saved")},propertyWasReset:Ember.K,empty:{isEmpty:!0,loadingData:function(e,t){e._loadingPromise=t,e.transitionTo("loading")},loadedData:function(e){e.transitionTo("loaded.created.uncommitted"),e.triggerLater("ready")},pushedData:function(e){e.transitionTo("loaded.saved"),e.triggerLater("didLoad"),e.triggerLater("ready")}},loading:{isLoading:!0,exit:function(e){e._loadingPromise=null},pushedData:function(e){e.transitionTo("loaded.saved"),e.triggerLater("didLoad"),e.triggerLater("ready"),Lt(e,"isError",!1)},becameError:function(e){e.triggerLater("becameError",e)},notFound:function(e){e.transitionTo("empty")}},loaded:{initialState:"saved",isLoaded:!0,loadingData:Ember.K,saved:{setup:function(e){var t=e._attributes,r=Ember.keys(t).length>0;r&&e.adapterDidDirty()},didSetProperty:O,pushedData:Ember.K,becomeDirty:function(e){e.transitionTo("updated.uncommitted")},willCommit:function(e){e.transitionTo("updated.inFlight")},reloadRecord:function(e,t){t(It(e,"store").reloadRecord(e))},deleteRecord:function(e){e.transitionTo("deleted.uncommitted"),e.disconnectRelationships()},unloadRecord:function(e){e.clearRelationships(),e.transitionTo("deleted.saved")},didCommit:function(e){e.send("invokeLifecycleCallbacks",It(e,"lastDirtyType"))},notFound:Ember.K},created:zt,updated:Ht},deleted:{initialState:"uncommitted",dirtyType:"deleted",isDeleted:!0,isLoaded:!0,isDirty:!0,setup:function(e){e.updateRecordArrays()},uncommitted:{willCommit:function(e){e.transitionTo("inFlight")},rollback:function(e){e.rollback(),e.triggerLater("ready")},becomeDirty:Ember.K,deleteRecord:Ember.K,rolledBack:function(e){e.transitionTo("loaded.saved"),e.triggerLater("ready")}},inFlight:{isSaving:!0,unloadRecord:M,willCommit:Ember.K,didCommit:function(e){e.transitionTo("saved"),e.send("invokeLifecycleCallbacks")},becameError:function(e){e.transitionTo("uncommitted"),e.triggerLater("becameError",e)},becameInvalid:function(e){e.transitionTo("invalid"),e.triggerLater("becameInvalid",e)}},saved:{isDirty:!1,setup:function(e){var t=It(e,"store");t._dematerializeRecord(e)},invokeLifecycleCallbacks:function(e){e.triggerLater("didDelete",e),e.triggerLater("didCommit",e)},willCommit:Ember.K,didCommit:Ember.K},invalid:{isValid:!1,didSetProperty:function(e,t){It(e,"errors").remove(t.name),O(e,t)},deleteRecord:Ember.K,becomeDirty:Ember.K,willCommit:Ember.K,rolledBack:function(e){It(e,"errors").clear(),e.transitionTo("loaded.saved"),e.triggerLater("ready")},becameValid:function(e){e.transitionTo("uncommitted")}}},invokeLifecycleCallbacks:function(e,t){"created"===t?e.triggerLater("didCreate",e):e.triggerLater("didUpdate",e),e.triggerLater("didCommit",e)}};Bt=D(Bt,null,"root");var qt=Bt,Ut=Ember.get,Wt=Ember.isEmpty,$t=Ember.EnumerableUtils.map,Kt=Ember.Object.extend(Ember.Enumerable,Ember.Evented,{registerHandlers:function(e,t,r){this.on("becameInvalid",e,t),this.on("becameValid",e,r)},errorsByAttributeName:Ember.reduceComputed("content",{initialValue:function(){return Ee.create({defaultValue:function(){return Ember.A()}})},addedItem:function(e,t){return e.get(t.attribute).pushObject(t),e},removedItem:function(e,t){return e.get(t.attribute).removeObject(t),e}}),errorsFor:function(e){return Ut(this,"errorsByAttributeName").get(e)},messages:Ember.computed.mapBy("content","message"),content:Ember.computed(function(){return Ember.A()}),unknownProperty:function(e){var t=this.errorsFor(e);return Wt(t)?null:t},nextObject:function(e,t,r){return Ut(this,"content").objectAt(e)},length:Ember.computed.oneWay("content.length").readOnly(),isEmpty:Ember.computed.not("length").readOnly(),add:function(e,t){var r=Ut(this,"isEmpty");t=this._findOrCreateMessages(e,t),Ut(this,"content").addObjects(t),this.notifyPropertyChange(e),this.enumerableContentDidChange(),r&&!Ut(this,"isEmpty")&&this.trigger("becameInvalid")},_findOrCreateMessages:function(e,t){var r=this.errorsFor(e);return $t(Ember.makeArray(t),function(t){return r.findBy("message",t)||{attribute:e,message:t}})},remove:function(e){if(!Ut(this,"isEmpty")){var t=Ut(this,"content").rejectBy("attribute",e);Ut(this,"content").setObjects(t),this.notifyPropertyChange(e),this.enumerableContentDidChange(),Ut(this,"isEmpty")&&this.trigger("becameValid")}},clear:function(){Ut(this,"isEmpty")||(Ut(this,"content").clear(),this.enumerableContentDidChange(),this.trigger("becameValid"))},has:function(e){return!Wt(this.errorsFor(e))}}),Yt=F,Gt=Ember.EnumerableUtils.forEach,Qt=function(e,t,r,n){this.members=new Nt,this.canonicalMembers=new Nt,this.store=e,this.key=n.key,this.inverseKey=r,this.record=t,this.isAsync=n.options.async,this.relationshipMeta=n,this.inverseKeyForImplicit=this.store.modelFor(this.record.constructor).typeKey+this.key,this.linkPromise=null};Qt.prototype={constructor:Qt,destroy:Ember.K,clear:function(){for(var e,t=this.members.list;t.length>0;)e=t[0],this.removeRecord(e)},disconnect:function(){this.members.forEach(function(e){this.removeRecordFromInverse(e)},this)},reconnect:function(){this.members.forEach(function(e){this.addRecordToInverse(e)},this)},removeRecords:function(e){var t=this;Gt(e,function(e){t.removeRecord(e)})},addRecords:function(e,t){var r=this;Gt(e,function(e){r.addRecord(e,t),void 0!==t&&t++})},addCanonicalRecords:function(e,t){for(var r=0;r<e.length;r++)void 0!==t?this.addCanonicalRecord(e[r],r+t):this.addCanonicalRecord(e[r])},addCanonicalRecord:function(e,t){this.canonicalMembers.has(e)||(this.canonicalMembers.add(e),this.inverseKey?e._relationships[this.inverseKey].addCanonicalRecord(this.record):(e._implicitRelationships[this.inverseKeyForImplicit]||(e._implicitRelationships[this.inverseKeyForImplicit]=new Qt(this.store,e,this.key,{options:{}})),e._implicitRelationships[this.inverseKeyForImplicit].addCanonicalRecord(this.record))),this.flushCanonicalLater()},removeCanonicalRecords:function(e,t){for(var r=0;r<e.length;r++)void 0!==t?this.removeCanonicalRecord(e[r],r+t):this.removeCanonicalRecord(e[r])},removeCanonicalRecord:function(e,t){this.canonicalMembers.has(e)&&(this.removeCanonicalRecordFromOwn(e),this.inverseKey?this.removeCanonicalRecordFromInverse(e):e._implicitRelationships[this.inverseKeyForImplicit]&&e._implicitRelationships[this.inverseKeyForImplicit].removeCanonicalRecord(this.record)),this.flushCanonicalLater()},addRecord:function(e,t){this.members.has(e)||(this.members.addWithIndex(e,t),this.notifyRecordRelationshipAdded(e,t),this.inverseKey?e._relationships[this.inverseKey].addRecord(this.record):(e._implicitRelationships[this.inverseKeyForImplicit]||(e._implicitRelationships[this.inverseKeyForImplicit]=new Qt(this.store,e,this.key,{options:{}})),e._implicitRelationships[this.inverseKeyForImplicit].addRecord(this.record)),this.record.updateRecordArraysLater())},removeRecord:function(e){this.members.has(e)&&(this.removeRecordFromOwn(e),this.inverseKey?this.removeRecordFromInverse(e):e._implicitRelationships[this.inverseKeyForImplicit]&&e._implicitRelationships[this.inverseKeyForImplicit].removeRecord(this.record))},addRecordToInverse:function(e){this.inverseKey&&e._relationships[this.inverseKey].addRecord(this.record)},removeRecordFromInverse:function(e){var t=e._relationships[this.inverseKey];t&&t.removeRecordFromOwn(this.record)},removeRecordFromOwn:function(e){this.members["delete"](e),this.notifyRecordRelationshipRemoved(e),this.record.updateRecordArrays()},removeCanonicalRecordFromInverse:function(e){var t=e._relationships[this.inverseKey];t&&t.removeCanonicalRecordFromOwn(this.record)},removeCanonicalRecordFromOwn:function(e){this.canonicalMembers["delete"](e),this.flushCanonicalLater()},flushCanonical:function(){this.willSync=!1;for(var e=[],t=0;t<this.members.list.length;t++)this.members.list[t].get("isNew")&&e.push(this.members.list[t]);for(this.members=this.canonicalMembers.copy(),t=0;t<e.length;t++)this.members.add(e[t])},flushCanonicalLater:function(){if(!this.willSync){this.willSync=!0;var e=this;this.store._backburner.join(function(){e.store._backburner.schedule("syncRelationships",e,e.flushCanonical)})}},updateLink:function(e){e!==this.link&&(this.link=e,this.linkPromise=null,this.record.notifyPropertyChange(this.key))},findLink:function(){if(this.linkPromise)return this.linkPromise;var e=this.fetchLink();return this.linkPromise=e,e.then(function(e){return e})},updateRecordsFromAdapter:function(e){var t=this;t.computeChanges(e)},notifyRecordRelationshipAdded:Ember.K,notifyRecordRelationshipRemoved:Ember.K};var Xt=Qt,Jt=Ember.get,Zt=Ember.set,er=Ember.ArrayPolyfills.filter,tr=Ember.Object.extend(Ember.MutableArray,Ember.Evented,{init:function(){this.currentState=Ember.A([])},record:null,canonicalState:null,currentState:null,length:0,objectAt:function(e){return this.currentState[e]?this.currentState[e]:this.canonicalState[e]},flushCanonical:function(){var e=er.call(this.canonicalState,function(e){return!e.get("isDeleted")}),t=this.currentState.filter(function(e){return e.get("isNew")});e=e.concat(t);var r=this.length;this.arrayContentWillChange(0,this.length,e.length),this.set("length",e.length),this.currentState=e,this.arrayContentDidChange(0,r,this.length),this.relationship.notifyHasManyChanged(),this.record.updateRecordArrays()},isPolymorphic:!1,isLoaded:!1,relationship:null,internalReplace:function(e,t,r){r||(r=[]),this.arrayContentWillChange(e,t,r.length),this.currentState.splice.apply(this.currentState,[e,t].concat(r)),this.set("length",this.currentState.length),this.arrayContentDidChange(e,t,r.length),r&&this.relationship.notifyHasManyChanged(),this.record.updateRecordArrays()},internalRemoveRecords:function(e){for(var t,r=0;r<e.length;r++)t=this.currentState.indexOf(e[r]),this.internalReplace(t,1)},internalAddRecords:function(e,t){void 0===t&&(t=this.currentState.length),this.internalReplace(t,0,e)},replace:function(e,t,r){var n;t>0&&(n=this.currentState.slice(e,e+t),this.get("relationship").removeRecords(n)),r&&this.get("relationship").addRecords(r,e)},promise:null,loadingRecordsCount:function(e){this.loadingRecordsCount=e},loadedRecord:function(){this.loadingRecordsCount--,0===this.loadingRecordsCount&&(Zt(this,"isLoaded",!0),this.trigger("didLoad"))},reload:function(){return this.relationship.reload()},save:function(){var e=this,t="DS: ManyArray#save "+Jt(this,"type"),r=Ember.RSVP.all(this.invoke("save"),t).then(function(t){return e},null,"DS: ManyArray#save return ManyArray");return pt.create({promise:r})},createRecord:function(e){var t,r=Jt(this,"store"),n=Jt(this,"type");return t=r.createRecord(n,e),this.pushObject(t),t},addRecord:function(e){this.addObject(e)},removeRecord:function(e){this.removeObject(e)}}),rr=function(e,t,r,n){this._super$constructor(e,t,r,n),this.belongsToType=n.type,this.canonicalState=[],this.manyArray=tr.create({canonicalState:this.canonicalState,store:this.store,relationship:this,type:this.belongsToType,record:t}),this.isPolymorphic=n.options.polymorphic,this.manyArray.isPolymorphic=this.isPolymorphic};rr.prototype=Ember.create(Xt.prototype),rr.prototype.constructor=rr,rr.prototype._super$constructor=Xt,rr.prototype.destroy=function(){this.manyArray.destroy()},rr.prototype._super$addCanonicalRecord=Xt.prototype.addCanonicalRecord,rr.prototype.addCanonicalRecord=function(e,t){this.canonicalMembers.has(e)||(void 0!==t?this.canonicalState.splice(t,0,e):this.canonicalState.push(e),this._super$addCanonicalRecord(e,t))},rr.prototype._super$addRecord=Xt.prototype.addRecord,rr.prototype.addRecord=function(e,t){this.members.has(e)||(this._super$addRecord(e,t),this.manyArray.internalAddRecords([e],t))},rr.prototype._super$removeCanonicalRecordFromOwn=Xt.prototype.removeCanonicalRecordFromOwn,rr.prototype.removeCanonicalRecordFromOwn=function(e,t){var r=t;this.canonicalMembers.has(e)&&(void 0===r&&(r=this.canonicalState.indexOf(e)),r>-1&&this.canonicalState.splice(r,1),this._super$removeCanonicalRecordFromOwn(e,t))},rr.prototype._super$flushCanonical=Xt.prototype.flushCanonical,rr.prototype.flushCanonical=function(){this.manyArray.flushCanonical(),this._super$flushCanonical()},rr.prototype._super$removeRecordFromOwn=Xt.prototype.removeRecordFromOwn,rr.prototype.removeRecordFromOwn=function(e,t){this.members.has(e)&&(this._super$removeRecordFromOwn(e,t),void 0!==t?this.manyArray.currentState.removeAt(t):this.manyArray.internalRemoveRecords([e]))},rr.prototype.notifyRecordRelationshipAdded=function(e,t){this.relationshipMeta.type;this.record.notifyHasManyAdded(this.key,e,t)},rr.prototype.reload=function(){var e=this;return this.link?this.fetchLink():this.store.scheduleFetchMany(this.manyArray.toArray()).then(function(){return e.manyArray.set("isLoaded",!0),e.manyArray})},rr.prototype.computeChanges=function(e){var t,r,n,i=this.canonicalMembers,a=[];for(e=j(e),i.forEach(function(t){e.has(t)||a.push(t)}),this.removeCanonicalRecords(a),e=e.toArray(),t=e.length,n=0;t>n;n++)r=e[n],this.removeCanonicalRecord(r),this.addCanonicalRecord(r,n)},rr.prototype.fetchLink=function(){var e=this;return this.store.findHasMany(this.record,this.link,this.relationshipMeta).then(function(t){return e.store._backburner.join(function(){e.updateRecordsFromAdapter(t)}),e.manyArray})},rr.prototype.findRecords=function(){var e=this.manyArray;return this.store.findMany(e.toArray()).then(function(){return e.set("isLoaded",!0),e})},rr.prototype.notifyHasManyChanged=function(){this.record.notifyHasManyAdded(this.key)},rr.prototype.getRecords=function(){if(this.isAsync){var e,t=this;return e=this.link?this.findLink().then(function(){return t.findRecords()}):this.findRecords(),yt.create({content:this.manyArray,promise:e})}return this.manyArray.get("isDestroyed")||this.manyArray.set("isLoaded",!0),this.manyArray};var nr=rr,ir=function(e,t,r,n){this._super$constructor(e,t,r,n),this.record=t,this.key=n.key,this.inverseRecord=null,this.canonicalState=null};ir.prototype=Ember.create(Xt.prototype),ir.prototype.constructor=ir,ir.prototype._super$constructor=Xt,ir.prototype.setRecord=function(e){e?this.addRecord(e):this.inverseRecord&&this.removeRecord(this.inverseRecord)},ir.prototype.setCanonicalRecord=function(e){e?this.addCanonicalRecord(e):this.inverseRecord&&this.removeCanonicalRecord(this.inverseRecord)},ir.prototype._super$addCanonicalRecord=Xt.prototype.addCanonicalRecord,ir.prototype.addCanonicalRecord=function(e){this.canonicalMembers.has(e)||(this.canonicalState&&this.removeCanonicalRecord(this.canonicalState),this.canonicalState=e,this._super$addCanonicalRecord(e))},ir.prototype._super$flushCanonical=Xt.prototype.flushCanonical,ir.prototype.flushCanonical=function(){this.inverseRecord&&this.inverseRecord.get("isNew")&&!this.canonicalState||(this.inverseRecord=this.canonicalState,this.record.notifyBelongsToChanged(this.key),this._super$flushCanonical())},ir.prototype._super$addRecord=Xt.prototype.addRecord,ir.prototype.addRecord=function(e){if(!this.members.has(e)){{this.relationshipMeta.type}this.inverseRecord&&this.removeRecord(this.inverseRecord),this.inverseRecord=e,this._super$addRecord(e),this.record.notifyBelongsToChanged(this.key)}},ir.prototype.setRecordPromise=function(e){var t=e.get&&e.get("content");this.setRecord(t)},ir.prototype._super$removeRecordFromOwn=Xt.prototype.removeRecordFromOwn,ir.prototype.removeRecordFromOwn=function(e){this.members.has(e)&&(this.inverseRecord=null,this._super$removeRecordFromOwn(e),this.record.notifyBelongsToChanged(this.key))},ir.prototype._super$removeCanonicalRecordFromOwn=Xt.prototype.removeCanonicalRecordFromOwn,ir.prototype.removeCanonicalRecordFromOwn=function(e){this.canonicalMembers.has(e)&&(this.canonicalState=null,this._super$removeCanonicalRecordFromOwn(e))},ir.prototype.findRecord=function(){return this.inverseRecord?this.store._findByRecord(this.inverseRecord):Ember.RSVP.Promise.resolve(null)},ir.prototype.fetchLink=function(){var e=this;return this.store.findBelongsTo(this.record,this.link,this.relationshipMeta).then(function(t){return t&&e.addRecord(t),t})},ir.prototype.getRecord=function(){if(this.isAsync){var e;if(this.link){var t=this;e=this.findLink().then(function(){return t.findRecord()})}else e=this.findRecord();return mt.create({promise:e,content:this.inverseRecord})}return this.inverseRecord};var ar=ir,or=function(e,t,r){var n,i=e.constructor.inverseFor(t.key);return i&&(n=i.name),"hasMany"===t.kind?new nr(r,e,n,t):new ar(r,e,n,t)},sr=or,ur=Ember.get;I.prototype={constructor:I,id:null,record:null,type:null,typeKey:null,attr:function(e){if(e in this._attributes)return this._attributes[e];throw new Ember.Error("Model '"+Ember.inspect(this.record)+"' has no attribute named '"+e+"' defined.")},attributes:function(){return Ember.copy(this._attributes)},belongsTo:function(e,t){var r,n,i,a=t&&t.id;if(a&&e in this._belongsToIds)return this._belongsToIds[e];if(!a&&e in this._belongsToRelationships)return this._belongsToRelationships[e];if(n=this.record._relationships[e],!n||"belongsTo"!==n.relationshipMeta.kind)throw new Ember.Error("Model '"+Ember.inspect(this.record)+"' has no belongsTo relationship named '"+e+"' defined.");return i=ur(n,"inverseRecord"),a?(i&&(r=ur(i,"id")),this._belongsToIds[e]=r):(i&&(r=i._createSnapshot()),this._belongsToRelationships[e]=r),r},hasMany:function(e,t){var r,n,i=t&&t.ids,a=[];if(i&&e in this._hasManyIds)return this._hasManyIds[e];if(!i&&e in this._hasManyRelationships)return this._hasManyRelationships[e];if(r=this.record._relationships[e],!r||"hasMany"!==r.relationshipMeta.kind)throw new Ember.Error("Model '"+Ember.inspect(this.record)+"' has no hasMany relationship named '"+e+"' defined.");return n=ur(r,"members"),i?(n.forEach(function(e){a.push(ur(e,"id"))}),this._hasManyIds[e]=a):(n.forEach(function(e){a.push(e._createSnapshot())}),this._hasManyRelationships[e]=a),a},eachAttribute:function(e,t){this.record.eachAttribute(e,t)},eachRelationship:function(e,t){this.record.eachRelationship(e,t)},get:function(e){if("id"===e)return this.id;if(e in this._attributes)return this.attr(e);var t=this.record._relationships[e];return t&&"belongsTo"===t.relationshipMeta.kind?this.belongsTo(e):t&&"hasMany"===t.relationshipMeta.kind?this.hasMany(e):ur(this.record,e)},unknownProperty:function(e){return this.get(e)},_createSnapshot:function(){return this}};var lr=I,cr=Ember.get,hr=Ember.set,dr=Ember.RSVP.Promise,fr=Ember.ArrayPolyfills.forEach,pr=Ember.ArrayPolyfills.map,mr=(Ember.EnumerableUtils.intersection,Ember.computed("currentState",function(e,t){return cr(cr(this,"currentState"),e)}).readOnly()),gr=Ember.create(null),vr=Ember.create(null),yr=Ember.Object.extend(Ember.Evented,{_recordArrays:void 0,_relationships:void 0,store:null,isEmpty:mr,isLoading:mr,isLoaded:mr,isDirty:mr,isSaving:mr,isDeleted:mr,isNew:mr,isValid:mr,dirtyType:mr,isError:!1,isReloading:!1,clientId:null,id:null,currentState:qt.empty,errors:Ember.computed(function(){var e=Kt.create();return e.registerHandlers(this,function(){this.send("becameInvalid")},function(){this.send("becameValid")}),e}).readOnly(),serialize:function(e){return this.store.serialize(this,e)},toJSON:function(e){var t=Ge.create({container:this.container}),r=this._createSnapshot();return t.serialize(r,e)},ready:function(){this.store.recordArrayManager.recordWasLoaded(this)},didLoad:Ember.K,didUpdate:Ember.K,didCreate:Ember.K,didDelete:Ember.K,becameInvalid:Ember.K,becameError:Ember.K,data:Ember.computed(function(){return this._data=this._data||{},this._data}).readOnly(),_data:null,init:function(){this._super.apply(this,arguments),this._setup()},_setup:function(){this._changesToSync={},this._deferredTriggers=[],this._data={},this._attributes=Ember.create(null),this._inFlightAttributes=Ember.create(null),this._relationships={},this._implicitRelationships=Ember.create(null);var e=this;this.constructor.eachRelationship(function(t,r){e._relationships[t]=sr(e,r,e.store)})},send:function(e,t){var r=cr(this,"currentState");return r[e]||this._unhandledEvent(r,e,t),r[e](this,t)},transitionTo:function(e){var t=V(e),r=cr(this,"currentState"),n=r;do n.exit&&n.exit(this),n=n.parentState;while(!n.hasOwnProperty(t));var i,a,o=L(e),s=[],u=[];for(i=0,a=o.length;a>i;i++)n=n[o[i]],n.enter&&u.push(n),n.setup&&s.push(n);for(i=0,a=u.length;a>i;i++)u[i].enter(this);for(hr(this,"currentState",n),i=0,a=s.length;a>i;i++)s[i].setup(this);this.updateRecordArraysLater()},_unhandledEvent:function(e,t,r){var n="Attempted to handle event `"+t+"` ";throw n+="on "+String(this)+" while in state ",n+=e.stateName+". ",void 0!==r&&(n+="Called with "+Ember.inspect(r)+"."),new Ember.Error(n)},withTransaction:function(e){var t=cr(this,"transaction");t&&e(t)},loadingData:function(e){this.send("loadingData",e)},loadedData:function(){this.send("loadedData")},notFound:function(){this.send("notFound")},pushedData:function(){this.send("pushedData")},deleteRecord:function(){this.send("deleteRecord")},destroyRecord:function(){return this.deleteRecord(),this.save()},unloadRecord:function(){this.isDestroyed||this.send("unloadRecord")},clearRelationships:function(){this.eachRelationship(function(e,t){var r=this._relationships[e];r&&(r.clear(),r.destroy())},this);var e=this;fr.call(Ember.keys(this._implicitRelationships),function(t){e._implicitRelationships[t].clear(),e._implicitRelationships[t].destroy()})},disconnectRelationships:function(){this.eachRelationship(function(e,t){this._relationships[e].disconnect()},this);var e=this;fr.call(Ember.keys(this._implicitRelationships),function(t){e._implicitRelationships[t].disconnect()})},reconnectRelationships:function(){this.eachRelationship(function(e,t){this._relationships[e].reconnect()},this);var e=this;fr.call(Ember.keys(this._implicitRelationships),function(t){e._implicitRelationships[t].reconnect()})},updateRecordArrays:function(){this._updatingRecordArraysLater=!1,this.store.dataWasUpdated(this.constructor,this)},_preloadData:function(e){var t=this;fr.call(Ember.keys(e),function(r){var n=cr(e,r),i=t.constructor.metaForProperty(r);i.isRelationship?t._preloadRelationship(r,n):cr(t,"_data")[r]=n})},_preloadRelationship:function(e,t){var r=this.constructor.metaForProperty(e),n=r.type;"hasMany"===r.kind?this._preloadHasMany(e,t,n):this._preloadBelongsTo(e,t,n)},_preloadHasMany:function(e,t,r){var n=this,i=pr.call(t,function(e){return n._convertStringOrNumberIntoRecord(e,r)});this._relationships[e].updateRecordsFromAdapter(i)},_preloadBelongsTo:function(e,t,r){var n=this._convertStringOrNumberIntoRecord(t,r);this._relationships[e].setRecord(n)},_convertStringOrNumberIntoRecord:function(e,t){return"string"===Ember.typeOf(e)||"number"===Ember.typeOf(e)?this.store.recordForId(t,e):e},_notifyProperties:function(e){Ember.beginPropertyChanges();for(var t,r=0,n=e.length;n>r;r++)t=e[r],this.notifyPropertyChange(t);Ember.endPropertyChanges()},changedAttributes:function(){var e,t=cr(this,"_data"),r=cr(this,"_attributes"),n={};for(e in r)n[e]=[t[e],r[e]];return n},adapterWillCommit:function(){this.send("willCommit")},adapterDidCommit:function(e){var t;hr(this,"isError",!1),e?t=z(this._data,e):Yt(this._data,this._inFlightAttributes),this._inFlightAttributes=Ember.create(null),this.send("didCommit"),this.updateRecordArraysLater(),e&&this._notifyProperties(t)},adapterDidDirty:function(){this.send("becomeDirty"),this.updateRecordArraysLater()},updateRecordArraysLater:function(){this._updatingRecordArraysLater||(this._updatingRecordArraysLater=!0,Ember.run.schedule("actions",this,this.updateRecordArrays))},setupData:function(e){var t=z(this._data,e);this.pushedData(),this._notifyProperties(t)},materializeId:function(e){hr(this,"id",e)},materializeAttributes:function(e){Yt(this._data,e)},materializeAttribute:function(e,t){this._data[e]=t},rollback:function(){var e=Ember.keys(this._attributes);this._attributes=Ember.create(null),cr(this,"isError")&&(this._inFlightAttributes=Ember.create(null),hr(this,"isError",!1)),cr(this,"isDeleted")&&this.reconnectRelationships(),cr(this,"isNew")&&this.clearRelationships(),cr(this,"isValid")||(this._inFlightAttributes=Ember.create(null)),this.send("rolledBack"),this._notifyProperties(e)},_createSnapshot:function(){return new lr(this)},toStringExtension:function(){return cr(this,"id")},save:function(){var e="DS: Model#save "+this,t=Ember.RSVP.defer(e);return this.store.scheduleSave(this,t),this._inFlightAttributes=this._attributes,this._attributes=Ember.create(null),mt.create({promise:t.promise})},reload:function(){hr(this,"isReloading",!0);var e=this,t="DS: Model#reload of "+this,r=new dr(function(t){e.send("reloadRecord",t)},t).then(function(){return e.set("isReloading",!1),e.set("isError",!1),e},function(t){throw e.set("isError",!0),t},"DS: Model#reload complete, update flags")["finally"](function(){e.updateRecordArrays()});return mt.create({promise:r})},adapterDidInvalidate:function(e){var t=cr(this,"errors");for(var r in e)e.hasOwnProperty(r)&&t.add(r,e[r]);this._saveWasRejected()},adapterDidError:function(){this.send("becameError"),hr(this,"isError",!0),this._saveWasRejected()},_saveWasRejected:function(){for(var e=Ember.keys(this._inFlightAttributes),t=0;t<e.length;t++)void 0===this._attributes[e[t]]&&(this._attributes[e[t]]=this._inFlightAttributes[e[t]]);this._inFlightAttributes=Ember.create(null)},trigger:function(){for(var e=arguments.length,t=new Array(e-1),r=arguments[0],n=1;e>n;n++)t[n-1]=arguments[n];Ember.tryInvoke(this,r,t),this._super.apply(this,arguments)},triggerLater:function(){for(var e=arguments.length,t=new Array(e),r=0;e>r;r++)t[r]=arguments[r];1===this._deferredTriggers.push(t)&&Ember.run.schedule("actions",this,"_triggerDeferredTriggers")},_triggerDeferredTriggers:function(){for(var e=0,t=this._deferredTriggers.length;t>e;e++)this.trigger.apply(this,this._deferredTriggers[e]);this._deferredTriggers.length=0},willDestroy:function(){this._super.apply(this,arguments),this.clearRelationships()},willMergeMixin:function(e){
+this.constructor},attr:function(){},belongsTo:function(){},hasMany:function(){}});yr.reopenClass({_create:yr.create,create:function(){throw new Ember.Error("You should not call `create` on a model. Instead, call `store.createRecord` with the attributes you would like to set.")}});var br=yr,_r=Ember.get;br.reopenClass({attributes:Ember.computed(function(){var e=Ce.create();return this.eachComputedProperty(function(t,r){r.isAttribute&&(r.name=t,e.set(t,r))}),e}).readOnly(),transformedAttributes:Ember.computed(function(){var e=Ce.create();return this.eachAttribute(function(t,r){r.type&&e.set(t,r.type)}),e}).readOnly(),eachAttribute:function(e,t){_r(this,"attributes").forEach(function(r,n){e.call(t,n,r)},t)},eachTransformedAttribute:function(e,t){_r(this,"transformedAttributes").forEach(function(r,n){e.call(t,n,r)})}}),br.reopen({eachAttribute:function(e,t){this.constructor.eachAttribute(e,t)}});var wr=U,xr=br,Cr=Ember.__loader.require("backburner")["default"]||Ember.__loader.require("backburner").Backburner;if(!Cr.prototype.join){var Er=function(e){return"string"==typeof e};Cr.prototype.join=function(){var e,t;if(this.currentInstance){var r=arguments.length;if(1===r?(e=arguments[0],t=null):(t=arguments[0],e=arguments[1]),Er(e)&&(e=t[e]),1===r)return e();if(2===r)return e.call(t);for(var n=new Array(r-2),i=0,a=r-2;a>i;i++)n[i]=arguments[i+2];return e.apply(t,n)}return this.run.apply(this,arguments)}}var Sr,Tr=Ember.get,kr=Ember.set,Ar=Ember.run.once,Or=Ember.isNone,Rr=Ember.EnumerableUtils.forEach,Pr=Ember.EnumerableUtils.indexOf,Nr=Ember.EnumerableUtils.map,Mr=Ember.RSVP.Promise,Dr=Ember.copy,Fr=Ember.String.camelize,jr=Ember.Service;jr||(jr=Ember.Object),Sr=jr.extend({init:function(){this._backburner=new Cr(["normalizeRelationships","syncRelationships","finished"]),this.typeMaps={},this.recordArrayManager=jt.create({store:this}),this._pendingSave=[],this._containerCache=Ember.create(null),this._pendingFetch=Ce.create()},adapter:"-rest",serialize:function(e,t){var r=e._createSnapshot();return this.serializerFor(r.typeKey).serialize(r,t)},defaultAdapter:Ember.computed("adapter",function(){var e=Tr(this,"adapter");return"string"==typeof e&&(e=this.container.lookup("adapter:"+e)||this.container.lookup("adapter:application")||this.container.lookup("adapter:-rest")),DS.Adapter.detect(e)&&(e=e.create({container:this.container,store:this})),e}),createRecord:function(e,t){var r=this.modelFor(e),n=Dr(t)||{};Or(n.id)&&(n.id=this._generateId(r,n)),n.id=W(n.id);var i=this.buildRecord(r,n.id);return i.loadedData(),i.setProperties(n),i},_generateId:function(e,t){var r=this.adapterFor(e);return r&&r.generateIdForRecord?r.generateIdForRecord(this,e,t):null},deleteRecord:function(e){e.deleteRecord()},unloadRecord:function(e){e.unloadRecord()},find:function(e,t,r){return 1===arguments.length?this.findAll(e):"object"===Ember.typeOf(t)?this.findQuery(e,t):this.findById(e,W(t),r)},fetchById:function(e,t,r){return this.hasRecordForId(e,t)?this.getById(e,t).reload():this.find(e,t,r)},fetchAll:function(e){return e=this.modelFor(e),this._fetchAll(e,this.all(e))},fetch:function(e,t,r){return this.fetchById(e,t,r)},findById:function(e,t,r){var n=this.modelFor(e),i=this.recordForId(n,t);return this._findByRecord(i,r)},_findByRecord:function(e,t){var r;return t&&e._preloadData(t),Tr(e,"isEmpty")?r=this.scheduleFetch(e):Tr(e,"isLoading")&&(r=e._loadingPromise),gt(r||e,"DS: Store#findByRecord "+e.typeKey+" with id: "+Tr(e,"id"))},findByIds:function(e,t){var r=this;return vt(Ember.RSVP.all(Nr(t,function(t){return r.findById(e,t)})).then(Ember.A,null,"DS: Store#findByIds of "+e+" complete"))},fetchRecord:function(e){var t=e.constructor,r=Tr(e,"id"),n=this.adapterFor(t),i=_(n,this,t,r,e);return i},scheduleFetchMany:function(e){return Mr.all(Nr(e,this.scheduleFetch,this))},scheduleFetch:function(e){var t=e.constructor;if(Or(e))return null;if(e._loadingPromise)return e._loadingPromise;var r=Ember.RSVP.defer("Fetching "+t+"with id: "+e.get("id")),n={record:e,resolver:r},i=r.promise;return e.loadingData(i),this._pendingFetch.get(t)?this._pendingFetch.get(t).push(n):this._pendingFetch.set(t,[n]),Ember.run.scheduleOnce("afterRender",this,this.flushAllPendingFetches),i},flushAllPendingFetches:function(){this.isDestroyed||this.isDestroying||(this._pendingFetch.forEach(this._flushPendingFetchForType,this),this._pendingFetch=Ce.create())},_flushPendingFetchForType:function(e,t){function r(e){e.resolver.resolve(s.fetchRecord(e.record))}function n(t){return Rr(t,function(t){var r=Ember.A(e).findBy("record",t);if(r){var n=r.resolver;n.resolve(t)}}),t}function i(e){return function(t){t=Ember.A(t);var r=e.reject(function(e){return t.contains(e)});r.length,o(r)}}function a(e){return function(t){o(e,t)}}function o(t,r){Rr(t,function(t){var n=Ember.A(e).findBy("record",t);if(n){var i=n.resolver;i.reject(r)}})}var s=this,u=s.adapterFor(t),l=!!u.findMany&&u.coalesceFindRequests,c=Ember.A(e).mapBy("record");if(1===e.length)r(e[0]);else if(l){var h=Ember.A(c).invoke("_createSnapshot"),d=u.groupRecordsForFindMany(this,h);Rr(d,function(o){var l=Ember.A(o).mapBy("record"),c=Ember.A(l),h=c.mapBy("id");if(h.length>1)w(u,s,t,h,c).then(n).then(i(c)).then(null,a(c));else if(1===h.length){var d=Ember.A(e).findBy("record",l[0]);r(d)}})}else Rr(e,r)},getById:function(e,t){return this.hasRecordForId(e,t)?this.recordForId(e,t):null},reloadRecord:function(e){{var t=e.constructor;this.adapterFor(t),Tr(e,"id")}return this.scheduleFetch(e)},hasRecordForId:function(e,t){var r=this.modelFor(e),n=W(t),i=this.typeMapFor(r).idToRecord[n];return!!i&&Tr(i,"isLoaded")},recordForId:function(e,t){var r=this.modelFor(e),n=W(t),i=this.typeMapFor(r).idToRecord,a=i[n];return a&&i[n]||(a=this.buildRecord(r,n)),a},findMany:function(e){var t=this;return Mr.all(Nr(e,function(e){return t._findByRecord(e)}))},findHasMany:function(e,t,r){var n=this.adapterFor(e.constructor);return x(n,this,e,t,r)},findBelongsTo:function(e,t,r){var n=this.adapterFor(e.constructor);return C(n,this,e,t,r)},findQuery:function(e,t){var r=this.modelFor(e),n=this.recordArrayManager.createAdapterPopulatedRecordArray(r,t),i=this.adapterFor(r);return vt(S(i,this,r,t,n))},findAll:function(e){return this.fetchAll(e)},_fetchAll:function(e,t){var r=this.adapterFor(e),n=this.typeMapFor(e).metadata.since;return kr(t,"isUpdating",!0),vt(E(r,this,e,n))},didUpdateAll:function(e){var t=this.typeMapFor(e).findAllCache;kr(t,"isUpdating",!1)},all:function(e){var t=this.modelFor(e),r=this.typeMapFor(t),n=r.findAllCache;if(n)return this.recordArrayManager.updateFilter(n,t),n;var i=this.recordArrayManager.createRecordArray(t);return r.findAllCache=i,i},unloadAll:function(e){for(var t,r=this.modelFor(e),n=this.typeMapFor(r),i=n.records.slice(),a=0;a<i.length;a++)t=i[a],t.unloadRecord(),t.destroy();n.findAllCache=null},filter:function(e,t,r){var n,i,a=arguments.length,o=3===a;return o?n=this.findQuery(e,t):2===arguments.length&&(r=t),e=this.modelFor(e),i=o?this.recordArrayManager.createFilteredRecordArray(e,r,t):this.recordArrayManager.createFilteredRecordArray(e,r),n=n||Mr.cast(i),vt(n.then(function(){return i},null,"DS: Store#filter of "+e))},recordIsLoaded:function(e,t){return this.hasRecordForId(e,t)?!Tr(this.recordForId(e,t),"isEmpty"):!1},metadataFor:function(e){var t=this.modelFor(e);return this.typeMapFor(t).metadata},setMetadataFor:function(e,t){var r=this.modelFor(e);Ember.merge(this.typeMapFor(r).metadata,t)},dataWasUpdated:function(e,t){this.recordArrayManager.recordDidChange(t)},scheduleSave:function(e,t){e.adapterWillCommit(),this._pendingSave.push([e,t]),Ar(this,"flushPendingSave")},flushPendingSave:function(){var e=this._pendingSave.slice();this._pendingSave=[],Rr(e,function(e){var t,r=e[0],n=e[1],i=this.adapterFor(r.constructor);return"root.deleted.saved"===Tr(r,"currentState.stateName")?n.resolve(r):(t=Tr(r,"isNew")?"createRecord":Tr(r,"isDeleted")?"deleteRecord":"updateRecord",void n.resolve(X(i,this,t,r)))},this)},didSaveRecord:function(e,t){t&&(this._backburner.schedule("normalizeRelationships",this,"_setupRelationships",e,e.constructor,t),this.updateId(e,t)),e.adapterDidCommit(t)},recordWasInvalid:function(e,t){e.adapterDidInvalidate(t)},recordWasError:function(e){e.adapterDidError()},updateId:function(e,t){var r=(Tr(e,"id"),W(t.id));this.typeMapFor(e.constructor).idToRecord[r]=e,kr(e,"id",r)},typeMapFor:function(e){var t,r=Tr(this,"typeMaps"),n=Ember.guidFor(e);return(t=r[n])?t:(t={idToRecord:Ember.create(null),records:[],metadata:Ember.create(null),type:e},r[n]=t,t)},_load:function(e,t){var r=W(t.id),n=this.recordForId(e,r);return n.setupData(t),this.recordArrayManager.recordDidChange(n),n},_modelForMixin:function(e){var t=this.container._registry?this.container._registry:this.container,r=t.resolve("mixin:"+e);r&&t.register("model:"+e,DS.Model.extend(r));var n=this.modelFactoryFor(e);return n&&(n.__isMixin=!0,n.__mixin=r),n},modelFor:function(e){var t;if("string"==typeof e){if(t=this.modelFactoryFor(e),t||(t=this._modelForMixin(e)),!t)throw new Ember.Error("No model was found for '"+e+"'");t.typeKey=t.typeKey||this._normalizeTypeKey(e)}else t=e,t.typeKey&&(t.typeKey=this._normalizeTypeKey(t.typeKey));return t.store=this,t},modelFactoryFor:function(e){return this.container.lookupFactory("model:"+e)},push:function(e,t){{var r=this.modelFor(e);Ember.EnumerableUtils.filter}Ember.ENV.DS_WARN_ON_UNKNOWN_KEYS,this._load(r,t);var n=this.recordForId(r,t.id),i=this;return this._backburner.join(function(){i._backburner.schedule("normalizeRelationships",i,"_setupRelationships",n,r,t)}),n},_setupRelationships:function(e,t,r){r=$(this,t,r),J(this,e,r)},pushPayload:function(e,t){var r,n;t?(n=t,r=this.serializerFor(e)):(n=e,r=Q(this.container));var i=this;this._adapterRun(function(){r.pushPayload(i,n)})},normalize:function(e,t){var r=this.serializerFor(e),n=this.modelFor(e);return r.normalize(n,t)},update:function(e,t){return this.push(e,t)},pushMany:function(e,t){for(var r=t.length,n=new Array(r),i=0;r>i;i++)n[i]=this.push(e,t[i]);return n},metaForType:function(e,t){this.setMetadataFor(e,t)},buildRecord:function(e,t,r){var n=this.typeMapFor(e),i=n.idToRecord,a=e._create({id:t,store:this,container:this.container});return r&&a.setupData(r),t&&(i[t]=a),n.records.push(a),a},recordWasLoaded:function(e){this.recordArrayManager.recordWasLoaded(e)},dematerializeRecord:function(e){this._dematerializeRecord(e)},_dematerializeRecord:function(e){var t=e.constructor,r=this.typeMapFor(t),n=Tr(e,"id");e.updateRecordArrays(),n&&delete r.idToRecord[n];var i=Pr(r.records,e);r.records.splice(i,1)},adapterFor:function(e){"application"!==e&&(e=this.modelFor(e));var t=this.lookupAdapter(e.typeKey)||this.lookupAdapter("application");return t||Tr(this,"defaultAdapter")},_adapterRun:function(e){return this._backburner.run(e)},serializerFor:function(e){"application"!==e&&(e=this.modelFor(e));var t=this.lookupSerializer(e.typeKey)||this.lookupSerializer("application");if(!t){var r=this.adapterFor(e);t=this.lookupSerializer(Tr(r,"defaultSerializer"))}return t||(t=this.lookupSerializer("-default")),t},retrieveManagedInstance:function(e,t){var r=e+":"+t;if(!this._containerCache[r]){var n=this.container.lookup(r);n&&(kr(n,"store",this),this._containerCache[r]=n)}return this._containerCache[r]},lookupAdapter:function(e){return this.retrieveManagedInstance("adapter",e)},lookupSerializer:function(e){return this.retrieveManagedInstance("serializer",e)},willDestroy:function(){function e(e){return t[e].type}var t=this.typeMaps,r=Ember.keys(t),n=Nr(r,e);this.recordArrayManager.destroy(),Rr(n,this.unloadAll,this);for(var i in this._containerCache)this._containerCache[i].destroy(),delete this._containerCache[i];delete this._containerCache},_normalizeTypeKey:function(e){return Fr(s(e))}});var Ir=Sr,Lr=Z,Vr=Ember.Object.extend({serialize:null,deserialize:null}),zr=Ember.isEmpty,Hr=Vr.extend({deserialize:function(e){var t;return zr(e)?null:(t=Number(e),ee(t)?t:null)},serialize:function(e){var t;return zr(e)?null:(t=Number(e),ee(t)?t:null)}}),Br=Date.prototype.toISOString||function(){function e(e){return 10>e?"0"+e:e}return this.getUTCFullYear()+"-"+e(this.getUTCMonth()+1)+"-"+e(this.getUTCDate())+"T"+e(this.getUTCHours())+":"+e(this.getUTCMinutes())+":"+e(this.getUTCSeconds())+"."+(this.getUTCMilliseconds()/1e3).toFixed(3).slice(2,5)+"Z"};Ember.SHIM_ES5&&(Date.prototype.toISOString||(Date.prototype.toISOString=Br));var qr=Vr.extend({deserialize:function(e){var t=typeof e;return"string"===t?new Date(Ember.Date.parse(e)):"number"===t?new Date(e):null===e||void 0===e?e:null},serialize:function(e){return e instanceof Date?Br.call(e):null}}),Ur=Ember.isNone,Wr=Vr.extend({deserialize:function(e){return Ur(e)?null:String(e)},serialize:function(e){return Ur(e)?null:String(e)}}),$r=Vr.extend({deserialize:function(e){var t=typeof e;return"boolean"===t?e:"string"===t?null!==e.match(/^true$|^t$|^1$/i):"number"===t?1===e:!1},serialize:function(e){return Boolean(e)}}),Kr=te,Yr=re,Gr=Ember.get,Qr=Ember.String.capitalize,Xr=Ember.String.underscore,Jr=Ember.DataAdapter.extend({getFilters:function(){return[{name:"isNew",desc:"New"},{name:"isModified",desc:"Modified"},{name:"isClean",desc:"Clean"}]},detect:function(e){return e!==xr&&xr.detect(e)},columnsForType:function(e){var t=[{name:"id",desc:"Id"}],r=0,n=this;return Gr(e,"attributes").forEach(function(e,i){if(r++>n.attributeLimit)return!1;var a=Qr(Xr(i).replace("_"," "));t.push({name:i,desc:a})}),t},getRecords:function(e){return this.get("store").all(e)},getRecordColumnValues:function(e){var t=this,r=0,n={id:Gr(e,"id")};return e.eachAttribute(function(i){if(r++>t.attributeLimit)return!1;var a=Gr(e,i);n[i]=a}),n},getRecordKeywords:function(e){var t=[],r=Ember.A(["id"]);return e.eachAttribute(function(e){r.push(e)}),r.forEach(function(r){t.push(Gr(e,r))}),t},getRecordFilterValues:function(e){return{isNew:e.get("isNew"),isModified:e.get("isDirty")&&!e.get("isNew"),isClean:!e.get("isDirty")}},getRecordColor:function(e){var t="black";return e.get("isNew")?t="green":e.get("isDirty")&&(t="blue"),t},observeRecord:function(e,t){var r=Ember.A(),n=this,i=Ember.A(["id","isNew","isDirty"]);e.eachAttribute(function(e){i.push(e)}),i.forEach(function(i){var a=function(){t(n.wrapRecord(e))};Ember.addObserver(e,i,a),r.push(function(){Ember.removeObserver(e,i,a)})});var a=function(){r.forEach(function(e){e()})};return a}}),Zr=ne,en=ie,tn=Ember.K;Ember.onLoad("Ember.Application",function(e){e.initializer({name:"ember-data",initialize:en}),e.initializer({name:"store",after:"ember-data",initialize:tn}),e.initializer({name:"activeModelAdapter",before:"store",initialize:tn}),e.initializer({name:"transforms",before:"store",initialize:tn}),e.initializer({name:"data-adapter",before:"store",initialize:tn}),e.initializer({name:"injectStore",before:"store",initialize:tn})}),Ember.Date=Ember.Date||{};var rn=Date.parse,nn=[1,4,5,6,7,10,11];Ember.Date.parse=function(e){var t,r,n=0;if(r=/^(\d{4}|[+\-]\d{6})(?:-(\d{2})(?:-(\d{2}))?)?(?:T(\d{2}):(\d{2})(?::(\d{2})(?:\.(\d{3}))?)?(?:(Z)|([+\-])(\d{2})(?::(\d{2}))?)?)?$/.exec(e)){for(var i,a=0;i=nn[a];++a)r[i]=+r[i]||0;r[2]=(+r[2]||1)-1,r[3]=+r[3]||1,"Z"!==r[8]&&void 0!==r[9]&&(n=60*r[10]+r[11],"+"===r[9]&&(n=0-n)),t=Date.UTC(r[1],r[2],r[3],r[4],r[5]+n,r[6],r[7])}else t=rn?rn(e):0/0;return t},(Ember.EXTEND_PROTOTYPES===!0||Ember.EXTEND_PROTOTYPES.Date)&&(Date.parse=Ember.Date.parse),xr.reopen({_debugInfo:function(){var e=["id"],t={belongsTo:[],hasMany:[]},r=[];this.eachAttribute(function(t,r){e.push(t)},this),this.eachRelationship(function(e,n){t[n.kind].push(e),r.push(e)});var n=[{name:"Attributes",properties:e,expand:!0},{name:"Belongs To",properties:t.belongsTo,expand:!0},{name:"Has Many",properties:t.hasMany,expand:!0},{name:"Flags",properties:["isLoaded","isDirty","isSaving","isDeleted","isError","isNew","isValid"]}];return{propertyInfo:{includeOtherProperties:!0,groups:n,expensiveProperties:r}}}});var an=Jr,on=Ember.get,sn=Ember.EnumerableUtils.forEach,un=Ember.String.camelize,ln=Ember.Mixin.create({normalize:function(e,t,r){var n=this._super(e,t,r);return ae(this,this.store,e,n)},keyForRelationship:function(e,t){return this.hasDeserializeRecordsOption(e)?this.keyForAttribute(e):this._super(e,t)||e},serializeBelongsTo:function(e,t,r){var n=r.key;if(this.noSerializeOptionSpecified(n))return void this._super(e,t,r);var i,a=this.hasSerializeIdsOption(n),o=this.hasSerializeRecordsOption(n),s=e.belongsTo(n);a?(i=this.keyForRelationship(n,r.kind),t[i]=s?s.id:null):o&&(i=this.keyForAttribute(n),s?(t[i]=s.record.serialize({includeId:!0}),this.removeEmbeddedForeignKey(e,s,r,t[i])):t[i]=null)},serializeHasMany:function(e,t,r){var n=r.key;if(this.noSerializeOptionSpecified(n))return void this._super(e,t,r);var i,a=this.hasSerializeIdsOption(n),o=this.hasSerializeRecordsOption(n);a?(i=this.keyForRelationship(n,r.kind),t[i]=e.hasMany(n,{ids:!0})):o&&(i=this.keyForAttribute(n),t[i]=e.hasMany(n).map(function(t){var n=t.record.serialize({includeId:!0});return this.removeEmbeddedForeignKey(e,t,r,n),n},this))},removeEmbeddedForeignKey:function(e,t,r,n){if("hasMany"!==r.kind&&"belongsTo"===r.kind){var i=e.type.inverseFor(r.key);if(i){var a=i.name,o=this.store.serializerFor(t.type),s=o.keyForRelationship(a,i.kind);s&&delete n[s]}}},hasEmbeddedAlwaysOption:function(e){var t=this.attrsOption(e);return t&&"always"===t.embedded},hasSerializeRecordsOption:function(e){var t=this.hasEmbeddedAlwaysOption(e),r=this.attrsOption(e);return t||r&&"records"===r.serialize},hasSerializeIdsOption:function(e){var t=this.attrsOption(e);return t&&("ids"===t.serialize||"id"===t.serialize)},noSerializeOptionSpecified:function(e){var t=this.attrsOption(e);return!(t&&(t.serialize||t.embedded))},hasDeserializeRecordsOption:function(e){var t=this.hasEmbeddedAlwaysOption(e),r=this.attrsOption(e);return t||r&&"records"===r.deserialize},attrsOption:function(e){var t=this.get("attrs");return t&&(t[un(e)]||t[e])}}),cn=ln;xr.reopen({notifyBelongsToChanged:function(e){this.notifyPropertyChange(e)}});var hn=ce;xr.reopen({notifyHasManyAdded:function(e){this.notifyPropertyChange(e)}});var dn=he,fn=Ember.get,pn=Ember.ArrayPolyfills.filter,mn=Ember.computed(function(){Ember.testing===!0&&mn._cacheable===!0&&(mn._cacheable=!1);var e=new Ee({defaultValue:function(){return[]}});return this.eachComputedProperty(function(t,r){if(r.isRelationship){r.key=t;var n=e.get(de(this.store,r));n.push({name:t,kind:r.kind})}}),e}).readOnly(),gn=Ember.computed(function(){Ember.testing===!0&&gn._cacheable===!0&&(gn._cacheable=!1);var e,t=Ember.A();return this.eachComputedProperty(function(r,n){n.isRelationship&&(n.key=r,e=de(this.store,n),t.contains(e)||t.push(e))}),t}).readOnly(),vn=Ember.computed(function(){Ember.testing===!0&&vn._cacheable===!0&&(vn._cacheable=!1);var e=Ce.create();return this.eachComputedProperty(function(t,r){if(r.isRelationship){r.key=t;var n=fe(this.store,r);n.type=de(this.store,r),e.set(t,n)}}),e}).readOnly();xr.reopen({didDefineProperty:function(e,t,r){if(r instanceof Ember.ComputedProperty){var n=r.meta();n.parentType=e.constructor}}}),xr.reopenClass({typeForRelationship:function(e){var t=fn(this,"relationshipsByName").get(e);return t&&t.type},inverseMap:Ember.computed(function(){return Ember.create(null)}),inverseFor:function(e){var t=fn(this,"inverseMap");if(t[e])return t[e];var r=this._findInverseFor(e);return t[e]=r,r},_findInverseFor:function(e){function t(r,n,i){var a=i||[],o=fn(n,"relationships");if(o){var s=o.get(r);return s=pn.call(s,function(t){var r=n.metaForProperty(t.name).options;return r.inverse?e===r.inverse:!0}),s&&a.push.apply(a,s),r.superclass&&t(r.superclass,n,a),a}}var r=this.typeForRelationship(e);if(!r)return null;var n=this.metaForProperty(e),i=n.options;if(null===i.inverse)return null;var a,o,s;if(i.inverse)a=i.inverse,s=Ember.get(r,"relationshipsByName").get(a),o=s.kind;else{var u=t(this,r);if(0===u.length)return null;var l=pn.call(u,function(t){var n=r.metaForProperty(t.name).options;return e===n.inverse});1===l.length&&(u=l),a=u[0].name,o=u[0].kind}return{type:r,name:a,kind:o}},relationships:mn,relationshipNames:Ember.computed(function(){var e={hasMany:[],belongsTo:[]};return this.eachComputedProperty(function(t,r){r.isRelationship&&e[r.kind].push(t)}),e}),relatedTypes:gn,relationshipsByName:vn,fields:Ember.computed(function(){var e=Ce.create();return this.eachComputedProperty(function(t,r){r.isRelationship?e.set(t,r.kind):r.isAttribute&&e.set(t,"attribute")}),e}).readOnly(),eachRelationship:function(e,t){fn(this,"relationshipsByName").forEach(function(r,n){e.call(t,n,r)})},eachRelatedType:function(e,t){fn(this,"relatedTypes").forEach(function(r){e.call(t,r)})},determineRelationshipType:function(e){var t,r,n=e.key,i=e.kind,a=this.inverseFor(n);return a?(t=a.name,r=a.kind,"belongsTo"===r?"belongsTo"===i?"oneToOne":"manyToOne":"belongsTo"===i?"oneToMany":"manyToMany"):"belongsTo"===i?"oneToNone":"manyToNone"}}),xr.reopen({eachRelationship:function(e,t){this.constructor.eachRelationship(e,t)},relationshipFor:function(e){return fn(this.constructor,"relationshipsByName").get(e)},inverseFor:function(e){return this.constructor.inverseFor(e)}}),Ember.RSVP.Promise.cast=Ember.RSVP.Promise.cast||Ember.RSVP.resolve,ht.Store=Sr,ht.PromiseArray=pt,ht.PromiseObject=mt,ht.PromiseManyArray=yt,ht.Model=xr,ht.RootState=qt,ht.attr=wr,ht.Errors=Kt,ht.Snapshot=lr,ht.Adapter=ge,ht.InvalidError=e,ht.Serializer=Ue,ht.DebugAdapter=an,ht.RecordArray=Et,ht.FilteredRecordArray=Tt,ht.AdapterPopulatedRecordArray=At,ht.ManyArray=tr,ht.RecordArrayManager=jt,ht.RESTAdapter=Oe,ht.BuildURLMixin=Te,ht.FixtureAdapter=xe,ht.RESTSerializer=et,ht.JSONSerializer=Ge,ht.Transform=Vr,ht.DateTransform=qr,ht.StringTransform=Wr,ht.NumberTransform=Hr,ht.BooleanTransform=$r,ht.ActiveModelAdapter=Be,ht.ActiveModelSerializer=st,ht.EmbeddedRecordsMixin=cn,ht.belongsTo=hn,ht.hasMany=dn,ht.Relationship=Xt,ht.ContainerProxy=ut,ht._setupContainer=en,Ember.lookup.DS=ht}.call(this),+function(e){"use strict";function t(){var e=document.createElement("bootstrap"),t={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var r in t)if(void 0!==e.style[r])return{end:t[r]};return!1}e.fn.emulateTransitionEnd=function(t){var r=!1,n=this;e(this).one("bsTransitionEnd",function(){r=!0});var i=function(){r||e(n).trigger(e.support.transition.end)};return setTimeout(i,t),this},e(function(){e.support.transition=t(),e.support.transition&&(e.event.special.bsTransitionEnd={bindType:e.support.transition.end,delegateType:e.support.transition.end,handle:function(t){return e(t.target).is(this)?t.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(e){"use strict";function t(t){return this.each(function(){var n=e(this),i=n.data("bs.affix"),a="object"==typeof t&&t;i||n.data("bs.affix",i=new r(this,a)),"string"==typeof t&&i[t]()})}var r=function(t,n){this.options=e.extend({},r.DEFAULTS,n),this.$target=e(this.options.target).on("scroll.bs.affix.data-api",e.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",e.proxy(this.checkPositionWithEventLoop,this)),this.$element=e(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};r.VERSION="3.3.4",r.RESET="affix affix-top affix-bottom",r.DEFAULTS={offset:0,target:window},r.prototype.getState=function(e,t,r,n){var i=this.$target.scrollTop(),a=this.$element.offset(),o=this.$target.height();if(null!=r&&"top"==this.affixed)return r>i?"top":!1;if("bottom"==this.affixed)return null!=r?i+this.unpin<=a.top?!1:"bottom":e-n>=i+o?!1:"bottom";var s=null==this.affixed,u=s?i:a.top,l=s?o:t;return null!=r&&r>=i?"top":null!=n&&u+l>=e-n?"bottom":!1},r.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(r.RESET).addClass("affix");var e=this.$target.scrollTop(),t=this.$element.offset();return this.pinnedOffset=t.top-e},r.prototype.checkPositionWithEventLoop=function(){setTimeout(e.proxy(this.checkPosition,this),1)},r.prototype.checkPosition=function(){if(this.$element.is(":visible")){var t=this.$element.height(),n=this.options.offset,i=n.top,a=n.bottom,o=e(document.body).height();"object"!=typeof n&&(a=i=n),"function"==typeof i&&(i=n.top(this.$element)),"function"==typeof a&&(a=n.bottom(this.$element));var s=this.getState(o,t,i,a);if(this.affixed!=s){null!=this.unpin&&this.$element.css("top","");var u="affix"+(s?"-"+s:""),l=e.Event(u+".bs.affix");if(this.$element.trigger(l),l.isDefaultPrevented())return;this.affixed=s,this.unpin="bottom"==s?this.getPinnedOffset():null,this.$element.removeClass(r.RESET).addClass(u).trigger(u.replace("affix","affixed")+".bs.affix")}"bottom"==s&&this.$element.offset({top:o-t-a})}};var n=e.fn.affix;e.fn.affix=t,e.fn.affix.Constructor=r,e.fn.affix.noConflict=function(){return e.fn.affix=n,this},e(window).on("load",function(){e('[data-spy="affix"]').each(function(){var r=e(this),n=r.data();n.offset=n.offset||{},null!=n.offsetBottom&&(n.offset.bottom=n.offsetBottom),null!=n.offsetTop&&(n.offset.top=n.offsetTop),t.call(r,n)})})}(jQuery),+function(e){"use strict";function t(t){t&&3===t.which||(e(i).remove(),e(a).each(function(){var n=e(this),i=r(n),a={relatedTarget:this};i.hasClass("open")&&(i.trigger(t=e.Event("hide.bs.dropdown",a)),t.isDefaultPrevented()||(n.attr("aria-expanded","false"),i.removeClass("open").trigger("hidden.bs.dropdown",a)))}))}function r(t){var r=t.attr("data-target");r||(r=t.attr("href"),r=r&&/#[A-Za-z]/.test(r)&&r.replace(/.*(?=#[^\s]*$)/,""));var n=r&&e(r);return n&&n.length?n:t.parent()}function n(t){return this.each(function(){var r=e(this),n=r.data("bs.dropdown");n||r.data("bs.dropdown",n=new o(this)),"string"==typeof t&&n[t].call(r)})}var i=".dropdown-backdrop",a='[data-toggle="dropdown"]',o=function(t){e(t).on("click.bs.dropdown",this.toggle)};o.VERSION="3.3.4",o.prototype.toggle=function(n){var i=e(this);if(!i.is(".disabled, :disabled")){var a=r(i),o=a.hasClass("open");if(t(),!o){"ontouchstart"in document.documentElement&&!a.closest(".navbar-nav").length&&e('<div class="dropdown-backdrop"/>').insertAfter(e(this)).on("click",t);var s={relatedTarget:this};if(a.trigger(n=e.Event("show.bs.dropdown",s)),n.isDefaultPrevented())return;i.trigger("focus").attr("aria-expanded","true"),a.toggleClass("open").trigger("shown.bs.dropdown",s)}return!1}},o.prototype.keydown=function(t){if(/(38|40|27|32)/.test(t.which)&&!/input|textarea/i.test(t.target.tagName)){var n=e(this);if(t.preventDefault(),t.stopPropagation(),!n.is(".disabled, :disabled")){var i=r(n),o=i.hasClass("open");if(!o&&27!=t.which||o&&27==t.which)return 27==t.which&&i.find(a).trigger("focus"),n.trigger("click");var s=" li:not(.disabled):visible a",u=i.find('[role="menu"]'+s+', [role="listbox"]'+s);if(u.length){var l=u.index(t.target);38==t.which&&l>0&&l--,40==t.which&&l<u.length-1&&l++,~l||(l=0),u.eq(l).trigger("focus")}}}};var s=e.fn.dropdown;e.fn.dropdown=n,e.fn.dropdown.Constructor=o,e.fn.dropdown.noConflict=function(){return e.fn.dropdown=s,this},e(document).on("click.bs.dropdown.data-api",t).on("click.bs.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.bs.dropdown.data-api",a,o.prototype.toggle).on("keydown.bs.dropdown.data-api",a,o.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="menu"]',o.prototype.keydown).on("keydown.bs.dropdown.data-api",'[role="listbox"]',o.prototype.keydown)}(jQuery),+function(e){"use strict";function t(t,n){return this.each(function(){var i=e(this),a=i.data("bs.modal"),o=e.extend({},r.DEFAULTS,i.data(),"object"==typeof t&&t);a||i.data("bs.modal",a=new r(this,o)),"string"==typeof t?a[t](n):o.show&&a.show(n)})}var r=function(t,r){this.options=r,this.$body=e(document.body),this.$element=e(t),this.$dialog=this.$element.find(".modal-dialog"),this.$backdrop=null,this.isShown=null,this.originalBodyPad=null,this.scrollbarWidth=0,this.ignoreBackdropClick=!1,this.options.remote&&this.$element.find(".modal-content").load(this.options.remote,e.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))};r.VERSION="3.3.4",r.TRANSITION_DURATION=300,r.BACKDROP_TRANSITION_DURATION=150,r.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},r.prototype.toggle=function(e){return this.isShown?this.hide():this.show(e)},r.prototype.show=function(t){var n=this,i=e.Event("show.bs.modal",{relatedTarget:t});this.$element.trigger(i),this.isShown||i.isDefaultPrevented()||(this.isShown=!0,this.checkScrollbar(),this.setScrollbar(),this.$body.addClass("modal-open"),this.escape(),this.resize(),this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',e.proxy(this.hide,this)),this.$dialog.on("mousedown.dismiss.bs.modal",function(){n.$element.one("mouseup.dismiss.bs.modal",function(t){e(t.target).is(n.$element)&&(n.ignoreBackdropClick=!0)})}),this.backdrop(function(){var i=e.support.transition&&n.$element.hasClass("fade");n.$element.parent().length||n.$element.appendTo(n.$body),n.$element.show().scrollTop(0),n.adjustDialog(),i&&n.$element[0].offsetWidth,n.$element.addClass("in").attr("aria-hidden",!1),n.enforceFocus();var a=e.Event("shown.bs.modal",{relatedTarget:t});i?n.$dialog.one("bsTransitionEnd",function(){n.$element.trigger("focus").trigger(a)}).emulateTransitionEnd(r.TRANSITION_DURATION):n.$element.trigger("focus").trigger(a)}))},r.prototype.hide=function(t){t&&t.preventDefault(),t=e.Event("hide.bs.modal"),this.$element.trigger(t),this.isShown&&!t.isDefaultPrevented()&&(this.isShown=!1,this.escape(),this.resize(),e(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0).off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),this.$dialog.off("mousedown.dismiss.bs.modal"),e.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",e.proxy(this.hideModal,this)).emulateTransitionEnd(r.TRANSITION_DURATION):this.hideModal())},r.prototype.enforceFocus=function(){e(document).off("focusin.bs.modal").on("focusin.bs.modal",e.proxy(function(e){this.$element[0]===e.target||this.$element.has(e.target).length||this.$element.trigger("focus")},this))},r.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keydown.dismiss.bs.modal",e.proxy(function(e){27==e.which&&this.hide()},this)):this.isShown||this.$element.off("keydown.dismiss.bs.modal")},r.prototype.resize=function(){this.isShown?e(window).on("resize.bs.modal",e.proxy(this.handleUpdate,this)):e(window).off("resize.bs.modal")},r.prototype.hideModal=function(){var e=this;this.$element.hide(),this.backdrop(function(){e.$body.removeClass("modal-open"),e.resetAdjustments(),e.resetScrollbar(),e.$element.trigger("hidden.bs.modal")})},r.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},r.prototype.backdrop=function(t){var n=this,i=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var a=e.support.transition&&i;if(this.$backdrop=e('<div class="modal-backdrop '+i+'" />').appendTo(this.$body),this.$element.on("click.dismiss.bs.modal",e.proxy(function(e){return this.ignoreBackdropClick?void(this.ignoreBackdropClick=!1):void(e.target===e.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus():this.hide()))},this)),a&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!t)return;a?this.$backdrop.one("bsTransitionEnd",t).emulateTransitionEnd(r.BACKDROP_TRANSITION_DURATION):t()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var o=function(){n.removeBackdrop(),t&&t()};e.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",o).emulateTransitionEnd(r.BACKDROP_TRANSITION_DURATION):o()}else t&&t()},r.prototype.handleUpdate=function(){this.adjustDialog()},r.prototype.adjustDialog=function(){var e=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&e?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!e?this.scrollbarWidth:""})},r.prototype.resetAdjustments=function(){this.$element.css({
+paddingLeft:"",paddingRight:""})},r.prototype.checkScrollbar=function(){var e=window.innerWidth;if(!e){var t=document.documentElement.getBoundingClientRect();e=t.right-Math.abs(t.left)}this.bodyIsOverflowing=document.body.clientWidth<e,this.scrollbarWidth=this.measureScrollbar()},r.prototype.setScrollbar=function(){var e=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"",this.bodyIsOverflowing&&this.$body.css("padding-right",e+this.scrollbarWidth)},r.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)},r.prototype.measureScrollbar=function(){var e=document.createElement("div");e.className="modal-scrollbar-measure",this.$body.append(e);var t=e.offsetWidth-e.clientWidth;return this.$body[0].removeChild(e),t};var n=e.fn.modal;e.fn.modal=t,e.fn.modal.Constructor=r,e.fn.modal.noConflict=function(){return e.fn.modal=n,this},e(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(r){var n=e(this),i=n.attr("href"),a=e(n.attr("data-target")||i&&i.replace(/.*(?=#[^\s]+$)/,"")),o=a.data("bs.modal")?"toggle":e.extend({remote:!/#/.test(i)&&i},a.data(),n.data());n.is("a")&&r.preventDefault(),a.one("show.bs.modal",function(e){e.isDefaultPrevented()||a.one("hidden.bs.modal",function(){n.is(":visible")&&n.trigger("focus")})}),t.call(a,o,this)})}(jQuery),function(e){function t(e,t,r){switch(arguments.length){case 2:return null!=e?e:t;case 3:return null!=e?e:null!=t?t:r;default:throw new Error("Implement me")}}function r(e,t){return ke.call(e,t)}function n(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function i(e){we.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+e)}function a(e,t){var r=!0;return p(function(){return r&&(i(e),r=!1),t.apply(this,arguments)},t)}function o(e,t){yt[e]||(i(t),yt[e]=!0)}function s(e,t){return function(r){return v(e.call(this,r),t)}}function u(e,t){return function(r){return this.localeData().ordinal(e.call(this,r),t)}}function l(e,t){var r,n,i=12*(t.year()-e.year())+(t.month()-e.month()),a=e.clone().add(i,"months");return 0>t-a?(r=e.clone().add(i-1,"months"),n=(t-a)/(a-r)):(r=e.clone().add(i+1,"months"),n=(t-a)/(r-a)),-(i+n)}function c(e,t,r){var n;return null==r?t:null!=e.meridiemHour?e.meridiemHour(t,r):null!=e.isPM?(n=e.isPM(r),n&&12>t&&(t+=12),n||12!==t||(t=0),t):t}function h(){}function d(e,t){t!==!1&&M(e),m(this,e),this._d=new Date(+e._d),_t===!1&&(_t=!0,we.updateOffset(this),_t=!1)}function f(e){var t=T(e),r=t.year||0,n=t.quarter||0,i=t.month||0,a=t.week||0,o=t.day||0,s=t.hour||0,u=t.minute||0,l=t.second||0,c=t.millisecond||0;this._milliseconds=+c+1e3*l+6e4*u+36e5*s,this._days=+o+7*a,this._months=+i+3*n+12*r,this._data={},this._locale=we.localeData(),this._bubble()}function p(e,t){for(var n in t)r(t,n)&&(e[n]=t[n]);return r(t,"toString")&&(e.toString=t.toString),r(t,"valueOf")&&(e.valueOf=t.valueOf),e}function m(e,t){var r,n,i;if("undefined"!=typeof t._isAMomentObject&&(e._isAMomentObject=t._isAMomentObject),"undefined"!=typeof t._i&&(e._i=t._i),"undefined"!=typeof t._f&&(e._f=t._f),"undefined"!=typeof t._l&&(e._l=t._l),"undefined"!=typeof t._strict&&(e._strict=t._strict),"undefined"!=typeof t._tzm&&(e._tzm=t._tzm),"undefined"!=typeof t._isUTC&&(e._isUTC=t._isUTC),"undefined"!=typeof t._offset&&(e._offset=t._offset),"undefined"!=typeof t._pf&&(e._pf=t._pf),"undefined"!=typeof t._locale&&(e._locale=t._locale),je.length>0)for(r in je)n=je[r],i=t[n],"undefined"!=typeof i&&(e[n]=i);return e}function g(e){return 0>e?Math.ceil(e):Math.floor(e)}function v(e,t,r){for(var n=""+Math.abs(e),i=e>=0;n.length<t;)n="0"+n;return(i?r?"+":"":"-")+n}function y(e,t){var r={milliseconds:0,months:0};return r.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(r.months,"M").isAfter(t)&&--r.months,r.milliseconds=+t-+e.clone().add(r.months,"M"),r}function b(e,t){var r;return t=L(t,e),e.isBefore(t)?r=y(e,t):(r=y(t,e),r.milliseconds=-r.milliseconds,r.months=-r.months),r}function _(e,t){return function(r,n){var i,a;return null===n||isNaN(+n)||(o(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period)."),a=r,r=n,n=a),r="string"==typeof r?+r:r,i=we.duration(r,n),w(this,i,e),this}}function w(e,t,r,n){var i=t._milliseconds,a=t._days,o=t._months;n=null==n?!0:n,i&&e._d.setTime(+e._d+i*r),a&&me(e,"Date",pe(e,"Date")+a*r),o&&fe(e,pe(e,"Month")+o*r),n&&we.updateOffset(e,a||o)}function x(e){return"[object Array]"===Object.prototype.toString.call(e)}function C(e){return"[object Date]"===Object.prototype.toString.call(e)||e instanceof Date}function E(e,t,r){var n,i=Math.min(e.length,t.length),a=Math.abs(e.length-t.length),o=0;for(n=0;i>n;n++)(r&&e[n]!==t[n]||!r&&A(e[n])!==A(t[n]))&&o++;return o+a}function S(e){if(e){var t=e.toLowerCase().replace(/(.)s$/,"$1");e=ht[e]||dt[t]||t}return e}function T(e){var t,n,i={};for(n in e)r(e,n)&&(t=S(n),t&&(i[t]=e[n]));return i}function k(t){var r,n;if(0===t.indexOf("week"))r=7,n="day";else{if(0!==t.indexOf("month"))return;r=12,n="month"}we[t]=function(i,a){var o,s,u=we._locale[t],l=[];if("number"==typeof i&&(a=i,i=e),s=function(e){var t=we().utc().set(n,e);return u.call(we._locale,t,i||"")},null!=a)return s(a);for(o=0;r>o;o++)l.push(s(o));return l}}function A(e){var t=+e,r=0;return 0!==t&&isFinite(t)&&(r=t>=0?Math.floor(t):Math.ceil(t)),r}function O(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function R(e,t,r){return le(we([e,11,31+t-r]),t,r).week}function P(e){return N(e)?366:365}function N(e){return e%4===0&&e%100!==0||e%400===0}function M(e){var t;e._a&&-2===e._pf.overflow&&(t=e._a[Oe]<0||e._a[Oe]>11?Oe:e._a[Re]<1||e._a[Re]>O(e._a[Ae],e._a[Oe])?Re:e._a[Pe]<0||e._a[Pe]>24||24===e._a[Pe]&&(0!==e._a[Ne]||0!==e._a[Me]||0!==e._a[De])?Pe:e._a[Ne]<0||e._a[Ne]>59?Ne:e._a[Me]<0||e._a[Me]>59?Me:e._a[De]<0||e._a[De]>999?De:-1,e._pf._overflowDayOfYear&&(Ae>t||t>Re)&&(t=Re),e._pf.overflow=t)}function D(t){return null==t._isValid&&(t._isValid=!isNaN(t._d.getTime())&&t._pf.overflow<0&&!t._pf.empty&&!t._pf.invalidMonth&&!t._pf.nullInput&&!t._pf.invalidFormat&&!t._pf.userInvalidated,t._strict&&(t._isValid=t._isValid&&0===t._pf.charsLeftOver&&0===t._pf.unusedTokens.length&&t._pf.bigHour===e)),t._isValid}function F(e){return e?e.toLowerCase().replace("_","-"):e}function j(e){for(var t,r,n,i,a=0;a<e.length;){for(i=F(e[a]).split("-"),t=i.length,r=F(e[a+1]),r=r?r.split("-"):null;t>0;){if(n=I(i.slice(0,t).join("-")))return n;if(r&&r.length>=t&&E(i,r,!0)>=t-1)break;t--}a++}return null}function I(e){var t=null;if(!Fe[e]&&Ie)try{t=we.locale(),require("./locale/"+e),we.locale(t)}catch(r){}return Fe[e]}function L(e,t){var r,n;return t._isUTC?(r=t.clone(),n=(we.isMoment(e)||C(e)?+e:+we(e))-+r,r._d.setTime(+r._d+n),we.updateOffset(r,!1),r):we(e).local()}function V(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function z(e){var t,r,n=e.match(He);for(t=0,r=n.length;r>t;t++)n[t]=vt[n[t]]?vt[n[t]]:V(n[t]);return function(i){var a="";for(t=0;r>t;t++)a+=n[t]instanceof Function?n[t].call(i,e):n[t];return a}}function H(e,t){return e.isValid()?(t=B(t,e.localeData()),ft[t]||(ft[t]=z(t)),ft[t](e)):e.localeData().invalidDate()}function B(e,t){function r(e){return t.longDateFormat(e)||e}var n=5;for(Be.lastIndex=0;n>=0&&Be.test(e);)e=e.replace(Be,r),Be.lastIndex=0,n-=1;return e}function q(e,t){var r,n=t._strict;switch(e){case"Q":return Ze;case"DDDD":return tt;case"YYYY":case"GGGG":case"gggg":return n?rt:We;case"Y":case"G":case"g":return it;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return n?nt:$e;case"S":if(n)return Ze;case"SS":if(n)return et;case"SSS":if(n)return tt;case"DDD":return Ue;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ye;case"a":case"A":return t._locale._meridiemParse;case"x":return Xe;case"X":return Je;case"Z":case"ZZ":return Ge;case"T":return Qe;case"SSSS":return Ke;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return n?et:qe;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return qe;case"Do":return n?t._locale._ordinalParse:t._locale._ordinalParseLenient;default:return r=new RegExp(J(X(e.replace("\\","")),"i"))}}function U(e){e=e||"";var t=e.match(Ge)||[],r=t[t.length-1]||[],n=(r+"").match(lt)||["-",0,0],i=+(60*n[1])+A(n[2]);return"+"===n[0]?i:-i}function W(e,t,r){var n,i=r._a;switch(e){case"Q":null!=t&&(i[Oe]=3*(A(t)-1));break;case"M":case"MM":null!=t&&(i[Oe]=A(t)-1);break;case"MMM":case"MMMM":n=r._locale.monthsParse(t,e,r._strict),null!=n?i[Oe]=n:r._pf.invalidMonth=t;break;case"D":case"DD":null!=t&&(i[Re]=A(t));break;case"Do":null!=t&&(i[Re]=A(parseInt(t.match(/\d{1,2}/)[0],10)));break;case"DDD":case"DDDD":null!=t&&(r._dayOfYear=A(t));break;case"YY":i[Ae]=we.parseTwoDigitYear(t);break;case"YYYY":case"YYYYY":case"YYYYYY":i[Ae]=A(t);break;case"a":case"A":r._meridiem=t;break;case"h":case"hh":r._pf.bigHour=!0;case"H":case"HH":i[Pe]=A(t);break;case"m":case"mm":i[Ne]=A(t);break;case"s":case"ss":i[Me]=A(t);break;case"S":case"SS":case"SSS":case"SSSS":i[De]=A(1e3*("0."+t));break;case"x":r._d=new Date(A(t));break;case"X":r._d=new Date(1e3*parseFloat(t));break;case"Z":case"ZZ":r._useUTC=!0,r._tzm=U(t);break;case"dd":case"ddd":case"dddd":n=r._locale.weekdaysParse(t),null!=n?(r._w=r._w||{},r._w.d=n):r._pf.invalidWeekday=t;break;case"w":case"ww":case"W":case"WW":case"d":case"e":case"E":e=e.substr(0,1);case"gggg":case"GGGG":case"GGGGG":e=e.substr(0,2),t&&(r._w=r._w||{},r._w[e]=A(t));break;case"gg":case"GG":r._w=r._w||{},r._w[e]=we.parseTwoDigitYear(t)}}function $(e){var r,n,i,a,o,s,u;r=e._w,null!=r.GG||null!=r.W||null!=r.E?(o=1,s=4,n=t(r.GG,e._a[Ae],le(we(),1,4).year),i=t(r.W,1),a=t(r.E,1)):(o=e._locale._week.dow,s=e._locale._week.doy,n=t(r.gg,e._a[Ae],le(we(),o,s).year),i=t(r.w,1),null!=r.d?(a=r.d,o>a&&++i):a=null!=r.e?r.e+o:o),u=ce(n,i,a,s,o),e._a[Ae]=u.year,e._dayOfYear=u.dayOfYear}function K(e){var r,n,i,a,o=[];if(!e._d){for(i=G(e),e._w&&null==e._a[Re]&&null==e._a[Oe]&&$(e),e._dayOfYear&&(a=t(e._a[Ae],i[Ae]),e._dayOfYear>P(a)&&(e._pf._overflowDayOfYear=!0),n=ae(a,0,e._dayOfYear),e._a[Oe]=n.getUTCMonth(),e._a[Re]=n.getUTCDate()),r=0;3>r&&null==e._a[r];++r)e._a[r]=o[r]=i[r];for(;7>r;r++)e._a[r]=o[r]=null==e._a[r]?2===r?1:0:e._a[r];24===e._a[Pe]&&0===e._a[Ne]&&0===e._a[Me]&&0===e._a[De]&&(e._nextDay=!0,e._a[Pe]=0),e._d=(e._useUTC?ae:ie).apply(null,o),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[Pe]=24)}}function Y(e){var t;e._d||(t=T(e._i),e._a=[t.year,t.month,t.day||t.date,t.hour,t.minute,t.second,t.millisecond],K(e))}function G(e){var t=new Date;return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function Q(t){if(t._f===we.ISO_8601)return void ee(t);t._a=[],t._pf.empty=!0;var r,n,i,a,o,s=""+t._i,u=s.length,l=0;for(i=B(t._f,t._locale).match(He)||[],r=0;r<i.length;r++)a=i[r],n=(s.match(q(a,t))||[])[0],n&&(o=s.substr(0,s.indexOf(n)),o.length>0&&t._pf.unusedInput.push(o),s=s.slice(s.indexOf(n)+n.length),l+=n.length),vt[a]?(n?t._pf.empty=!1:t._pf.unusedTokens.push(a),W(a,n,t)):t._strict&&!n&&t._pf.unusedTokens.push(a);t._pf.charsLeftOver=u-l,s.length>0&&t._pf.unusedInput.push(s),t._pf.bigHour===!0&&t._a[Pe]<=12&&(t._pf.bigHour=e),t._a[Pe]=c(t._locale,t._a[Pe],t._meridiem),K(t),M(t)}function X(e){return e.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,r,n,i){return t||r||n||i})}function J(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function Z(e){var t,r,i,a,o;if(0===e._f.length)return e._pf.invalidFormat=!0,void(e._d=new Date(0/0));for(a=0;a<e._f.length;a++)o=0,t=m({},e),null!=e._useUTC&&(t._useUTC=e._useUTC),t._pf=n(),t._f=e._f[a],Q(t),D(t)&&(o+=t._pf.charsLeftOver,o+=10*t._pf.unusedTokens.length,t._pf.score=o,(null==i||i>o)&&(i=o,r=t));p(e,r||t)}function ee(e){var t,r,n=e._i,i=at.exec(n);if(i){for(e._pf.iso=!0,t=0,r=st.length;r>t;t++)if(st[t][1].exec(n)){e._f=st[t][0]+(i[6]||" ");break}for(t=0,r=ut.length;r>t;t++)if(ut[t][1].exec(n)){e._f+=ut[t][0];break}n.match(Ge)&&(e._f+="Z"),Q(e)}else e._isValid=!1}function te(e){ee(e),e._isValid===!1&&(delete e._isValid,we.createFromInputFallback(e))}function re(e,t){var r,n=[];for(r=0;r<e.length;++r)n.push(t(e[r],r));return n}function ne(t){var r,n=t._i;n===e?t._d=new Date:C(n)?t._d=new Date(+n):null!==(r=Le.exec(n))?t._d=new Date(+r[1]):"string"==typeof n?te(t):x(n)?(t._a=re(n.slice(0),function(e){return parseInt(e,10)}),K(t)):"object"==typeof n?Y(t):"number"==typeof n?t._d=new Date(n):we.createFromInputFallback(t)}function ie(e,t,r,n,i,a,o){var s=new Date(e,t,r,n,i,a,o);return 1970>e&&s.setFullYear(e),s}function ae(e){var t=new Date(Date.UTC.apply(null,arguments));return 1970>e&&t.setUTCFullYear(e),t}function oe(e,t){if("string"==typeof e)if(isNaN(e)){if(e=t.weekdaysParse(e),"number"!=typeof e)return null}else e=parseInt(e,10);return e}function se(e,t,r,n,i){return i.relativeTime(t||1,!!r,e,n)}function ue(e,t,r){var n=we.duration(e).abs(),i=Te(n.as("s")),a=Te(n.as("m")),o=Te(n.as("h")),s=Te(n.as("d")),u=Te(n.as("M")),l=Te(n.as("y")),c=i<pt.s&&["s",i]||1===a&&["m"]||a<pt.m&&["mm",a]||1===o&&["h"]||o<pt.h&&["hh",o]||1===s&&["d"]||s<pt.d&&["dd",s]||1===u&&["M"]||u<pt.M&&["MM",u]||1===l&&["y"]||["yy",l];return c[2]=t,c[3]=+e>0,c[4]=r,se.apply({},c)}function le(e,t,r){var n,i=r-t,a=r-e.day();return a>i&&(a-=7),i-7>a&&(a+=7),n=we(e).add(a,"d"),{week:Math.ceil(n.dayOfYear()/7),year:n.year()}}function ce(e,t,r,n,i){var a,o,s=ae(e,0,1).getUTCDay();return s=0===s?7:s,r=null!=r?r:i,a=i-s+(s>n?7:0)-(i>s?7:0),o=7*(t-1)+(r-i)+a+1,{year:o>0?e:e-1,dayOfYear:o>0?o:P(e-1)+o}}function he(t){var r,n=t._i,i=t._f;return t._locale=t._locale||we.localeData(t._l),null===n||i===e&&""===n?we.invalid({nullInput:!0}):("string"==typeof n&&(t._i=n=t._locale.preparse(n)),we.isMoment(n)?new d(n,!0):(i?x(i)?Z(t):Q(t):ne(t),r=new d(t),r._nextDay&&(r.add(1,"d"),r._nextDay=e),r))}function de(e,t){var r,n;if(1===t.length&&x(t[0])&&(t=t[0]),!t.length)return we();for(r=t[0],n=1;n<t.length;++n)t[n][e](r)&&(r=t[n]);return r}function fe(e,t){var r;return"string"==typeof t&&(t=e.localeData().monthsParse(t),"number"!=typeof t)?e:(r=Math.min(e.date(),O(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,r),e)}function pe(e,t){return e._d["get"+(e._isUTC?"UTC":"")+t]()}function me(e,t,r){return"Month"===t?fe(e,r):e._d["set"+(e._isUTC?"UTC":"")+t](r)}function ge(e,t){return function(r){return null!=r?(me(this,e,r),we.updateOffset(this,t),this):pe(this,e)}}function ve(e){return 400*e/146097}function ye(e){return 146097*e/400}function be(e){we.duration.fn[e]=function(){return this._data[e]}}function _e(e){"undefined"==typeof ender&&(xe=Se.moment,Se.moment=e?a("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",we):we)}for(var we,xe,Ce,Ee="2.9.0",Se="undefined"==typeof global||"undefined"!=typeof window&&window!==global.window?this:global,Te=Math.round,ke=Object.prototype.hasOwnProperty,Ae=0,Oe=1,Re=2,Pe=3,Ne=4,Me=5,De=6,Fe={},je=[],Ie="undefined"!=typeof module&&module&&module.exports,Le=/^\/?Date\((\-?\d+)/i,Ve=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,ze=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,He=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g,Be=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,qe=/\d\d?/,Ue=/\d{1,3}/,We=/\d{1,4}/,$e=/[+\-]?\d{1,6}/,Ke=/\d+/,Ye=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Ge=/Z|[\+\-]\d\d:?\d\d/gi,Qe=/T/i,Xe=/[\+\-]?\d+/,Je=/[\+\-]?\d+(\.\d{1,3})?/,Ze=/\d/,et=/\d\d/,tt=/\d{3}/,rt=/\d{4}/,nt=/[+-]?\d{6}/,it=/[+-]?\d+/,at=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,ot="YYYY-MM-DDTHH:mm:ssZ",st=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],ut=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],lt=/([\+\-]|\d\d)/gi,ct=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),ht={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},dt={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},ft={},pt={s:45,m:45,h:22,d:26,M:11},mt="DDD w W M D d".split(" "),gt="M D H h m s w W".split(" "),vt={M:function(){return this.month()+1},MMM:function(e){return this.localeData().monthsShort(this,e)},MMMM:function(e){return this.localeData().months(this,e)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(e){return this.localeData().weekdaysMin(this,e)},ddd:function(e){return this.localeData().weekdaysShort(this,e)},dddd:function(e){return this.localeData().weekdays(this,e)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return v(this.year()%100,2)},YYYY:function(){return v(this.year(),4)},YYYYY:function(){return v(this.year(),5)},YYYYYY:function(){var e=this.year(),t=e>=0?"+":"-";return t+v(Math.abs(e),6)},gg:function(){return v(this.weekYear()%100,2)},gggg:function(){return v(this.weekYear(),4)},ggggg:function(){return v(this.weekYear(),5)},GG:function(){return v(this.isoWeekYear()%100,2)},GGGG:function(){return v(this.isoWeekYear(),4)},GGGGG:function(){return v(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.localeData().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return A(this.milliseconds()/100)},SS:function(){return v(A(this.milliseconds()/10),2)},SSS:function(){return v(this.milliseconds(),3)},SSSS:function(){return v(this.milliseconds(),3)},Z:function(){var e=this.utcOffset(),t="+";return 0>e&&(e=-e,t="-"),t+v(A(e/60),2)+":"+v(A(e)%60,2)},ZZ:function(){var e=this.utcOffset(),t="+";return 0>e&&(e=-e,t="-"),t+v(A(e/60),2)+v(A(e)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},x:function(){return this.valueOf()},X:function(){return this.unix()},Q:function(){return this.quarter()}},yt={},bt=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"],_t=!1;mt.length;)Ce=mt.pop(),vt[Ce+"o"]=u(vt[Ce],Ce);for(;gt.length;)Ce=gt.pop(),vt[Ce+Ce]=s(vt[Ce],2);vt.DDDD=s(vt.DDD,3),p(h.prototype,{set:function(e){var t,r;for(r in e)t=e[r],"function"==typeof t?this[r]=t:this["_"+r]=t;this._ordinalParseLenient=new RegExp(this._ordinalParse.source+"|"+/\d{1,2}/.source)},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(e){return this._months[e.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(e){return this._monthsShort[e.month()]},monthsParse:function(e,t,r){var n,i,a;for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;12>n;n++){if(i=we.utc([2e3,n]),r&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(i,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(i,"").replace(".","")+"$","i")),r||this._monthsParse[n]||(a="^"+this.months(i,"")+"|^"+this.monthsShort(i,""),this._monthsParse[n]=new RegExp(a.replace(".",""),"i")),r&&"MMMM"===t&&this._longMonthsParse[n].test(e))return n;if(r&&"MMM"===t&&this._shortMonthsParse[n].test(e))return n;if(!r&&this._monthsParse[n].test(e))return n}},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(e){return this._weekdays[e.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(e){return this._weekdaysShort[e.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(e){return this._weekdaysMin[e.day()]},weekdaysParse:function(e){var t,r,n;for(this._weekdaysParse||(this._weekdaysParse=[]),t=0;7>t;t++)if(this._weekdaysParse[t]||(r=we([2e3,1]).day(t),n="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[t]=new RegExp(n.replace(".",""),"i")),this._weekdaysParse[t].test(e))return t},_longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM D, YYYY LT"},longDateFormat:function(e){var t=this._longDateFormat[e];return!t&&this._longDateFormat[e.toUpperCase()]&&(t=this._longDateFormat[e.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(e){return e.slice(1)}),this._longDateFormat[e]=t),t},isPM:function(e){return"p"===(e+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(e,t,r){return e>11?r?"pm":"PM":r?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(e,t,r){var n=this._calendar[e];return"function"==typeof n?n.apply(t,[r]):n},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(e,t,r,n){var i=this._relativeTime[r];return"function"==typeof i?i(e,t,r,n):i.replace(/%d/i,e)},pastFuture:function(e,t){var r=this._relativeTime[e>0?"future":"past"];return"function"==typeof r?r(t):r.replace(/%s/i,t)},ordinal:function(e){return this._ordinal.replace("%d",e)},_ordinal:"%d",_ordinalParse:/\d{1,2}/,preparse:function(e){return e},postformat:function(e){return e},week:function(e){return le(e,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},firstDayOfWeek:function(){return this._week.dow},firstDayOfYear:function(){return this._week.doy},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),we=function(t,r,i,a){var o;return"boolean"==typeof i&&(a=i,i=e),o={},o._isAMomentObject=!0,o._i=t,o._f=r,o._l=i,o._strict=a,o._isUTC=!1,o._pf=n(),he(o)},we.suppressDeprecationWarnings=!1,we.createFromInputFallback=a("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),we.min=function(){var e=[].slice.call(arguments,0);return de("isBefore",e)},we.max=function(){var e=[].slice.call(arguments,0);return de("isAfter",e)},we.utc=function(t,r,i,a){var o;return"boolean"==typeof i&&(a=i,i=e),o={},o._isAMomentObject=!0,o._useUTC=!0,o._isUTC=!0,o._l=i,o._i=t,o._f=r,o._strict=a,o._pf=n(),he(o).utc()},we.unix=function(e){return we(1e3*e)},we.duration=function(e,t){var n,i,a,o,s=e,u=null;return we.isDuration(e)?s={ms:e._milliseconds,d:e._days,M:e._months}:"number"==typeof e?(s={},t?s[t]=e:s.milliseconds=e):(u=Ve.exec(e))?(n="-"===u[1]?-1:1,s={y:0,d:A(u[Re])*n,h:A(u[Pe])*n,m:A(u[Ne])*n,s:A(u[Me])*n,ms:A(u[De])*n}):(u=ze.exec(e))?(n="-"===u[1]?-1:1,a=function(e){var t=e&&parseFloat(e.replace(",","."));return(isNaN(t)?0:t)*n},s={y:a(u[2]),M:a(u[3]),d:a(u[4]),h:a(u[5]),m:a(u[6]),s:a(u[7]),w:a(u[8])}):null==s?s={}:"object"==typeof s&&("from"in s||"to"in s)&&(o=b(we(s.from),we(s.to)),s={},s.ms=o.milliseconds,s.M=o.months),i=new f(s),we.isDuration(e)&&r(e,"_locale")&&(i._locale=e._locale),i},we.version=Ee,we.defaultFormat=ot,we.ISO_8601=function(){},we.momentProperties=je,we.updateOffset=function(){},we.relativeTimeThreshold=function(t,r){return pt[t]===e?!1:r===e?pt[t]:(pt[t]=r,!0)},we.lang=a("moment.lang is deprecated. Use moment.locale instead.",function(e,t){return we.locale(e,t)}),we.locale=function(e,t){var r;return e&&(r="undefined"!=typeof t?we.defineLocale(e,t):we.localeData(e),r&&(we.duration._locale=we._locale=r)),we._locale._abbr},we.defineLocale=function(e,t){return null!==t?(t.abbr=e,Fe[e]||(Fe[e]=new h),Fe[e].set(t),we.locale(e),Fe[e]):(delete Fe[e],null)},we.langData=a("moment.langData is deprecated. Use moment.localeData instead.",function(e){return we.localeData(e)}),we.localeData=function(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return we._locale;if(!x(e)){if(t=I(e))return t;e=[e]}return j(e)},we.isMoment=function(e){return e instanceof d||null!=e&&r(e,"_isAMomentObject")},we.isDuration=function(e){return e instanceof f};for(Ce=bt.length-1;Ce>=0;--Ce)k(bt[Ce]);we.normalizeUnits=function(e){return S(e)},we.invalid=function(e){var t=we.utc(0/0);return null!=e?p(t._pf,e):t._pf.userInvalidated=!0,t},we.parseZone=function(){return we.apply(null,arguments).parseZone()},we.parseTwoDigitYear=function(e){return A(e)+(A(e)>68?1900:2e3)},we.isDate=C,p(we.fn=d.prototype,{clone:function(){return we(this)},valueOf:function(){return+this._d-6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var e=we(this).utc();return 0<e.year()&&e.year()<=9999?"function"==typeof Date.prototype.toISOString?this.toDate().toISOString():H(e,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):H(e,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var e=this;return[e.year(),e.month(),e.date(),e.hours(),e.minutes(),e.seconds(),e.milliseconds()]},isValid:function(){return D(this)},isDSTShifted:function(){return this._a?this.isValid()&&E(this._a,(this._isUTC?we.utc(this._a):we(this._a)).toArray())>0:!1},parsingFlags:function(){return p({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(e){return this.utcOffset(0,e)},local:function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(this._dateUtcOffset(),"m")),this},format:function(e){var t=H(this,e||we.defaultFormat);return this.localeData().postformat(t)},add:_(1,"add"),subtract:_(-1,"subtract"),diff:function(e,t,r){var n,i,a=L(e,this),o=6e4*(a.utcOffset()-this.utcOffset());return t=S(t),"year"===t||"month"===t||"quarter"===t?(i=l(this,a),"quarter"===t?i/=3:"year"===t&&(i/=12)):(n=this-a,i="second"===t?n/1e3:"minute"===t?n/6e4:"hour"===t?n/36e5:"day"===t?(n-o)/864e5:"week"===t?(n-o)/6048e5:n),r?i:g(i)},from:function(e,t){return we.duration({to:this,from:e}).locale(this.locale()).humanize(!t)},fromNow:function(e){return this.from(we(),e)},calendar:function(e){var t=e||we(),r=L(t,this).startOf("day"),n=this.diff(r,"days",!0),i=-6>n?"sameElse":-1>n?"lastWeek":0>n?"lastDay":1>n?"sameDay":2>n?"nextDay":7>n?"nextWeek":"sameElse";return this.format(this.localeData().calendar(i,this,we(t)))},isLeapYear:function(){return N(this.year())},isDST:function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},day:function(e){var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=oe(e,this.localeData()),this.add(e-t,"d")):t},month:ge("Month",!0),startOf:function(e){switch(e=S(e)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===e?this.weekday(0):"isoWeek"===e&&this.isoWeekday(1),"quarter"===e&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(t){return t=S(t),t===e||"millisecond"===t?this:this.startOf(t).add(1,"isoWeek"===t?"week":t).subtract(1,"ms")},isAfter:function(e,t){var r;return t=S("undefined"!=typeof t?t:"millisecond"),"millisecond"===t?(e=we.isMoment(e)?e:we(e),+this>+e):(r=we.isMoment(e)?+e:+we(e),r<+this.clone().startOf(t))},isBefore:function(e,t){var r;return t=S("undefined"!=typeof t?t:"millisecond"),"millisecond"===t?(e=we.isMoment(e)?e:we(e),+e>+this):(r=we.isMoment(e)?+e:+we(e),+this.clone().endOf(t)<r)},isBetween:function(e,t,r){return this.isAfter(e,r)&&this.isBefore(t,r)},isSame:function(e,t){var r;return t=S(t||"millisecond"),"millisecond"===t?(e=we.isMoment(e)?e:we(e),+this===+e):(r=+we(e),+this.clone().startOf(t)<=r&&r<=+this.clone().endOf(t))},min:a("moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548",function(e){return e=we.apply(null,arguments),this>e?this:e}),max:a("moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548",function(e){return e=we.apply(null,arguments),e>this?this:e}),zone:a("moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779",function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}),utcOffset:function(e,t){var r,n=this._offset||0;return null!=e?("string"==typeof e&&(e=U(e)),Math.abs(e)<16&&(e=60*e),!this._isUTC&&t&&(r=this._dateUtcOffset()),this._offset=e,this._isUTC=!0,null!=r&&this.add(r,"m"),n!==e&&(!t||this._changeInProgress?w(this,we.duration(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,we.updateOffset(this,!0),this._changeInProgress=null)),this):this._isUTC?n:this._dateUtcOffset()},isLocal:function(){return!this._isUTC},isUtcOffset:function(){return this._isUTC},isUtc:function(){return this._isUTC&&0===this._offset},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.utcOffset(this._tzm):"string"==typeof this._i&&this.utcOffset(U(this._i)),this},hasAlignedHourOffset:function(e){return e=e?we(e).utcOffset():0,(this.utcOffset()-e)%60===0},daysInMonth:function(){return O(this.year(),this.month())},dayOfYear:function(e){var t=Te((we(this).startOf("day")-we(this).startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},quarter:function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},weekYear:function(e){var t=le(this,this.localeData()._week.dow,this.localeData()._week.doy).year;return null==e?t:this.add(e-t,"y")},isoWeekYear:function(e){var t=le(this,1,4).year;return null==e?t:this.add(e-t,"y")},week:function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},isoWeek:function(e){var t=le(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},weekday:function(e){var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},isoWeekday:function(e){return null==e?this.day()||7:this.day(this.day()%7?e:e-7)},isoWeeksInYear:function(){return R(this.year(),1,4)},weeksInYear:function(){var e=this.localeData()._week;return R(this.year(),e.dow,e.doy)},get:function(e){return e=S(e),this[e]()},set:function(e,t){var r;if("object"==typeof e)for(r in e)this.set(r,e[r]);else e=S(e),"function"==typeof this[e]&&this[e](t);return this},locale:function(t){var r;return t===e?this._locale._abbr:(r=we.localeData(t),null!=r&&(this._locale=r),this)},lang:a("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(t){return t===e?this.localeData():this.locale(t)}),localeData:function(){return this._locale},_dateUtcOffset:function(){return 15*-Math.round(this._d.getTimezoneOffset()/15)}}),we.fn.millisecond=we.fn.milliseconds=ge("Milliseconds",!1),we.fn.second=we.fn.seconds=ge("Seconds",!1),we.fn.minute=we.fn.minutes=ge("Minutes",!1),
+we.fn.hour=we.fn.hours=ge("Hours",!0),we.fn.date=ge("Date",!0),we.fn.dates=a("dates accessor is deprecated. Use date instead.",ge("Date",!0)),we.fn.year=ge("FullYear",!0),we.fn.years=a("years accessor is deprecated. Use year instead.",ge("FullYear",!0)),we.fn.days=we.fn.day,we.fn.months=we.fn.month,we.fn.weeks=we.fn.week,we.fn.isoWeeks=we.fn.isoWeek,we.fn.quarters=we.fn.quarter,we.fn.toJSON=we.fn.toISOString,we.fn.isUTC=we.fn.isUtc,p(we.duration.fn=f.prototype,{_bubble:function(){var e,t,r,n=this._milliseconds,i=this._days,a=this._months,o=this._data,s=0;o.milliseconds=n%1e3,e=g(n/1e3),o.seconds=e%60,t=g(e/60),o.minutes=t%60,r=g(t/60),o.hours=r%24,i+=g(r/24),s=g(ve(i)),i-=g(ye(s)),a+=g(i/30),i%=30,s+=g(a/12),a%=12,o.days=i,o.months=a,o.years=s},abs:function(){return this._milliseconds=Math.abs(this._milliseconds),this._days=Math.abs(this._days),this._months=Math.abs(this._months),this._data.milliseconds=Math.abs(this._data.milliseconds),this._data.seconds=Math.abs(this._data.seconds),this._data.minutes=Math.abs(this._data.minutes),this._data.hours=Math.abs(this._data.hours),this._data.months=Math.abs(this._data.months),this._data.years=Math.abs(this._data.years),this},weeks:function(){return g(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*A(this._months/12)},humanize:function(e){var t=ue(this,!e,this.localeData());return e&&(t=this.localeData().pastFuture(+this,t)),this.localeData().postformat(t)},add:function(e,t){var r=we.duration(e,t);return this._milliseconds+=r._milliseconds,this._days+=r._days,this._months+=r._months,this._bubble(),this},subtract:function(e,t){var r=we.duration(e,t);return this._milliseconds-=r._milliseconds,this._days-=r._days,this._months-=r._months,this._bubble(),this},get:function(e){return e=S(e),this[e.toLowerCase()+"s"]()},as:function(e){var t,r;if(e=S(e),"month"===e||"year"===e)return t=this._days+this._milliseconds/864e5,r=this._months+12*ve(t),"month"===e?r:r/12;switch(t=this._days+Math.round(ye(this._months/12)),e){case"week":return t/7+this._milliseconds/6048e5;case"day":return t+this._milliseconds/864e5;case"hour":return 24*t+this._milliseconds/36e5;case"minute":return 24*t*60+this._milliseconds/6e4;case"second":return 24*t*60*60+this._milliseconds/1e3;case"millisecond":return Math.floor(24*t*60*60*1e3)+this._milliseconds;default:throw new Error("Unknown unit "+e)}},lang:we.fn.lang,locale:we.fn.locale,toIsoString:a("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",function(){return this.toISOString()}),toISOString:function(){var e=Math.abs(this.years()),t=Math.abs(this.months()),r=Math.abs(this.days()),n=Math.abs(this.hours()),i=Math.abs(this.minutes()),a=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(e?e+"Y":"")+(t?t+"M":"")+(r?r+"D":"")+(n||i||a?"T":"")+(n?n+"H":"")+(i?i+"M":"")+(a?a+"S":""):"P0D"},localeData:function(){return this._locale},toJSON:function(){return this.toISOString()}}),we.duration.fn.toString=we.duration.fn.toISOString;for(Ce in ct)r(ct,Ce)&&be(Ce.toLowerCase());we.duration.fn.asMilliseconds=function(){return this.as("ms")},we.duration.fn.asSeconds=function(){return this.as("s")},we.duration.fn.asMinutes=function(){return this.as("m")},we.duration.fn.asHours=function(){return this.as("h")},we.duration.fn.asDays=function(){return this.as("d")},we.duration.fn.asWeeks=function(){return this.as("weeks")},we.duration.fn.asMonths=function(){return this.as("M")},we.duration.fn.asYears=function(){return this.as("y")},we.locale("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,r=1===A(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+r}}),Ie?module.exports=we:"function"==typeof define&&define.amd?(define(function(e,t,r){return r.config&&r.config()&&r.config().noGlobal===!0&&(Se.moment=xe),we}),_e(!0)):_e()}.call(this),define("django-ember-gettext",["django-ember-gettext/index","ember","exports"],function(e,t,r){"use strict";t["default"].keys(e).forEach(function(t){r[t]=e[t]})}),define("django-ember-gettext/lib/main",["exports","ember"],function(e,t){"use strict";function r(e,t){return Object.getOwnPropertyNames(t.hash).length>0?interpolate(gettext(e),t.hash,!0):gettext(e)}function n(e,t,r,n){return n.hash.count=r,interpolate(ngettext(e,t,r),n.hash,!0)}function i(e,t,r){return Object.getOwnPropertyNames(r.hash).length>0?interpolate(pgettext(e,t),r.hash,!0):pgettext(e,t)}function a(e,t,r,n,i){return i.hash.count=n,interpolate(ngettext(t,r,n),i.hash,!0)}function o(){t["default"].Handlebars.helper("gettext",r),t["default"].Handlebars.helper("ngettext",n),t["default"].Handlebars.helper("pgettext",i),t["default"].Handlebars.helper("npgettext",a)}e["default"]=o}),define("ember-django-adapter",["ember-django-adapter/index","ember","exports"],function(e,t,r){"use strict";t["default"].keys(e).forEach(function(t){r[t]=e[t]})}),define("ember-django-adapter/adapters/drf",["exports","ember-data","ember"],function(e,t,r){"use strict";e["default"]=t["default"].RESTAdapter.extend({defaultSerializer:"DS/djangoREST",addTrailingSlashes:!0,pathForType:function(e){var t=r["default"].String.dasherize(e);return r["default"].String.pluralize(t)},buildURL:function(e,t,r){var n=this._super(e,t,r);return this.get("addTrailingSlashes")&&"/"!==n.charAt(n.length-1)&&(n+="/"),n},ajaxError:function(e){var n=this._super(e);if(e&&400===e.status){var i;try{i=r["default"].$.parseJSON(e.responseText)}catch(a){return n}var o={};return o.errors=i,new t["default"].InvalidError(o)}return n},findMany:function(e,t,n,i){return r["default"].Logger.warn("WARNING: You are fetching several records in a single request because you have set `coalesceFindRequests=true` on the adapter.  For this to work, you MUST implement a custom filter in Django REST Framework.  See http://dustinfarris.com/ember-django-adapter/coalesce-find-requests/ for more information."),this._super(e,t,n,i)},_stripIDFromURL:function(e,t){return this.buildURL(t.constructor.typeKey)}})}),define("ember-django-adapter/serializers/drf",["exports","ember-data","ember"],function(e,t,r){"use strict";e["default"]=t["default"].RESTSerializer.extend({extractPageNumber:function(e){var t=/.*?[\?&]page=(\d+).*?/.exec(e);return t?Number(t[1]).valueOf():null},extractMeta:function(e,t,r){r&&r.results&&(e.metaForType(t,{count:r.count,next:this.extractPageNumber(r.next),previous:this.extractPageNumber(r.previous)}),delete r.count,delete r.next,delete r.previous)},extractSingle:function(e,t,r,n){var i={};return i[t.typeKey]=r,this._super(e,t,i,n)},extractArray:function(e,t,r,n){var i={};return i[t.typeKey]=r.results?r.results:r,this._super(e,t,i)},serializeIntoHash:function(e,t,n,i){r["default"].merge(e,this.serialize(n,i))},keyForAttribute:function(e){return r["default"].String.decamelize(e)},keyForRelationship:function(e,t){return r["default"].String.decamelize(e)}})});