text: if (!function(a, b, c) {
      function d(a, b) {
          return typeof a === b
      }
      function e() {
          var a, b, c, e, f, g, h;
          for (var i in k)
              if (k.hasOwnProperty(i)) {
                  if (a = [],
                  b = k[i],
                  b.name && (a.push(b.name.toLowerCase()),
                  b.options && b.options.aliases && b.options.aliases.length))
                      for (c = 0; c < b.options.aliases.length; c++)
                          a.push(b.options.aliases[c].toLowerCase());
                  for (e = d(b.fn, "function") ? b.fn() : b.fn,
                  f = 0; f < a.length; f++)
                      g = a[f],
                      h = g.split("."),
                      1 === h.length ? m[h[0]] = e : (!m[h[0]] || m[h[0]] instanceof Boolean || (m[h[0]] = new Boolean(m[h[0]])),
                      m[h[0]][h[1]] = e),
                      j.push((e ? "" : "no-") + h.join("-"))
              }
      }
      function f(a) {
          var b = n.className
            , c = m._config.classPrefix || "";
          if (o && (b = b.baseVal),
          m._config.enableJSClass) {
              var d = new RegExp("(^|\\s)" + c + "no-js(\\s|$)");
              b = b.replace(d, "$1" + c + "js$2")
          }
          m._config.enableClasses && (b += " " + c + a.join(" " + c),
          o ? n.className.baseVal = b : n.className = b)
      }
      function g() {
          return "function" != typeof b.createElement ? b.createElement(arguments[0]) : o ? b.createElementNS.call(b, "http://www.w3.org/2000/svg", arguments[0]) : b.createElement.apply(b, arguments)
      }
      function h() {
          var a = b.body;
          return a || (a = g(o ? "svg" : "body"),
          a.fake = !0),
          a
      }
      function i(a, c, d, e) {
          var f, i, j, k, l = "modernizr", m = g("div"), o = h();
          if (parseInt(d, 10))
              for (; d--; )
                  j = g("div"),
                  j.id = e ? e[d] : l + (d + 1),
                  m.appendChild(j);
          return f = g("style"),
          f.type = "text/css",
          f.id = "s" + l,
          (o.fake ? o : m).appendChild(f),
          o.appendChild(m),
          f.styleSheet ? f.styleSheet.cssText = a : f.appendChild(b.createTextNode(a)),
          m.id = l,
          o.fake && (o.style.background = "",
          o.style.overflow = "hidden",
          k = n.style.overflow,
          n.style.overflow = "hidden",
          n.appendChild(o)),
          i = c(m, a),
          o.fake ? (o.parentNode.removeChild(o),
          n.style.overflow = k,
          n.offsetHeight) : m.parentNode.removeChild(m),
          !!i
      }
      var j = []
        , k = []
        , l = {
          _version: "3.3.0",
          _config: {
              classPrefix: "",
              enableClasses: !0,
              enableJSClass: !0,
              usePrefixes: !0
          },
          _q: [],
          on: function(a, b) {
              var c = this;
              setTimeout(function() {
                  b(c[a])
              }, 0)
          },
          addTest: function(a, b, c) {
              k.push({
                  name: a,
                  fn: b,
                  options: c
              })
          },
          addAsyncTest: function(a) {
              k.push({
                  name: null ,
                  fn: a
              })
          }
      }
        , m = function() {}
      ;
      m.prototype = l,
      m = new m;
      var n = b.documentElement
        , o = "svg" === n.nodeName.toLowerCase()
        , p = l._config.usePrefixes ? " -webkit- -moz- -o- -ms- ".split(" ") : [];
      l._prefixes = p;
      var q = l.testStyles = i;
      m.addTest("touchevents", function() {
          var c;
          if ("ontouchstart" in a || a.DocumentTouch && b instanceof DocumentTouch)
              c = !0;
          else {
              var d = ["@media (", p.join("touch-enabled),("), "heartz", ")", "{#modernizr{top:9px;position:absolute}}"].join("");
              q(d, function(a) {
                  c = 9 === a.offsetTop
              })
          }
          return c
      }),
      e(),
      f(j),
      delete l.addTest,
      delete l.addAsyncTest;
      for (var r = 0; r < m._q.length; r++)
          m._q[r]();
      a.Modernizr = m
  }(window, document),
  "undefined" == typeof jQuery)
      throw new Error("Bootstrap's JavaScript requires jQuery");
  +function(a) {
      "use strict";
      var b = a.fn.jquery.split(" ")[0].split(".");
      if (b[0] < 2 && b[1] < 9 || 1 == b[0] && 9 == b[1] && b[2] < 1)
          throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")
  }(jQuery),
  +function(a) {
      "use strict";
      function b(b) {
          var c = b.attr("data-target");
          c || (c = b.attr("href"),
          c = c && /#[A-Za-z]/.test(c) && c.replace(/.*(?=#[^\s]*$)/, ""));
          var d = c && a(c);
          return d && d.length ? d : b.parent()
      }
      function c(c) {
          c && 3 === c.which || (a(e).remove(),
          a(f).each(function() {
              var d = a(this)
                , e = b(d)
                , f = {
                  relatedTarget: this
              };
              e.hasClass("open") && (c && "click" == c.type && /input|textarea/i.test(c.target.tagName) && a.contains(e[0], c.target) || (e.trigger(c = a.Event("hide.bs.dropdown", f)),
              c.isDefaultPrevented() || (d.attr("aria-expanded", "false"),
              e.removeClass("open").trigger("hidden.bs.dropdown", f))))
          }))
      }
      function d(b) {
          return this.each(function() {
              var c = a(this)
                , d = c.data("bs.dropdown");
              d || c.data("bs.dropdown", d = new g(this)),
              "string" == typeof b && d[b].call(c)
          })
      }
      var e = ".dropdown-backdrop"
        , f = '[data-toggle="dropdown"]'
        , g = function(b) {
          a(b).on("click.bs.dropdown", this.toggle)
      }
      ;
      g.VERSION = "3.3.5",
      g.prototype.toggle = function(d) {
          var e = a(this);
          if (!e.is(".disabled, :disabled")) {
              var f = b(e)
                , g = f.hasClass("open");
              if (c(),
              !g) {
                  "ontouchstart" in document.documentElement && !f.closest(".navbar-nav").length && a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click", c);
                  var h = {
                      relatedTarget: this
                  };
                  if (f.trigger(d = a.Event("show.bs.dropdown", h)),
                  d.isDefaultPrevented())
                      return;
                  e.trigger("focus").attr("aria-expanded", "true"),
                  f.toggleClass("open").trigger("shown.bs.dropdown", h)
              }
              return !1
          }
      }
      ,
      g.prototype.keydown = function(c) {
          if (/(38|40|27|32)/.test(c.which) && !/input|textarea/i.test(c.target.tagName)) {
              var d = a(this);
              if (c.preventDefault(),
              c.stopPropagation(),
              !d.is(".disabled, :disabled")) {
                  var e = b(d)
                    , g = e.hasClass("open");
                  if (!g && 27 != c.which || g && 27 == c.which)
                      return 27 == c.which && e.find(f).trigger("focus"),
                      d.trigger("click");
                  var h = " li:not(.disabled):visible a"
                    , i = e.find(".dropdown-menu" + h);
                  if (i.length) {
                      var j = i.index(c.target);
                      38 == c.which && j > 0 && j--,
                      40 == c.which && j < i.length - 1 && j++,
                      ~j || (j = 0),
                      i.eq(j).trigger("focus")
                  }
              }
          }
      }
      ;
      var h = a.fn.dropdown;
      a.fn.dropdown = d,
      a.fn.dropdown.Constructor = g,
      a.fn.dropdown.noConflict = function() {
          return a.fn.dropdown = h,
          this
      }
      ,
      a(document).on("click.bs.dropdown.data-api", c).on("click.bs.dropdown.data-api", ".dropdown form", function(a) {
          a.stopPropagation()
      }).on("click.bs.dropdown.data-api", f, g.prototype.toggle).on("keydown.bs.dropdown.data-api", f, g.prototype.keydown).on("keydown.bs.dropdown.data-api", ".dropdown-menu", g.prototype.keydown)
  }(jQuery),
  +function(a) {
      "use strict";
      function b(b, d) {
          return this.each(function() {
              var e = a(this)
                , f = e.data("bs.modal")
                , g = a.extend({}, c.DEFAULTS, e.data(), "object" == typeof b && b);
              f || e.data("bs.modal", f = new c(this,g)),
              "string" == typeof b ? f[b](d) : g.show && f.show(d)
          })
      }
      var c = function(b, c) {
          this.options = c,
          this.$body = a(document.body),
          this.$element = a(b),
          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, a.proxy(function() {
              this.$element.trigger("loaded.bs.modal")
          }, this))
      }
      ;
      c.VERSION = "3.3.5",
      c.TRANSITION_DURATION = 300,
      c.BACKDROP_TRANSITION_DURATION = 150,
      c.DEFAULTS = {
          backdrop: !0,
          keyboard: !0,
          show: !0
      },
      c.prototype.toggle = function(a) {
          return this.isShown ? this.hide() : this.show(a)
      }
      ,
      c.prototype.show = function(b) {
          var d = this
            , e = a.Event("show.bs.modal", {
              relatedTarget: b
          });
          this.$element.trigger(e),
          this.isShown || e.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"]', a.proxy(this.hide, this)),
          this.$dialog.on("mousedown.dismiss.bs.modal", function() {
              d.$element.one("mouseup.dismiss.bs.modal", function(b) {
                  a(b.target).is(d.$element) && (d.ignoreBackdropClick = !0)
              })
          }),
          this.backdrop(function() {
              var e = a.support.transition && d.$element.hasClass("fade");
              d.$element.parent().length || d.$element.appendTo(d.$body),
              d.$element.show().scrollTop(0),
              d.adjustDialog(),
              e && d.$element[0].offsetWidth,
              d.$element.addClass("in"),
              d.enforceFocus();
              var f = a.Event("shown.bs.modal", {
                  relatedTarget: b
              });
              e ? d.$dialog.one("bsTransitionEnd", function() {
                  d.$element.trigger("focus").trigger(f)
              }).emulateTransitionEnd(c.TRANSITION_DURATION) : d.$element.trigger("focus").trigger(f)
          }))
      }
      ,
      c.prototype.hide = function(b) {
          b && b.preventDefault(),
          b = a.Event("hide.bs.modal"),
          this.$element.trigger(b),
          this.isShown && !b.isDefaultPrevented() && (this.isShown = !1,
          this.escape(),
          this.resize(),
          a(document).off("focusin.bs.modal"),
          this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal"),
          this.$dialog.off("mousedown.dismiss.bs.modal"),
          a.support.transition && this.$element.hasClass("fade") ? this.$element.one("bsTransitionEnd", a.proxy(this.hideModal, this)).emulateTransitionEnd(c.TRANSITION_DURATION) : this.hideModal())
      }
      ,
      c.prototype.enforceFocus = function() {
          a(document).off("focusin.bs.modal").on("focusin.bs.modal", a.proxy(function(a) {
              this.$element[0] === a.target || this.$element.has(a.target).length || this.$element.trigger("focus")
          }, this))
      }
      ,
      c.prototype.escape = function() {
          this.isShown && this.options.keyboard ? this.$element.on("keydown.dismiss.bs.modal", a.proxy(function(a) {
              27 == a.which && this.hide()
          }, this)) : this.isShown || this.$element.off("keydown.dismiss.bs.modal")
      }
      ,
      c.prototype.resize = function() {
          this.isShown ? a(window).on("resize.bs.modal", a.proxy(this.handleUpdate, this)) : a(window).off("resize.bs.modal")
      }
      ,
      c.prototype.hideModal = function() {
          var a = this;
          this.$element.hide(),
          this.backdrop(function() {
              a.$body.removeClass("modal-open"),
              a.resetAdjustments(),
              a.resetScrollbar(),
              a.$element.trigger("hidden.bs.modal")
          })
      }
      ,
      c.prototype.removeBackdrop = function() {
          this.$backdrop && this.$backdrop.remove(),
          this.$backdrop = null 
      }
      ,
      c.prototype.backdrop = function(b) {
          var d = this
            , e = this.$element.hasClass("fade") ? "fade" : "";
          if (this.isShown && this.options.backdrop) {
              var f = a.support.transition && e;
              if (this.$backdrop = a(document.createElement("div")).addClass("modal-backdrop " + e).appendTo(this.$body),
              this.$element.on("click.dismiss.bs.modal", a.proxy(function(a) {
                  return this.ignoreBackdropClick ? void (this.ignoreBackdropClick = !1) : void (a.target === a.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide()))
              }, this)),
              f && this.$backdrop[0].offsetWidth,
              this.$backdrop.addClass("in"),
              !b)
                  return;
              f ? this.$backdrop.one("bsTransitionEnd", b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION) : b()
          } else if (!this.isShown && this.$backdrop) {
              this.$backdrop.removeClass("in");
              var g = function() {
                  d.removeBackdrop(),
                  b && b()
              }
              ;
              a.support.transition && this.$element.hasClass("fade") ? this.$backdrop.one("bsTransitionEnd", g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION) : g()
          } else
              b && b()
      }
      ,
      c.prototype.handleUpdate = function() {
          this.adjustDialog()
      }
      ,
      c.prototype.adjustDialog = function() {
          var a = this.$element[0].scrollHeight > document.documentElement.clientHeight;
          this.$element.css({
              paddingLeft: !this.bodyIsOverflowing && a ? this.scrollbarWidth : "",
              paddingRight: this.bodyIsOverflowing && !a ? this.scrollbarWidth : ""
          })
      }
      ,
      c.prototype.resetAdjustments = function() {
          this.$element.css({
              paddingLeft: "",
              paddingRight: ""
          })
      }
      ,
      c.prototype.checkScrollbar = function() {
          var a = window.innerWidth;
          if (!a) {
              var b = document.documentElement.getBoundingClientRect();
              a = b.right - Math.abs(b.left)
          }
          this.bodyIsOverflowing = document.body.clientWidth < a,
          this.scrollbarWidth = this.measureScrollbar()
      }
      ,
      c.prototype.setScrollbar = function() {
          var a = parseInt(this.$body.css("padding-right") || 0, 10);
          this.originalBodyPad = document.body.style.paddingRight || "",
          this.bodyIsOverflowing && this.$body.css("padding-right", a + this.scrollbarWidth)
      }
      ,
      c.prototype.resetScrollbar = function() {
          this.$body.css("padding-right", this.originalBodyPad)
      }
      ,
      c.prototype.measureScrollbar = function() {
          var a = document.createElement("div");
          a.className = "modal-scrollbar-measure",
          this.$body.append(a);
          var b = a.offsetWidth - a.clientWidth;
          return this.$body[0].removeChild(a),
          b
      }
      ;
      var d = a.fn.modal;
      a.fn.modal = b,
      a.fn.modal.Constructor = c,
      a.fn.modal.noConflict = function() {
          return a.fn.modal = d,
          this
      }
      ,
      a(document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function(c) {
          var d = a(this)
            , e = d.attr("href")
            , f = a(d.attr("data-target") || e && e.replace(/.*(?=#[^\s]+$)/, ""))
            , g = f.data("bs.modal") ? "toggle" : a.extend({
              remote: !/#/.test(e) && e
          }, f.data(), d.data());
          d.is("a") && c.preventDefault(),
          f.one("show.bs.modal", function(a) {
              a.isDefaultPrevented() || f.one("hidden.bs.modal", function() {
                  d.is(":visible") && d.trigger("focus")
              })
          }),
          b.call(f, g, this)
      })
  }(jQuery),
  +function(a) {
      "use strict";
      function b(b) {
          return this.each(function() {
              var d = a(this)
                , e = d.data("bs.tab");
              e || d.data("bs.tab", e = new c(this)),
              "string" == typeof b && e[b]()
          })
      }
      var c = function(b) {
          this.element = a(b)
      }
      ;
      c.VERSION = "3.3.5",
      c.TRANSITION_DURATION = 150,
      c.prototype.show = function() {
          var b = this.element
            , c = b.closest("ul:not(.dropdown-menu)")
            , d = b.data("target");
          if (d || (d = b.attr("href"),
          d = d && d.replace(/.*(?=#[^\s]*$)/, "")),
          !b.parent("li").hasClass("active")) {
              var e = c.find(".active:last a")
                , f = a.Event("hide.bs.tab", {
                  relatedTarget: b[0]
              })
                , g = a.Event("show.bs.tab", {
                  relatedTarget: e[0]
              });
              if (e.trigger(f),
              b.trigger(g),
              !g.isDefaultPrevented() && !f.isDefaultPrevented()) {
                  var h = a(d);
                  this.activate(b.closest("li"), c),
                  this.activate(h, h.parent(), function() {
                      e.trigger({
                          type: "hidden.bs.tab",
                          relatedTarget: b[0]
                      }),
                      b.trigger({
                          type: "shown.bs.tab",
                          relatedTarget: e[0]
                      })
                  })
              }
          }
      }
      ,
      c.prototype.activate = function(b, d, e) {
          function f() {
              g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !1),
              b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded", !0),
              h ? (b[0].offsetWidth,
              b.addClass("in")) : b.removeClass("fade"),
              b.parent(".dropdown-menu").length && b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded", !0),
              e && e()
          }
          var g = d.find("> .active")
            , h = e && a.support.transition && (g.length && g.hasClass("fade") || !!d.find("> .fade").length);
          g.length && h ? g.one("bsTransitionEnd", f).emulateTransitionEnd(c.TRANSITION_DURATION) : f(),
          g.removeClass("in")
      }
      ;
      var d = a.fn.tab;
      a.fn.tab = b,
      a.fn.tab.Constructor = c,
      a.fn.tab.noConflict = function() {
          return a.fn.tab = d,
          this
      }
      ;
      var e = function(c) {
          c.preventDefault(),
          b.call(a(this), "show")
      }
      ;
      a(document).on("click.bs.tab.data-api", '[data-toggle="tab"]', e).on("click.bs.tab.data-api", '[data-toggle="pill"]', e)
  }(jQuery),
  +function(a) {
      "use strict";
      function b(b) {
          return this.each(function() {
              var d = a(this)
                , e = d.data("bs.affix")
                , f = "object" == typeof b && b;
              e || d.data("bs.affix", e = new c(this,f)),
              "string" == typeof b && e[b]()
          })
      }
      var c = function(b, d) {
          this.options = a.extend({}, c.DEFAULTS, d),
          this.$target = a(this.options.target).on("scroll.bs.affix.data-api", a.proxy(this.checkPosition, this)).on("click.bs.affix.data-api", a.proxy(this.checkPositionWithEventLoop, this)),
          this.$element = a(b),
          this.affixed = null ,
          this.unpin = null ,
          this.pinnedOffset = null ,
          this.checkPosition()
      }
      ;
      c.VERSION = "3.3.5",
      c.RESET = "affix affix-top affix-bottom",
      c.DEFAULTS = {
          offset: 0,
          target: window
      },
      c.prototype.getState = function(a, b, c, d) {
          var e = this.$target.scrollTop()
            , f = this.$element.offset()
            , g = this.$target.height();
          if (null  != c && "top" == this.affixed)
              return c > e ? "top" : !1;
          if ("bottom" == this.affixed)
              return null  != c ? e + this.unpin <= f.top ? !1 : "bottom" : a - d >= e + g ? !1 : "bottom";
          var h = null  == this.affixed
            , i = h ? e : f.top
            , j = h ? g : b;
          return null  != c && c >= e ? "top" : null  != d && i + j >= a - d ? "bottom" : !1
      }
      ,
      c.prototype.getPinnedOffset = function() {
          if (this.pinnedOffset)
              return this.pinnedOffset;
          this.$element.removeClass(c.RESET).addClass("affix");
          var a = this.$target.scrollTop()
            , b = this.$element.offset();
          return this.pinnedOffset = b.top - a
      }
      ,
      c.prototype.checkPositionWithEventLoop = function() {
          setTimeout(a.proxy(this.checkPosition, this), 1)
      }
      ,
      c.prototype.checkPosition = function() {
          if (this.$element.is(":visible")) {
              var b = this.$element.height()
                , d = this.options.offset
                , e = d.top
                , f = d.bottom
                , g = Math.max(a(document).height(), a(document.body).height());
              "object" != typeof d && (f = e = d),
              "function" == typeof e && (e = d.top(this.$element)),
              "function" == typeof f && (f = d.bottom(this.$element));
              var h = this.getState(g, b, e, f);
              if (this.affixed != h) {
                  null  != this.unpin && this.$element.css("top", "");
                  var i = "affix" + (h ? "-" + h : "")
                    , j = a.Event(i + ".bs.affix");
                  if (this.$element.trigger(j),
                  j.isDefaultPrevented())
                      return;
                  this.affixed = h,
                  this.unpin = "bottom" == h ? this.getPinnedOffset() : null ,
                  this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix", "affixed") + ".bs.affix")
              }
              "bottom" == h && this.$element.offset({
                  top: g - b - f
              })
          }
      }
      ;
      var d = a.fn.affix;
      a.fn.affix = b,
      a.fn.affix.Constructor = c,
      a.fn.affix.noConflict = function() {
          return a.fn.affix = d,
          this
      }
      ,
      a(window).on("load", function() {
          a('[data-spy="affix"]').each(function() {
              var c = a(this)
                , d = c.data();
              d.offset = d.offset || {},
              null  != d.offsetBottom && (d.offset.bottom = d.offsetBottom),
              null  != d.offsetTop && (d.offset.top = d.offsetTop),
              b.call(c, d)
          })
      })
  }(jQuery),
  +function(a) {
      "use strict";
      function b(b) {
          var c, d = b.attr("data-target") || (c = b.attr("href")) && c.replace(/.*(?=#[^\s]+$)/, "");
          return a(d)
      }
      function c(b) {
          return this.each(function() {
              var c = a(this)
                , e = c.data("bs.collapse")
                , f = a.extend({}, d.DEFAULTS, c.data(), "object" == typeof b && b);
              !e && f.toggle && /show|hide/.test(b) && (f.toggle = !1),
              e || c.data("bs.collapse", e = new d(this,f)),
              "string" == typeof b && e[b]()
          })
      }
      var d = function(b, c) {
          this.$element = a(b),
          this.options = a.extend({}, d.DEFAULTS, c),
          this.$trigger = a('[data-toggle="collapse"][href="#' + b.id + '"],[data-toggle="collapse"][data-target="#' + b.id + '"]'),
          this.transitioning = null ,
          this.options.parent ? this.$parent = this.getParent() : this.addAriaAndCollapsedClass(this.$element, this.$trigger),
          this.options.toggle && this.toggle()
      }
      ;
      d.VERSION = "3.3.5",
      d.TRANSITION_DURATION = 350,
      d.DEFAULTS = {
          toggle: !0
      },
      d.prototype.dimension = function() {
          var a = this.$element.hasClass("width");
          return a ? "width" : "height"
      }
      ,
      d.prototype.show = function() {
          if (!this.transitioning && !this.$element.hasClass("in")) {
              var b, e = this.$parent && this.$parent.children(".panel").children(".in, .collapsing");
              if (!(e && e.length && (b = e.data("bs.collapse"),
              b && b.transitioning))) {
                  var f = a.Event("show.bs.collapse");
                  if (this.$element.trigger(f),
                  !f.isDefaultPrevented()) {
                      e && e.length && (c.call(e, "hide"),
                      b || e.data("bs.collapse", null ));
                      var g = this.dimension();
                      this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded", !0),
                      this.$trigger.removeClass("collapsed").attr("aria-expanded", !0),
                      this.transitioning = 1;
                      var h = function() {
                          this.$element.removeClass("collapsing").addClass("collapse in")[g](""),
                          this.transitioning = 0,
                          this.$element.trigger("shown.bs.collapse")
                      }
                      ;
                      if (!a.support.transition)
                          return h.call(this);
                      var i = a.camelCase(["scroll", g].join("-"));
                      this.$element.one("bsTransitionEnd", a.proxy(h, this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])
                  }
              }
          }
      }
      ,
      d.prototype.hide = function() {
          if (!this.transitioning && this.$element.hasClass("in")) {
              var b = a.Event("hide.bs.collapse");
              if (this.$element.trigger(b),
              !b.isDefaultPrevented()) {
                  var c = this.dimension();
                  this.$element[c](this.$element[c]())[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 e = function() {
                      this.transitioning = 0,
                      this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")
                  }
                  ;
                  return a.support.transition ? void this.$element[c](0).one("bsTransitionEnd", a.proxy(e, this)).emulateTransitionEnd(d.TRANSITION_DURATION) : e.call(this)
              }
          }
      }
      ,
      d.prototype.toggle = function() {
          this[this.$element.hasClass("in") ? "hide" : "show"]()
      }
      ,
      d.prototype.getParent = function() {
          return a(this.options.parent).find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]').each(a.proxy(function(c, d) {
              var e = a(d);
              this.addAriaAndCollapsedClass(b(e), e)
          }, this)).end()
      }
      ,
      d.prototype.addAriaAndCollapsedClass = function(a, b) {
          var c = a.hasClass("in");
          a.attr("aria-expanded", c),
          b.toggleClass("collapsed", !c).attr("aria-expanded", c)
      }
      ;
      var e = a.fn.collapse;
      a.fn.collapse = c,
      a.fn.collapse.Constructor = d,
      a.fn.collapse.noConflict = function() {
          return a.fn.collapse = e,
          this
      }
      ,
      a(document).on("click.bs.collapse.data-api", '[data-toggle="collapse"]', function(d) {
          var e = a(this);
          e.attr("data-target") || d.preventDefault();
          var f = b(e)
            , g = f.data("bs.collapse")
            , h = g ? "toggle" : e.data();
          c.call(f, h)
      })
  }(jQuery),
  +function(a) {
      "use strict";
      function b() {
          var a = document.createElement("bootstrap")
            , b = {
              WebkitTransition: "webkitTransitionEnd",
              MozTransition: "transitionend",
              OTransition: "oTransitionEnd otransitionend",
              transition: "transitionend"
          };
          for (var c in b)
              if (void 0 !== a.style[c])
                  return {
                      end: b[c]
                  };
          return !1
      }
      a.fn.emulateTransitionEnd = function(b) {
          var c = !1
            , d = this;
          a(this).one("bsTransitionEnd", function() {
              c = !0
          });
          var e = function() {
              c || a(d).trigger(a.support.transition.end)
          }
          ;
          return setTimeout(e, b),
          this
      }
      ,
      a(function() {
          a.support.transition = b(),
          a.support.transition && (a.event.special.bsTransitionEnd = {
              bindType: a.support.transition.end,
              delegateType: a.support.transition.end,
              handle: function(b) {
                  return a(b.target).is(this) ? b.handleObj.handler.apply(this, arguments) : void 0
              }
          })
      })
  }(jQuery),
  function(a) {
      "use strict";
      a.fn.floatingLabel = function(b) {
          var c = this.closest(".form-group-label");
          if (c.length)
              switch (b) {
              case "focusin":
                  c.addClass("control-focus");
                  break;
              case "focusout":
                  c.removeClass("control-focus");
                  break;
              default:
                  this.val() ? c.addClass("control-highlight") : this.is("select") && "" !== a("option:first-child", this).html().replace(" ", "") ? c.addClass("control-highlight") : c.removeClass("control-highlight")
              }
          return this
      }
  }(jQuery),
  $(function() {
      "use strict";
      $(".form-group-label .form-control").each(function() {
          $(this).floatingLabel("change")
      }),
      $(document).on("change", ".form-group-label .form-control", function() {
          $(this).floatingLabel("change")
      }),
      $(document).on("focusin", ".form-group-label .form-control", function() {
          $(this).floatingLabel("focusin")
      }),
      $(document).on("focusout", ".form-group-label .form-control", function() {
          $(this).floatingLabel("focusout")
      })
  }),
  !function(a, b) {
      function c(b) {
          this.element = b,
          this.$element = a(b),
          this.init()
      }
      var d = "textareaAutoSize"
        , e = "plugin_" + d
        , f = function(a) {
          return a.replace(/\s/g, "").length > 0
      }
      ;
      c.prototype = {
          init: function() {
              var c = (this.$element.outerHeight(),
              parseInt(this.$element.css("paddingBottom")) + parseInt(this.$element.css("paddingTop")));
              f(this.element.value) && this.$element.height(this.element.scrollHeight - c),
              this.$element.on("input keyup", function() {
                  var d = a(b)
                    , e = d.scrollTop();
                  a(this).height(0).height(this.scrollHeight - c),
                  d.scrollTop(e)
              })
          }
      },
      a.fn[d] = function(b) {
          return this.each(function() {
              a.data(this, e) || a.data(this, e, new c(this,b))
          }),
          this
      }
  }(jQuery, window, document),
  $(function() {
      "use strict";
      $(".textarea-autosize").textareaAutoSize()
  }),
  $(function() {
      "use strict";
      $(".header-waterfall").each(function() {
          $(this).affix({
              offset: {
                  top: 1
              }
          })
      })
  }),
  function(a) {
      "use strict";
      function b(b, d) {
          return this.each(function() {
              var e = a(this)
                , f = e.data("bs.menu")
                , g = a.extend({}, c.DEFAULTS, e.data(), "object" == typeof b && b);
              f || e.data("bs.menu", f = new c(this,g)),
              "string" == typeof b ? f[b](d) : g.show && f.show(d)
          })
      }
      var c = function(b, c) {
          this.ignoreBackdropClick = !1,
          this.isShown = null ,
          this.options = c,
          this.originalBodyPad = null ,
          this.scrollbarWidth = 0,
          this.$backdrop = null ,
          this.$body = a(document.body),
          this.$element = a(b),
          this.$dialog = this.$element.find(".menu-scroll")
      }
      ;
      if (!a.fn.modal)
          throw new Error("Menu requires Bootstrap modal.js");
      c.DEFAULTS = a.extend({}, a.fn.modal.Constructor.DEFAULTS, {}),
      c.TRANSITION_DURATION = 300,
      c.TRANSITION_DURATION_BACKDROP = 150,
      c.prototype = a.extend({}, a.fn.modal.Constructor.prototype),
      c.prototype.backdrop = function(b) {
          var d = this;
          if (this.isShown && this.options.backdrop) {
              var e = a.support.transition;
              if (this.$backdrop = a(document.createElement("div")).addClass("menu-backdrop").appendTo(this.$body),
              this.$element.on("click.dismiss.bs.menu", a.proxy(function(a) {
                  return this.ignoreBackdropClick ? void (this.ignoreBackdropClick = !1) : void (a.target === a.currentTarget && ("static" == this.options.backdrop ? this.$element[0].focus() : this.hide()))
              }, this)),
              e && this.$backdrop[0].offsetWidth,
              this.$backdrop.addClass("in"),
              !b)
                  return;
              e ? this.$backdrop.one("bsTransitionEnd", b).emulateTransitionEnd(c.TRANSITION_DURATION_BACKDROP) : b()
          } else if (!this.isShown && this.$backdrop) {
              this.$backdrop.removeClass("in");
              var f = function() {
                  d.removeBackdrop(),
                  b && b()
              }
              ;
              a.support.transition ? this.$backdrop.one("bsTransitionEnd", f).emulateTransitionEnd(c.TRANSITION_DURATION_BACKDROP) : f()
          } else
              b && b()
      }
      ,
      c.prototype.hide = function(b) {
          b && b.preventDefault(),
          b = a.Event("hide.bs.menu"),
          this.$element.trigger(b),
          this.isShown && !b.isDefaultPrevented() && (this.isShown = !1,
          this.escape(),
          a(document).off("focusin.bs.modal"),
          this.$element.removeClass("in").off("click.dismiss.bs.menu").off("mouseup.dismiss.bs.menu"),
          this.$dialog.off("mousedown.dismiss.bs.menu"),
          a.support.transition ? this.$element.one("bsTransitionEnd", a.proxy(this.hideModal, this)).emulateTransitionEnd(c.TRANSITION_DURATION) : this.hideModal())
      }
      ,
      c.prototype.hideModal = function() {
          var a = this;
          this.$element.hide(),
          this.backdrop(function() {
              a.$element.trigger("hidden.bs.menu")
          })
      }
      ,
      c.prototype.show = function(b) {
          var d = this
            , e = a.Event("show.bs.menu", {
              relatedTarget: b
          });
          this.$element.trigger(e),
          this.isShown || e.isDefaultPrevented() || (this.isShown = !0,
          this.escape(),
          this.$element.on("click.dismiss.bs.menu", '[data-dismiss="menu"]', a.proxy(this.hide, this)),
          this.$dialog.on("mousedown.dismiss.bs.menu", function() {
              d.$element.one("mouseup.dismiss.bs.menu", function(b) {
                  a(b.target).is(d.$element) && (d.ignoreBackdropClick = !0)
              })
          }),
          this.backdrop(function() {
              var e = a.support.transition;
              d.$element.parent().length || d.$element.appendTo(d.$body),
              d.$element.show(),
              e && d.$element[0].offsetWidth,
              d.$element.addClass("in"),
              d.enforceFocus();
              var f = a.Event("shown.bs.menu", {
                  relatedTarget: b
              });
              e ? d.$dialog.one("bsTransitionEnd", function() {
                  d.$element.trigger("focus").trigger(f)
              }).emulateTransitionEnd(c.TRANSITION_DURATION) : d.$element.trigger("focus").trigger(f)
          }))
      }
      ;
      var d = a.fn.menu;
      a.fn.menu = b,
      a.fn.menu.Constructor = c,
      a.fn.menu.noConflict = function() {
          return a.fn.menu = d,
          this
      }
      ,
      a(document).on("click.bs.menu.data-api", '[data-toggle="menu"]', function(c) {
          var d = a(this)
            , e = d.attr("href")
            , f = a(d.attr("data-target") || e && e.replace(/.*(?=#[^\s]+$)/, ""))
            , g = f.data("bs.menu") ? "toggle" : a.extend({
              remote: !/#/.test(e) && e
          }, f.data(), d.data());
          d.is("a") && c.preventDefault(),
          f.one("show.bs.menu", function(a) {
              a.isDefaultPrevented() || (f.attr("tabindex", "-1"),
              f.one("hidden.bs.menu", function() {
                  d.is(":visible") && d.trigger("focus")
              }))
          }),
          b.call(f, g, this)
      })
  }(jQuery),
  $(function() {
      "use strict";
      $(document).on("hidden.bs.modal", ".modal-va-middle", function() {
          $(this).removeClass("modal-va-middle-show")
      }),
      $(document).on("show.bs.modal", ".modal-va-middle", function() {
          $(this).addClass("modal-va-middle-show")
      })
  }),
  !function(a) {
      "function" == typeof define && define.amd ? define("picker", ["jquery"], a) : "object" == typeof exports ? module.exports = a(require("jquery")) : this.Picker = a(jQuery)
  }(function(a) {
      function b(f, g, i, m) {
          function n() {
              return b._.node("div", b._.node("div", b._.node("div", b._.node("div", B.component.nodes(w.open), y.box), y.wrap), y.frame), y.holder, 'tabindex="-1"')
          }
          function o() {
              z.data(g, B).addClass(y.input).val(z.data("value") ? B.get("select", x.format) : f.value),
              x.editable || z.on("focus." + w.id + " click." + w.id, function(a) {
                  a.preventDefault(),
                  B.open()
              }).on("keydown." + w.id, u),
              e(f, {
                  haspopup: !0,
                  expanded: !1,
                  readonly: !1,
                  owns: f.id + "_root"
              })
          }
          function p() {
              e(B.$root[0], "hidden", !0)
          }
          function q() {
              B.$holder.on({
                  keydown: u,
                  "focus.toOpen": t,
                  blur: function() {
                      z.removeClass(y.target)
                  },
                  focusin: function(a) {
                      B.$root.removeClass(y.focused),
                      a.stopPropagation()
                  },
                  "mousedown click": function(b) {
                      var c = b.target;
                      c != B.$holder[0] && (b.stopPropagation(),
                      "mousedown" != b.type || a(c).is("input, select, textarea, button, option") || (b.preventDefault(),
                      B.$holder[0].focus()))
                  }
              }).on("click", "[data-pick], [data-nav], [data-clear], [data-close]", function() {
                  var b = a(this)
                    , c = b.data()
                    , d = b.hasClass(y.navDisabled) || b.hasClass(y.disabled)
                    , e = h();
                  e = e && (e.type || e.href),
                  (d || e && !a.contains(B.$root[0], e)) && B.$holder[0].focus(),
                  !d && c.nav ? B.set("highlight", B.component.item.highlight, {
                      nav: c.nav
                  }) : !d && "pick" in c ? (B.set("select", c.pick),
                  x.closeOnSelect && B.close(!0)) : c.clear ? (B.clear(),
                  x.closeOnClear && B.close(!0)) : c.close && B.close(!0)
              })
          }
          function r() {
              var b;
              x.hiddenName === !0 ? (b = f.name,
              f.name = "") : (b = ["string" == typeof x.hiddenPrefix ? x.hiddenPrefix : "", "string" == typeof x.hiddenSuffix ? x.hiddenSuffix : "_submit"],
              b = b[0] + f.name + b[1]),
              B._hidden = a('<input type=hidden name="' + b + '"' + (z.data("value") || f.value ? ' value="' + B.get("select", x.formatSubmit) + '"' : "") + ">")[0],
              z.on("change." + w.id, function() {
                  B._hidden.value = f.value ? B.get("select", x.formatSubmit) : ""
              })
          }
          function s() {
              v && l ? B.$holder.find("." + y.frame).one("transitionend", function() {
                  B.$holder[0].focus()
              }) : B.$holder[0].focus()
          }
          function t(a) {
              a.stopPropagation(),
              z.addClass(y.target),
              B.$root.addClass(y.focused),
              B.open()
          }
          function u(a) {
              var b = a.keyCode
                , c = /^(8|46)$/.test(b);
              return 27 == b ? (B.close(!0),
              !1) : void ((32 == b || c || !w.open && B.component.key[b]) && (a.preventDefault(),
              a.stopPropagation(),
              c ? B.clear().close() : B.open()))
          }
          if (!f)
              return b;
          var v = !1
            , w = {
              id: f.id || "P" + Math.abs(~~(Math.random() * new Date))
          }
            , x = i ? a.extend(!0, {}, i.defaults, m) : m || {}
            , y = a.extend({}, b.klasses(), x.klass)
            , z = a(f)
            , A = function() {
              return this.start()
          }
            , B = A.prototype = {
              constructor: A,
              $node: z,
              start: function() {
                  return w && w.start ? B : (w.methods = {},
                  w.start = !0,
                  w.open = !1,
                  w.type = f.type,
                  f.autofocus = f == h(),
                  f.readOnly = !x.editable,
                  f.id = f.id || w.id,
                  "text" != f.type && (f.type = "text"),
                  B.component = new i(B,x),
                  B.$root = a('<div class="' + y.picker + '" id="' + f.id + '_root" />'),
                  p(),
                  B.$holder = a(n()).appendTo(B.$root),
                  q(),
                  x.formatSubmit && r(),
                  o(),
                  x.containerHidden ? a(x.containerHidden).append(B._hidden) : z.after(B._hidden),
                  x.container ? a(x.container).append(B.$root) : z.after(B.$root),
                  B.on({
                      start: B.component.onStart,
                      render: B.component.onRender,
                      stop: B.component.onStop,
                      open: B.component.onOpen,
                      close: B.component.onClose,
                      set: B.component.onSet
                  }).on({
                      start: x.onStart,
                      render: x.onRender,
                      stop: x.onStop,
                      open: x.onOpen,
                      close: x.onClose,
                      set: x.onSet
                  }),
                  v = c(B.$holder[0]),
                  f.autofocus && B.open(),
                  B.trigger("start").trigger("render"))
              },
              render: function(b) {
                  return b ? (B.$holder = a(n()),
                  q(),
                  B.$root.html(B.$holder)) : B.$root.find("." + y.box).html(B.component.nodes(w.open)),
                  B.trigger("render")
              },
              stop: function() {
                  return w.start ? (B.close(),
                  B._hidden && B._hidden.parentNode.removeChild(B._hidden),
                  B.$root.remove(),
                  z.removeClass(y.input).removeData(g),
                  setTimeout(function() {
                      z.off("." + w.id)
                  }, 0),
                  f.type = w.type,
                  f.readOnly = !1,
                  B.trigger("stop"),
                  w.methods = {},
                  w.start = !1,
                  B) : B
              },
              open: function(c) {
                  return w.open ? B : (z.addClass(y.active),
                  e(f, "expanded", !0),
                  setTimeout(function() {
                      B.$root.addClass(y.opened),
                      e(B.$root[0], "hidden", !1)
                  }, 0),
                  c !== !1 && (w.open = !0,
                  v && k.css("overflow", "hidden").css("padding-right", "+=" + d()),
                  s(),
                  j.on("click." + w.id + " focusin." + w.id, function(a) {
                      var b = a.target;
                      b != f && b != document && 3 != a.which && B.close(b === B.$holder[0])
                  }).on("keydown." + w.id, function(c) {
                      var d = c.keyCode
                        , e = B.component.key[d]
                        , f = c.target;
                      27 == d ? B.close(!0) : f != B.$holder[0] || !e && 13 != d ? a.contains(B.$root[0], f) && 13 == d && (c.preventDefault(),
                      f.click()) : (c.preventDefault(),
                      e ? b._.trigger(B.component.key.go, B, [b._.trigger(e)]) : B.$root.find("." + y.highlighted).hasClass(y.disabled) || (B.set("select", B.component.item.highlight),
                      x.closeOnSelect && B.close(!0)))
                  })),
                  B.trigger("open"))
              },
              close: function(a) {
                  return a && (x.editable ? f.focus() : (B.$holder.off("focus.toOpen").focus(),
                  setTimeout(function() {
                      B.$holder.on("focus.toOpen", t)
                  }, 0))),
                  z.removeClass(y.active),
                  e(f, "expanded", !1),
                  setTimeout(function() {
                      B.$root.removeClass(y.opened + " " + y.focused),
                      e(B.$root[0], "hidden", !0)
                  }, 0),
                  w.open ? (w.open = !1,
                  v && k.css("overflow", "").css("padding-right", "-=" + d()),
                  j.off("." + w.id),
                  B.trigger("close")) : B
              },
              clear: function(a) {
                  return B.set("clear", null , a)
              },
              set: function(b, c, d) {
                  var e, f, g = a.isPlainObject(b), h = g ? b : {};
                  if (d = g && a.isPlainObject(c) ? c : d || {},
                  b) {
                      g || (h[b] = c);
                      for (e in h)
                          f = h[e],
                          e in B.component.item && (void 0 === f && (f = null ),
                          B.component.set(e, f, d)),
                          ("select" == e || "clear" == e) && z.val("clear" == e ? "" : B.get(e, x.format)).trigger("change");
                      B.render()
                  }
                  return d.muted ? B : B.trigger("set", h)
              },
              get: function(a, c) {
                  if (a = a || "value",
                  null  != w[a])
                      return w[a];
                  if ("valueSubmit" == a) {
                      if (B._hidden)
                          return B._hidden.value;
                      a = "value"
                  }
                  if ("value" == a)
                      return f.value;
                  if (a in B.component.item) {
                      if ("string" == typeof c) {
                          var d = B.component.get(a);
                          return d ? b._.trigger(B.component.formats.toString, B.component, [c, d]) : ""
                      }
                      return B.component.get(a)
                  }
              },
              on: function(b, c, d) {
                  var e, f, g = a.isPlainObject(b), h = g ? b : {};
                  if (b) {
                      g || (h[b] = c);
                      for (e in h)
                          f = h[e],
                          d && (e = "_" + e),
                          w.methods[e] = w.methods[e] || [],
                          w.methods[e].push(f)
                  }
                  return B
              },
              off: function() {
                  var a, b, c = arguments;
                  for (a = 0,
                  namesCount = c.length; a < namesCount; a += 1)
                      b = c[a],
                      b in w.methods && delete w.methods[b];
                  return B
              },
              trigger: function(a, c) {
                  var d = function(a) {
                      var d = w.methods[a];
                      d && d.map(function(a) {
                          b._.trigger(a, B, [c])
                      })
                  }
                  ;
                  return d("_" + a),
                  d(a),
                  B
              }
          };
          return new A
      }
      function c(a) {
          var b, c = "position";
          return a.currentStyle ? b = a.currentStyle[c] : window.getComputedStyle && (b = getComputedStyle(a)[c]),
          "fixed" == b
      }
      function d() {
          if (k.height() <= i.height())
              return 0;
          var b = a('<div style="visibility:hidden;width:100px" />').appendTo("body")
            , c = b[0].offsetWidth;
          b.css("overflow", "scroll");
          var d = a('<div style="width:100%" />').appendTo(b)
            , e = d[0].offsetWidth;
          return b.remove(),
          c - e
      }
      function e(b, c, d) {
          if (a.isPlainObject(c))
              for (var e in c)
                  f(b, e, c[e]);
          else
              f(b, c, d)
      }
      function f(a, b, c) {
          a.setAttribute(("role" == b ? "" : "aria-") + b, c)
      }
      function g(b, c) {
          a.isPlainObject(b) || (b = {
              attribute: c
          }),
          c = "";
          for (var d in b) {
              var e = ("role" == d ? "" : "aria-") + d
                , f = b[d];
              c += null  == f ? "" : e + '="' + b[d] + '"'
          }
          return c
      }
      function h() {
          try {
              return document.activeElement
          } catch (a) {}
      }
      var i = a(window)
        , j = a(document)
        , k = a(document.documentElement)
        , l = null  != document.documentElement.style.transition;
      return b.klasses = function(a) {
          return a = a || "picker",
          {
              picker: a,
              opened: a + "--opened",
              focused: a + "--focused",
              input: a + "__input",
              active: a + "__input--active",
              target: a + "__input--target",
              holder: a + "__holder",
              frame: a + "__frame",
              wrap: a + "__wrap",
              box: a + "__box"
          }
      }
      ,
      b._ = {
          group: function(a) {
              for (var c, d = "", e = b._.trigger(a.min, a); e <= b._.trigger(a.max, a, [e]); e += a.i)
                  c = b._.trigger(a.item, a, [e]),
                  d += b._.node(a.node, c[0], c[1], c[2]);
              return d
          },
          node: function(b, c, d, e) {
              return c ? (c = a.isArray(c) ? c.join("") : c,
              d = d ? ' class="' + d + '"' : "",
              e = e ? " " + e : "",
              "<" + b + d + e + ">" + c + "</" + b + ">") : ""
          },
          lead: function(a) {
              return (10 > a ? "0" : "") + a
          },
          trigger: function(a, b, c) {
              return "function" == typeof a ? a.apply(b, c || []) : a
          },
          digits: function(a) {
              return /\d/.test(a[1]) ? 2 : 1
          },
          isDate: function(a) {
              return {}.toString.call(a).indexOf("Date") > -1 && this.isInteger(a.getDate())
          },
          isInteger: function(a) {
              return {}.toString.call(a).indexOf("Number") > -1 && a % 1 === 0
          },
          ariaAttr: g
      },
      b.extend = function(c, d) {
          a.fn[c] = function(e, f) {
              var g = this.data(c);
              return "picker" == e ? g : g && "string" == typeof e ? b._.trigger(g[e], g, [f]) : this.each(function() {
                  var f = a(this);
                  f.data(c) || new b(this,c,d,e)
              })
          }
          ,
          a.fn[c].defaults = d.defaults
      }
      ,
      b
  }),
  !function(a) {
      "function" == typeof define && define.amd ? define(["picker", "jquery"], a) : "object" == typeof exports ? module.exports = a(require("./picker.js"), require("jquery")) : a(Picker, jQuery)
  }(function(a, b) {
      function c(a, b) {
          var c = this
            , d = a.$node[0]
            , e = d.value
            , f = a.$node.data("value")
            , g = f || e
            , h = f ? b.formatSubmit : b.format
            , i = function() {
              return d.currentStyle ? "rtl" == d.currentStyle.direction : "rtl" == getComputedStyle(a.$root[0]).direction
          }
          ;
          c.settings = b,
          c.$node = a.$node,
          c.queue = {
              min: "measure create",
              max: "measure create",
              now: "now create",
              select: "parse create validate",
              highlight: "parse navigate create validate",
              view: "parse create validate viewset",
              disable: "deactivate",
              enable: "activate"
          },
          c.item = {},
          c.item.clear = null ,
          c.item.disable = (b.disable || []).slice(0),
          c.item.enable = -function(a) {
              return a[0] === !0 ? a.shift() : -1
          }(c.item.disable),
          c.set("min", b.min).set("max", b.max).set("now"),
          g ? c.set("select", g, {
              format: h,
              defaultValue: !0
          }) : c.set("select", null ).set("highlight", c.item.now),
          c.key = {
              40: 7,
              38: -7,
              39: function() {
                  return i() ? -1 : 1
              },
              37: function() {
                  return i() ? 1 : -1
              },
              go: function(a) {
                  var b = c.item.highlight
                    , d = new Date(b.year,b.month,b.date + a);
                  c.set("highlight", d, {
                      interval: a
                  }),
                  this.render()
              }
          },
          a.on("render", function() {
              a.$root.find("." + b.klass.selectMonth).on("change", function() {
                  var c = this.value;
                  c && (a.set("highlight", [a.get("view").year, c, a.get("highlight").date]),
                  a.$root.find("." + b.klass.selectMonth).trigger("focus"))
              }),
              a.$root.find("." + b.klass.selectYear).on("change", function() {
                  var c = this.value;
                  c && (a.set("highlight", [c, a.get("view").month, a.get("highlight").date]),
                  a.$root.find("." + b.klass.selectYear).trigger("focus"))
              })
          }, 1).on("open", function() {
              var d = "";
              c.disabled(c.get("now")) && (d = ":not(." + b.klass.buttonToday + ")"),
              a.$root.find("button" + d + ", select").attr("disabled", !1)
          }, 1).on("close", function() {
              a.$root.find("button, select").attr("disabled", !0)
          }, 1)
      }
      var d = 7
        , e = 6
        , f = a._;
      c.prototype.set = function(a, b, c) {
          var d = this
            , e = d.item;
          return null  === b ? ("clear" == a && (a = "select"),
          e[a] = b,
          d) : (e["enable" == a ? "disable" : "flip" == a ? "enable" : a] = d.queue[a].split(" ").map(function(e) {
              return b = d[e](a, b, c)
          }).pop(),
          "select" == a ? d.set("highlight", e.select, c) : "highlight" == a ? d.set("view", e.highlight, c) : a.match(/^(flip|min|max|disable|enable)$/) && (e.select && d.disabled(e.select) && d.set("select", e.select, c),
          e.highlight && d.disabled(e.highlight) && d.set("highlight", e.highlight, c)),
          d)
      }
      ,
      c.prototype.get = function(a) {
          return this.item[a]
      }
      ,
      c.prototype.create = function(a, c, d) {
          var e, g = this;
          return c = void 0 === c ? a : c,
          c == -(1 / 0) || c == 1 / 0 ? e = c : b.isPlainObject(c) && f.isInteger(c.pick) ? c = c.obj : b.isArray(c) ? (c = new Date(c[0],c[1],c[2]),
          c = f.isDate(c) ? c : g.create().obj) : c = f.isInteger(c) || f.isDate(c) ? g.normalize(new Date(c), d) : g.now(a, c, d),
          {
              year: e || c.getFullYear(),
              month: e || c.getMonth(),
              date: e || c.getDate(),
              day: e || c.getDay(),
              obj: e || c,
              pick: e || c.getTime()
          }
      }
      ,
      c.prototype.createRange = function(a, c) {
          var d = this
            , e = function(a) {
              return a === !0 || b.isArray(a) || f.isDate(a) ? d.create(a) : a
          }
          ;
          return f.isInteger(a) || (a = e(a)),
          f.isInteger(c) || (c = e(c)),
          f.isInteger(a) && b.isPlainObject(c) ? a = [c.year, c.month, c.date + a] : f.isInteger(c) && b.isPlainObject(a) && (c = [a.year, a.month, a.date + c]),
          {
              from: e(a),
              to: e(c)
          }
      }
      ,
      c.prototype.withinRange = function(a, b) {
          return a = this.createRange(a.from, a.to),
          b.pick >= a.from.pick && b.pick <= a.to.pick
      }
      ,
      c.prototype.overlapRanges = function(a, b) {
          var c = this;
          return a = c.createRange(a.from, a.to),
          b = c.createRange(b.from, b.to),
          c.withinRange(a, b.from) || c.withinRange(a, b.to) || c.withinRange(b, a.from) || c.withinRange(b, a.to)
      }
      ,
      c.prototype.now = function(a, b, c) {
          return b = new Date,
          c && c.rel && b.setDate(b.getDate() + c.rel),
          this.normalize(b, c)
      }
      ,
      c.prototype.navigate = function(a, c, d) {
          var e, f, g, h, i = b.isArray(c), j = b.isPlainObject(c), k = this.item.view;
          if (i || j) {
              for (j ? (f = c.year,
              g = c.month,
              h = c.date) : (f = +c[0],
              g = +c[1],
              h = +c[2]),
              d && d.nav && k && k.month !== g && (f = k.year,
              g = k.month),
              e = new Date(f,g + (d && d.nav ? d.nav : 0),1),
              f = e.getFullYear(),
              g = e.getMonth(); new Date(f,g,h).getMonth() !== g; )
                  h -= 1;
              c = [f, g, h]
          }
          return c
      }
      ,
      c.prototype.normalize = function(a) {
          return a.setHours(0, 0, 0, 0),
          a
      }
      ,
      c.prototype.measure = function(a, b) {
          var c = this;
          return b ? "string" == typeof b ? b = c.parse(a, b) : f.isInteger(b) && (b = c.now(a, b, {
              rel: b
          })) : b = "min" == a ? -(1 / 0) : 1 / 0,
          b
      }
      ,
      c.prototype.viewset = function(a, b) {
          return this.create([b.year, b.month, 1])
      }
      ,
      c.prototype.validate = function(a, c, d) {
          var e, g, h, i, j = this, k = c, l = d && d.interval ? d.interval : 1, m = -1 === j.item.enable, n = j.item.min, o = j.item.max, p = m && j.item.disable.filter(function(a) {
              if (b.isArray(a)) {
                  var d = j.create(a).pick;
                  d < c.pick ? e = !0 : d > c.pick && (g = !0)
              }
              return f.isInteger(a)
          }).length;
          if ((!d || !d.nav && !d.defaultValue) && (!m && j.disabled(c) || m && j.disabled(c) && (p || e || g) || !m && (c.pick <= n.pick || c.pick >= o.pick)))
              for (m && !p && (!g && l > 0 || !e && 0 > l) && (l *= -1); j.disabled(c) && (Math.abs(l) > 1 && (c.month < k.month || c.month > k.month) && (c = k,
              l = l > 0 ? 1 : -1),
              c.pick <= n.pick ? (h = !0,
              l = 1,
              c = j.create([n.year, n.month, n.date + (c.pick === n.pick ? 0 : -1)])) : c.pick >= o.pick && (i = !0,
              l = -1,
              c = j.create([o.year, o.month, o.date + (c.pick === o.pick ? 0 : 1)])),
              !h || !i); )
                  c = j.create([c.year, c.month, c.date + l]);
          return c
      }
      ,
      c.prototype.disabled = function(a) {
          var c = this
            , d = c.item.disable.filter(function(d) {
              return f.isInteger(d) ? a.day === (c.settings.firstDay ? d : d - 1) % 7 : b.isArray(d) || f.isDate(d) ? a.pick === c.create(d).pick : b.isPlainObject(d) ? c.withinRange(d, a) : void 0
          });
          return d = d.length && !d.filter(function(a) {
              return b.isArray(a) && "inverted" == a[3] || b.isPlainObject(a) && a.inverted
          }).length,
          -1 === c.item.enable ? !d : d || a.pick < c.item.min.pick || a.pick > c.item.max.pick
      }
      ,
      c.prototype.parse = function(a, b, c) {
          var d = this
            , e = {};
          return b && "string" == typeof b ? (c && c.format || (c = c || {},
          c.format = d.settings.format),
          d.formats.toArray(c.format).map(function(a) {
              var c = d.formats[a]
                , g = c ? f.trigger(c, d, [b, e]) : a.replace(/^!/, "").length;
              c && (e[a] = b.substr(0, g)),
              b = b.substr(g)
          }),
          [e.yyyy || e.yy, +(e.mm || e.m) - 1, e.dd || e.d]) : b
      }
      ,
      c.prototype.formats = function() {
          function a(a, b, c) {
              var d = a.match(/[^\x00-\x7F]+|\w+/)[0];
              return c.mm || c.m || (c.m = b.indexOf(d) + 1),
              d.length
          }
          function b(a) {
              return a.match(/\w+/)[0].length
          }
          return {
              d: function(a, b) {
                  return a ? f.digits(a) : b.date
              },
              dd: function(a, b) {
                  return a ? 2 : f.lead(b.date)
              },
              ddd: function(a, c) {
                  return a ? b(a) : this.settings.weekdaysShort[c.day]
              },
              dddd: function(a, c) {
                  return a ? b(a) : this.settings.weekdaysFull[c.day]
              },
              m: function(a, b) {
                  return a ? f.digits(a) : b.month + 1
              },
              mm: function(a, b) {
                  return a ? 2 : f.lead(b.month + 1)
              },
              mmm: function(b, c) {
                  var d = this.settings.monthsShort;
                  return b ? a(b, d, c) : d[c.month]
              },
              mmmm: function(b, c) {
                  var d = this.settings.monthsFull;
                  return b ? a(b, d, c) : d[c.month]
              },
              yy: function(a, b) {
                  return a ? 2 : ("" + b.year).slice(2)
              },
              yyyy: function(a, b) {
                  return a ? 4 : b.year
              },
              toArray: function(a) {
                  return a.split(/(d{1,4}|m{1,4}|y{4}|yy|!.)/g)
              },
              toString: function(a, b) {
                  var c = this;
                  return c.formats.toArray(a).map(function(a) {
                      return f.trigger(c.formats[a], c, [0, b]) || a.replace(/^!/, "")
                  }).join("")
              }
          }
      }(),
      c.prototype.isDateExact = function(a, c) {
          var d = this;
          return f.isInteger(a) && f.isInteger(c) || "boolean" == typeof a && "boolean" == typeof c ? a === c : (f.isDate(a) || b.isArray(a)) && (f.isDate(c) || b.isArray(c)) ? d.create(a).pick === d.create(c).pick : b.isPlainObject(a) && b.isPlainObject(c) ? d.isDateExact(a.from, c.from) && d.isDateExact(a.to, c.to) : !1
      }
      ,
      c.prototype.isDateOverlap = function(a, c) {
          var d = this
            , e = d.settings.firstDay ? 1 : 0;
          return f.isInteger(a) && (f.isDate(c) || b.isArray(c)) ? (a = a % 7 + e,
          a === d.create(c).day + 1) : f.isInteger(c) && (f.isDate(a) || b.isArray(a)) ? (c = c % 7 + e,
          c === d.create(a).day + 1) : b.isPlainObject(a) && b.isPlainObject(c) ? d.overlapRanges(a, c) : !1
      }
      ,
      c.prototype.flipEnable = function(a) {
          var b = this.item;
          b.enable = a || (-1 == b.enable ? 1 : -1)
      }
      ,
      c.prototype.deactivate = function(a, c) {
          var d = this
            , e = d.item.disable.slice(0);
          return "flip" == c ? d.flipEnable() : c === !1 ? (d.flipEnable(1),
          e = []) : c === !0 ? (d.flipEnable(-1),
          e = []) : c.map(function(a) {
              for (var c, g = 0; g < e.length; g += 1)
                  if (d.isDateExact(a, e[g])) {
                      c = !0;
                      break
                  }
              c || (f.isInteger(a) || f.isDate(a) || b.isArray(a) || b.isPlainObject(a) && a.from && a.to) && e.push(a)
          }),
          e
      }
      ,
      c.prototype.activate = function(a, c) {
          var d = this
            , e = d.item.disable
            , g = e.length;
          return "flip" == c ? d.flipEnable() : c === !0 ? (d.flipEnable(1),
          e = []) : c === !1 ? (d.flipEnable(-1),
          e = []) : c.map(function(a) {
              var c, h, i, j;
              for (i = 0; g > i; i += 1) {
                  if (h = e[i],
                  d.isDateExact(h, a)) {
                      c = e[i] = null ,
                      j = !0;
                      break
                  }
                  if (d.isDateOverlap(h, a)) {
                      b.isPlainObject(a) ? (a.inverted = !0,
                      c = a) : b.isArray(a) ? (c = a,
                      c[3] || c.push("inverted")) : f.isDate(a) && (c = [a.getFullYear(), a.getMonth(), a.getDate(), "inverted"]);
                      break
                  }
              }
              if (c)
                  for (i = 0; g > i; i += 1)
                      if (d.isDateExact(e[i], a)) {
                          e[i] = null ;
                          break
                      }
              if (j)
                  for (i = 0; g > i; i += 1)
                      if (d.isDateOverlap(e[i], a)) {
                          e[i] = null ;
                          break
                      }
              c && e.push(c)
          }),
          e.filter(function(a) {
              return null  != a
          })
      }
      ,
      c.prototype.nodes = function(a) {
          var b = this
            , c = b.settings
            , g = b.item
            , h = g.now
            , i = g.select
            , j = g.highlight
            , k = g.view
            , l = g.disable
            , m = g.min
            , n = g.max
            , o = function(a, b) {
              return c.firstDay && (a.push(a.shift()),
              b.push(b.shift())),
              f.node("thead", f.node("tr", f.group({
                  min: 0,
                  max: d - 1,
                  i: 1,
                  node: "th",
                  item: function(d) {
                      return [a[d], c.klass.weekdays, 'scope=col title="' + b[d] + '"']
                  }
              })))
          }((c.showWeekdaysFull ? c.weekdaysFull : c.weekdaysShort).slice(0), c.weekdaysFull.slice(0))
            , p = function(a) {
              return f.node("div", " ", c.klass["nav" + (a ? "Next" : "Prev")] + (a && k.year >= n.year && k.month >= n.month || !a && k.year <= m.year && k.month <= m.month ? " " + c.klass.navDisabled : ""), "data-nav=" + (a || -1) + " " + f.ariaAttr({
                  role: "button",
                  controls: b.$node[0].id + "_table"
              }) + ' title="' + (a ? c.labelMonthNext : c.labelMonthPrev) + '"')
          }
            , q = function() {
              var d = c.showMonthsShort ? c.monthsShort : c.monthsFull;
              return c.selectMonths ? f.node("select", f.group({
                  min: 0,
                  max: 11,
                  i: 1,
                  node: "option",
                  item: function(a) {
                      return [d[a], 0, "value=" + a + (k.month == a ? " selected" : "") + (k.year == m.year && a < m.month || k.year == n.year && a > n.month ? " disabled" : "")]
                  }
              }), c.klass.selectMonth, (a ? "" : "disabled") + " " + f.ariaAttr({
                  controls: b.$node[0].id + "_table"
              }) + ' title="' + c.labelMonthSelect + '"') : f.node("div", d[k.month], c.klass.month)
          }
            , r = function() {
              var d = k.year
                , e = c.selectYears === !0 ? 5 : ~~(c.selectYears / 2);
              if (e) {
                  var g = m.year
                    , h = n.year
                    , i = d - e
                    , j = d + e;
                  if (g > i && (j += g - i,
                  i = g),
                  j > h) {
                      var l = i - g
                        , o = j - h;
                      i -= l > o ? o : l,
                      j = h
                  }
                  return f.node("select", f.group({
                      min: i,
                      max: j,
                      i: 1,
                      node: "option",
                      item: function(a) {
                          return [a, 0, "value=" + a + (d == a ? " selected" : "")]
                      }
                  }), c.klass.selectYear, (a ? "" : "disabled") + " " + f.ariaAttr({
                      controls: b.$node[0].id + "_table"
                  }) + ' title="' + c.labelYearSelect + '"')
              }
              return f.node("div", d, c.klass.year)
          }
          ;
          return f.node("div", (c.selectYears ? r() + q() : q() + r()) + p() + p(1), c.klass.header) + f.node("table", o + f.node("tbody", f.group({
              min: 0,
              max: e - 1,
              i: 1,
              node: "tr",
              item: function(a) {
                  var e = c.firstDay && 0 === b.create([k.year, k.month, 1]).day ? -7 : 0;
                  return [f.group({
                      min: d * a - k.day + e + 1,
                      max: function() {
                          return this.min + d - 1
                      },
                      i: 1,
                      node: "td",
                      item: function(a) {
                          a = b.create([k.year, k.month, a + (c.firstDay ? 1 : 0)]);
                          var d = i && i.pick == a.pick
                            , e = j && j.pick == a.pick
                            , g = l && b.disabled(a) || a.pick < m.pick || a.pick > n.pick
                            , o = f.trigger(b.formats.toString, b, [c.format, a]);
                          return [f.node("div", a.date, function(b) {
                              return b.push(k.month == a.month ? c.klass.infocus : c.klass.outfocus),
                              h.pick == a.pick && b.push(c.klass.now),
                              d && b.push(c.klass.selected),
                              e && b.push(c.klass.highlighted),
                              g && b.push(c.klass.disabled),
                              b.join(" ")
                          }([c.klass.day]), "data-pick=" + a.pick + " " + f.ariaAttr({
                              role: "gridcell",
                              label: o,
                              selected: d && b.$node.val() === o ? !0 : null ,
                              activedescendant: e ? !0 : null ,
                              disabled: g ? !0 : null 
                          })), "", f.ariaAttr({
                              role: "presentation"
                          })]
                      }
                  })]
              }
          })), c.klass.table, 'id="' + b.$node[0].id + '_table" ' + f.ariaAttr({
              role: "grid",
              controls: b.$node[0].id,
              readonly: !0
          })) + f.node("div", f.node("button", c.today, c.klass.buttonToday, "type=button data-pick=" + h.pick + (a && !b.disabled(h) ? "" : " disabled") + " " + f.ariaAttr({
              controls: b.$node[0].id
          })) + f.node("button", c.clear, c.klass.buttonClear, "type=button data-clear=1" + (a ? "" : " disabled") + " " + f.ariaAttr({
              controls: b.$node[0].id
          })) + f.node("button", c.close, c.klass.buttonClose, "type=button data-close=true " + (a ? "" : " disabled") + " " + f.ariaAttr({
              controls: b.$node[0].id
          })), c.klass.footer)
      }
      ,
      c.defaults = function(a) {
          return {
              labelMonthNext: "Next month",
              labelMonthPrev: "Previous month",
              labelMonthSelect: "Select a month",
              labelYearSelect: "Select a year",
              monthsFull: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
              monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
              weekdaysFull: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"],
              weekdaysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
              today: "Today",
              clear: "Clear",
              close: "Close",
              closeOnSelect: !0,
              closeOnClear: !0,
              format: "d mmmm, yyyy",
              klass: {
                  table: a + "table",
                  header: a + "header",
                  navPrev: a + "nav--prev",
                  navNext: a + "nav--next",
                  navDisabled: a + "nav--disabled",
                  month: a + "month",
                  year: a + "year",
                  selectMonth: a + "select--month",
                  selectYear: a + "select--year",
                  weekdays: a + "weekday",
                  day: a + "day",
                  disabled: a + "day--disabled",
                  selected: a + "day--selected",
                  highlighted: a + "day--highlighted",
                  now: a + "day--today",
                  infocus: a + "day--infocus",
                  outfocus: a + "day--outfocus",
                  footer: a + "footer",
                  buttonClear: a + "button--clear",
                  buttonToday: a + "button--today",
                  buttonClose: a + "button--close"
              }
          }
      }(a.klasses().picker + "__"),
      a.extend("pickadate", c)
  }),
  function(a) {
      "use strict";
      function b(b) {
          return this.each(function() {
              var d = a(this)
                , e = d.data("bs.pickdate")
                , f = a.extend({}, c.DEFAULTS, d.data(), "object" == typeof b && b);
              e || d.data("bs.pickdate", e = new c(this,f)),
              e.show()
          })
      }
      var c = function(b, c) {
          this.options = c,
          this.$element = a(b)
      }
      ;
      c.DEFAULTS = {
          cancel: "Cancel",
          closeOnCancel: !0,
          closeOnSelect: !1,
          container: "body",
          disable: [],
          firstDay: 0,
          format: "d/m/yyyy",
          formatSubmit: "",
          max: !1,
          min: !1,
          monthsFull: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
          monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"],
          ok: "OK",
          onClose: !1,
          onOpen: !1,
          onRender: !1,
          onSet: !1,
          onStart: !1,
          onStop: !1,
          selectMonths: !1,
          selectYears: !1,
          today: "Today",
          weekdaysFull: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
          weekdaysShort: ["S", "M", "T", "W", "T", "F", "S"]
      },
      c.prototype.display = function(b, c, d) {
          a(".picker__date-display", c).remove(),
          a(".picker__wrap", c).prepend('<div class="picker__date-display"><div class="picker__date-display-top"><span class="picker__year-display">' + b.get(d, "yyyy") + '</span></div><div class="picker__date-display-bottom"><span class="picker__weekday-display">' + b.get(d, "dddd") + '</span><span class="picker__day-display">' + b.get(d, "d") + '</span><span class="picker__month-display">' + b.get(d, "mmm") + "</span></div></div>")
      }
      ,
      c.prototype.show = function() {
          var b = this;
          this.$element.pickadate({
              clear: b.options.cancel,
              close: b.options.ok,
              closeOnClear: b.options.closeOnCancel,
              closeOnSelect: b.options.closeOnSelect,
              container: b.options.container,
              disable: b.options.disable,
              firstDay: b.options.firstDay,
              format: b.options.format,
              formatSubmit: b.options.formatSubmit,
              klass: {
                  buttonClear: "btn btn-flat btn-brand picker__button--clear",
                  buttonClose: "btn btn-flat btn-brand picker__button--close",
                  buttonToday: "btn btn-flat btn-brand picker__button--today",
                  navPrev: "icon icon-lg picker__nav--prev",
                  navNext: "icon icon-lg picker__nav--next"
              },
              max: b.options.max,
              min: b.options.min,
              monthsFull: b.options.monthsFull,
              monthsShort: b.options.monthsShort,
              onClose: b.options.onClose,
              onOpen: b.options.onOpen,
              onRender: b.options.onRender,
              onSet: b.options.onSet,
              onStart: b.options.onStart,
              onStop: b.options.onStop,
              selectMonths: b.options.selectMonths,
              selectYears: b.options.selectYears,
              today: b.options.today,
              weekdaysFull: b.options.weekdaysFull,
              weekdaysShort: b.options.weekdaysShort
          });
          var c = this.$element.pickadate("picker")
            , d = (c.$node,
          c.$root);
          c.on({
              close: function() {
                  a(document.activeElement).blur()
              },
              open: function() {
                  a(".picker__date-display", d).length || b.display(c, d, "highlight")
              },
              set: function() {
                  null  !== c.get("select") && b.display(c, d, "select")
              }
          })
      }
      ;
      var d = a.fn.pickdate;
      a.fn.pickdate = b,
      a.fn.pickdate.Constructor = c,
      a.fn.pickdate.noConflict = function() {
          return a.fn.pickdate = d,
          this
      }
  }(jQuery),
  function(a) {
      "use strict";
      function b(b) {
          return this.each(function() {
              var d = a(document.body)
                , e = d.data("bs.snackbar")
                , f = a.extend({}, c.DEFAULTS, b);
              e ? a(".snackbar-inner").length && !a(".snackbar-inner.old").length ? (a(".snackbar-inner.in").addClass("old"),
              e.hide(),
              a.support.transition ? a(document).one("bsTransitionEnd", ".snackbar-inner.old", function() {
                  d.data("bs.snackbar", e = new c(f)),
                  e.show()
              }) : (d.data("bs.snackbar", e = new c(f)),
              e.show())) : a(".snackbar-inner").length || (d.data("bs.snackbar", e = new c(f)),
              e.show()) : (d.data("bs.snackbar", e = new c(f)),
              e.show())
          })
      }
      var c = function(b) {
          this.options = b,
          this.$element = a('<div class="snackbar-inner">' + this.options.content + "</div>")
      }
      ;
      c.DEFAULTS = {
          alive: 6e3,
          content: "&nbsp;",
          hide: function() {},
          show: function() {}
      },
      c.prototype.fbtn = function(b) {
          if (a(window).width() < 768 && a(".fbtn-container").length) {
              var c = "translateY(-" + b + "px)";
              a(".fbtn-container").css({
                  "-webkit-transform": c,
                  transform: c
              })
          }
      }
      ,
      c.prototype.hide = function() {
          var b = this;
          this.$element.removeClass("in"),
          clearTimeout(this.$element.data("timer")),
          a.support.transition ? this.$element.one("bsTransitionEnd", function() {
              b.options.hide(b.options),
              b.$element.remove()
          }) : (b.options.hide(b.options),
          b.$element.remove()),
          this.fbtn("0")
      }
      ,
      c.prototype.show = function() {
          var b = this;
          a(".snackbar").length || a(document.body).append('<div class="snackbar"></div>'),
          this.$element.appendTo(".snackbar").show().addClass(function() {
              return b.$element.on("click", '[data-dismiss="snackbar"]', function() {
                  b.hide()
              }),
              b.$element.data("timer", setTimeout(function() {
                  b.hide()
              }, b.options.alive)),
              b.$element.on("mouseenter", function() {
                  clearTimeout(b.$element.data("timer"))
              }).on("mouseleave", function() {
                  b.$element.data("timer", setTimeout(function() {
                      b.hide()
                  }, b.options.alive))
              }),
              b.options.show(b.options),
              "in"
          }),
          this.fbtn(this.$element.outerHeight())
      }
      ;
      var d = a.fn.snackbar;
      a.fn.snackbar = b,
      a.fn.snackbar.Constructor = c,
      a.fn.snackbar.noConflict = function() {
          return a.fn.snackbar = d,
          this
      }
  }(jQuery),
  function(a) {
      "use strict";
      a.fn.tabSwitch = function(b) {
          var c = a(this)
            , d = c.closest(".tab-nav")
            , e = a(".tab-nav-indicator", d)
            , f = c.offset().left
            , g = d.offset().left
            , h = d.outerWidth();
          if (void 0 !== b && void 0 !== b[0]) {
              var i = b.offset().left;
              e.css({
                  left: i - g,
                  right: g + h - i - b.outerWidth()
              }),
              b.offset().left > f && (e.addClass("reverse"),
              e.one("webkitTransitionEnd oTransitionEnd msTransitionEnd transitionend", function() {
                  e.removeClass("reverse")
              }))
          }
          return e.addClass("animate").css({
              left: f - g,
              right: g + h - f - c.outerWidth()
          }).one("webkitTransitionEnd oTransitionEnd msTransitionEnd transitionend", function() {
              e.removeClass("animate")
          }),
          this
      }
  }(jQuery),
  $(function() {
      "use strict";
      $(".tab-nav").each(function() {
          $(this).append('<div class="tab-nav-indicator"></div>')
      }),
      $(document).on("show.bs.tab", '.tab-nav a[data-toggle="tab"]', function(a) {
          $(a.target).tabSwitch($(a.relatedTarget))
      })
  }),
  function(a) {
      "use strict";
      function b(b) {
          var c, d = b.attr("data-target") || (c = b.attr("href")) && c.replace(/.*(?=#[^\s]+$)/, "");
          return a(d)
      }
      function c(b) {
          return this.each(function() {
              var c = a(this)
                , e = c.data("bs.tile")
                , f = a.extend({}, d.DEFAULTS, c.data(), "object" == typeof b && b);
              !e && f.toggle && /show|hide/.test(b) && (f.toggle = !1),
              e || c.data("bs.tile", e = new d(this,f)),
              "string" == typeof b && e[b]()
          })
      }
      var d = function(b, c) {
          this.options = a.extend({}, d.DEFAULTS, c),
          this.transitioning = null ,
          this.$element = a(b),
          this.options.parent && (this.$parent = this.getParent()),
          this.options.toggle && this.toggle()
      }
      ;
      if (!a.fn.collapse)
          throw new Error("Menu requires Bootstrap collapse.js");
      d.DEFAULTS = {
          keyboard: !0,
          toggle: !0
      },
      d.TRANSITION_DURATION = 150,
      d.prototype = a.extend({}, a.fn.collapse.Constructor.prototype),
      d.prototype.escape = function() {
          this.$element.hasClass("in") && this.options.keyboard ? a(document).on("keydown.dismiss.bs.tile", a.proxy(function(a) {
              27 == a.which && this.hide()
          }, this)) : this.$element.hasClass("in") || this.$element.off("keydown.dismiss.bs.tile")
      }
      ,
      d.prototype.hide = function() {
          if (!this.transitioning && this.$element.hasClass("in")) {
              var b = a.Event("hide.bs.tile");
              if (this.$element.trigger(b),
              !b.isDefaultPrevented()) {
                  var c = this.dimension();
                  this.$element[c](this.$element[c]())[0].offsetHeight,
                  this.$element.addClass("collapsing").removeClass("collapse in"),
                  this.$element.closest(".tile-collapse").removeClass("active"),
                  this.transitioning = 1;
                  var e = function() {
                      this.transitioning = 0,
                      this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.tile"),
                      this.escape()
                  }
                  ;
                  return a.support.transition ? void this.$element[c](0).one("bsTransitionEnd", a.proxy(e, this)).emulateTransitionEnd(d.TRANSITION_DURATION) : e.call(this)
              }
          }
      }
      ,
      d.prototype.show = function() {
          if (!this.transitioning && !this.$element.hasClass("in")) {
              var b, e = this.$parent && this.$parent.find(".tile-collapse").children(".in, .collapsing");
              if (!(e && e.length && (b = e.data("bs.tile"),
              b && b.transitioning))) {
                  var f = a.Event("show.bs.tile");
                  if (this.$element.trigger(f),
                  !f.isDefaultPrevented()) {
                      e && e.length && (c.call(e, "hide"),
                      b || e.data("bs.tile", null ));
                      var g = this.dimension();
                      this.$element.removeClass("collapse").addClass("collapsing")[g](0),
                      this.$element.closest(".tile-collapse").addClass("active"),
                      this.transitioning = 1;
                      var h = function() {
                          this.$element.removeClass("collapsing").addClass("collapse in")[g](""),
                          this.transitioning = 0,
                          this.$element.trigger("shown.bs.tile"),
                          this.escape()
                      }
                      ;
                      if (!a.support.transition)
                          return h.call(this);
                      var i = a.camelCase(["scroll", g].join("-"));
                      this.$element.one("bsTransitionEnd", a.proxy(h, this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])
                  }
              }
          }
      }
      ;
      var e = a.fn.tile;
      a.fn.tile = c,
      a.fn.tile.Constructor = d,
      a.fn.tile.noConflict = function() {
          return a.fn.tile = e,
          this
      }
      ,
      a(document).on("click.bs.tile.data-api", '[data-toggle="tile"]', function(d) {
          var e = a(this);
          if (!a(d.target).is('[data-ignore="tile"], [data-ignore="tile"] *')) {
              e.attr("data-target") || d.preventDefault();
              var f = b(e)
                , g = f.data("bs.tile")
                , h = g ? "toggle" : e.data();
              c.call(f, h)
          }
      })
  }(jQuery),
  !function(a, b) {
      "use strict";
      "function" == typeof define && define.amd ? define([], function() {
          return b.apply(a)
      }) : "object" == typeof exports ? module.exports = b.call(a) : a.Waves = b.call(a)
  }("object" == typeof global ? global : this, function() {
      "use strict";
      function a(a) {
          return null  !== a && a === a.window
      }
      function b(b) {
          return a(b) ? b : 9 === b.nodeType && b.defaultView
      }
      function c(a) {
          var b = typeof a;
          return "function" === b || "object" === b && !!a
      }
      function d(a) {
          return c(a) && a.nodeType > 0
      }
      function e(a) {
          var b = m.call(a);
          return "[object String]" === b ? l(a) : c(a) && /^\[object (HTMLCollection|NodeList|Object)\]$/.test(b) && a.hasOwnProperty("length") ? a : d(a) ? [a] : []
      }
      function f(a) {
          var c, d, e = {
              top: 0,
              left: 0
          }, f = a && a.ownerDocument;
          return c = f.documentElement,
          "undefined" != typeof a.getBoundingClientRect && (e = a.getBoundingClientRect()),
          d = b(f),
          {
              top: e.top + d.pageYOffset - c.clientTop,
              left: e.left + d.pageXOffset - c.clientLeft
          }
      }
      function g(a) {
          var b = "";
          for (var c in a)
              a.hasOwnProperty(c) && (b += c + ":" + a[c] + ";");
          return b
      }
      function h(a, b, c, d) {
          if (c) {
              d.classList.remove("waves-wrapping"),
              c.classList.remove("waves-rippling");
              var e = c.getAttribute("data-x")
                , f = c.getAttribute("data-y")
                , h = c.getAttribute("data-scale")
                , i = c.getAttribute("data-translate")
                , j = Date.now() - Number(c.getAttribute("data-hold"))
                , k = 350 - j;
              0 > k && (k = 0),
              "mousemove" === a.type && (k = 150);
              var l = "mousemove" === a.type ? 2500 : o.duration;
              setTimeout(function() {
                  var a = {
                      top: f + "px",
                      left: e + "px",
                      opacity: "0",
                      "-webkit-transition-duration": l + "ms",
                      "-moz-transition-duration": l + "ms",
                      "-o-transition-duration": l + "ms",
                      "transition-duration": l + "ms",
                      "-webkit-transform": h + " " + i,
                      "-moz-transform": h + " " + i,
                      "-ms-transform": h + " " + i,
                      "-o-transform": h + " " + i,
                      transform: h + " " + i
                  };
                  c.setAttribute("style", g(a)),
                  setTimeout(function() {
                      try {
                          d.removeChild(c),
                          b.removeChild(d)
                      } catch (a) {
                          return !1
                      }
                  }, l)
              }, k)
          }
      }
      function i(a) {
          if (q.allowEvent(a) === !1)
              return null ;
          for (var b = null , c = a.target || a.srcElement; null  !== c.parentElement; ) {
              if (c.classList.contains("waves-effect") && !(c instanceof SVGElement)) {
                  b = c;
                  break
              }
              c = c.parentElement
          }
          return b
      }
      function j(a) {
          var b = i(a);
          if (null  !== b) {
              if (b.disabled || b.getAttribute("disabled") || b.classList.contains("disabled"))
                  return;
              if (q.registerEvent(a),
              "touchstart" === a.type && o.delay) {
                  var c = !1
                    , d = setTimeout(function() {
                      d = null ,
                      o.show(a, b)
                  }, o.delay)
                    , e = function(e) {
                      d && (clearTimeout(d),
                      d = null ,
                      o.show(a, b)),
                      c || (c = !0,
                      o.hide(e, b))
                  }
                    , f = function(a) {
                      d && (clearTimeout(d),
                      d = null ),
                      e(a)
                  }
                  ;
                  b.addEventListener("touchmove", f, !1),
                  b.addEventListener("touchend", e, !1),
                  b.addEventListener("touchcancel", e, !1)
              } else
                  o.show(a, b),
                  n && (b.addEventListener("touchend", o.hide, !1),
                  b.addEventListener("touchcancel", o.hide, !1)),
                  b.addEventListener("mouseup", o.hide, !1),
                  b.addEventListener("mouseleave", o.hide, !1)
          }
      }
      var k = k || {}
        , l = document.querySelectorAll.bind(document)
        , m = Object.prototype.toString
        , n = "ontouchstart" in window
        , o = {
          duration: 750,
          delay: 200,
          show: function(a, b, c) {
              if (2 === a.button)
                  return !1;
              b = b || this;
              var d = document.createElement("div");
              d.className = "waves-wrap waves-wrapping",
              b.appendChild(d);
              var e = document.createElement("div");
              e.className = "waves-ripple waves-rippling",
              d.appendChild(e);
              var h = f(b)
                , i = 0
                , j = 0;
              "touches" in a && a.touches.length ? (i = a.touches[0].pageY - h.top,
              j = a.touches[0].pageX - h.left) : (i = a.pageY - h.top,
              j = a.pageX - h.left),
              j = j >= 0 ? j : 0,
              i = i >= 0 ? i : 0;
              var k = "scale(" + b.clientWidth / 100 * 3 + ")"
                , l = "translate(0,0)";
              c && (l = "translate(" + c.x + "px, " + c.y + "px)"),
              e.setAttribute("data-hold", Date.now()),
              e.setAttribute("data-x", j),
              e.setAttribute("data-y", i),
              e.setAttribute("data-scale", k),
              e.setAttribute("data-translate", l);
              var m = {
                  top: i + "px",
                  left: j + "px"
              };
              e.classList.add("waves-notransition"),
              e.setAttribute("style", g(m)),
              e.classList.remove("waves-notransition"),
              m["-webkit-transform"] = k + " " + l,
              m["-moz-transform"] = k + " " + l,
              m["-ms-transform"] = k + " " + l,
              m["-o-transform"] = k + " " + l,
              m.transform = k + " " + l,
              m.opacity = "1";
              var n = "mousemove" === a.type ? 2500 : o.duration;
              m["-webkit-transition-duration"] = n + "ms",
              m["-moz-transition-duration"] = n + "ms",
              m["-o-transition-duration"] = n + "ms",
              m["transition-duration"] = n + "ms",
              e.setAttribute("style", g(m))
          },
          hide: function(a, b) {
              b = b || this;
              for (var c = b.getElementsByClassName("waves-wrapping"), d = b.getElementsByClassName("waves-rippling"), e = 0, f = d.length; f > e; e++)
                  h(a, b, d[e], c[e])
          }
      }
        , p = {
          input: function(a) {
              var b = a.parentNode;
              if ("i" !== b.tagName.toLowerCase() || !b.classList.contains("waves-effect")) {
                  var c = document.createElement("i");
                  c.className = a.className + " waves-input-wrapper",
                  a.className = "waves-button-input",
                  b.replaceChild(c, a),
                  c.appendChild(a);
                  var d = window.getComputedStyle(a, null )
                    , e = d.color
                    , f = d.backgroundColor;
                  c.setAttribute("style", "color:" + e + ";background:" + f),
                  a.setAttribute("style", "background-color:rgba(0,0,0,0);")
              }
          },
          img: function(a) {
              var b = a.parentNode;
              if ("i" !== b.tagName.toLowerCase() || !b.classList.contains("waves-effect")) {
                  var c = document.createElement("i");
                  b.replaceChild(c, a),
                  c.appendChild(a)
              }
          }
      }
        , q = {
          touches: 0,
          allowEvent: function(a) {
              var b = !0;
              return /^(mousedown|mousemove)$/.test(a.type) && q.touches && (b = !1),
              b
          },
          registerEvent: function(a) {
              var b = a.type;
              "touchstart" === b ? q.touches += 1 : /^(touchend|touchcancel)$/.test(b) && setTimeout(function() {
                  q.touches && (q.touches -= 1)
              }, 500)
          }
      };
      return k.init = function(a) {
          var b = document.body;
          a = a || {},
          "duration" in a && (o.duration = a.duration),
          "delay" in a && (o.delay = a.delay),
          n && (b.addEventListener("touchstart", j, !1),
          b.addEventListener("touchcancel", q.registerEvent, !1),
          b.addEventListener("touchend", q.registerEvent, !1)),
          b.addEventListener("mousedown", j, !1)
      }
      ,
      k.attach = function(a, b) {
          a = e(a),
          "[object Array]" === m.call(b) && (b = b.join(" ")),
          b = b ? " " + b : "";
          for (var c, d, f = 0, g = a.length; g > f; f++)
              c = a[f],
              d = c.tagName.toLowerCase(),
              -1 !== ["input", "img"].indexOf(d) && (p[d](c),
              c = c.parentElement),
              -1 === c.className.indexOf("waves-effect") && (c.className += " waves-effect" + b)
      }
      ,
      k.ripple = function(a, b) {
          a = e(a);
          var c = a.length;
          if (b = b || {},
          b.wait = b.wait || 0,
          b.position = b.position || null ,
          c)
              for (var d, g, h, i = {}, j = 0, k = {
                  type: "mousedown",
                  button: 1
              }, l = function(a, b) {
                  return function() {
                      o.hide(a, b)
                  }
              }
              ; c > j; j++)
                  if (d = a[j],
                  g = b.position || {
                      x: d.clientWidth / 2,
                      y: d.clientHeight / 2
                  },
                  h = f(d),
                  i.x = h.left + g.x,
                  i.y = h.top + g.y,
                  k.pageX = i.x,
                  k.pageY = i.y,
                  o.show(k, d),
                  b.wait >= 0 && null  !== b.wait) {
                      var m = {
                          type: "mouseup",
                          button: 1
                      };
                      setTimeout(l(m, d), b.wait)
                  }
      }
      ,
      k.calm = function(a) {
          a = e(a);
          for (var b = {
              type: "mouseup",
              button: 1
          }, c = 0, d = a.length; d > c; c++)
              o.hide(b, a[c])
      }
      ,
      k.displayEffect = function(a) {
          console.error("Waves.displayEffect() has been deprecated and will be removed in future version. Please use Waves.init() to initialize Waves effect"),
          k.init(a)
      }
      ,
      k
  }),
  $(function() {
      Waves.attach(".waves-attach"),
      Waves.init({
          duration: 600
      })
  });
  