{"version":3,"sources":["../../../Base/lib/handlebars-v4.7.7.js","../../../Base/lib/TweenLite.js","../../../Base/lib/CSSPlugin.js","../../../Base/lib/AttrPlugin.js","../../../Base/lib/jquery.flexslider-min.js","../../../Base/script/plugin/select2.min.js","../../../Base/script/plugin/ashFilter.js","../../../Base/script/plugin/ashValidate.js","../../../Base/script/offCanvasNavInit.js","../../../Base/script/ashModal.js","../../../Base/script/plugin/ashBulletin.js","../../../Base/script/partial/ash.js","../../../Base/script/partial/handlebarHelper.js","../../../Base/script/partial/ashPlugin.js","../../../Base/script/partial/base.js","../../../ASHCo/script/ashco.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC5BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC51DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpnFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACpCA;AACA;AACA;AACA;AACA;AACA;ACLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9HA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChiBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACrPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC9EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/oEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AChOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACxhCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AC/qCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA","file":"bundle-ashco.js","sourcesContent":["/**!\r\n\r\n @license\r\n handlebars v4.7.7\r\n\r\nCopyright (C) 2011-2019 by Yehuda Katz\r\n\r\nPermission is hereby granted, free of charge, to any person obtaining a copy\r\nof this software and associated documentation files (the \"Software\"), to deal\r\nin the Software without restriction, including without limitation the rights\r\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\r\ncopies of the Software, and to permit persons to whom the Software is\r\nfurnished to do so, subject to the following conditions:\r\n\r\nThe above copyright notice and this permission notice shall be included in\r\nall copies or substantial portions of the Software.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\r\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\r\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\r\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\r\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\r\nTHE SOFTWARE.\r\n\r\n*/\r\n!function(a,b){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=b():\"function\"==typeof define&&define.amd?define([],b):\"object\"==typeof exports?exports.Handlebars=b():a.Handlebars=b()}(this,function(){return function(a){function b(d){if(c[d])return c[d].exports;var e=c[d]={exports:{},id:d,loaded:!1};return a[d].call(e.exports,e,e.exports,b),e.loaded=!0,e.exports}var c={};return b.m=a,b.c=c,b.p=\"\",b(0)}([function(a,b,c){\"use strict\";function d(){var a=r();return a.compile=function(b,c){return k.compile(b,c,a)},a.precompile=function(b,c){return k.precompile(b,c,a)},a.AST=i[\"default\"],a.Compiler=k.Compiler,a.JavaScriptCompiler=m[\"default\"],a.Parser=j.parser,a.parse=j.parse,a.parseWithoutProcessing=j.parseWithoutProcessing,a}var e=c(1)[\"default\"];b.__esModule=!0;var f=c(2),g=e(f),h=c(45),i=e(h),j=c(46),k=c(51),l=c(52),m=e(l),n=c(49),o=e(n),p=c(44),q=e(p),r=g[\"default\"].create,s=d();s.create=d,q[\"default\"](s),s.Visitor=o[\"default\"],s[\"default\"]=s,b[\"default\"]=s,a.exports=b[\"default\"]},function(a,b){\"use strict\";b[\"default\"]=function(a){return a&&a.__esModule?a:{\"default\":a}},b.__esModule=!0},function(a,b,c){\"use strict\";function d(){var a=new h.HandlebarsEnvironment;return n.extend(a,h),a.SafeString=j[\"default\"],a.Exception=l[\"default\"],a.Utils=n,a.escapeExpression=n.escapeExpression,a.VM=p,a.template=function(b){return p.template(b,a)},a}var e=c(3)[\"default\"],f=c(1)[\"default\"];b.__esModule=!0;var g=c(4),h=e(g),i=c(37),j=f(i),k=c(6),l=f(k),m=c(5),n=e(m),o=c(38),p=e(o),q=c(44),r=f(q),s=d();s.create=d,r[\"default\"](s),s[\"default\"]=s,b[\"default\"]=s,a.exports=b[\"default\"]},function(a,b){\"use strict\";b[\"default\"]=function(a){if(a&&a.__esModule)return a;var b={};if(null!=a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&(b[c]=a[c]);return b[\"default\"]=a,b},b.__esModule=!0},function(a,b,c){\"use strict\";function d(a,b,c){this.helpers=a||{},this.partials=b||{},this.decorators=c||{},i.registerDefaultHelpers(this),j.registerDefaultDecorators(this)}var e=c(1)[\"default\"];b.__esModule=!0,b.HandlebarsEnvironment=d;var f=c(5),g=c(6),h=e(g),i=c(10),j=c(30),k=c(32),l=e(k),m=c(33),n=\"4.7.7\";b.VERSION=n;var o=8;b.COMPILER_REVISION=o;var p=7;b.LAST_COMPATIBLE_COMPILER_REVISION=p;var q={1:\"<= 1.0.rc.2\",2:\"== 1.0.0-rc.3\",3:\"== 1.0.0-rc.4\",4:\"== 1.x.x\",5:\"== 2.0.0-alpha.x\",6:\">= 2.0.0-beta.1\",7:\">= 4.0.0 <4.3.0\",8:\">= 4.3.0\"};b.REVISION_CHANGES=q;var r=\"[object Object]\";d.prototype={constructor:d,logger:l[\"default\"],log:l[\"default\"].log,registerHelper:function(a,b){if(f.toString.call(a)===r){if(b)throw new h[\"default\"](\"Arg not supported with multiple helpers\");f.extend(this.helpers,a)}else this.helpers[a]=b},unregisterHelper:function(a){delete this.helpers[a]},registerPartial:function(a,b){if(f.toString.call(a)===r)f.extend(this.partials,a);else{if(\"undefined\"==typeof b)throw new h[\"default\"]('Attempting to register a partial called \"'+a+'\" as undefined');this.partials[a]=b}},unregisterPartial:function(a){delete this.partials[a]},registerDecorator:function(a,b){if(f.toString.call(a)===r){if(b)throw new h[\"default\"](\"Arg not supported with multiple decorators\");f.extend(this.decorators,a)}else this.decorators[a]=b},unregisterDecorator:function(a){delete this.decorators[a]},resetLoggedPropertyAccesses:function(){m.resetLoggedProperties()}};var s=l[\"default\"].log;b.log=s,b.createFrame=f.createFrame,b.logger=l[\"default\"]},function(a,b){\"use strict\";function c(a){return k[a]}function d(a){for(var b=1;b\":\">\",'\"':\""\",\"'\":\"'\",\"`\":\"`\",\"=\":\"=\"},l=/[&<>\"'`=]/g,m=/[&<>\"'`=]/,n=Object.prototype.toString;b.toString=n;var o=function(a){return\"function\"==typeof a};o(/x/)&&(b.isFunction=o=function(a){return\"function\"==typeof a&&\"[object Function]\"===n.call(a)}),b.isFunction=o;var p=Array.isArray||function(a){return!(!a||\"object\"!=typeof a)&&\"[object Array]\"===n.call(a)};b.isArray=p},function(a,b,c){\"use strict\";function d(a,b){var c=b&&b.loc,g=void 0,h=void 0,i=void 0,j=void 0;c&&(g=c.start.line,h=c.end.line,i=c.start.column,j=c.end.column,a+=\" - \"+g+\":\"+i);for(var k=Error.prototype.constructor.call(this,a),l=0;l0?(c.ids&&(c.ids=[c.name]),a.helpers.each(b,c)):e(this);if(c.data&&c.ids){var g=d.createFrame(c.data);g.contextPath=d.appendContextPath(c.data.contextPath,c.name),c={data:g}}return f(b,c)})},a.exports=b[\"default\"]},function(a,b,c){(function(d){\"use strict\";var e=c(13)[\"default\"],f=c(1)[\"default\"];b.__esModule=!0;var g=c(5),h=c(6),i=f(h);b[\"default\"]=function(a){a.registerHelper(\"each\",function(a,b){function c(b,c,d){l&&(l.key=b,l.index=c,l.first=0===c,l.last=!!d,m&&(l.contextPath=m+b)),k+=f(a[b],{data:l,blockParams:g.blockParams([a[b],b],[m+b,null])})}if(!b)throw new i[\"default\"](\"Must pass iterator to #each\");var f=b.fn,h=b.inverse,j=0,k=\"\",l=void 0,m=void 0;if(b.data&&b.ids&&(m=g.appendContextPath(b.data.contextPath,b.ids[0])+\".\"),g.isFunction(a)&&(a=a.call(this)),b.data&&(l=g.createFrame(b.data)),a&&\"object\"==typeof a)if(g.isArray(a))for(var n=a.length;j=0?b:parseInt(a,10)}return a},log:function(a){if(a=e.lookupLevel(a),\"undefined\"!=typeof console&&e.lookupLevel(e.level)<=a){var b=e.methodMap[a];console[b]||(b=\"log\");for(var c=arguments.length,d=Array(c>1?c-1:0),f=1;f=v.LAST_COMPATIBLE_COMPILER_REVISION&&b<=v.COMPILER_REVISION)){if(b2&&v.push(\"'\"+this.terminals_[s]+\"'\");x=this.lexer.showPosition?\"Parse error on line \"+(i+1)+\":\\n\"+this.lexer.showPosition()+\"\\nExpecting \"+v.join(\", \")+\", got '\"+(this.terminals_[n]||n)+\"'\":\"Parse error on line \"+(i+1)+\": Unexpected \"+(1==n?\"end of input\":\"'\"+(this.terminals_[n]||n)+\"'\"),this.parseError(x,{text:this.lexer.match,token:this.terminals_[n]||n,line:this.lexer.yylineno,loc:l,expected:v})}}if(q[0]instanceof Array&&q.length>1)throw new Error(\"Parse Error: multiple actions possible at state: \"+p+\", token: \"+n);switch(q[0]){case 1:d.push(n),e.push(this.lexer.yytext),f.push(this.lexer.yylloc),d.push(q[1]),n=null,o?(n=o,o=null):(j=this.lexer.yyleng,h=this.lexer.yytext,i=this.lexer.yylineno,l=this.lexer.yylloc,k>0&&k--);break;case 2:if(t=this.productions_[q[1]][1],w.$=e[e.length-t],w._$={first_line:f[f.length-(t||1)].first_line,last_line:f[f.length-1].last_line,first_column:f[f.length-(t||1)].first_column,last_column:f[f.length-1].last_column},m&&(w._$.range=[f[f.length-(t||1)].range[0],f[f.length-1].range[1]]),r=this.performAction.call(w,h,j,i,this.yy,q[1],e,f),\"undefined\"!=typeof r)return r;t&&(d=d.slice(0,-1*t*2),e=e.slice(0,-1*t),f=f.slice(0,-1*t)),d.push(this.productions_[q[1]][0]),e.push(w.$),f.push(w._$),u=g[d[d.length-2]][d[d.length-1]],d.push(u);break;case 3:return!0}}return!0}},c=function(){var a={EOF:1,parseError:function(a,b){if(!this.yy.parser)throw new Error(a);this.yy.parser.parseError(a,b)},setInput:function(a){return this._input=a,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match=\"\",this.conditionStack=[\"INITIAL\"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var a=this._input[0];this.yytext+=a,this.yyleng++,this.offset++,this.match+=a,this.matched+=a;var b=a.match(/(?:\\r\\n?|\\n).*/g);return b?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),a},unput:function(a){var b=a.length,c=a.split(/(?:\\r\\n?|\\n)/g);this._input=a+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-b-1),this.offset-=b;var d=this.match.split(/(?:\\r\\n?|\\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),c.length-1&&(this.yylineno-=c.length-1);var e=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:c?(c.length===d.length?this.yylloc.first_column:0)+d[d.length-c.length].length-c[0].length:this.yylloc.first_column-b},this.options.ranges&&(this.yylloc.range=[e[0],e[0]+this.yyleng-b]),this},more:function(){return this._more=!0,this},less:function(a){this.unput(this.match.slice(a))},pastInput:function(){var a=this.matched.substr(0,this.matched.length-this.match.length);return(a.length>20?\"...\":\"\")+a.substr(-20).replace(/\\n/g,\"\")},upcomingInput:function(){var a=this.match;return a.length<20&&(a+=this._input.substr(0,20-a.length)),(a.substr(0,20)+(a.length>20?\"...\":\"\")).replace(/\\n/g,\"\")},showPosition:function(){var a=this.pastInput(),b=new Array(a.length+1).join(\"-\");return a+this.upcomingInput()+\"\\n\"+b+\"^\"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var a,b,c,d,e;this._more||(this.yytext=\"\",this.match=\"\");for(var f=this._currentRules(),g=0;gb[0].length)||(b=c,d=g,this.options.flex));g++);return b?(e=b[0].match(/(?:\\r\\n?|\\n).*/g),e&&(this.yylineno+=e.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:e?e[e.length-1].length-e[e.length-1].match(/\\r?\\n?/)[0].length:this.yylloc.last_column+b[0].length},this.yytext+=b[0],this.match+=b[0],this.matches=b,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(b[0].length),this.matched+=b[0],a=this.performAction.call(this,this.yy,this,f[d],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),a?a:void 0):\"\"===this._input?this.EOF:this.parseError(\"Lexical error on line \"+(this.yylineno+1)+\". Unrecognized text.\\n\"+this.showPosition(),{text:\"\",token:null,line:this.yylineno})},lex:function(){var a=this.next();return\"undefined\"!=typeof a?a:this.lex()},begin:function(a){this.conditionStack.push(a)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(a){this.begin(a)}};return a.options={},a.performAction=function(a,b,c,d){function e(a,c){return b.yytext=b.yytext.substring(a,b.yyleng-c+a)}switch(c){case 0:if(\"\\\\\\\\\"===b.yytext.slice(-2)?(e(0,1),this.begin(\"mu\")):\"\\\\\"===b.yytext.slice(-1)?(e(0,1),this.begin(\"emu\")):this.begin(\"mu\"),b.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin(\"raw\"),15;case 4:return this.popState(),\"raw\"===this.conditionStack[this.conditionStack.length-1]?15:(e(5,9),\"END_RAW_BLOCK\");case 5:return 15;case 6:return this.popState(),14;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin(\"raw\"),23;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(b.yytext),this.popState(),this.begin(\"com\");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;case 30:return this.popState(),33;case 31:return b.yytext=e(1,2).replace(/\\\\\"/g,'\"'),80;case 32:return b.yytext=e(1,2).replace(/\\\\'/g,\"'\"),80;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return b.yytext=b.yytext.replace(/\\\\([\\\\\\]])/g,\"$1\"),72;case 43:return\"INVALID\";case 44:return 5}},a.rules=[/^(?:[^\\x00]*?(?=(\\{\\{)))/,/^(?:[^\\x00]+)/,/^(?:[^\\x00]{2,}?(?=(\\{\\{|\\\\\\{\\{|\\\\\\\\\\{\\{|$)))/,/^(?:\\{\\{\\{\\{(?=[^\\/]))/,/^(?:\\{\\{\\{\\{\\/[^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=[=}\\s\\/.])\\}\\}\\}\\})/,/^(?:[^\\x00]+?(?=(\\{\\{\\{\\{)))/,/^(?:[\\s\\S]*?--(~)?\\}\\})/,/^(?:\\()/,/^(?:\\))/,/^(?:\\{\\{\\{\\{)/,/^(?:\\}\\}\\}\\})/,/^(?:\\{\\{(~)?>)/,/^(?:\\{\\{(~)?#>)/,/^(?:\\{\\{(~)?#\\*?)/,/^(?:\\{\\{(~)?\\/)/,/^(?:\\{\\{(~)?\\^\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\s*else\\s*(~)?\\}\\})/,/^(?:\\{\\{(~)?\\^)/,/^(?:\\{\\{(~)?\\s*else\\b)/,/^(?:\\{\\{(~)?\\{)/,/^(?:\\{\\{(~)?&)/,/^(?:\\{\\{(~)?!--)/,/^(?:\\{\\{(~)?![\\s\\S]*?\\}\\})/,/^(?:\\{\\{(~)?\\*?)/,/^(?:=)/,/^(?:\\.\\.)/,/^(?:\\.(?=([=~}\\s\\/.)|])))/,/^(?:[\\/.])/,/^(?:\\s+)/,/^(?:\\}(~)?\\}\\})/,/^(?:(~)?\\}\\})/,/^(?:\"(\\\\[\"]|[^\"])*\")/,/^(?:'(\\\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\\s)])))/,/^(?:false(?=([~}\\s)])))/,/^(?:undefined(?=([~}\\s)])))/,/^(?:null(?=([~}\\s)])))/,/^(?:-?[0-9]+(?:\\.[0-9]+)?(?=([~}\\s)])))/,/^(?:as\\s+\\|)/,/^(?:\\|)/,/^(?:([^\\s!\"#%-,\\.\\/;->@\\[-\\^`\\{-~]+(?=([=~}\\s\\/.)|]))))/,/^(?:\\[(\\\\\\]|[^\\]])*\\])/,/^(?:.)/,/^(?:$)/],a.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},a}();return b.lexer=c,a.prototype=b,b.Parser=a,new a}();b[\"default\"]=c,a.exports=b[\"default\"]},function(a,b,c){\"use strict\";function d(){var a=arguments.length<=0||void 0===arguments[0]?{}:arguments[0];this.options=a}function e(a,b,c){void 0===b&&(b=a.length);var d=a[b-1],e=a[b-2];return d?\"ContentStatement\"===d.type?(e||!c?/\\r?\\n\\s*?$/:/(^|\\r?\\n)\\s*?$/).test(d.original):void 0:c}function f(a,b,c){void 0===b&&(b=-1);var d=a[b+1],e=a[b+2];return d?\"ContentStatement\"===d.type?(e||!c?/^\\s*?\\r?\\n/:/^\\s*?(\\r?\\n|$)/).test(d.original):void 0:c}function g(a,b,c){var d=a[null==b?0:b+1];if(d&&\"ContentStatement\"===d.type&&(c||!d.rightStripped)){var e=d.value;d.value=d.value.replace(c?/^\\s+/:/^[ \\t]*\\r?\\n?/,\"\"),d.rightStripped=d.value!==e}}function h(a,b,c){var d=a[null==b?a.length-1:b-1];if(d&&\"ContentStatement\"===d.type&&(c||!d.leftStripped)){var e=d.value;return d.value=d.value.replace(c?/\\s+$/:/[ \\t]+$/,\"\"),d.leftStripped=d.value!==e,d.leftStripped}}var i=c(1)[\"default\"];b.__esModule=!0;var j=c(49),k=i(j);d.prototype=new k[\"default\"],d.prototype.Program=function(a){var b=!this.options.ignoreStandalone,c=!this.isRootSeen;this.isRootSeen=!0;for(var d=a.body,i=0,j=d.length;i0)throw new q[\"default\"](\"Invalid path: \"+d,{loc:c});\"..\"===i&&f++}}return{type:\"PathExpression\",data:a,depth:f,parts:e,original:d,loc:c}}function j(a,b,c,d,e,f){var g=d.charAt(3)||d.charAt(2),h=\"{\"!==g&&\"&\"!==g,i=/\\*/.test(d);return{type:i?\"Decorator\":\"MustacheStatement\",path:a,params:b,hash:c,escaped:h,strip:e,loc:this.locInfo(f)}}function k(a,b,c,e){d(a,c),e=this.locInfo(e);var f={type:\"Program\",body:b,strip:{},loc:e};return{type:\"BlockStatement\",path:a.path,params:a.params,hash:a.hash,program:f,openStrip:{},inverseStrip:{},closeStrip:{},loc:e}}function l(a,b,c,e,f,g){e&&e.path&&d(a,e);var h=/\\*/.test(a.open);b.blockParams=a.blockParams;var i=void 0,j=void 0;if(c){if(h)throw new q[\"default\"](\"Unexpected inverse block on decorator\",c);c.chain&&(c.program.body[0].closeStrip=e.strip),j=c.strip,i=c.program}return f&&(f=i,i=b,b=f),{type:h?\"DecoratorBlock\":\"BlockStatement\",path:a.path,params:a.params,hash:a.hash,program:b,inverse:i,openStrip:a.strip,inverseStrip:j,closeStrip:e&&e.strip,loc:this.locInfo(g)}}function m(a,b){if(!b&&a.length){var c=a[0].loc,d=a[a.length-1].loc;c&&d&&(b={source:c.source,start:{line:c.start.line,column:c.start.column},end:{line:d.end.line,column:d.end.column}})}return{type:\"Program\",body:a,strip:{},loc:b}}function n(a,b,c,e){return d(a,c),{type:\"PartialBlockStatement\",name:a.path,params:a.params,hash:a.hash,program:b,openStrip:a.strip,closeStrip:c&&c.strip,loc:this.locInfo(e)}}var o=c(1)[\"default\"];b.__esModule=!0,b.SourceLocation=e,b.id=f,b.stripFlags=g,b.stripComment=h,b.preparePath=i,b.prepareMustache=j,b.prepareRawBlock=k,b.prepareBlock=l,b.prepareProgram=m,b.preparePartialBlock=n;var p=c(6),q=o(p)},function(a,b,c){\"use strict\";function d(){}function e(a,b,c){if(null==a||\"string\"!=typeof a&&\"Program\"!==a.type)throw new l[\"default\"](\"You must pass a string or Handlebars AST to Handlebars.precompile. You passed \"+a);b=b||{},\"data\"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var d=c.parse(a,b),e=(new c.Compiler).compile(d,b);return(new c.JavaScriptCompiler).compile(e,b)}function f(a,b,c){function d(){var d=c.parse(a,b),e=(new c.Compiler).compile(d,b),f=(new c.JavaScriptCompiler).compile(e,b,void 0,!0);return c.template(f)}function e(a,b){return f||(f=d()),f.call(this,a,b)}if(void 0===b&&(b={}),null==a||\"string\"!=typeof a&&\"Program\"!==a.type)throw new l[\"default\"](\"You must pass a string or Handlebars AST to Handlebars.compile. You passed \"+a);b=m.extend({},b),\"data\"in b||(b.data=!0),b.compat&&(b.useDepths=!0);var f=void 0;return e._setup=function(a){return f||(f=d()),f._setup(a)},e._child=function(a,b,c,e){return f||(f=d()),f._child(a,b,c,e)},e}function g(a,b){if(a===b)return!0;if(m.isArray(a)&&m.isArray(b)&&a.length===b.length){for(var c=0;c1)throw new l[\"default\"](\"Unsupported number of partial arguments: \"+c.length,a);c.length||(this.options.explicitPartialContext?this.opcode(\"pushLiteral\",\"undefined\"):c.push({type:\"PathExpression\",parts:[],depth:0}));var d=a.name.original,e=\"SubExpression\"===a.name.type;e&&this.accept(a.name),this.setupFullMustacheParams(a,b,void 0,!0);var f=a.indent||\"\";this.options.preventIndent&&f&&(this.opcode(\"appendContent\",f),f=\"\"),this.opcode(\"invokePartial\",e,d,f),this.opcode(\"append\")},PartialBlockStatement:function(a){this.PartialStatement(a)},MustacheStatement:function(a){this.SubExpression(a),a.escaped&&!this.options.noEscape?this.opcode(\"appendEscaped\"):this.opcode(\"append\")},Decorator:function(a){this.DecoratorBlock(a)},ContentStatement:function(a){a.value&&this.opcode(\"appendContent\",a.value)},CommentStatement:function(){},SubExpression:function(a){h(a);var b=this.classifySexpr(a);\"simple\"===b?this.simpleSexpr(a):\"helper\"===b?this.helperSexpr(a):this.ambiguousSexpr(a)},ambiguousSexpr:function(a,b,c){var d=a.path,e=d.parts[0],f=null!=b||null!=c;this.opcode(\"getContext\",d.depth),this.opcode(\"pushProgram\",b),this.opcode(\"pushProgram\",c),d.strict=!0,this.accept(d),this.opcode(\"invokeAmbiguous\",e,f)},simpleSexpr:function(a){var b=a.path;b.strict=!0,this.accept(b),this.opcode(\"resolvePossibleLambda\")},helperSexpr:function(a,b,c){var d=this.setupFullMustacheParams(a,b,c),e=a.path,f=e.parts[0];if(this.options.knownHelpers[f])this.opcode(\"invokeKnownHelper\",d.length,f);else{if(this.options.knownHelpersOnly)throw new l[\"default\"](\"You specified knownHelpersOnly, but used the unknown helper \"+f,a);e.strict=!0,e.falsy=!0,this.accept(e),this.opcode(\"invokeHelper\",d.length,e.original,o[\"default\"].helpers.simpleId(e))}},PathExpression:function(a){this.addDepth(a.depth),this.opcode(\"getContext\",a.depth);var b=a.parts[0],c=o[\"default\"].helpers.scopedId(a),d=!a.depth&&!c&&this.blockParamIndex(b);d?this.opcode(\"lookupBlockParam\",d,a.parts):b?a.data?(this.options.data=!0,this.opcode(\"lookupData\",a.depth,a.parts,a.strict)):this.opcode(\"lookupOnContext\",a.parts,a.falsy,a.strict,c):this.opcode(\"pushContext\")},StringLiteral:function(a){this.opcode(\"pushString\",a.value)},NumberLiteral:function(a){this.opcode(\"pushLiteral\",a.value)},BooleanLiteral:function(a){this.opcode(\"pushLiteral\",a.value)},UndefinedLiteral:function(){this.opcode(\"pushLiteral\",\"undefined\")},NullLiteral:function(){this.opcode(\"pushLiteral\",\"null\")},Hash:function(a){var b=a.pairs,c=0,d=b.length;for(this.opcode(\"pushHash\");c=0)return[b,e]}}}},function(a,b,c){\"use strict\";function d(a){this.value=a}function e(){}function f(a,b,c,d){var e=b.popStack(),f=0,g=c.length;for(a&&g--;f0&&(c+=\", \"+d.join(\", \"));var e=0;g(this.aliases).forEach(function(a){var d=b.aliases[a];d.children&&d.referenceCount>1&&(c+=\", alias\"+ ++e+\"=\"+a,d.children[0]=\"alias\"+e)}),this.lookupPropertyFunctionIsUsed&&(c+=\", \"+this.lookupPropertyFunctionVarDeclaration());var f=[\"container\",\"depth0\",\"helpers\",\"partials\",\"data\"];(this.useBlockParams||this.useDepths)&&f.push(\"blockParams\"),this.useDepths&&f.push(\"depths\");var h=this.mergeSource(c);return a?(f.push(h),Function.apply(this,f)):this.source.wrap([\"function(\",f.join(\",\"),\") {\\n \",h,\"}\"])},mergeSource:function(a){var b=this.environment.isSimple,c=!this.forceBuffer,d=void 0,e=void 0,f=void 0,g=void 0;return this.source.each(function(a){a.appendToBuffer?(f?a.prepend(\" + \"):f=a,g=a):(f&&(e?f.prepend(\"buffer += \"):d=!0,g.add(\";\"),f=g=void 0),e=!0,b||(c=!1))}),c?f?(f.prepend(\"return \"),g.add(\";\")):e||this.source.push('return \"\";'):(a+=\", buffer = \"+(d?\"\":this.initializeBuffer()),f?(f.prepend(\"return buffer + \"),g.add(\";\")):this.source.push(\"return buffer;\")),a&&this.source.prepend(\"var \"+a.substring(2)+(d?\"\":\";\\n\")),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return\"\\n lookupProperty = container.lookupProperty || function(parent, propertyName) {\\n if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {\\n return parent[propertyName];\\n }\\n return undefined\\n }\\n \".trim()},blockValue:function(a){var b=this.aliasable(\"container.hooks.blockHelperMissing\"),c=[this.contextName(0)];this.setupHelperArgs(a,0,c);var d=this.popStack();c.splice(1,0,d),this.push(this.source.functionCall(b,\"call\",c))},ambiguousBlockValue:function(){var a=this.aliasable(\"container.hooks.blockHelperMissing\"),b=[this.contextName(0)];this.setupHelperArgs(\"\",0,b,!0),this.flushInline();var c=this.topStack();b.splice(1,0,c),this.pushSource([\"if (!\",this.lastHelper,\") { \",c,\" = \",this.source.functionCall(a,\"call\",b),\"}\"])},appendContent:function(a){this.pendingContent?a=this.pendingContent+a:this.pendingLocation=this.source.currentLocation,this.pendingContent=a},append:function(){if(this.isInline())this.replaceStack(function(a){return[\" != null ? \",a,' : \"\"']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var a=this.popStack();this.pushSource([\"if (\",a,\" != null) { \",this.appendToBuffer(a,void 0,!0),\" }\"]),this.environment.isSimple&&this.pushSource([\"else { \",this.appendToBuffer(\"''\",void 0,!0),\" }\"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable(\"container.escapeExpression\"),\"(\",this.popStack(),\")\"]))},getContext:function(a){this.lastContext=a},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(a,b,c,d){var e=0;d||!this.options.compat||this.lastContext?this.pushContext():this.push(this.depthedLookup(a[e++])),this.resolvePath(\"context\",a,e,b,c)},lookupBlockParam:function(a,b){this.useBlockParams=!0,this.push([\"blockParams[\",a[0],\"][\",a[1],\"]\"]),this.resolvePath(\"context\",b,1)},lookupData:function(a,b,c){a?this.pushStackLiteral(\"container.data(data, \"+a+\")\"):this.pushStackLiteral(\"data\"),this.resolvePath(\"data\",b,0,!0,c)},resolvePath:function(a,b,c,d,e){var g=this;if(this.options.strict||this.options.assumeObjects)return void this.push(f(this.options.strict&&e,this,b,a));for(var h=b.length;cthis.stackVars.length&&this.stackVars.push(\"stack\"+this.stackSlot),this.topStackName()},topStackName:function(){return\"stack\"+this.stackSlot},flushInline:function(){var a=this.inlineStack;this.inlineStack=[];for(var b=0,c=a.length;b\r\n\t\t\t * var gs = window.GreenSockGlobals = {}; //the newer version we're about to load could now be referenced in a \"gs\" object, like gs.TweenLite.to(...). Use whatever alias you want as long as it's unique, \"gs\" or \"banner\" or whatever.\r\n\t\t\t * \r\n\t\t\t * \r\n\t\t\t * \r\n\t\t\t * \r\n\t\t\t * \r\n\t\t\t *\r\n\t\t\t * @param {!string} ns The namespace of the class definition, leaving off \"com.greensock.\" as that's assumed. For example, \"TweenLite\" or \"plugins.CSSPlugin\" or \"easing.Back\".\r\n\t\t\t * @param {!Array.} dependencies An array of dependencies (described as their namespaces minus \"com.greensock.\" prefix). For example [\"TweenLite\",\"plugins.TweenPlugin\",\"core.Animation\"]\r\n\t\t\t * @param {!function():Object} func The function that should be called and passed the resolved dependencies which will return the actual class for this definition.\r\n\t\t\t * @param {boolean=} global If true, the class will be added to the global scope (typically window unless you define a window.GreenSockGlobals object)\r\n\t\t\t */\r\n\t\t\tDefinition = function(ns, dependencies, func, global) {\r\n\t\t\t\tthis.sc = (_defLookup[ns]) ? _defLookup[ns].sc : []; //subclasses\r\n\t\t\t\t_defLookup[ns] = this;\r\n\t\t\t\tthis.gsClass = null;\r\n\t\t\t\tthis.func = func;\r\n\t\t\t\tvar _classes = [];\r\n\t\t\t\tthis.check = function(init) {\r\n\t\t\t\t\tvar i = dependencies.length,\r\n\t\t\t\t\t\tmissing = i,\r\n\t\t\t\t\t\tcur, a, n, cl, hasModule;\r\n\t\t\t\t\twhile (--i > -1) {\r\n\t\t\t\t\t\tif ((cur = _defLookup[dependencies[i]] || new Definition(dependencies[i], [])).gsClass) {\r\n\t\t\t\t\t\t\t_classes[i] = cur.gsClass;\r\n\t\t\t\t\t\t\tmissing--;\r\n\t\t\t\t\t\t} else if (init) {\r\n\t\t\t\t\t\t\tcur.sc.push(this);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (missing === 0 && func) {\r\n\t\t\t\t\t\ta = (\"com.greensock.\" + ns).split(\".\");\r\n\t\t\t\t\t\tn = a.pop();\r\n\t\t\t\t\t\tcl = _namespace(a.join(\".\"))[n] = this.gsClass = func.apply(func, _classes);\r\n\r\n\t\t\t\t\t\t//exports to multiple environments\r\n\t\t\t\t\t\tif (global) {\r\n\t\t\t\t\t\t\t_globals[n] = cl; //provides a way to avoid global namespace pollution. By default, the main classes like TweenLite, Power1, Strong, etc. are added to window unless a GreenSockGlobals is defined. So if you want to have things added to a custom object instead, just do something like window.GreenSockGlobals = {} before loading any GreenSock files. You can even set up an alias like window.GreenSockGlobals = windows.gs = {} so that you can access everything like gs.TweenLite. Also remember that ALL classes are added to the window.com.greensock object (in their respective packages, like com.greensock.easing.Power1, com.greensock.TweenLite, etc.)\r\n\t\t\t\t\t\t\thasModule = (typeof(module) !== \"undefined\" && module.exports);\r\n\t\t\t\t\t\t\tif (!hasModule && typeof(define) === \"function\" && define.amd){ //AMD\r\n\t\t\t\t\t\t\t\tdefine((window.GreenSockAMDPath ? window.GreenSockAMDPath + \"/\" : \"\") + ns.split(\".\").pop(), [], function() { return cl; });\r\n\t\t\t\t\t\t\t} else if (ns === moduleName && hasModule){ //node\r\n\t\t\t\t\t\t\t\tmodule.exports = cl;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tfor (i = 0; i < this.sc.length; i++) {\r\n\t\t\t\t\t\t\tthis.sc[i].check();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tthis.check(true);\r\n\t\t\t},\r\n\r\n\t\t\t//used to create Definition instances (which basically registers a class that has dependencies).\r\n\t\t\t_gsDefine = window._gsDefine = function(ns, dependencies, func, global) {\r\n\t\t\t\treturn new Definition(ns, dependencies, func, global);\r\n\t\t\t},\r\n\r\n\t\t\t//a quick way to create a class that doesn't have any dependencies. Returns the class, but first registers it in the GreenSock namespace so that other classes can grab it (other classes might be dependent on the class).\r\n\t\t\t_class = gs._class = function(ns, func, global) {\r\n\t\t\t\tfunc = func || function() {};\r\n\t\t\t\t_gsDefine(ns, [], function(){ return func; }, global);\r\n\t\t\t\treturn func;\r\n\t\t\t};\r\n\r\n\t\t_gsDefine.globals = _globals;\r\n\r\n\r\n\r\n/*\r\n * ----------------------------------------------------------------\r\n * Ease\r\n * ----------------------------------------------------------------\r\n */\r\n\t\tvar _baseParams = [0, 0, 1, 1],\r\n\t\t\t_blankArray = [],\r\n\t\t\tEase = _class(\"easing.Ease\", function(func, extraParams, type, power) {\r\n\t\t\t\tthis._func = func;\r\n\t\t\t\tthis._type = type || 0;\r\n\t\t\t\tthis._power = power || 0;\r\n\t\t\t\tthis._params = extraParams ? _baseParams.concat(extraParams) : _baseParams;\r\n\t\t\t}, true),\r\n\t\t\t_easeMap = Ease.map = {},\r\n\t\t\t_easeReg = Ease.register = function(ease, names, types, create) {\r\n\t\t\t\tvar na = names.split(\",\"),\r\n\t\t\t\t\ti = na.length,\r\n\t\t\t\t\tta = (types || \"easeIn,easeOut,easeInOut\").split(\",\"),\r\n\t\t\t\t\te, name, j, type;\r\n\t\t\t\twhile (--i > -1) {\r\n\t\t\t\t\tname = na[i];\r\n\t\t\t\t\te = create ? _class(\"easing.\"+name, null, true) : gs.easing[name] || {};\r\n\t\t\t\t\tj = ta.length;\r\n\t\t\t\t\twhile (--j > -1) {\r\n\t\t\t\t\t\ttype = ta[j];\r\n\t\t\t\t\t\t_easeMap[name + \".\" + type] = _easeMap[type + name] = e[type] = ease.getRatio ? ease : ease[type] || new ease();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\tp = Ease.prototype;\r\n\t\tp._calcEnd = false;\r\n\t\tp.getRatio = function(p) {\r\n\t\t\tif (this._func) {\r\n\t\t\t\tthis._params[0] = p;\r\n\t\t\t\treturn this._func.apply(null, this._params);\r\n\t\t\t}\r\n\t\t\tvar t = this._type,\r\n\t\t\t\tpw = this._power,\r\n\t\t\t\tr = (t === 1) ? 1 - p : (t === 2) ? p : (p < 0.5) ? p * 2 : (1 - p) * 2;\r\n\t\t\tif (pw === 1) {\r\n\t\t\t\tr *= r;\r\n\t\t\t} else if (pw === 2) {\r\n\t\t\t\tr *= r * r;\r\n\t\t\t} else if (pw === 3) {\r\n\t\t\t\tr *= r * r * r;\r\n\t\t\t} else if (pw === 4) {\r\n\t\t\t\tr *= r * r * r * r;\r\n\t\t\t}\r\n\t\t\treturn (t === 1) ? 1 - r : (t === 2) ? r : (p < 0.5) ? r / 2 : 1 - (r / 2);\r\n\t\t};\r\n\r\n\t\t//create all the standard eases like Linear, Quad, Cubic, Quart, Quint, Strong, Power0, Power1, Power2, Power3, and Power4 (each with easeIn, easeOut, and easeInOut)\r\n\t\ta = [\"Linear\",\"Quad\",\"Cubic\",\"Quart\",\"Quint,Strong\"];\r\n\t\ti = a.length;\r\n\t\twhile (--i > -1) {\r\n\t\t\tp = a[i]+\",Power\"+i;\r\n\t\t\t_easeReg(new Ease(null,null,1,i), p, \"easeOut\", true);\r\n\t\t\t_easeReg(new Ease(null,null,2,i), p, \"easeIn\" + ((i === 0) ? \",easeNone\" : \"\"));\r\n\t\t\t_easeReg(new Ease(null,null,3,i), p, \"easeInOut\");\r\n\t\t}\r\n\t\t_easeMap.linear = gs.easing.Linear.easeIn;\r\n\t\t_easeMap.swing = gs.easing.Quad.easeInOut; //for jQuery folks\r\n\r\n\r\n/*\r\n * ----------------------------------------------------------------\r\n * EventDispatcher\r\n * ----------------------------------------------------------------\r\n */\r\n\t\tvar EventDispatcher = _class(\"events.EventDispatcher\", function(target) {\r\n\t\t\tthis._listeners = {};\r\n\t\t\tthis._eventTarget = target || this;\r\n\t\t});\r\n\t\tp = EventDispatcher.prototype;\r\n\r\n\t\tp.addEventListener = function(type, callback, scope, useParam, priority) {\r\n\t\t\tpriority = priority || 0;\r\n\t\t\tvar list = this._listeners[type],\r\n\t\t\t\tindex = 0,\r\n\t\t\t\tlistener, i;\r\n\t\t\tif (list == null) {\r\n\t\t\t\tthis._listeners[type] = list = [];\r\n\t\t\t}\r\n\t\t\ti = list.length;\r\n\t\t\twhile (--i > -1) {\r\n\t\t\t\tlistener = list[i];\r\n\t\t\t\tif (listener.c === callback && listener.s === scope) {\r\n\t\t\t\t\tlist.splice(i, 1);\r\n\t\t\t\t} else if (index === 0 && listener.pr < priority) {\r\n\t\t\t\t\tindex = i + 1;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tlist.splice(index, 0, {c:callback, s:scope, up:useParam, pr:priority});\r\n\t\t\tif (this === _ticker && !_tickerActive) {\r\n\t\t\t\t_ticker.wake();\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tp.removeEventListener = function(type, callback) {\r\n\t\t\tvar list = this._listeners[type], i;\r\n\t\t\tif (list) {\r\n\t\t\t\ti = list.length;\r\n\t\t\t\twhile (--i > -1) {\r\n\t\t\t\t\tif (list[i].c === callback) {\r\n\t\t\t\t\t\tlist.splice(i, 1);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tp.dispatchEvent = function(type) {\r\n\t\t\tvar list = this._listeners[type],\r\n\t\t\t\ti, t, listener;\r\n\t\t\tif (list) {\r\n\t\t\t\ti = list.length;\r\n\t\t\t\tt = this._eventTarget;\r\n\t\t\t\twhile (--i > -1) {\r\n\t\t\t\t\tlistener = list[i];\r\n\t\t\t\t\tif (listener) {\r\n\t\t\t\t\t\tif (listener.up) {\r\n\t\t\t\t\t\t\tlistener.c.call(listener.s || t, {type:type, target:t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tlistener.c.call(listener.s || t);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\r\n/*\r\n * ----------------------------------------------------------------\r\n * Ticker\r\n * ----------------------------------------------------------------\r\n */\r\n \t\tvar _reqAnimFrame = window.requestAnimationFrame,\r\n\t\t\t_cancelAnimFrame = window.cancelAnimationFrame,\r\n\t\t\t_getTime = Date.now || function() {return new Date().getTime();},\r\n\t\t\t_lastUpdate = _getTime();\r\n\r\n\t\t//now try to determine the requestAnimationFrame and cancelAnimationFrame functions and if none are found, we'll use a setTimeout()/clearTimeout() polyfill.\r\n\t\ta = [\"ms\",\"moz\",\"webkit\",\"o\"];\r\n\t\ti = a.length;\r\n\t\twhile (--i > -1 && !_reqAnimFrame) {\r\n\t\t\t_reqAnimFrame = window[a[i] + \"RequestAnimationFrame\"];\r\n\t\t\t_cancelAnimFrame = window[a[i] + \"CancelAnimationFrame\"] || window[a[i] + \"CancelRequestAnimationFrame\"];\r\n\t\t}\r\n\r\n\t\t_class(\"Ticker\", function(fps, useRAF) {\r\n\t\t\tvar _self = this,\r\n\t\t\t\t_startTime = _getTime(),\r\n\t\t\t\t_useRAF = (useRAF !== false && _reqAnimFrame),\r\n\t\t\t\t_lagThreshold = 500,\r\n\t\t\t\t_adjustedLag = 33,\r\n\t\t\t\t_tickWord = \"tick\", //helps reduce gc burden\r\n\t\t\t\t_fps, _req, _id, _gap, _nextTime,\r\n\t\t\t\t_tick = function(manual) {\r\n\t\t\t\t\tvar elapsed = _getTime() - _lastUpdate,\r\n\t\t\t\t\t\toverlap, dispatch;\r\n\t\t\t\t\tif (elapsed > _lagThreshold) {\r\n\t\t\t\t\t\t_startTime += elapsed - _adjustedLag;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t_lastUpdate += elapsed;\r\n\t\t\t\t\t_self.time = (_lastUpdate - _startTime) / 1000;\r\n\t\t\t\t\toverlap = _self.time - _nextTime;\r\n\t\t\t\t\tif (!_fps || overlap > 0 || manual === true) {\r\n\t\t\t\t\t\t_self.frame++;\r\n\t\t\t\t\t\t_nextTime += overlap + (overlap >= _gap ? 0.004 : _gap - overlap);\r\n\t\t\t\t\t\tdispatch = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (manual !== true) { //make sure the request is made before we dispatch the \"tick\" event so that timing is maintained. Otherwise, if processing the \"tick\" requires a bunch of time (like 15ms) and we're using a setTimeout() that's based on 16.7ms, it'd technically take 31.7ms between frames otherwise.\r\n\t\t\t\t\t\t_id = _req(_tick);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (dispatch) {\r\n\t\t\t\t\t\t_self.dispatchEvent(_tickWord);\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\r\n\t\t\tEventDispatcher.call(_self);\r\n\t\t\t_self.time = _self.frame = 0;\r\n\t\t\t_self.tick = function() {\r\n\t\t\t\t_tick(true);\r\n\t\t\t};\r\n\r\n\t\t\t_self.lagSmoothing = function(threshold, adjustedLag) {\r\n\t\t\t\t_lagThreshold = threshold || (1 / _tinyNum); //zero should be interpreted as basically unlimited\r\n\t\t\t\t_adjustedLag = Math.min(adjustedLag, _lagThreshold, 0);\r\n\t\t\t};\r\n\r\n\t\t\t_self.sleep = function() {\r\n\t\t\t\tif (_id == null) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (!_useRAF || !_cancelAnimFrame) {\r\n\t\t\t\t\tclearTimeout(_id);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_cancelAnimFrame(_id);\r\n\t\t\t\t}\r\n\t\t\t\t_req = _emptyFunc;\r\n\t\t\t\t_id = null;\r\n\t\t\t\tif (_self === _ticker) {\r\n\t\t\t\t\t_tickerActive = false;\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\t\t_self.wake = function() {\r\n\t\t\t\tif (_id !== null) {\r\n\t\t\t\t\t_self.sleep();\r\n\t\t\t\t} else if (_self.frame > 10) { //don't trigger lagSmoothing if we're just waking up, and make sure that at least 10 frames have elapsed because of the iOS bug that we work around below with the 1.5-second setTimout().\r\n\t\t\t\t\t_lastUpdate = _getTime() - _lagThreshold + 5;\r\n\t\t\t\t}\r\n\t\t\t\t_req = (_fps === 0) ? _emptyFunc : (!_useRAF || !_reqAnimFrame) ? function(f) { return setTimeout(f, ((_nextTime - _self.time) * 1000 + 1) | 0); } : _reqAnimFrame;\r\n\t\t\t\tif (_self === _ticker) {\r\n\t\t\t\t\t_tickerActive = true;\r\n\t\t\t\t}\r\n\t\t\t\t_tick(2);\r\n\t\t\t};\r\n\r\n\t\t\t_self.fps = function(value) {\r\n\t\t\t\tif (!arguments.length) {\r\n\t\t\t\t\treturn _fps;\r\n\t\t\t\t}\r\n\t\t\t\t_fps = value;\r\n\t\t\t\t_gap = 1 / (_fps || 60);\r\n\t\t\t\t_nextTime = this.time + _gap;\r\n\t\t\t\t_self.wake();\r\n\t\t\t};\r\n\r\n\t\t\t_self.useRAF = function(value) {\r\n\t\t\t\tif (!arguments.length) {\r\n\t\t\t\t\treturn _useRAF;\r\n\t\t\t\t}\r\n\t\t\t\t_self.sleep();\r\n\t\t\t\t_useRAF = value;\r\n\t\t\t\t_self.fps(_fps);\r\n\t\t\t};\r\n\t\t\t_self.fps(fps);\r\n\r\n\t\t\t//a bug in iOS 6 Safari occasionally prevents the requestAnimationFrame from working initially, so we use a 1.5-second timeout that automatically falls back to setTimeout() if it senses this condition.\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tif (_useRAF && _self.frame < 5) {\r\n\t\t\t\t\t_self.useRAF(false);\r\n\t\t\t\t}\r\n\t\t\t}, 1500);\r\n\t\t});\r\n\r\n\t\tp = gs.Ticker.prototype = new gs.events.EventDispatcher();\r\n\t\tp.constructor = gs.Ticker;\r\n\r\n\r\n/*\r\n * ----------------------------------------------------------------\r\n * Animation\r\n * ----------------------------------------------------------------\r\n */\r\n\t\tvar Animation = _class(\"core.Animation\", function(duration, vars) {\r\n\t\t\t\tthis.vars = vars = vars || {};\r\n\t\t\t\tthis._duration = this._totalDuration = duration || 0;\r\n\t\t\t\tthis._delay = Number(vars.delay) || 0;\r\n\t\t\t\tthis._timeScale = 1;\r\n\t\t\t\tthis._active = (vars.immediateRender === true);\r\n\t\t\t\tthis.data = vars.data;\r\n\t\t\t\tthis._reversed = (vars.reversed === true);\r\n\r\n\t\t\t\tif (!_rootTimeline) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (!_tickerActive) { //some browsers (like iOS 6 Safari) shut down JavaScript execution when the tab is disabled and they [occasionally] neglect to start up requestAnimationFrame again when returning - this code ensures that the engine starts up again properly.\r\n\t\t\t\t\t_ticker.wake();\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvar tl = this.vars.useFrames ? _rootFramesTimeline : _rootTimeline;\r\n\t\t\t\ttl.add(this, tl._time);\r\n\r\n\t\t\t\tif (this.vars.paused) {\r\n\t\t\t\t\tthis.paused(true);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t_ticker = Animation.ticker = new gs.Ticker();\r\n\t\tp = Animation.prototype;\r\n\t\tp._dirty = p._gc = p._initted = p._paused = false;\r\n\t\tp._totalTime = p._time = 0;\r\n\t\tp._rawPrevTime = -1;\r\n\t\tp._next = p._last = p._onUpdate = p._timeline = p.timeline = null;\r\n\t\tp._paused = false;\r\n\r\n\r\n\t\t//some browsers (like iOS) occasionally drop the requestAnimationFrame event when the user switches to a different tab and then comes back again, so we use a 2-second setTimeout() to sense if/when that condition occurs and then wake() the ticker.\r\n\t\tvar _checkTimeout = function() {\r\n\t\t\t\tif (_tickerActive && _getTime() - _lastUpdate > 2000) {\r\n\t\t\t\t\t_ticker.wake();\r\n\t\t\t\t}\r\n\t\t\t\tsetTimeout(_checkTimeout, 2000);\r\n\t\t\t};\r\n\t\t_checkTimeout();\r\n\r\n\r\n\t\tp.play = function(from, suppressEvents) {\r\n\t\t\tif (from != null) {\r\n\t\t\t\tthis.seek(from, suppressEvents);\r\n\t\t\t}\r\n\t\t\treturn this.reversed(false).paused(false);\r\n\t\t};\r\n\r\n\t\tp.pause = function(atTime, suppressEvents) {\r\n\t\t\tif (atTime != null) {\r\n\t\t\t\tthis.seek(atTime, suppressEvents);\r\n\t\t\t}\r\n\t\t\treturn this.paused(true);\r\n\t\t};\r\n\r\n\t\tp.resume = function(from, suppressEvents) {\r\n\t\t\tif (from != null) {\r\n\t\t\t\tthis.seek(from, suppressEvents);\r\n\t\t\t}\r\n\t\t\treturn this.paused(false);\r\n\t\t};\r\n\r\n\t\tp.seek = function(time, suppressEvents) {\r\n\t\t\treturn this.totalTime(Number(time), suppressEvents !== false);\r\n\t\t};\r\n\r\n\t\tp.restart = function(includeDelay, suppressEvents) {\r\n\t\t\treturn this.reversed(false).paused(false).totalTime(includeDelay ? -this._delay : 0, (suppressEvents !== false), true);\r\n\t\t};\r\n\r\n\t\tp.reverse = function(from, suppressEvents) {\r\n\t\t\tif (from != null) {\r\n\t\t\t\tthis.seek((from || this.totalDuration()), suppressEvents);\r\n\t\t\t}\r\n\t\t\treturn this.reversed(true).paused(false);\r\n\t\t};\r\n\r\n\t\tp.render = function(time, suppressEvents, force) {\r\n\t\t\t//stub - we override this method in subclasses.\r\n\t\t};\r\n\r\n\t\tp.invalidate = function() {\r\n\t\t\tthis._time = this._totalTime = 0;\r\n\t\t\tthis._initted = this._gc = false;\r\n\t\t\tthis._rawPrevTime = -1;\r\n\t\t\tif (this._gc || !this.timeline) {\r\n\t\t\t\tthis._enabled(true);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp.isActive = function() {\r\n\t\t\tvar tl = this._timeline, //the 2 root timelines won't have a _timeline; they're always active.\r\n\t\t\t\tstartTime = this._startTime,\r\n\t\t\t\trawTime;\r\n\t\t\treturn (!tl || (!this._gc && !this._paused && tl.isActive() && (rawTime = tl.rawTime()) >= startTime && rawTime < startTime + this.totalDuration() / this._timeScale));\r\n\t\t};\r\n\r\n\t\tp._enabled = function (enabled, ignoreTimeline) {\r\n\t\t\tif (!_tickerActive) {\r\n\t\t\t\t_ticker.wake();\r\n\t\t\t}\r\n\t\t\tthis._gc = !enabled;\r\n\t\t\tthis._active = this.isActive();\r\n\t\t\tif (ignoreTimeline !== true) {\r\n\t\t\t\tif (enabled && !this.timeline) {\r\n\t\t\t\t\tthis._timeline.add(this, this._startTime - this._delay);\r\n\t\t\t\t} else if (!enabled && this.timeline) {\r\n\t\t\t\t\tthis._timeline._remove(this, true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn false;\r\n\t\t};\r\n\r\n\r\n\t\tp._kill = function(vars, target) {\r\n\t\t\treturn this._enabled(false, false);\r\n\t\t};\r\n\r\n\t\tp.kill = function(vars, target) {\r\n\t\t\tthis._kill(vars, target);\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp._uncache = function(includeSelf) {\r\n\t\t\tvar tween = includeSelf ? this : this.timeline;\r\n\t\t\twhile (tween) {\r\n\t\t\t\ttween._dirty = true;\r\n\t\t\t\ttween = tween.timeline;\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp._swapSelfInParams = function(params) {\r\n\t\t\tvar i = params.length,\r\n\t\t\t\tcopy = params.concat();\r\n\t\t\twhile (--i > -1) {\r\n\t\t\t\tif (params[i] === \"{self}\") {\r\n\t\t\t\t\tcopy[i] = this;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn copy;\r\n\t\t};\r\n\r\n\t\tp._callback = function(type) {\r\n\t\t\tvar v = this.vars;\r\n\t\t\tv[type].apply(v[type + \"Scope\"] || v.callbackScope || this, v[type + \"Params\"] || _blankArray);\r\n\t\t};\r\n\r\n//----Animation getters/setters --------------------------------------------------------\r\n\r\n\t\tp.eventCallback = function(type, callback, params, scope) {\r\n\t\t\tif ((type || \"\").substr(0,2) === \"on\") {\r\n\t\t\t\tvar v = this.vars;\r\n\t\t\t\tif (arguments.length === 1) {\r\n\t\t\t\t\treturn v[type];\r\n\t\t\t\t}\r\n\t\t\t\tif (callback == null) {\r\n\t\t\t\t\tdelete v[type];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tv[type] = callback;\r\n\t\t\t\t\tv[type + \"Params\"] = (_isArray(params) && params.join(\"\").indexOf(\"{self}\") !== -1) ? this._swapSelfInParams(params) : params;\r\n\t\t\t\t\tv[type + \"Scope\"] = scope;\r\n\t\t\t\t}\r\n\t\t\t\tif (type === \"onUpdate\") {\r\n\t\t\t\t\tthis._onUpdate = callback;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp.delay = function(value) {\r\n\t\t\tif (!arguments.length) {\r\n\t\t\t\treturn this._delay;\r\n\t\t\t}\r\n\t\t\tif (this._timeline.smoothChildTiming) {\r\n\t\t\t\tthis.startTime( this._startTime + value - this._delay );\r\n\t\t\t}\r\n\t\t\tthis._delay = value;\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp.duration = function(value) {\r\n\t\t\tif (!arguments.length) {\r\n\t\t\t\tthis._dirty = false;\r\n\t\t\t\treturn this._duration;\r\n\t\t\t}\r\n\t\t\tthis._duration = this._totalDuration = value;\r\n\t\t\tthis._uncache(true); //true in case it's a TweenMax or TimelineMax that has a repeat - we'll need to refresh the totalDuration.\r\n\t\t\tif (this._timeline.smoothChildTiming) if (this._time > 0) if (this._time < this._duration) if (value !== 0) {\r\n\t\t\t\tthis.totalTime(this._totalTime * (value / this._duration), true);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp.totalDuration = function(value) {\r\n\t\t\tthis._dirty = false;\r\n\t\t\treturn (!arguments.length) ? this._totalDuration : this.duration(value);\r\n\t\t};\r\n\r\n\t\tp.time = function(value, suppressEvents) {\r\n\t\t\tif (!arguments.length) {\r\n\t\t\t\treturn this._time;\r\n\t\t\t}\r\n\t\t\tif (this._dirty) {\r\n\t\t\t\tthis.totalDuration();\r\n\t\t\t}\r\n\t\t\treturn this.totalTime((value > this._duration) ? this._duration : value, suppressEvents);\r\n\t\t};\r\n\r\n\t\tp.totalTime = function(time, suppressEvents, uncapped) {\r\n\t\t\tif (!_tickerActive) {\r\n\t\t\t\t_ticker.wake();\r\n\t\t\t}\r\n\t\t\tif (!arguments.length) {\r\n\t\t\t\treturn this._totalTime;\r\n\t\t\t}\r\n\t\t\tif (this._timeline) {\r\n\t\t\t\tif (time < 0 && !uncapped) {\r\n\t\t\t\t\ttime += this.totalDuration();\r\n\t\t\t\t}\r\n\t\t\t\tif (this._timeline.smoothChildTiming) {\r\n\t\t\t\t\tif (this._dirty) {\r\n\t\t\t\t\t\tthis.totalDuration();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar totalDuration = this._totalDuration,\r\n\t\t\t\t\t\ttl = this._timeline;\r\n\t\t\t\t\tif (time > totalDuration && !uncapped) {\r\n\t\t\t\t\t\ttime = totalDuration;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis._startTime = (this._paused ? this._pauseTime : tl._time) - ((!this._reversed ? time : totalDuration - time) / this._timeScale);\r\n\t\t\t\t\tif (!tl._dirty) { //for performance improvement. If the parent's cache is already dirty, it already took care of marking the ancestors as dirty too, so skip the function call here.\r\n\t\t\t\t\t\tthis._uncache(false);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//in case any of the ancestor timelines had completed but should now be enabled, we should reset their totalTime() which will also ensure that they're lined up properly and enabled. Skip for animations that are on the root (wasteful). Example: a TimelineLite.exportRoot() is performed when there's a paused tween on the root, the export will not complete until that tween is unpaused, but imagine a child gets restarted later, after all [unpaused] tweens have completed. The startTime of that child would get pushed out, but one of the ancestors may have completed.\r\n\t\t\t\t\tif (tl._timeline) {\r\n\t\t\t\t\t\twhile (tl._timeline) {\r\n\t\t\t\t\t\t\tif (tl._timeline._time !== (tl._startTime + tl._totalTime) / tl._timeScale) {\r\n\t\t\t\t\t\t\t\ttl.totalTime(tl._totalTime, true);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttl = tl._timeline;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (this._gc) {\r\n\t\t\t\t\tthis._enabled(true, false);\r\n\t\t\t\t}\r\n\t\t\t\tif (this._totalTime !== time || this._duration === 0) {\r\n\t\t\t\t\tif (_lazyTweens.length) {\r\n\t\t\t\t\t\t_lazyRender();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.render(time, suppressEvents, false);\r\n\t\t\t\t\tif (_lazyTweens.length) { //in case rendering caused any tweens to lazy-init, we should render them because typically when someone calls seek() or time() or progress(), they expect an immediate render.\r\n\t\t\t\t\t\t_lazyRender();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp.progress = p.totalProgress = function(value, suppressEvents) {\r\n\t\t\tvar duration = this.duration();\r\n\t\t\treturn (!arguments.length) ? (duration ? this._time / duration : this.ratio) : this.totalTime(duration * value, suppressEvents);\r\n\t\t};\r\n\r\n\t\tp.startTime = function(value) {\r\n\t\t\tif (!arguments.length) {\r\n\t\t\t\treturn this._startTime;\r\n\t\t\t}\r\n\t\t\tif (value !== this._startTime) {\r\n\t\t\t\tthis._startTime = value;\r\n\t\t\t\tif (this.timeline) if (this.timeline._sortChildren) {\r\n\t\t\t\t\tthis.timeline.add(this, value - this._delay); //ensures that any necessary re-sequencing of Animations in the timeline occurs to make sure the rendering order is correct.\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp.endTime = function(includeRepeats) {\r\n\t\t\treturn this._startTime + ((includeRepeats != false) ? this.totalDuration() : this.duration()) / this._timeScale;\r\n\t\t};\r\n\r\n\t\tp.timeScale = function(value) {\r\n\t\t\tif (!arguments.length) {\r\n\t\t\t\treturn this._timeScale;\r\n\t\t\t}\r\n\t\t\tvalue = value || _tinyNum; //can't allow zero because it'll throw the math off\r\n\t\t\tif (this._timeline && this._timeline.smoothChildTiming) {\r\n\t\t\t\tvar pauseTime = this._pauseTime,\r\n\t\t\t\t\tt = (pauseTime || pauseTime === 0) ? pauseTime : this._timeline.totalTime();\r\n\t\t\t\tthis._startTime = t - ((t - this._startTime) * this._timeScale / value);\r\n\t\t\t}\r\n\t\t\tthis._timeScale = value;\r\n\t\t\treturn this._uncache(false);\r\n\t\t};\r\n\r\n\t\tp.reversed = function(value) {\r\n\t\t\tif (!arguments.length) {\r\n\t\t\t\treturn this._reversed;\r\n\t\t\t}\r\n\t\t\tif (value != this._reversed) {\r\n\t\t\t\tthis._reversed = value;\r\n\t\t\t\tthis.totalTime(((this._timeline && !this._timeline.smoothChildTiming) ? this.totalDuration() - this._totalTime : this._totalTime), true);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp.paused = function(value) {\r\n\t\t\tif (!arguments.length) {\r\n\t\t\t\treturn this._paused;\r\n\t\t\t}\r\n\t\t\tvar tl = this._timeline,\r\n\t\t\t\traw, elapsed;\r\n\t\t\tif (value != this._paused) if (tl) {\r\n\t\t\t\tif (!_tickerActive && !value) {\r\n\t\t\t\t\t_ticker.wake();\r\n\t\t\t\t}\r\n\t\t\t\traw = tl.rawTime();\r\n\t\t\t\telapsed = raw - this._pauseTime;\r\n\t\t\t\tif (!value && tl.smoothChildTiming) {\r\n\t\t\t\t\tthis._startTime += elapsed;\r\n\t\t\t\t\tthis._uncache(false);\r\n\t\t\t\t}\r\n\t\t\t\tthis._pauseTime = value ? raw : null;\r\n\t\t\t\tthis._paused = value;\r\n\t\t\t\tthis._active = this.isActive();\r\n\t\t\t\tif (!value && elapsed !== 0 && this._initted && this.duration()) {\r\n\t\t\t\t\traw = tl.smoothChildTiming ? this._totalTime : (raw - this._startTime) / this._timeScale;\r\n\t\t\t\t\tthis.render(raw, (raw === this._totalTime), true); //in case the target's properties changed via some other tween or manual update by the user, we should force a render.\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (this._gc && !value) {\r\n\t\t\t\tthis._enabled(true, false);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\r\n/*\r\n * ----------------------------------------------------------------\r\n * SimpleTimeline\r\n * ----------------------------------------------------------------\r\n */\r\n\t\tvar SimpleTimeline = _class(\"core.SimpleTimeline\", function(vars) {\r\n\t\t\tAnimation.call(this, 0, vars);\r\n\t\t\tthis.autoRemoveChildren = this.smoothChildTiming = true;\r\n\t\t});\r\n\r\n\t\tp = SimpleTimeline.prototype = new Animation();\r\n\t\tp.constructor = SimpleTimeline;\r\n\t\tp.kill()._gc = false;\r\n\t\tp._first = p._last = p._recent = null;\r\n\t\tp._sortChildren = false;\r\n\r\n\t\tp.add = p.insert = function(child, position, align, stagger) {\r\n\t\t\tvar prevTween, st;\r\n\t\t\tchild._startTime = Number(position || 0) + child._delay;\r\n\t\t\tif (child._paused) if (this !== child._timeline) { //we only adjust the _pauseTime if it wasn't in this timeline already. Remember, sometimes a tween will be inserted again into the same timeline when its startTime is changed so that the tweens in the TimelineLite/Max are re-ordered properly in the linked list (so everything renders in the proper order).\r\n\t\t\t\tchild._pauseTime = child._startTime + ((this.rawTime() - child._startTime) / child._timeScale);\r\n\t\t\t}\r\n\t\t\tif (child.timeline) {\r\n\t\t\t\tchild.timeline._remove(child, true); //removes from existing timeline so that it can be properly added to this one.\r\n\t\t\t}\r\n\t\t\tchild.timeline = child._timeline = this;\r\n\t\t\tif (child._gc) {\r\n\t\t\t\tchild._enabled(true, true);\r\n\t\t\t}\r\n\t\t\tprevTween = this._last;\r\n\t\t\tif (this._sortChildren) {\r\n\t\t\t\tst = child._startTime;\r\n\t\t\t\twhile (prevTween && prevTween._startTime > st) {\r\n\t\t\t\t\tprevTween = prevTween._prev;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (prevTween) {\r\n\t\t\t\tchild._next = prevTween._next;\r\n\t\t\t\tprevTween._next = child;\r\n\t\t\t} else {\r\n\t\t\t\tchild._next = this._first;\r\n\t\t\t\tthis._first = child;\r\n\t\t\t}\r\n\t\t\tif (child._next) {\r\n\t\t\t\tchild._next._prev = child;\r\n\t\t\t} else {\r\n\t\t\t\tthis._last = child;\r\n\t\t\t}\r\n\t\t\tchild._prev = prevTween;\r\n\t\t\tthis._recent = child;\r\n\t\t\tif (this._timeline) {\r\n\t\t\t\tthis._uncache(true);\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp._remove = function(tween, skipDisable) {\r\n\t\t\tif (tween.timeline === this) {\r\n\t\t\t\tif (!skipDisable) {\r\n\t\t\t\t\ttween._enabled(false, true);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (tween._prev) {\r\n\t\t\t\t\ttween._prev._next = tween._next;\r\n\t\t\t\t} else if (this._first === tween) {\r\n\t\t\t\t\tthis._first = tween._next;\r\n\t\t\t\t}\r\n\t\t\t\tif (tween._next) {\r\n\t\t\t\t\ttween._next._prev = tween._prev;\r\n\t\t\t\t} else if (this._last === tween) {\r\n\t\t\t\t\tthis._last = tween._prev;\r\n\t\t\t\t}\r\n\t\t\t\ttween._next = tween._prev = tween.timeline = null;\r\n\t\t\t\tif (tween === this._recent) {\r\n\t\t\t\t\tthis._recent = this._last;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (this._timeline) {\r\n\t\t\t\t\tthis._uncache(true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t};\r\n\r\n\t\tp.render = function(time, suppressEvents, force) {\r\n\t\t\tvar tween = this._first,\r\n\t\t\t\tnext;\r\n\t\t\tthis._totalTime = this._time = this._rawPrevTime = time;\r\n\t\t\twhile (tween) {\r\n\t\t\t\tnext = tween._next; //record it here because the value could change after rendering...\r\n\t\t\t\tif (tween._active || (time >= tween._startTime && !tween._paused)) {\r\n\t\t\t\t\tif (!tween._reversed) {\r\n\t\t\t\t\t\ttween.render((time - tween._startTime) * tween._timeScale, suppressEvents, force);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttween.render(((!tween._dirty) ? tween._totalDuration : tween.totalDuration()) - ((time - tween._startTime) * tween._timeScale), suppressEvents, force);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\ttween = next;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tp.rawTime = function() {\r\n\t\t\tif (!_tickerActive) {\r\n\t\t\t\t_ticker.wake();\r\n\t\t\t}\r\n\t\t\treturn this._totalTime;\r\n\t\t};\r\n\r\n/*\r\n * ----------------------------------------------------------------\r\n * TweenLite\r\n * ----------------------------------------------------------------\r\n */\r\n\t\tvar TweenLite = _class(\"TweenLite\", function(target, duration, vars) {\r\n\t\t\t\tAnimation.call(this, duration, vars);\r\n\t\t\t\tthis.render = TweenLite.prototype.render; //speed optimization (avoid prototype lookup on this \"hot\" method)\r\n\r\n\t\t\t\tif (target == null) {\r\n\t\t\t\t\tthrow \"Cannot tween a null target.\";\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.target = target = (typeof(target) !== \"string\") ? target : TweenLite.selector(target) || target;\r\n\r\n\t\t\t\tvar isSelector = (target.jquery || (target.length && target !== window && target[0] && (target[0] === window || (target[0].nodeType && target[0].style && !target.nodeType)))),\r\n\t\t\t\t\toverwrite = this.vars.overwrite,\r\n\t\t\t\t\ti, targ, targets;\r\n\r\n\t\t\t\tthis._overwrite = overwrite = (overwrite == null) ? _overwriteLookup[TweenLite.defaultOverwrite] : (typeof(overwrite) === \"number\") ? overwrite >> 0 : _overwriteLookup[overwrite];\r\n\r\n\t\t\t\tif ((isSelector || target instanceof Array || (target.push && _isArray(target))) && typeof(target[0]) !== \"number\") {\r\n\t\t\t\t\tthis._targets = targets = _slice(target); //don't use Array.prototype.slice.call(target, 0) because that doesn't work in IE8 with a NodeList that's returned by querySelectorAll()\r\n\t\t\t\t\tthis._propLookup = [];\r\n\t\t\t\t\tthis._siblings = [];\r\n\t\t\t\t\tfor (i = 0; i < targets.length; i++) {\r\n\t\t\t\t\t\ttarg = targets[i];\r\n\t\t\t\t\t\tif (!targ) {\r\n\t\t\t\t\t\t\ttargets.splice(i--, 1);\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t} else if (typeof(targ) === \"string\") {\r\n\t\t\t\t\t\t\ttarg = targets[i--] = TweenLite.selector(targ); //in case it's an array of strings\r\n\t\t\t\t\t\t\tif (typeof(targ) === \"string\") {\r\n\t\t\t\t\t\t\t\ttargets.splice(i+1, 1); //to avoid an endless loop (can't imagine why the selector would return a string, but just in case)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t\t} else if (targ.length && targ !== window && targ[0] && (targ[0] === window || (targ[0].nodeType && targ[0].style && !targ.nodeType))) { //in case the user is passing in an array of selector objects (like jQuery objects), we need to check one more level and pull things out if necessary. Also note that element.\")}),c=a.extend({},{populateResults:function(d,e,g){var h,j=this.opts.id,k=this.liveRegion;h=function(d,e,l){var m,n,o,p,q,r,s,t,u,v;d=c.sortResults(d,e,g);var w=[];for(m=0,n=d.length;n>m;m+=1)o=d[m],q=o.disabled===!0,p=!q&&j(o)!==b,r=o.children&&o.children.length>0,s=a(\"
  • \"),s.addClass(\"select2-results-dept-\"+l),s.addClass(\"select2-result\"),s.addClass(p?\"select2-result-selectable\":\"select2-result-unselectable\"),q&&s.addClass(\"select2-disabled\"),r&&s.addClass(\"select2-result-with-children\"),s.addClass(i.opts.formatResultCssClass(o)),s.attr(\"role\",\"presentation\"),t=a(document.createElement(\"div\")),t.addClass(\"select2-result-label\"),t.attr(\"id\",\"select2-result-label-\"+f()),t.attr(\"role\",\"option\"),v=c.formatResult(o,t,g,i.opts.escapeMarkup),v!==b&&(t.html(v),s.append(t)),r&&(u=a(\"
      \"),u.addClass(\"select2-result-sub\"),h(o.children,u,l+1),s.append(u)),s.data(\"select2-data\",o),w.push(s[0]);e.append(w),k.text(c.formatMatches(d.length))},h(e,d,0)}},a.fn.select2.defaults,c),\"function\"!=typeof c.id&&(g=c.id,c.id=function(a){return a[g]}),a.isArray(c.element.data(\"select2Tags\"))){if(\"tags\"in c)throw\"tags specified as both an attribute 'data-select2-tags' and in options of Select2 \"+c.element.attr(\"id\");c.tags=c.element.data(\"select2Tags\")}if(e?(c.query=this.bind(function(a){var f,g,h,c={results:[],more:!1},e=a.term;h=function(b,c){var d;b.is(\"option\")?a.matcher(e,b.text(),b)&&c.push(i.optionToData(b)):b.is(\"optgroup\")&&(d=i.optionToData(b),b.children().each2(function(a,b){h(b,d.children)}),d.children.length>0&&c.push(d))},f=d.children(),this.getPlaceholder()!==b&&f.length>0&&(g=this.getPlaceholderOption(),g&&(f=f.not(g))),f.each2(function(a,b){h(b,c.results)}),a.callback(c)}),c.id=function(a){return a.id}):\"query\"in c||(\"ajax\"in c?(h=c.element.data(\"ajax-url\"),h&&h.length>0&&(c.ajax.url=h),c.query=G.call(c.element,c.ajax)):\"data\"in c?c.query=H(c.data):\"tags\"in c&&(c.query=I(c.tags),c.createSearchChoice===b&&(c.createSearchChoice=function(b){return{id:a.trim(b),text:a.trim(b)}}),c.initSelection===b&&(c.initSelection=function(b,d){var e=[];a(s(b.val(),c.separator,c.transformVal)).each(function(){var b={id:this,text:this},d=c.tags;a.isFunction(d)&&(d=d()),a(d).each(function(){return r(this.id,b.id)?(b=this,!1):void 0}),e.push(b)}),d(e)}))),\"function\"!=typeof c.query)throw\"query function not defined for Select2 \"+c.element.attr(\"id\");if(\"top\"===c.createSearchChoicePosition)c.createSearchChoicePosition=function(a,b){a.unshift(b)};else if(\"bottom\"===c.createSearchChoicePosition)c.createSearchChoicePosition=function(a,b){a.push(b)};else if(\"function\"!=typeof c.createSearchChoicePosition)throw\"invalid createSearchChoicePosition option must be 'top', 'bottom' or a custom function\";return c},monitorSource:function(){var d,c=this.opts.element,e=this;c.on(\"change.select2\",this.bind(function(){this.opts.element.data(\"select2-change-triggered\")!==!0&&this.initSelection()})),this._sync=this.bind(function(){var a=c.prop(\"disabled\");a===b&&(a=!1),this.enable(!a);var d=c.prop(\"readonly\");d===b&&(d=!1),this.readonly(d),this.container&&(D(this.container,this.opts.element,this.opts.adaptContainerCssClass),this.container.addClass(K(this.opts.containerCssClass,this.opts.element))),this.dropdown&&(D(this.dropdown,this.opts.element,this.opts.adaptDropdownCssClass),this.dropdown.addClass(K(this.opts.dropdownCssClass,this.opts.element)))}),c.length&&c[0].attachEvent&&c.each(function(){this.attachEvent(\"onpropertychange\",e._sync)}),d=window.MutationObserver||window.WebKitMutationObserver||window.MozMutationObserver,d!==b&&(this.propertyObserver&&(delete this.propertyObserver,this.propertyObserver=null),this.propertyObserver=new d(function(b){a.each(b,e._sync)}),this.propertyObserver.observe(c.get(0),{attributes:!0,subtree:!1}))},triggerSelect:function(b){var c=a.Event(\"select2-selecting\",{val:this.id(b),object:b,choice:b});return this.opts.element.trigger(c),!c.isDefaultPrevented()},triggerChange:function(b){b=b||{},b=a.extend({},b,{type:\"change\",val:this.val()}),this.opts.element.data(\"select2-change-triggered\",!0),this.opts.element.trigger(b),this.opts.element.data(\"select2-change-triggered\",!1),this.opts.element.click(),this.opts.blurOnChange&&this.opts.element.blur()},isInterfaceEnabled:function(){return this.enabledInterface===!0},enableInterface:function(){var a=this._enabled&&!this._readonly,b=!a;return a===this.enabledInterface?!1:(this.container.toggleClass(\"select2-container-disabled\",b),this.close(),this.enabledInterface=a,!0)},enable:function(a){a===b&&(a=!0),this._enabled!==a&&(this._enabled=a,this.opts.element.prop(\"disabled\",!a),this.enableInterface())},disable:function(){this.enable(!1)},readonly:function(a){a===b&&(a=!1),this._readonly!==a&&(this._readonly=a,this.opts.element.prop(\"readonly\",a),this.enableInterface())},opened:function(){return this.container?this.container.hasClass(\"select2-dropdown-open\"):!1},positionDropdown:function(){var v,w,x,y,z,b=this.dropdown,c=this.container,d=c.offset(),e=c.outerHeight(!1),f=c.outerWidth(!1),g=b.outerHeight(!1),h=a(window),i=h.width(),k=h.height(),l=h.scrollLeft()+i,m=h.scrollTop()+k,n=d.top+e,o=d.left,p=m>=n+g,q=d.top-g>=h.scrollTop(),r=b.outerWidth(!1),s=function(){return l>=o+r},t=function(){return d.left+l+c.outerWidth(!1)>r},u=b.hasClass(\"select2-drop-above\");u?(w=!0,!q&&p&&(x=!0,w=!1)):(w=!1,!p&&q&&(x=!0,w=!0)),x&&(b.hide(),d=this.container.offset(),e=this.container.outerHeight(!1),f=this.container.outerWidth(!1),g=b.outerHeight(!1),l=h.scrollLeft()+i,m=h.scrollTop()+k,n=d.top+e,o=d.left,r=b.outerWidth(!1),b.show(),this.focusSearch()),this.opts.dropdownAutoWidth?(z=a(\".select2-results\",b)[0],b.addClass(\"select2-drop-auto-width\"),b.css(\"width\",\"\"),r=b.outerWidth(!1)+(z.scrollHeight===z.clientHeight?0:j.width),r>f?f=r:r=f,g=b.outerHeight(!1)):this.container.removeClass(\"select2-drop-auto-width\"),\"static\"!==this.body.css(\"position\")&&(v=this.body.offset(),n-=v.top,o-=v.left),!s()&&t()&&(o=d.left+this.container.outerWidth(!1)-r),y={left:o,width:f},w?(y.top=d.top-g,y.bottom=\"auto\",this.container.addClass(\"select2-drop-above\"),b.addClass(\"select2-drop-above\")):(y.top=n,y.bottom=\"auto\",this.container.removeClass(\"select2-drop-above\"),b.removeClass(\"select2-drop-above\")),y=a.extend(y,K(this.opts.dropdownCss,this.opts.element)),b.css(y)},shouldOpen:function(){var b;return this.opened()?!1:this._enabled===!1||this._readonly===!0?!1:(b=a.Event(\"select2-opening\"),this.opts.element.trigger(b),!b.isDefaultPrevented())},clearDropdownAlignmentPreference:function(){this.container.removeClass(\"select2-drop-above\"),this.dropdown.removeClass(\"select2-drop-above\")},open:function(){return this.shouldOpen()?(this.opening(),i.on(\"mousemove.select2Event\",function(a){h.x=a.pageX,h.y=a.pageY}),!0):!1},opening:function(){var f,b=this.containerEventName,c=\"scroll.\"+b,d=\"resize.\"+b,e=\"orientationchange.\"+b;this.container.addClass(\"select2-dropdown-open\").addClass(\"select2-container-active\"),this.clearDropdownAlignmentPreference(),this.dropdown[0]!==this.body.children().last()[0]&&this.dropdown.detach().appendTo(this.body),f=a(\"#select2-drop-mask\"),0===f.length&&(f=a(document.createElement(\"div\")),f.attr(\"id\",\"select2-drop-mask\").attr(\"class\",\"select2-drop-mask\"),f.hide(),f.appendTo(this.body),f.on(\"mousedown touchstart click\",function(b){n(f);var d,c=a(\"#select2-drop\");c.length>0&&(d=c.data(\"select2\"),d.opts.selectOnBlur&&d.selectHighlighted({noFocus:!0}),d.close(),b.preventDefault(),b.stopPropagation())})),this.dropdown.prev()[0]!==f[0]&&this.dropdown.before(f),a(\"#select2-drop\").removeAttr(\"id\"),this.dropdown.attr(\"id\",\"select2-drop\"),f.show(),this.positionDropdown(),this.dropdown.show(),this.positionDropdown(),this.dropdown.addClass(\"select2-drop-active\");var g=this;this.container.parents().add(window).each(function(){a(this).on(d+\" \"+c+\" \"+e,function(){g.opened()&&g.positionDropdown()})})},close:function(){if(this.opened()){var b=this.containerEventName,c=\"scroll.\"+b,d=\"resize.\"+b,e=\"orientationchange.\"+b;this.container.parents().add(window).each(function(){a(this).off(c).off(d).off(e)}),this.clearDropdownAlignmentPreference(),a(\"#select2-drop-mask\").hide(),this.dropdown.removeAttr(\"id\"),this.dropdown.hide(),this.container.removeClass(\"select2-dropdown-open\").removeClass(\"select2-container-active\"),this.results.empty(),i.off(\"mousemove.select2Event\"),this.clearSearch(),this.search.removeClass(\"select2-active\"),this.opts.element.trigger(a.Event(\"select2-close\"))}},externalSearch:function(a){this.open(),this.search.val(a),this.updateResults(!1)},clearSearch:function(){},getMaximumSelectionSize:function(){return K(this.opts.maximumSelectionSize,this.opts.element)},ensureHighlightVisible:function(){var c,d,e,f,g,h,i,j,b=this.results;if(d=this.highlight(),!(0>d)){if(0==d)return b.scrollTop(0),void 0;c=this.findHighlightableChoices().find(\".select2-result-label\"),e=a(c[d]),j=(e.offset()||{}).top||0,f=j+e.outerHeight(!0),d===c.length-1&&(i=b.find(\"li.select2-more-results\"),i.length>0&&(f=i.offset().top+i.outerHeight(!0))),g=b.offset().top+b.outerHeight(!1),f>g&&b.scrollTop(b.scrollTop()+(f-g)),h=j-b.offset().top,0>h&&\"none\"!=e.css(\"display\")&&b.scrollTop(b.scrollTop()+h)}},findHighlightableChoices:function(){return this.results.find(\".select2-result-selectable:not(.select2-disabled):not(.select2-selected)\")},moveHighlight:function(b){for(var c=this.findHighlightableChoices(),d=this.highlight();d>-1&&d=c.length&&(b=c.length-1),0>b&&(b=0),this.removeHighlight(),d=a(c[b]),d.addClass(\"select2-highlighted\"),this.search.attr(\"aria-activedescendant\",d.find(\".select2-result-label\").attr(\"id\")),this.ensureHighlightVisible(),this.liveRegion.text(d.text()),e=d.data(\"select2-data\"),e&&this.opts.element.trigger({type:\"select2-highlight\",val:this.id(e),choice:e}),void 0)},removeHighlight:function(){this.results.find(\".select2-highlighted\").removeClass(\"select2-highlighted\")},touchMoved:function(){this._touchMoved=!0},clearTouchMoved:function(){this._touchMoved=!1},countSelectableResults:function(){return this.findHighlightableChoices().length},highlightUnderEvent:function(b){var c=a(b.target).closest(\".select2-result-selectable\");if(c.length>0&&!c.is(\".select2-highlighted\")){var d=this.findHighlightableChoices();this.highlight(d.index(c))}else 0==c.length&&this.removeHighlight()},loadMoreIfNeeded:function(){var c,a=this.results,b=a.find(\"li.select2-more-results\"),d=this.resultsPage+1,e=this,f=this.search.val(),g=this.context;0!==b.length&&(c=b.offset().top-a.offset().top-a.height(),c<=this.opts.loadMorePadding&&(b.addClass(\"select2-active\"),this.opts.query({element:this.opts.element,term:f,page:d,context:g,matcher:this.opts.matcher,callback:this.bind(function(c){e.opened()&&(e.opts.populateResults.call(this,a,c.results,{term:f,page:d,context:g}),e.postprocessResults(c,!1,!1),c.more===!0?(b.detach().appendTo(a).html(e.opts.escapeMarkup(K(e.opts.formatLoadMore,e.opts.element,d+1))),window.setTimeout(function(){e.loadMoreIfNeeded()},10)):b.remove(),e.positionDropdown(),e.resultsPage=d,e.context=c.context,this.opts.element.trigger({type:\"select2-loaded\",items:c}))})})))},tokenize:function(){},updateResults:function(c){function m(){d.removeClass(\"select2-active\"),h.positionDropdown(),e.find(\".select2-no-results,.select2-selection-limit,.select2-searching\").length?h.liveRegion.text(e.text()):h.liveRegion.text(h.opts.formatMatches(e.find('.select2-result-selectable:not(\".select2-selected\")').length))}function n(a){e.html(a),m()}var g,i,l,d=this.search,e=this.results,f=this.opts,h=this,j=d.val(),k=a.data(this.container,\"select2-last-term\");if((c===!0||!k||!r(j,k))&&(a.data(this.container,\"select2-last-term\",j),c===!0||this.showSearchInput!==!1&&this.opened())){l=++this.queryCount;var o=this.getMaximumSelectionSize();if(o>=1&&(g=this.data(),a.isArray(g)&&g.length>=o&&J(f.formatSelectionTooBig,\"formatSelectionTooBig\")))return n(\"
    • \"+K(f.formatSelectionTooBig,f.element,o)+\"
    • \"),void 0;if(d.val().length\"+K(f.formatInputTooShort,f.element,d.val(),f.minimumInputLength)+\"\"):n(\"\"),c&&this.showSearch&&this.showSearch(!0),void 0;if(f.maximumInputLength&&d.val().length>f.maximumInputLength)return J(f.formatInputTooLong,\"formatInputTooLong\")?n(\"
    • \"+K(f.formatInputTooLong,f.element,d.val(),f.maximumInputLength)+\"
    • \"):n(\"\"),void 0;f.formatSearching&&0===this.findHighlightableChoices().length&&n(\"
    • \"+K(f.formatSearching,f.element)+\"
    • \"),d.addClass(\"select2-active\"),this.removeHighlight(),i=this.tokenize(),i!=b&&null!=i&&d.val(i),this.resultsPage=1,f.query({element:f.element,term:d.val(),page:this.resultsPage,context:null,matcher:f.matcher,callback:this.bind(function(g){var i;if(l==this.queryCount){if(!this.opened())return this.search.removeClass(\"select2-active\"),void 0;if(g.hasError!==b&&J(f.formatAjaxError,\"formatAjaxError\"))return n(\"
    • \"+K(f.formatAjaxError,f.element,g.jqXHR,g.textStatus,g.errorThrown)+\"
    • \"),void 0;if(this.context=g.context===b?null:g.context,this.opts.createSearchChoice&&\"\"!==d.val()&&(i=this.opts.createSearchChoice.call(h,d.val(),g.results),i!==b&&null!==i&&h.id(i)!==b&&null!==h.id(i)&&0===a(g.results).filter(function(){return r(h.id(this),h.id(i))}).length&&this.opts.createSearchChoicePosition(g.results,i)),0===g.results.length&&J(f.formatNoMatches,\"formatNoMatches\"))return n(\"
    • \"+K(f.formatNoMatches,f.element,d.val())+\"
    • \"),void 0;e.empty(),h.opts.populateResults.call(this,e,g.results,{term:d.val(),page:this.resultsPage,context:null}),g.more===!0&&J(f.formatLoadMore,\"formatLoadMore\")&&(e.append(\"
    • \"+f.escapeMarkup(K(f.formatLoadMore,f.element,this.resultsPage))+\"
    • \"),window.setTimeout(function(){h.loadMoreIfNeeded()},10)),this.postprocessResults(g,c),m(),this.opts.element.trigger({type:\"select2-loaded\",items:g})}})})}},cancel:function(){this.close()},blur:function(){this.opts.selectOnBlur&&this.selectHighlighted({noFocus:!0}),this.close(),this.container.removeClass(\"select2-container-active\"),this.search[0]===document.activeElement&&this.search.blur(),this.clearSearch(),this.selection.find(\".select2-search-choice-focus\").removeClass(\"select2-search-choice-focus\")},focusSearch:function(){y(this.search)},selectHighlighted:function(a){if(this._touchMoved)return this.clearTouchMoved(),void 0;var b=this.highlight(),c=this.results.find(\".select2-highlighted\"),d=c.closest(\".select2-result\").data(\"select2-data\");d?(this.highlight(b),this.onSelect(d,a)):a&&a.noFocus&&this.close()},getPlaceholder:function(){var a;return this.opts.element.attr(\"placeholder\")||this.opts.element.attr(\"data-placeholder\")||this.opts.element.data(\"placeholder\")||this.opts.placeholder||((a=this.getPlaceholderOption())!==b?a.text():b)},getPlaceholderOption:function(){if(this.select){var c=this.select.children(\"option\").first();if(this.opts.placeholderOption!==b)return\"first\"===this.opts.placeholderOption&&c||\"function\"==typeof this.opts.placeholderOption&&this.opts.placeholderOption(this.select);if(\"\"===a.trim(c.text())&&\"\"===c.val())return c}},initContainerWidth:function(){function c(){var c,d,e,f,g,h;if(\"off\"===this.opts.width)return null;if(\"element\"===this.opts.width)return 0===this.opts.element.outerWidth(!1)?\"auto\":this.opts.element.outerWidth(!1)+\"px\";if(\"copy\"===this.opts.width||\"resolve\"===this.opts.width){if(c=this.opts.element.attr(\"style\"),c!==b)for(d=c.split(\";\"),f=0,g=d.length;g>f;f+=1)if(h=d[f].replace(/\\s/g,\"\"),e=h.match(/^width:(([-+]?([0-9]*\\.)?[0-9]+)(px|em|ex|%|in|cm|mm|pt|pc))/i),null!==e&&e.length>=1)return e[1];return\"resolve\"===this.opts.width?(c=this.opts.element.css(\"width\"),c.indexOf(\"%\")>0?c:0===this.opts.element.outerWidth(!1)?\"auto\":this.opts.element.outerWidth(!1)+\"px\"):null}return a.isFunction(this.opts.width)?this.opts.width():this.opts.width}var d=c.call(this);null!==d&&this.container.css(\"width\",d)}}),d=O(c,{createContainer:function(){var b=a(document.createElement(\"div\")).attr({\"class\":\"select2-container\"}).html([\"\",\"  \",\" \",\"\",\"\",\"\",\"
      \",\" \",\"
        \",\"
      \",\"
      \"].join(\"\"));return b},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.focusser.prop(\"disabled\",!this.isInterfaceEnabled())},opening:function(){var c,d,e;this.opts.minimumResultsForSearch>=0&&this.showSearch(!0),this.parent.opening.apply(this,arguments),this.showSearchInput!==!1&&this.search.val(this.focusser.val()),this.opts.shouldFocusInput(this)&&(this.search.focus(),c=this.search.get(0),c.createTextRange?(d=c.createTextRange(),d.collapse(!1),d.select()):c.setSelectionRange&&(e=this.search.val().length,c.setSelectionRange(e,e))),\"\"===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.focusser.prop(\"disabled\",!0).val(\"\"),this.updateResults(!0),this.opts.element.trigger(a.Event(\"select2-open\"))},close:function(){this.opened()&&(this.parent.close.apply(this,arguments),this.focusser.prop(\"disabled\",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},focus:function(){this.opened()?this.close():(this.focusser.prop(\"disabled\",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus())},isFocused:function(){return this.container.hasClass(\"select2-container-active\")},cancel:function(){this.parent.cancel.apply(this,arguments),this.focusser.prop(\"disabled\",!1),this.opts.shouldFocusInput(this)&&this.focusser.focus()},destroy:function(){a(\"label[for='\"+this.focusser.attr(\"id\")+\"']\").attr(\"for\",this.opts.element.attr(\"id\")),this.parent.destroy.apply(this,arguments),N.call(this,\"selection\",\"focusser\")},initContainer:function(){var b,g,c=this.container,d=this.dropdown,e=f();this.opts.minimumResultsForSearch<0?this.showSearch(!1):this.showSearch(!0),this.selection=b=c.find(\".select2-choice\"),this.focusser=c.find(\".select2-focusser\"),b.find(\".select2-chosen\").attr(\"id\",\"select2-chosen-\"+e),this.focusser.attr(\"aria-labelledby\",\"select2-chosen-\"+e),this.results.attr(\"id\",\"select2-results-\"+e),this.search.attr(\"aria-owns\",\"select2-results-\"+e),this.focusser.attr(\"id\",\"s2id_autogen\"+e),g=a(\"label[for='\"+this.opts.element.attr(\"id\")+\"']\"),this.opts.element.focus(this.bind(function(){this.focus()})),this.focusser.prev().text(g.text()).attr(\"for\",this.focusser.attr(\"id\"));var h=this.opts.element.attr(\"title\");this.opts.element.attr(\"title\",h||g.text()),this.focusser.attr(\"tabindex\",this.elementTabIndex),this.search.attr(\"id\",this.focusser.attr(\"id\")+\"_search\"),this.search.prev().text(a(\"label[for='\"+this.focusser.attr(\"id\")+\"']\").text()).attr(\"for\",this.search.attr(\"id\")),this.search.on(\"keydown\",this.bind(function(a){if(this.isInterfaceEnabled()&&229!=a.keyCode){if(a.which===k.PAGE_UP||a.which===k.PAGE_DOWN)return A(a),void 0;switch(a.which){case k.UP:case k.DOWN:return this.moveHighlight(a.which===k.UP?-1:1),A(a),void 0;case k.ENTER:return this.selectHighlighted(),A(a),void 0;case k.TAB:return this.selectHighlighted({noFocus:!0}),void 0;case k.ESC:return this.cancel(a),A(a),void 0}}})),this.search.on(\"blur\",this.bind(function(){document.activeElement===this.body.get(0)&&window.setTimeout(this.bind(function(){this.opened()&&this.search.focus()}),0)})),this.focusser.on(\"keydown\",this.bind(function(a){if(this.isInterfaceEnabled()&&a.which!==k.TAB&&!k.isControl(a)&&!k.isFunctionKey(a)&&a.which!==k.ESC){if(this.opts.openOnEnter===!1&&a.which===k.ENTER)return A(a),void 0;if(a.which==k.DOWN||a.which==k.UP||a.which==k.ENTER&&this.opts.openOnEnter){if(a.altKey||a.ctrlKey||a.shiftKey||a.metaKey)return;return this.open(),A(a),void 0}return a.which==k.DELETE||a.which==k.BACKSPACE?(this.opts.allowClear&&this.clear(),A(a),void 0):void 0}})),u(this.focusser),this.focusser.on(\"keyup-change input\",this.bind(function(a){if(this.opts.minimumResultsForSearch>=0){if(a.stopPropagation(),this.opened())return;this.open()}})),b.on(\"mousedown touchstart\",\"abbr\",this.bind(function(a){this.isInterfaceEnabled()&&(this.clear(),B(a),this.close(),this.selection&&this.selection.focus())})),b.on(\"mousedown touchstart\",this.bind(function(c){n(b),this.container.hasClass(\"select2-container-active\")||this.opts.element.trigger(a.Event(\"select2-focus\")),this.opened()?this.close():this.isInterfaceEnabled()&&this.open(),A(c)})),d.on(\"mousedown touchstart\",this.bind(function(){this.opts.shouldFocusInput(this)&&this.search.focus()})),b.on(\"focus\",this.bind(function(a){A(a)})),this.focusser.on(\"focus\",this.bind(function(){this.container.hasClass(\"select2-container-active\")||this.opts.element.trigger(a.Event(\"select2-focus\")),this.container.addClass(\"select2-container-active\")})).on(\"blur\",this.bind(function(){this.opened()||(this.container.removeClass(\"select2-container-active\"),this.opts.element.trigger(a.Event(\"select2-blur\")))})),this.search.on(\"focus\",this.bind(function(){this.container.hasClass(\"select2-container-active\")||this.opts.element.trigger(a.Event(\"select2-focus\")),this.container.addClass(\"select2-container-active\")})),this.initContainerWidth(),this.opts.element.hide(),this.setPlaceholder()},clear:function(b){var c=this.selection.data(\"select2-data\");if(c){var d=a.Event(\"select2-clearing\");if(this.opts.element.trigger(d),d.isDefaultPrevented())return;var e=this.getPlaceholderOption();this.opts.element.val(e?e.val():\"\"),this.selection.find(\".select2-chosen\").empty(),this.selection.removeData(\"select2-data\"),this.setPlaceholder(),b!==!1&&(this.opts.element.trigger({type:\"select2-removed\",val:this.id(c),choice:c}),this.triggerChange({removed:c}))}},initSelection:function(){if(this.isPlaceholderOptionSelected())this.updateSelection(null),this.close(),this.setPlaceholder();else{var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.setPlaceholder(),c.nextSearchTerm=c.opts.nextSearchTerm(a,c.search.val()))})}},isPlaceholderOptionSelected:function(){var a;return this.getPlaceholder()===b?!1:(a=this.getPlaceholderOption())!==b&&a.prop(\"selected\")||\"\"===this.opts.element.val()||this.opts.element.val()===b||null===this.opts.element.val()},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return\"select\"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=a.find(\"option\").filter(function(){return this.selected&&!this.disabled});b(c.optionToData(d))}:\"data\"in b&&(b.initSelection=b.initSelection||function(c,d){var e=c.val(),f=null;b.query({matcher:function(a,c,d){var g=r(e,b.id(d));return g&&(f=d),g},callback:a.isFunction(d)?function(){d(f)}:a.noop})}),b},getPlaceholder:function(){return this.select&&this.getPlaceholderOption()===b?b:this.parent.getPlaceholder.apply(this,arguments)},setPlaceholder:function(){var a=this.getPlaceholder();if(this.isPlaceholderOptionSelected()&&a!==b){if(this.select&&this.getPlaceholderOption()===b)return;this.selection.find(\".select2-chosen\").html(this.opts.escapeMarkup(a)),this.selection.addClass(\"select2-default\"),this.container.removeClass(\"select2-allowclear\")}},postprocessResults:function(a,b,c){var d=0,e=this;if(this.findHighlightableChoices().each2(function(a,b){return r(e.id(b.data(\"select2-data\")),e.opts.element.val())?(d=a,!1):void 0}),c!==!1&&(b===!0&&d>=0?this.highlight(d):this.highlight(0)),b===!0){var g=this.opts.minimumResultsForSearch;g>=0&&this.showSearch(L(a.results)>=g)}},showSearch:function(b){this.showSearchInput!==b&&(this.showSearchInput=b,this.dropdown.find(\".select2-search\").toggleClass(\"select2-search-hidden\",!b),this.dropdown.find(\".select2-search\").toggleClass(\"select2-offscreen\",!b),a(this.dropdown,this.container).toggleClass(\"select2-with-searchbox\",b))},onSelect:function(a,b){if(this.triggerSelect(a)){var c=this.opts.element.val(),d=this.data();this.opts.element.val(this.id(a)),this.updateSelection(a),this.opts.element.trigger({type:\"select2-selected\",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.close(),b&&b.noFocus||!this.opts.shouldFocusInput(this)||this.focusser.focus(),r(c,this.id(a))||this.triggerChange({added:a,removed:d})}},updateSelection:function(a){var d,e,c=this.selection.find(\".select2-chosen\");this.selection.data(\"select2-data\",a),c.empty(),null!==a&&(d=this.opts.formatSelection(a,c,this.opts.escapeMarkup)),d!==b&&c.append(d),e=this.opts.formatSelectionCssClass(a,c),e!==b&&c.addClass(e),this.selection.removeClass(\"select2-default\"),this.opts.allowClear&&this.getPlaceholder()!==b&&this.container.addClass(\"select2-allowclear\")},val:function(){var a,c=!1,d=null,e=this,f=this.data();if(0===arguments.length)return this.opts.element.val();if(a=arguments[0],arguments.length>1&&(c=arguments[1]),this.select)this.select.val(a).find(\"option\").filter(function(){return this.selected}).each2(function(a,b){return d=e.optionToData(b),!1}),this.updateSelection(d),this.setPlaceholder(),c&&this.triggerChange({added:d,removed:f});else{if(!a&&0!==a)return this.clear(c),void 0;if(this.opts.initSelection===b)throw new Error(\"cannot call val() if initSelection() is not defined\");this.opts.element.val(a),this.opts.initSelection(this.opts.element,function(a){e.opts.element.val(a?e.id(a):\"\"),e.updateSelection(a),e.setPlaceholder(),c&&e.triggerChange({added:a,removed:f})})}},clearSearch:function(){this.search.val(\"\"),this.focusser.val(\"\")},data:function(a){var c,d=!1;return 0===arguments.length?(c=this.selection.data(\"select2-data\"),c==b&&(c=null),c):(arguments.length>1&&(d=arguments[1]),a?(c=this.data(),this.opts.element.val(a?this.id(a):\"\"),this.updateSelection(a),d&&this.triggerChange({added:a,removed:c})):this.clear(d),void 0)}}),e=O(c,{createContainer:function(){var b=a(document.createElement(\"div\")).attr({\"class\":\"select2-container select2-container-multi\"}).html([\"
        \",\"
      • \",\" \",\" \",\"
      • \",\"
      \",\"
      \",\"
        \",\"
      \",\"
      \"].join(\"\"));return b},prepareOpts:function(){var b=this.parent.prepareOpts.apply(this,arguments),c=this;return\"select\"===b.element.get(0).tagName.toLowerCase()?b.initSelection=function(a,b){var d=[];a.find(\"option\").filter(function(){return this.selected&&!this.disabled}).each2(function(a,b){d.push(c.optionToData(b))}),b(d)}:\"data\"in b&&(b.initSelection=b.initSelection||function(c,d){var e=s(c.val(),b.separator,b.transformVal),f=[];b.query({matcher:function(c,d,g){var h=a.grep(e,function(a){return r(a,b.id(g))}).length;return h&&f.push(g),h},callback:a.isFunction(d)?function(){for(var a=[],c=0;c0||(this.selectChoice(null),this.clearPlaceholder(),this.container.hasClass(\"select2-container-active\")||this.opts.element.trigger(a.Event(\"select2-focus\")),this.open(),this.focusSearch(),b.preventDefault()))})),this.container.on(\"focus\",b,this.bind(function(){this.isInterfaceEnabled()&&(this.container.hasClass(\"select2-container-active\")||this.opts.element.trigger(a.Event(\"select2-focus\")),this.container.addClass(\"select2-container-active\"),this.dropdown.addClass(\"select2-drop-active\"),this.clearPlaceholder())})),this.initContainerWidth(),this.opts.element.hide(),this.clearSearch()},enableInterface:function(){this.parent.enableInterface.apply(this,arguments)&&this.search.prop(\"disabled\",!this.isInterfaceEnabled())},initSelection:function(){if(\"\"===this.opts.element.val()&&\"\"===this.opts.element.text()&&(this.updateSelection([]),this.close(),this.clearSearch()),this.select||\"\"!==this.opts.element.val()){var c=this;this.opts.initSelection.call(null,this.opts.element,function(a){a!==b&&null!==a&&(c.updateSelection(a),c.close(),c.clearSearch())})}},clearSearch:function(){var a=this.getPlaceholder(),c=this.getMaxSearchWidth();a!==b&&0===this.getVal().length&&this.search.hasClass(\"select2-focused\")===!1?(this.search.val(a).addClass(\"select2-default\"),this.search.width(c>0?c:this.container.css(\"width\"))):this.search.val(\"\").width(10)},clearPlaceholder:function(){this.search.hasClass(\"select2-default\")&&this.search.val(\"\").removeClass(\"select2-default\")},opening:function(){this.clearPlaceholder(),this.resizeSearch(),this.parent.opening.apply(this,arguments),this.focusSearch(),\"\"===this.search.val()&&this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.search.select()),this.updateResults(!0),this.opts.shouldFocusInput(this)&&this.search.focus(),this.opts.element.trigger(a.Event(\"select2-open\"))},close:function(){this.opened()&&this.parent.close.apply(this,arguments)},focus:function(){this.close(),this.search.focus()},isFocused:function(){return this.search.hasClass(\"select2-focused\")},updateSelection:function(b){var c=[],d=[],e=this;a(b).each(function(){p(e.id(this),c)<0&&(c.push(e.id(this)),d.push(this))}),b=d,this.selection.find(\".select2-search-choice\").remove(),a(b).each(function(){e.addSelectedChoice(this)}),e.postprocessResults()},tokenize:function(){var a=this.search.val();a=this.opts.tokenizer.call(this,a,this.data(),this.bind(this.onSelect),this.opts),null!=a&&a!=b&&(this.search.val(a),a.length>0&&this.open())},onSelect:function(a,c){this.triggerSelect(a)&&\"\"!==a.text&&(this.addSelectedChoice(a),this.opts.element.trigger({type:\"selected\",val:this.id(a),choice:a}),this.nextSearchTerm=this.opts.nextSearchTerm(a,this.search.val()),this.clearSearch(),this.updateResults(),(this.select||!this.opts.closeOnSelect)&&this.postprocessResults(a,!1,this.opts.closeOnSelect===!0),this.opts.closeOnSelect?(this.close(),this.search.width(10)):this.countSelectableResults()>0?(this.search.width(10),this.resizeSearch(),this.getMaximumSelectionSize()>0&&this.val().length>=this.getMaximumSelectionSize()?this.updateResults(!0):this.nextSearchTerm!=b&&(this.search.val(this.nextSearchTerm),this.updateResults(),this.search.select()),this.positionDropdown()):(this.close(),this.search.width(10)),this.triggerChange({added:a}),c&&c.noFocus||this.focusSearch())},cancel:function(){this.close(),this.focusSearch()},addSelectedChoice:function(c){var j,k,d=!c.locked,e=a(\"
    • \"),f=a(\"
    • \"),g=d?e:f,h=this.id(c),i=this.getVal();j=this.opts.formatSelection(c,g.find(\"div\"),this.opts.escapeMarkup),j!=b&&g.find(\"div\").replaceWith(a(\"
      \").html(j)),k=this.opts.formatSelectionCssClass(c,g.find(\"div\")),k!=b&&g.addClass(k),d&&g.find(\".select2-search-choice-close\").on(\"mousedown\",A).on(\"click dblclick\",this.bind(function(b){this.isInterfaceEnabled()&&(this.unselect(a(b.target)),this.selection.find(\".select2-search-choice-focus\").removeClass(\"select2-search-choice-focus\"),A(b),this.close(),this.focusSearch())})).on(\"focus\",this.bind(function(){this.isInterfaceEnabled()&&(this.container.addClass(\"select2-container-active\"),this.dropdown.addClass(\"select2-drop-active\"))})),g.data(\"select2-data\",c),g.insertBefore(this.searchContainer),i.push(h),this.setVal(i)},unselect:function(b){var d,e,c=this.getVal();if(b=b.closest(\".select2-search-choice\"),0===b.length)throw\"Invalid argument: \"+b+\". Must be .select2-search-choice\";if(d=b.data(\"select2-data\")){var f=a.Event(\"select2-removing\");if(f.val=this.id(d),f.choice=d,this.opts.element.trigger(f),f.isDefaultPrevented())return!1;for(;(e=p(this.id(d),c))>=0;)c.splice(e,1),this.setVal(c),this.select&&this.postprocessResults();return b.remove(),this.opts.element.trigger({type:\"select2-removed\",val:this.id(d),choice:d}),this.triggerChange({removed:d}),!0}},postprocessResults:function(a,b,c){var d=this.getVal(),e=this.results.find(\".select2-result\"),f=this.results.find(\".select2-result-with-children\"),g=this;e.each2(function(a,b){var c=g.id(b.data(\"select2-data\"));p(c,d)>=0&&(b.addClass(\"select2-selected\"),b.find(\".select2-result-selectable\").addClass(\"select2-selected\"))}),f.each2(function(a,b){b.is(\".select2-result-selectable\")||0!==b.find(\".select2-result-selectable:not(.select2-selected)\").length||b.addClass(\"select2-selected\")}),-1==this.highlight()&&c!==!1&&this.opts.closeOnSelect===!0&&g.highlight(0),!this.opts.createSearchChoice&&!e.filter(\".select2-result:not(.select2-selected)\").length>0&&(!a||a&&!a.more&&0===this.results.find(\".select2-no-results\").length)&&J(g.opts.formatNoMatches,\"formatNoMatches\")&&this.results.append(\"
    • \"+K(g.opts.formatNoMatches,g.opts.element,g.search.val())+\"
    • \")},getMaxSearchWidth:function(){return this.selection.width()-t(this.search)},resizeSearch:function(){var a,b,c,d,e,f=t(this.search);a=C(this.search)+10,b=this.search.offset().left,c=this.selection.width(),d=this.selection.offset().left,e=c-(b-d)-f,a>e&&(e=c-f),40>e&&(e=c-f),0>=e&&(e=a),this.search.width(Math.floor(e))},getVal:function(){var a;return this.select?(a=this.select.val(),null===a?[]:a):(a=this.opts.element.val(),s(a,this.opts.separator,this.opts.transformVal))},setVal:function(b){var c;this.select?this.select.val(b):(c=[],a(b).each(function(){p(this,c)<0&&c.push(this)}),this.opts.element.val(0===c.length?\"\":c.join(this.opts.separator)))},buildChangeDetails:function(a,b){for(var b=b.slice(0),a=a.slice(0),c=0;c0&&c--,a.splice(d,1),d--);return{added:b,removed:a}},val:function(c,d){var e,f=this;if(0===arguments.length)return this.getVal();if(e=this.data(),e.length||(e=[]),!c&&0!==c)return this.opts.element.val(\"\"),this.updateSelection([]),this.clearSearch(),d&&this.triggerChange({added:this.data(),removed:e}),void 0;if(this.setVal(c),this.select)this.opts.initSelection(this.select,this.bind(this.updateSelection)),d&&this.triggerChange(this.buildChangeDetails(e,this.data()));else{if(this.opts.initSelection===b)throw new Error(\"val() cannot be called if initSelection() is not defined\");this.opts.initSelection(this.opts.element,function(b){var c=a.map(b,f.id);f.setVal(c),f.updateSelection(b),f.clearSearch(),d&&f.triggerChange(f.buildChangeDetails(e,f.data()))})}this.clearSearch()},onSortStart:function(){if(this.select)throw new Error(\"Sorting of elements is not supported when attached to instead.\");this.search.width(0),this.searchContainer.hide()},onSortEnd:function(){var b=[],c=this;this.searchContainer.show(),this.searchContainer.appendTo(this.searchContainer.parent()),this.resizeSearch(),this.selection.find(\".select2-search-choice\").each(function(){b.push(c.opts.id(a(this).data(\"select2-data\")))}),this.setVal(b),this.triggerChange()},data:function(b,c){var e,f,d=this;return 0===arguments.length?this.selection.children(\".select2-search-choice\").map(function(){return a(this).data(\"select2-data\")}).get():(f=this.data(),b||(b=[]),e=a.map(b,function(a){return d.opts.id(a)}),this.setVal(e),this.updateSelection(b),this.clearSearch(),c&&this.triggerChange(this.buildChangeDetails(f,this.data())),void 0)}}),a.fn.select2=function(){var d,e,f,g,h,c=Array.prototype.slice.call(arguments,0),i=[\"val\",\"destroy\",\"opened\",\"open\",\"close\",\"focus\",\"isFocused\",\"container\",\"dropdown\",\"onSortStart\",\"onSortEnd\",\"enable\",\"disable\",\"readonly\",\"positionDropdown\",\"data\",\"search\"],j=[\"opened\",\"isFocused\",\"container\",\"dropdown\"],k=[\"val\",\"data\"],l={search:\"externalSearch\"};return this.each(function(){if(0===c.length||\"object\"==typeof c[0])d=0===c.length?{}:a.extend({},c[0]),d.element=a(this),\"select\"===d.element.get(0).tagName.toLowerCase()?h=d.element.prop(\"multiple\"):(h=d.multiple||!1,\"tags\"in d&&(d.multiple=h=!0)),e=h?new window.Select2[\"class\"].multi:new window.Select2[\"class\"].single,e.init(d);else{if(\"string\"!=typeof c[0])throw\"Invalid arguments to select2 plugin: \"+c;if(p(c[0],i)<0)throw\"Unknown method: \"+c[0];if(g=b,e=a(this).data(\"select2\"),e===b)return;if(f=c[0],\"container\"===f?g=e.container:\"dropdown\"===f?g=e.dropdown:(l[f]&&(f=l[f]),g=e[f].apply(e,c.slice(1))),p(c[0],j)>=0||p(c[0],k)>=0&&1==c.length)return!1}}),g===b?this:g},a.fn.select2.defaults={width:\"copy\",loadMorePadding:0,closeOnSelect:!0,openOnEnter:!0,containerCss:{},dropdownCss:{},containerCssClass:\"\",dropdownCssClass:\"\",formatResult:function(a,b,c,d){var e=[];return E(this.text(a),c.term,e,d),e.join(\"\")},transformVal:function(b){return a.trim(b)},formatSelection:function(a,c,d){return a?d(this.text(a)):b},sortResults:function(a){return a},formatResultCssClass:function(a){return a.css},formatSelectionCssClass:function(){return b},minimumResultsForSearch:0,minimumInputLength:0,maximumInputLength:null,maximumSelectionSize:0,id:function(a){return a==b?null:a.id},text:function(b){return b&&this.data&&this.data.text?a.isFunction(this.data.text)?this.data.text(b):b[this.data.text]:b.text\r\n},matcher:function(a,b){return o(\"\"+b).toUpperCase().indexOf(o(\"\"+a).toUpperCase())>=0},separator:\",\",tokenSeparators:[],tokenizer:M,escapeMarkup:F,blurOnChange:!1,selectOnBlur:!1,adaptContainerCssClass:function(a){return a},adaptDropdownCssClass:function(){return null},nextSearchTerm:function(){return b},searchInputPlaceholder:\"\",createSearchChoicePosition:\"top\",shouldFocusInput:function(a){var b=\"ontouchstart\"in window||navigator.msMaxTouchPoints>0;return b?a.opts.minimumResultsForSearch<0?!1:!0:!0}},a.fn.select2.locales=[],a.fn.select2.locales.en={formatMatches:function(a){return 1===a?\"One result is available, press enter to select it.\":a+\" results are available, use up and down arrow keys to navigate.\"},formatNoMatches:function(){return\"No matches found\"},formatAjaxError:function(){return\"Loading failed\"},formatInputTooShort:function(a,b){var c=b-a.length;return\"Please enter \"+c+\" or more character\"+(1==c?\"\":\"s\")},formatInputTooLong:function(a,b){var c=a.length-b;return\"Please delete \"+c+\" character\"+(1==c?\"\":\"s\")},formatSelectionTooBig:function(a){return\"You can only select \"+a+\" item\"+(1==a?\"\":\"s\")},formatLoadMore:function(){return\"Loading more results\\u2026\"},formatSearching:function(){return\"Searching\\u2026\"}},a.extend(a.fn.select2.defaults,a.fn.select2.locales.en),a.fn.select2.ajaxDefaults={transport:a.ajax,params:{type:\"GET\",cache:!1,dataType:\"json\"}},window.Select2={query:{ajax:G,local:H,tags:I},util:{debounce:w,markMatch:E,escapeMarkup:F,stripDiacritics:o},\"class\":{\"abstract\":c,single:d,multi:e}}}}(jQuery);","(function ($) {\r\n $.fn.ashFilter = function (options) {\r\n var defaults = {\r\n event: 'click',\r\n trigger: $('.ashFilterTrigger').find('button'), //elem user clicks to filter items\r\n filterItem: $('.ashFilter'), //which items will be filtered\r\n triggerAll: 'all', //element which turns off the filter and shows all items\r\n addSelected: null, //class to add to selected trigger\r\n callback: null, //function to execute after items are filtered\r\n callbackOptions: null,\r\n fadeInDur: 300,\r\n fadeOutDur: 300,\r\n offOption: false, //option to hide filterItem when unchecked\r\n triggerGroup: false, //if trigger is part of a group of inputs\r\n preventDefault: false\r\n };\r\n \r\n var settings = $.extend({}, defaults, options);\r\n\r\n return this.each(function () {\r\n var s = settings,\r\n filterTag,\r\n filterTagObj,\r\n groupTag,\r\n groupItems, //for more than one filter group in a single page\r\n obj;\r\n\r\n s.trigger.each(function () {\r\n var thisTrigger = $(this),\r\n groupChecked = false; //create var to see if group of inputs, when a group is used, has an input checked\r\n\r\n function setupFilter(obj) {\r\n //add selcted class to current trigger only\r\n if (s.addSelected) {\r\n s.trigger.removeClass(s.addSelected);\r\n obj.addClass(s.addSelected);\r\n }\r\n //label that is being filtered to show\r\n if ((obj).is('select') === true) {\r\n filterTag = obj.find('option:selected').attr('data-ash-filter-trigger');\r\n } else {\r\n filterTag = obj.attr('data-ash-filter-trigger');\r\n }\r\n groupTag = obj.attr('data-match-group');\r\n\r\n //make JQ object out of label\r\n filterTagObj = $('[data-ash-filter*=\"' + filterTag + '\"]');\r\n groupItems = groupTag ? $('[data-match-group-items*=\"' + groupTag + '\"]') : groupTag; //tag on filterTrigger to identify filter groups and group items\r\n\r\n if (s.triggerGroup) {\r\n s.trigger.each(function () {\r\n if ($(this).prop('checked')) {\r\n groupChecked = true;\r\n }\r\n });\r\n }\r\n //if turning off the filter and displaying all items\r\n if (filterTag === s.triggerAll) {\r\n filter(s.filterItem, null, true, false);\r\n } else if (s.offOption && !(thisTrigger.prop('checked'))) {\r\n //if trigger is part of a group of inputs\r\n if (s.triggerGroup) {\r\n //if all grouped inputs are not checked, then hide filterItem\r\n if (!groupChecked) {\r\n filter(null, s.filterItem, false, true);\r\n }\r\n } else {\r\n filter(null, s.filterItem, false, true);\r\n }\r\n }\r\n else {\r\n if (groupItems) {\r\n filter(filterTagObj, groupItems.find(s.filterItem).not(filterTagObj), false, false);\r\n }else{\r\n filter(filterTagObj, (s.filterItem).not(filterTagObj), false, false);\r\n }\r\n }\r\n }\r\n\r\n $(this).on(s.event, function (e) {\r\n setupFilter($(this));\r\n //set groupChecked to false, setupFilter will run through each input to see if one is checked\r\n groupChecked = false;\r\n\r\n if (s.preventDefault === true) {\r\n e.preventDefault();\r\n }\r\n });\r\n\r\n $(document).ready(function () {\r\n if (thisTrigger.prop('checked')) {\r\n setupFilter(thisTrigger);\r\n }\r\n });\r\n\r\n });\r\n\r\n function filter(onItems, offItems, showAll, hideAll) {\r\n \r\n if (!showAll) {\r\n offItems.fadeOut({\r\n duration: s.fadeOutDur\r\n });\r\n }\r\n \r\n\r\n if (hideAll) {\r\n offItems.fadeOut({\r\n duration: s.fadeOutDur\r\n });\r\n }\r\n else {\r\n onItems.fadeIn({\r\n duration: s.fadeInDur\r\n });\r\n }\r\n\r\n if (s.callback) {\r\n s.callback(s.trigger, s.callbackOptions);\r\n }\r\n\r\n }\r\n\r\n });\r\n };\r\n})(jQuery);\r\n","//CLIENT-SIDE VALIDATION\r\n;(function ($$ashVal, $, undefined) {\r\n\tvar hasError = false; //flag indicating that there is/isn't a validation error\r\n\tvar exclusiveCheckedClass = 'exclusiveChecked'; //class added to exclusive inputs when their associated checkbox is checked\r\n\tvar parentInvalidClass = 'isInvalid'; //class added to input parent to indicate a validation error\r\n\tvar errorMsgContClass = '.validation_message';\r\n\tvar activeValClass = 'js-watching'; //class added to inputs to indicate they will be validated\r\n\tvar valRulePrefix = 'data-val-'; //prefix of data attributes containing validation rules\r\n\tvar wrapper = '
      ';\r\n\tvar valMessageCont = '
      ';\r\n\tvar exclude = Modernizr.touchevents === true ? 'form' : 'form, input[type=date], div.select2-container';\r\n\tvar valForm; //the form to validate\r\n\r\n\t//make this class global so other JS (ie: ashModal) can access it\r\n\t$$ashVal.valClass = 'validate', //class name of inputs to validate\r\n\t$$ashVal.failClass = 'invalidInput';\r\n\t//Custom callbacks for AJAX calls can be registered here. The relevant parameters will be passed\r\n\t// to the function.\r\n\t$$ashVal.ajaxCallbacks = {\r\n\t\terror: null,\r\n\t\tbeforeSend: null\r\n\t};\r\n\t//Array of HTTP error codes for which the default server error UI should not be displayed. This will be passed to $$ash.ajax() and used to determine if $$ash.ajaxFail() will be called in the case of an error.\r\n\t$$ashVal.ajaxIgnoreErrorDisplayCodes = [];\r\n\r\n\t$$ashVal.init = function () {\r\n\t\tvalForm = $('form.validate');\r\n\r\n\t\tvalForm.each(function () {\r\n\t\t\tvar obj = $(this),\r\n\t\t\t\tvalInputs;\r\n\r\n\t\t\t// delete this after scoping data validation and testing\r\n\t\t\tif (obj.hasClass('validateDate')) {\r\n\t\t\t exclude = Modernizr.touchevents === true ? 'form' : 'form, div.select2-container';\r\n\t\t\t}\r\n\t\t //end delete this\r\n\r\n // all inputs within the form that have 'validate' class\r\n\t\t\tvalInputs = obj.find('.' + $$ashVal.valClass).not(exclude);\r\n\r\n\t\t\tvalInputs.each(function () {\r\n\t\t\t var obj = $(this);\r\n if (!obj.hasClass(activeValClass)) { //if input doesn't already have validation bound to it\r\n $$ashVal.setUpMarkup(obj);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t$$ashVal.bindValidationToSubmit(obj, valInputs);\r\n\t\t});\r\n\r\n\t\t$$ashVal.bindConditionalValidation();\r\n\t};\r\n\r\n\t$$ashVal.setUpMarkup = function (obj) { //adds container wrapper and class names for ashVal\r\n\t\tvar siblings = obj.siblings('div.select2-container').add(obj.nextAll('.tooltip-obj')).add(obj.nextAll('span')).not('.ash-countdown-counter, .checkbox-container, .radio-container');\r\n\t\t\r\n\t\tobj.addClass(activeValClass).add(siblings).wrapAll(wrapper);\r\n\r\n\t\tif (obj[0].hasAttribute('data-val-exclusive-name')) {\r\n\t\t\tobj.addClass('exclusiveVal');\r\n\t\t}\r\n\r\n\t\t$$ashVal.bindValidationToField(obj);\r\n\t};\r\n\r\n\t$$ashVal.bindValidationToField = function (obj) {\r\n\t\tvar valEvent = obj.attr('data-val-event') || 'blur change',\r\n\t\t\tcxt = $$ashVal.preValidate(obj);\r\n\t\tif (obj.is('input, select, textarea')) {\r\n\t\t\tobj.on(valEvent, function () { //binds validation function to the event decided above\r\n\t\t\t\t$$ashVal.validate(obj, cxt.rules, cxt.errorText, cxt.parent);\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (obj.hasClass('validate-error')) {\r\n\t\t\t$$ashVal.markInvalid(obj, obj.attr('data-val-msg'), cxt.errorText, cxt.parent);\r\n\t\t}\r\n\t};\r\n\r\n\t$$ashVal.unbindValidationFromField = function (obj) { //FIX THIS\r\n\t\tobj.removeClass('validate js-watching')\r\n\t\t\t.siblings(errorMsgContClass).remove().addBack().unwrap(wrapper);\r\n\t};\r\n\r\n\t$$ashVal.bindConditionalValidation = function () {\r\n\t\tvar leaders = $('[data-val-conditional-target]');\r\n\r\n\t\tleaders.each(function () {\r\n\t\t\tvar obj = $(this);\r\n\t\t\tvar\tfollower = $('#' + obj.attr('data-val-conditional-target'));\r\n\r\n\t\t\tif (obj.is('input, select, textarea')) {\r\n\t\t\t\tobj.off('blur.ashVal').on('blur.ashVal', function () {\r\n\t\t\t\t\tif (obj.val().replace(/ /g, '').length !== 0) {\r\n\t\t\t\t\t\tif (!follower.hasClass(activeValClass)) { //if input doesn't already have validation bound to it\r\n\t\t\t\t\t\t\tfollower.addClass($$ashVal.valClass);\r\n\t\t\t\t\t\t\t$$ashVal.setUpMarkup(follower);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (follower.hasClass(activeValClass)) { //no value and follower has validation bound to it\r\n\t\t\t\t\t\t$$ashVal.unbindValidationFromField(follower);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$$ashVal.bindValidationToSubmit(follower.closest('form'));\r\n\t\t\t\t});\r\n\t\t\t} else if (obj.find('input[type=\"checkbox\"], input[type=\"radio\"]').length) {\r\n\t\t\t\tobj.off('change.ashVal').on('change.ashVal', function () {\r\n\t\t\t\t\tif (obj.find('input:checked').length >= 1) {\r\n\t\t\t\t\t\tif (!follower.hasClass(activeValClass)) { //if input doesn't already have validation bound to it\r\n\t\t\t\t\t\t\tfollower.addClass($$ashVal.valClass);\r\n\t\t\t\t\t\t\t$$ashVal.setUpMarkup(follower);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else if (follower.hasClass(activeValClass)) { //none checked and follower has validation bound to it\r\n\t\t\t\t\t\t$$ashVal.unbindValidationFromField(follower);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t$$ashVal.bindValidationToSubmit(follower.closest('form'));\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\t$$ashVal.bindValidationToSubmit = function (valForm, valInputs) {\r\n\t\tvalInputs = valInputs || valForm.find('.' + $$ashVal.valClass).not(exclude);\r\n\r\n\t\tvalForm.off('submit.ashVal').on('submit.ashVal', function (e) {\r\n\t\t\tvar validationError;\r\n\t\t\tvar\tspForm = (valForm.hasClass('spForm')) ? true : false;\r\n\t\t\tvar\tspLastPg = $('.spFinal').is(':visible');\r\n\r\n\t\t\tif (!valForm.hasClass('ajaxPost')) {\r\n\t\t\t\tif (!spForm || spForm && spLastPg) {\r\n\t\t\t\tvalidationError = $$ashVal.validateAll(valForm, valInputs);\r\n\r\n\t\t\t\t\tif (validationError === false) {\r\n\t\t\t\t\t\tvalForm.off('submit.ashVal').submit();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else if (valForm.hasClass('ajaxPost') && valForm.hasClass('serverVal')) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t$$ashVal.serverVal(valForm);\r\n\t\t\t}\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\t\tif (Modernizr.input.autofocus) { //if browser supports autofocus\r\n\t\t\t$('[autofocus]:not(:focus)').eq(0).focus(); //set autofocus based on property set\r\n\t\t}\r\n\t};\r\n\r\n\t$$ashVal.validateAll = function (valForm, valInputs, opts) { //opts = options to POST with.\r\n\t\t//pass in \"undefined\" for valInputs to validate all inputs with validate class\r\n\t\tvar obj = valForm;\r\n\t\tvar\tvalidationError = false; //flag for outside function to indicate a validation error\r\n\r\n\t\t$$ash.removeButtonOnSubmit(obj);\r\n\r\n\t\tvalInputs = valInputs || obj.find('.' + $$ashVal.valClass).not(exclude);\r\n\r\n\t\tvalInputs.each(function () {\r\n\t\t\tvar obj = $(this);\r\n\t\t\tif (obj.is(':hidden')) return; //Don't validate fields that are currently hidden\r\n\t\t\tvar\tcxt = $$ashVal.preValidate(obj);\r\n\r\n\t\t\tif (obj.is('input:not(.' + exclusiveCheckedClass + '), select, textarea')) {\r\n\t\t\t\t$$ashVal.validate(obj, cxt.rules, cxt.errorText, cxt.parent); //normal validation like text fields, etc.\r\n\t\t\t} else if (obj.find('input[type=\"checkbox\"], input[type=\"radio\"]').length) {\r\n\t\t\t\t$$ashVal.validateOnSubmit(obj, cxt.parent, cxt.errorText, cxt.rules); //checkbox/radio containers\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (obj.find('.' + $$ashVal.failClass + ':visible').length) { //if there's an error in the fields, prevent submission of form\r\n\t\t\tvalidationError = true;\r\n\r\n\t\t\tobj.trigger('validationFail');\r\n\r\n\t\t\tif (!obj.parents('.ashModal').length) {\r\n\t\t\t\t$$ashVal.scrollForm(obj.find(errorMsgContClass + ':visible').first()); //scroll to first error field\r\n\t\t\t}\r\n\t\t} else { //if no validation errors\r\n\t\t\tvalidationError = false;\r\n\t\t}\r\n\r\n\t\treturn validationError;\r\n\t};\r\n\r\n\t$$ashVal.scrollForm = function (obj) { //scroll a spot, the obj selector, in the form\r\n\t\tvar topOffset;\r\n\t\tvar header = $('header');\r\n\t\tvar mobileHeader = $('.mobile-header');\r\n\r\n\t\t//if to change offset height if it is a mobile view\r\n\t\tif ($(window).width() < 768) {\r\n\t\t\ttopOffset = obj.offset().top - mobileHeader.outerHeight() - 50\r\n\t\t} else {\r\n\t\t\ttopOffset = obj.offset().top - header.outerHeight() - 50\r\n\t\t}\r\n\r\n\t if (!obj.isOnScreen() || obj.offset().top > topOffset) {\r\n\t\t\t$('html, body').stop().animate({\r\n\t\t\t\tscrollTop: topOffset\r\n\t\t\t}, 1000);\r\n\t\t}\r\n\t};\r\n\r\n\t$$ashVal.preValidate = function (obj) { //Grabbing parent, errorText, and rules for performance\r\n\t\tvar objParent = obj.parent();\r\n\t\tvar\terrorMsgCont = objParent.find(errorMsgContClass).last();\r\n\t\tvar\trules = {};\r\n\r\n\t\t$.each(obj[0].attributes, function () { //grab all attributes of obj. [0] is to grab DOM element, not jQuery element\r\n\t\t\tif (this.specified && this.name.indexOf(valRulePrefix) !== -1) { //IE8 bug fix and narrow down attributes to validation rules\r\n\t\t\t\trules[this.name.replace(valRulePrefix, '').replace(/-([a-z])/g, function (g) { return g[1].toUpperCase(); })] = this.value;\r\n\t\t\t\t//strip out the data-attribute prefix and camelCase the rule name eg: data-val-length-min to lengthMin\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t//if there aren't any rules yet, add required as the default. this allows you to only add class validate to inputs without custom data attributes or messages\r\n\t\tif (jQuery.isEmptyObject(rules)) {\r\n\t\t\trules.required = 'This is required.';\r\n\t\t}\r\n\t\tif (obj.attr('data-val-exclusive-name')) { //if exclusive, setup reciprocal clearing functions\r\n\t\t\t$$ashVal.exclusiveRecipricalClearing(obj);\r\n\t\t}\r\n\t\treturn { //returns obj's context\r\n\t\t\tparent: objParent, //object parent\r\n\t\t\terrorText: errorMsgCont, //container that holds the error message\r\n\t\t\trules: rules //validation rules for this particular input\r\n\t\t};\r\n\t};\r\n\r\n\t$$ashVal.exclusiveRecipricalClearing = function (obj) {\r\n\t\tvar excObj = obj.find('[data-val-exclusive-item]'); //exclusive input item\r\n\t\tvar\tvalObj = obj.find('.' + $$ashVal.valClass).not(exclude);\r\n\t\tvar\tpopData = obj.hasClass('popData');\r\n\t\tvar\tallObj = obj.find('input, select, textarea').not('[data-val-exclusive-item], .select2-offscreen, .select2-input');\r\n\t\tvar\tothObj = obj.find('input[type=checkbox], input[type=radio]').not('[data-val-exclusive-item]'); //other checkbox and radio fields\r\n\t\tvar\ttxtObj = valObj.filter('input').not('[data-val-exclusive-item], [type=checkbox], [type=radio]'); //text fields opposite exclusive\r\n\t\tvar\tslcObj = valObj.filter('select');\r\n\t\tfunction stopWatching(obj) {\r\n\t\t\t//remove validating classes\r\n\t\t\tif (obj.is('[type=checkbox]') || obj.is('[type=radio]')) {\r\n\t\t\t\tobj.removeClass('validate js-watching').addClass(exclusiveCheckedClass);\r\n\t\t\t} else {\r\n\t\t\t\tobj.val('').removeClass('validate js-watching').addClass(exclusiveCheckedClass);\r\n\t\t\t}\r\n\r\n\t\t\t$$ashVal.clearValidation(obj);\r\n\t\t}\r\n\r\n\t\tfunction startWatching(obj) {\r\n\t\t\tobj.addClass('validate js-watching').removeClass(exclusiveCheckedClass);\r\n\t\t}\r\n\t // when page loads check for exclusive element (checkbox) value\r\n\t\tif (excObj.is(':checked')) {\r\n\t\t // clear text, select, and checkboxes, and stop watching them\r\n\t\t txtObj.each(function () {\r\n\t\t stopWatching($(this));\r\n $(this).val('');\r\n });\r\n\t\t othObj.each(function () {\r\n\t\t stopWatching($(this));\r\n $(this).prop('checked', false).trigger('change');\r\n });\r\n\t\t slcObj.each(function () {\r\n\t\t stopWatching($(this));\r\n $(this).val('');\r\n });\r\n\t\t}\r\n\r\n\t\t// when exclusive item clicked\r\n\t\texcObj.on('click', function () {\r\n\t\t\t// if checked after click\r\n\t\t // clear text, select, and checkboxes, and stop watching them\r\n\t\t\tif (excObj.is(':checked')) {\r\n\t\t\t txtObj.each(function () { stopWatching( $(this) ); $(this).val(''); });\r\n\t\t\t\tothObj.each(function () { stopWatching( $(this) ); $(this).prop('checked', false).trigger('change'); });\r\n\t\t\t\tslcObj.each(function () { stopWatching( $(this) ); $(this).val(''); });\r\n\t\t\t// if NOT checked after click\r\n\t\t\t// start watching all inputs again\r\n\t\t\t} else {\r\n\t\t\t\ttxtObj.each(function () { startWatching( $(this) ); });\r\n\t\t\t\tothObj.each(function () { startWatching( $(this) ); });\r\n\t\t\t\tslcObj.each(function () { startWatching( $(this) ); });\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t// when any radio button or checkbox is clicked\r\n\t\tothObj.on('click', function () {\r\n\t\t\t// clear exclusive item\r\n\t\t\texcObj.prop('checked', false);\r\n\t\t});\r\n\r\n\t\t// when blur event fires on any text input\r\n\t\ttxtObj.on('blur', function() {\r\n\t\t\t// start watching text, select, and checkboxes again\r\n\t\t\ttxtObj.each(function () { startWatching( $(this) ); });\r\n\t\t\tothObj.each(function () { startWatching( $(this) ); });\r\n\t\t\t//slcObj.each(function () { startWatching( $(this) ); });\r\n\r\n\t\t\t// clear exclusive item\r\n\t\t\texcObj.prop('checked', false);\r\n\t\t});\r\n\t};\r\n\r\n\t$$ashVal.equalToFields = function (equalToFld) {\r\n\t\tif (equalToFld && $('[data-val-equalto-other=\"' + equalToFld + '\"]').length > 1) { //if field matching is active and there are two fields\r\n\t\t\t//check first and last matching values are equal\r\n\t\t\tif ($('[data-val-equalto-other=\"' + equalToFld + '\"]').first().val() === $('[data-val-equalto-other=\"' + equalToFld + '\"]').last().val()) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t};\r\n\r\n\t$$ashVal.exclusive = function (exclusiveName) {\r\n\t\tvar eParent = $('[data-val-exclusive-name=\"' + exclusiveName + '\"]'); //exclusive items container\r\n\t\tvar\teItem = eParent.find('[data-val-exclusive-item]'); //exclusive checkbox\r\n\t\tvar\tchkbxs = eParent.find('input[type=\"checkbox\"]').not('[data-val-exclusive-item], :disabled'); //other checkboxes in the question\r\n\t\tvar\ttxtflds = eParent.find('input').not('[type=checkbox], [type=radio], :hidden, :disabled'); //other text fields in question\r\n\t\tvar\tslcts = eParent.find('select').not(':disabled');\r\n\t\tvar\tisExChkd = false; //is exclusive checkbox checked\r\n\t\tvar\tisOtherInptUsed = false; //is other textbox or checkboxes used\r\n\r\n\t\tif (eItem && eItem.is(':checked')) { //if exclusive is checked\r\n\t\t\tisExChkd = true;\r\n\t\t}\r\n\t\tchkbxs.each(function () {\r\n\t\t\tif ($(this).prop('checked')) { //if other checkboxes are checked, exclusive is false\r\n\t\t\t\tisOtherInptUsed = true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\ttxtflds.each(function () { //if other text fields have value, exclusive is false\r\n\t\t\tif ($(this).val().length > 0) {\r\n\t\t\t\tisOtherInptUsed = true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\tslcts.each(function () { //if other select boxes have value, exclusive is false\r\n\t\t\tif ($(this).val().length > 0) {\r\n\t\t\t\tisOtherInptUsed = true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\t//if exclusive checked and other inputs used, it is not exclusive\r\n\t\treturn isExChkd === isOtherInptUsed ? false : true; //return result\r\n\t};\r\n\r\n\t$$ashVal.validate = function (obj, rules, errorMsgCont, objParent) {\r\n\t\t//caching these variables for performance\r\n\t var value = $.trim(obj.val()); //user input\r\n\t\tvar valueAsInt = parseInt(value, 10); //user input as an integer\r\n\t\tvar valueLength = value.length; //user input length\r\n\t\tvar required = rules.required;\r\n\t\tvar length = rules.length;\r\n\t\tvar range = rules.range;\r\n\t\tvar equalto = rules.equalto;\r\n\t\tvar equaltoOther = rules.equaltoOther;\r\n\t\tvar dataTypeFormat = rules.dataTypeFormat;\r\n\t\tvar dataTypeFormatMsg = rules.dataType || rules.dataTypeFormatMsg; //AO: rules.dataTypeFormatMsg makes more sense but too late to change markup\r\n\t\tvar regex = rules.regex;\r\n\t\tvar regexPattern = rules.regexPattern;\r\n\t\tvar regexExp;\r\n\r\n\t\thasError = false; //reset hasError flag\r\n\r\n\t\tif (obj.hasClass($$ashVal.failClass)) { //reset validation message\r\n\t\t\t$$ashVal.clearValidation(obj, objParent);\r\n\t\t}\r\n\t\tif (required) { //if input is required\r\n\t\t\t//strip whitespace so that spaces don't cause this validation to pass\r\n\t\t\tif (value.length === 0) {\r\n\t\t\t\t$$ashVal.markInvalid(obj, required, errorMsgCont, objParent);\r\n\t\t\t}\r\n\t\t} if (!hasError && length) {\r\n\t\t\tif (valueLength < rules.lengthMin || valueLength > rules.lengthMax) {\r\n\t\t\t\t$$ashVal.markInvalid(obj, length, errorMsgCont, objParent);\r\n\t\t\t}\r\n\t\t} if (!hasError && range) {\r\n\t\t if (valueAsInt < rules.rangeMin || valueAsInt > rules.rangeMax) {\r\n\t\t\t\t$$ashVal.markInvalid(obj, range, errorMsgCont, objParent);\r\n\t\t\t}\r\n\t\t} if (!hasError && equalto) {\r\n\t\t\t//if validating last matching element, check if fields are matching\r\n\t\t\tif (obj.index() === $('[data-val-equalto-other=\"' + equaltoOther + '\"]').last().index() && !$$ashVal.equalToFields(equaltoOther)) {\r\n\t\t\t\t$$ashVal.markInvalid(obj, equalto, errorMsgCont, objParent);\r\n\t\t\t}\r\n\t\t} if (!hasError && dataTypeFormat) {\r\n\t\t\tswitch (dataTypeFormat) {\r\n\t\t\t\tcase 'string':\r\n\t\t\t\t\tif (typeof value !== 'string') {\r\n\t\t\t\t\t\t$$ashVal.markInvalid(obj, dataTypeFormatMsg, errorMsgCont, objParent);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'number':\r\n\t\t\t\t\tif (isNaN(value) === true) {\r\n\t\t\t\t\t\t$$ashVal.markInvalid(obj, dataTypeFormatMsg, errorMsgCont, objParent);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'date':\r\n\t\t\t\t\tif (isNaN(Date.parse(value))) {\r\n\t\t\t\t\t\t$$ashVal.markInvalid(obj, regex, errorMsgCont, objParent);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t} if (!hasError && regex) {\r\n\t\t\ttry {\r\n\t\t\t\tregexExp = new RegExp(regexPattern);\r\n\t\t\t\tif (obj.val() && !regexExp.test(obj.val())) {\r\n\t\t\t\t\t$$ashVal.markInvalid(obj, regex, errorMsgCont, objParent);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tcatch (e) {\r\n\t\t\t\tconsole.log('Invalid RegEx pattern. Please contact support.');\r\n\t\t\t\t$$ashVal.markInvalid(obj, 'Invalid RegEx pattern. Please contact support.', errorMsgCont, objParent);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (hasError === false) {\r\n\t\t\t$$ashVal.clearValidation(obj, objParent);\r\n\t\t}\r\n\t};\r\n\r\n\t$$ashVal.validateOnSubmit = function (obj, objParent, errorMsgCont, rules) { //for inputs that can only be validated on submit (checkboxes, etc)\r\n\t\t//caching these variables for performance\r\n\t\tvar required = rules.required;\r\n\t\tvar\texclusiveName = rules.exclusiveName;\r\n\t\tvar\tequalto = rules.equalto;\r\n \r\n\t\thasError = false; //reset hasError flag\r\n\r\n\t\tif (objParent.hasClass(parentInvalidClass)) { //reset validation message\r\n\t\t $$ashVal.clearValidation(obj, objParent);\r\n\t\t}\r\n\r\n\t\tif (obj.find('input:checked').length === 0 && !obj.is('[data-val-exclusive-name]')) {\r\n\t\t $$ashVal.markInvalid(obj, required, errorMsgCont, objParent);\r\n\t\t}\r\n\r\n\t\tif (rules.equaltoOther && !$$ashVal.equalToFields(rules.equaltoOther)) { //if field matching is in use and fields not matching\r\n\t\t $$ashVal.markInvalid(obj, equalto, errorMsgCont, objParent);\r\n\t\t}\r\n\r\n\t\tif (exclusiveName && !$$ashVal.exclusive(exclusiveName)) {\r\n\t\t\t$$ashVal.markInvalid(obj, obj.find('[data-val-exclusive]').attr('data-val-exclusive'), errorMsgCont, objParent);\r\n\t\t}\r\n\r\n\t\tif (hasError === false) {\r\n\t\t $$ashVal.clearValidation(obj, objParent);\r\n\t\t}\r\n\t};\r\n\r\n\t//function that AJAX POSTs it to the form action\r\n\t$$ashVal.serverVal = function (obj) {\r\n\t var dataToSend = $$ash.serializeDataToObject(obj);\r\n\t\tvar actionUrl = obj.attr('action');\r\n\t\tvar errorMsgCont = $('.serverError');\r\n\r\n\t\t$$ash.ajax({\r\n\t\t\t\tobj: obj,\r\n\t\t\t\turl: actionUrl,\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\tdata: JSON.stringify(dataToSend),\r\n\t\t\t\tcontentType:\"application/json; charset=utf-8\",\r\n\t\t\t\tdataType:\"json\",\r\n\t\t\t\tfailMessageLocation: errorMsgCont,\r\n\t\t\t\tfailMessagePos: 'prepend',\r\n\t\t\t\tfailTypeNew: true,\r\n\t\t\t\tajaxIgnoreErrorDisplayCodes: $$ashVal.ajaxIgnoreErrorDisplayCodes,\r\n\t\t\t\terror: function (XhrResponse) {\r\n\t\t\t\t\tif (typeof $$ashVal.ajaxCallbacks.error === 'function') $$ashVal.ajaxCallbacks.error(XhrResponse);\r\n\t\t\t\t\tif ($$ashVal.ajaxIgnoreErrorDisplayCodes.indexOf(XhrResponse.status) === -1) {\r\n\t\t\t\t\t\t$$ash.scroller({\r\n\t\t\t\t\t\t\tduration: 1000\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tbeforeSend: function () {\r\n\t\t\t\t\tif (typeof $$ashVal.ajaxCallbacks.beforeSend === 'function') $$ashVal.ajaxCallbacks.beforeSend();\r\n\t\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\t$$ashVal.bindValidationClear = function (obj) {\r\n\t\tif (obj.is('input') || obj.is('select') || obj.hasClass('select2-container') || obj.is('textarea')) {\r\n\r\n\t\t} else {\r\n\t\t\tobj.on('change', function () {\r\n\t\t\t\t$$ashVal.clearValidation(obj);\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\t//function that makes hasError true and shows the invalid message\r\n\t$$ashVal.markInvalid = function (obj, msg, errorMsgCont, objParent) {\r\n\t\tmsg = msg || 'Validation error'; //validation message\r\n\t\terrorMsgCont = errorMsgCont || null; //container that holds the error message\r\n\t\tobjParent = objParent || obj.parent(); //object parent\r\n\r\n\t\tobj.addClass($$ashVal.failClass);\r\n\t\tobjParent.addClass(parentInvalidClass);\r\n\r\n\t\tif(objParent.find(errorMsgContClass).length == 0) {\r\n\t\t\tobjParent.append(valMessageCont);\r\n\t\t\tobjParent.find(errorMsgContClass).text(msg);\r\n\t\t}\r\n\t\t\r\n \r\n\t\tif (!errorMsgCont) {\r\n\t\t\tobj.after(valMessageCont);\r\n\t\t\terrorMsgCont = objParent.find(errorMsgContClass);\r\n\t\t}\r\n\r\n\t\terrorMsgCont.text(msg);\r\n\r\n\t\tif (typeof hasError !== 'undefined') {\r\n\t\t\thasError = true;\r\n\t\t}\r\n\r\n\t\t$$ashVal.bindValidationClear(obj);\r\n\t};\r\n\r\n\t//function that makes hasError false and hides the invalid message\r\n\t$$ashVal.clearValidation = function (obj, objParent) {\r\n\t\tvar parentInvalidClass = parentInvalidClass || 'isInvalid';\r\n\t\tvar validationText;\r\n\r\n\t\tobjParent = objParent || obj.parent();\r\n\r\n\t\tobj.removeClass($$ashVal.failClass);\r\n\t\tobjParent.removeClass(parentInvalidClass);\r\n\t\t\r\n\t\tif(objParent.find(errorMsgContClass.length !== 0 )) {\r\n\t\t\tobjParent.find(errorMsgContClass).remove();\r\n\t\t}\r\n\t\t\r\n\t\tif (obj.hasClass('validate-error')) {\r\n\t\t\tobj.removeClass('validate-error');\r\n\t\t}\r\n\r\n\t\tif (typeof hasError !== 'undefined') {\r\n\t\t\thasError = false;\r\n\t\t}\r\n\t};\r\n\r\n}(window.$$ashVal = window.$$ashVal || {}, jQuery));\r\n","//main off canvas nav\r\nfunction offCanvasNavInit() {\r\n\tvar navbarToggle = $('.navbar-toggle'),\r\n\t\tslideContent = $('.slider-cont'),\r\n\t\tmainContent = $('.main-content'),\r\n\t\tdropdownToggle = $(\".dropdown-toggle ins\"),\r\n\t\tbody = $('body'),\r\n\t\tmask = $('
      ', { 'class': 'mask' }),\r\n\t\tmobileHeader = $('.mobile-header');\r\n\r\n\tif (!body.hasClass('offCanvas')) {\r\n\t\t//insert the mask into the DOM\r\n\t\tslideContent.prepend(mask);\r\n\r\n\t\t//bind click event to mask\r\n\t\tmask.on('click', function () {\r\n\t\t\tif (body.hasClass('active')) {\r\n\t\t\t\tbody.removeClass('active');\r\n\r\n\t\t\t\tmobileHeader.css({\r\n\t\t\t\t\t'top': 'auto'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t//bind click event to menu button\r\n\t\tnavbarToggle.on('click', function () {\r\n\t\t\tvar offset;\r\n\t\t\tbody.toggleClass('active');\r\n\t\t\tif (body.hasClass('active')) {\r\n\t\t\t\t//move header down. position fixed and use of transform requires a top position\r\n\t\t\t\toffset = $('header').offset().top;\r\n\t\t\t\tmobileHeader.css({\r\n\t\t\t\t\t'top': offset\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (Modernizr.mq(\"screen and (max-width: 767px)\")) {\r\n\t\t\tdropdownToggle.on(\"click\", function () {\r\n\t\t\t\t$(this).parent().toggleClass(\"dropdown-selected\");\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tbody.addClass('offCanvas');\r\n\t}\r\n}","(function ($) {\r\n\t$.fn.ashModal = function (options) {\r\n\t\tvar defaults = {\r\n\t\t\t'closeContent': 'Close', //anchor text unless closeBtnSrc is not null\r\n\t\t\t'closeBtnSrc': null, //source link used to add image to close\r\n\t\t\t'ovrContent': null, //overlay on top of content\r\n\t\t\t'callbackAfterClick': null, //callback executed after a click on the modal occurs\r\n\t\t\t'callbackAfterClose': null, //callback executed after the modal is closed\r\n\t\t\t'addModalClass': null //additional class that needs added to ashModalContent to override default CSS\r\n\t\t};\r\n\r\n\t\tvar settings = $.extend({}, defaults, options);\r\n\r\n\t\treturn this.each(function () {\r\n\t\t\tvar obj = $(this);\r\n\t\t\tvar o = settings;\r\n\r\n\t\t\tvar format = o.format || obj.attr('data-ash-ashModalFormat') || 'image';\r\n\t\t\tvar runOnce = obj.attr('data-ash-run-once') || 'false';\r\n\t\t\t//tag to remove close and escape options from modal\r\n\t\t\tvar noClose = obj.attr('data-ash-no-close') || 'false';\r\n\t\t\tvar closeContent = o.closeContent;\r\n\t\t\tvar closeBtnSrc = o.closeBtnSrc;\r\n\t\t\tvar ovrContent = $(o.ovrContent).html() || '';\r\n\t\t\tvar callbackAfterClick = o.callbackAfterClick;\r\n\t\t\tvar callbackAfterClose = o.callbackAfterClose;\r\n\t\t\tvar addModalClass = o.addModalClass;\r\n\t\t\t//width of video\r\n\t\t\tvar objWidth = obj.attr('data-ash-ashModalWidth') || '';\r\n\t\t\t//height of video\r\n\t\t\tvar objHeight = obj.attr('data-ash-ashModalHeight') || '';\r\n\t\t\t//title of video\r\n\t\t\tvar objTitle = obj.attr('title') || '';\r\n\t\t\t//href of embedded video\r\n\t\t\tvar theHref = obj.attr('href');\r\n\t\t\t//source link of video player\r\n\t\t\tvar theMediaPlayer = obj.attr('data-ash-mediaPlayer') || '';\r\n\t\t\t//source link of OGG video\r\n\t\t\tvar theOgg = obj.attr('data-ash-oggFallback') || '';\r\n\t\t\t//source of flash video\r\n\t\t\tvar theHrefFallback = obj.attr('data-ash-videoFallback') || '';\r\n\t\t\t//source url of json data\r\n\t\t\tvar jsonUrl = obj.attr('data-ash-json-url');\r\n\t\t\t//source url of template\r\n\t\t\tvar templateUrl = obj.attr('data-ash-template-url');\r\n\t\t\t//content to show up in modal\r\n\t\t\tvar theContent;\r\n\t\t\t//for HTML content get the children from theContent\r\n\t\t\tvar htmlContent;\r\n\t\t\t//flag to only build the modal once\r\n\t\t\tvar buildModal = true;\r\n\t\t\t//flag to determine use of template\r\n\t\t\tvar useTemplate = false;\r\n\t\t\tvar target = obj.attr('data-ash-modal-target') ? $('#' + obj.attr('data-ash-modal-target')) : 'body';\r\n\t\t\t//If set, then any .loader elements will be removed and submit buttons will\r\n\t\t\t// be shown to cleanup from previous display of the modal.\r\n\t\t\tvar restoreButtons = obj.attr('data-ash-restore-buttons') ? true : false;\r\n\t\t\t//element used to contain the modal once the HTML has been built\r\n\t\t\tvar modalElem;\r\n\r\n\t\t\t//change HTML based on type of modal\r\n\t\t\tfunction createModalContent() {\r\n\t\t\t\tswitch (format) {\r\n\t\t\t\t\tcase 'flash':\r\n\t\t\t\t\t theContent = '' + objTitle;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'html5video':\r\n\t\t\t\t\t\ttheContent = objTitle + '';\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'html':\r\n\t\t\t\t\t\t//if the modal content is coming from the page template\r\n\t\t\t\t\t\tif (o.theContent.children().length !== 0) {\r\n\t\t\t\t\t\t\thtmlContent = o.theContent.children();\r\n\t\t\t\t\t\t\tuseTemplate = false;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\thtmlContent = '
      ';\r\n\t\t\t\t\t\t\tuseTemplate = true;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t//image as default\r\n\t\t\t\t\t\ttheContent = '';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//markup for objTitle used for videos\r\n\t\t\tif (objTitle) {\r\n\t\t\t\tobjTitle = '

      ' + obj.attr('title') + '

      ';\r\n\t\t\t}\r\n\r\n\t\t\t//markup for close button image\r\n\t\t\tif (closeBtnSrc) {\r\n\t\t\t\tcloseContent = '\"Close';\r\n\t\t\t}\r\n\r\n\t\t\tcreateModalContent(); //determine which content to create\r\n\r\n\t\t\t//Template DOM Elements and classes\r\n\t\t\tvar closeBtn = noClose == 'true' ? '' : '' + closeContent + 'Close modal window', //if the no close tab is selected, clear out button\r\n\t\t\t\tcontentCont = '
      ' + theContent + '
      ',\r\n\t\t\t\tcontentClass = addModalClass ? addModalClass + ' ashModalContent' : 'ashModalContent', //if addModalClass add it, otherwise class is ashModalContent\r\n\t\t\t\tmodalContent = '
      ' + closeBtn + contentCont + ovrContent + '
      ',\r\n\t\t\t\tcontainer = 'ashModalCont',\r\n\t\t\t\tmask = '
      ';\r\n\r\n\t\t\tobj.on('click.ashModal', function (e) {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t//if this is the first time through, build the modal body, else just show the saved modal\r\n\t\t\t\tif (buildModal) {\r\n\t\t\t\t\tbuildModal = false;\r\n\t\t\t\t\tvar modalBody = $('
      ' + mask + '
      ' + modalContent + '
      ');\r\n\t\t\t\t\t//if HTML format clear HTML and append content\r\n\t\t\t\t\tif (format == 'html') {\r\n\t\t\t\t\t\t//if ashModalPanel is in the body and append to modalBody to avoid double ashModalPanel containers\r\n\t\t\t\t\t\tif ($(htmlContent).find('.ashModalPanel').length > 0) {\r\n\t\t\t\t\t\t\tmodalBody.html(htmlContent.prepend(mask));\r\n\t\t\t\t\t\t}else{ //else append to the ashModalPanel frame\r\n\t\t\t\t\t\t\tmodalBody.find('.ashModalPanel').html('').append(htmlContent);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//if HTML is in the base page, remove it\r\n\t\t\t\t\t\tif (o.theContent.length) {\r\n\t\t\t\t\t\t\to.theContent.children().detach();\r\n\t\t\t\t\t\t\to.theContent.remove();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//append new modal to body\r\n\t\t\t\t\tmodalBody.appendTo(target).fadeIn(250, function () {\r\n\t\t\t\t\t\tif (noClose == 'false'){ //if not no close, add close elements\r\n\t\t\t\t\t\t\tinitClose(modalBody, '.ashModalClose, .ashModalExit');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (format == 'html' && useTemplate) {\r\n\t\t\t\t\t\t\t$$ash.getTemplateData(obj, jsonUrl, templateUrl, 'ashModalTemplate', callbackAfterClick);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\t//check to see if the saved modalElem has content\r\n\t\t\t\t\t//if not, then insert the content before appending to the target\r\n\t\t\t\t\tif (modalElem.find('.ashModalPanel').html() === '') {\r\n\t\t\t\t\t\tmodalElem.find('.ashModalPanel').html(htmlContent);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//If the option is set, restore any buttons that were replaced with loaders.\r\n\t\t\t\t\tif (restoreButtons) {\r\n\t\t\t\t\t\tmodalElem.find('.loader').remove();\r\n\t\t\t\t\t\tmodalElem.find('button[type=\"submit\"]').show();\r\n\t\t\t\t\t\tmodalElem.find('input[type=\"submit\"]').show();\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//append existing modal to body\r\n\t\t\t\t\tmodalElem.appendTo(target).fadeIn(250);\r\n\t\t\t\t}\r\n\t\t //if redirect (links) is not defined\r\n\t\t\t\tvar links = (typeof bodyLinkProcessing !== 'undefined') ? bodyLinkProcessing() : null;\r\n\t\t\t\tif (links) {\r\n\t\t\t\t bodyLinkRedir(links);\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\t//Find the first anchor tag in the modal and set keyboard focus here.\r\n\t\t\t\t// This should be the close link in the top right 99% of the time.\r\n\t\t\t\tif(document.querySelector('.ashModal a')){\r\n\t\t\t\t\tdocument.querySelector('.ashModal a').focus();\r\n\t\t\t\t} \r\n\r\n\t\t\t\t//if modal open callback is set, run it\r\n\t\t\t\tif(typeof(callbackAfterClick) === 'function' && !useTemplate){\r\n\t\t\t\t\tcallbackAfterClick(obj);\r\n\t\t\t\t}\r\n\t\t\t\t//if width is specified, change width\r\n\t\t\t\tif (objWidth) {\r\n\t\t\t\t\t$('.' + contentClass).css('width', objWidth);\r\n\t\t\t\t}\r\n\t\t\t\t$('html, body').addClass('hasModalOpen');\r\n\t\t\t\t\r\n\t\t\t\tif($('.ashModalContent').outerHeight(true) > $(window).height()) {\r\n\t\t\t\t\tfunction scrollbarWidth() {\r\n\t\t\t\t\t var div = $('
      ');\r\n\t\t\t\t\t // Append our div, do our calculation and then remove it\r\n\t\t\t\t\t $('.ashModal').append(div);\r\n\t\t\t\t\t var w1 = $('div', div).innerWidth();\r\n\t\t\t\t\t div.css('overflow-y', 'scroll');\r\n\t\t\t\t\t var w2 = $('div', div).innerWidth();\r\n\t\t\t\t\t $(div).remove();\r\n\t\t\t\t\t return (w1 - w2);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$('.ashModalMask').css('width', 'calc(100% - ' + scrollbarWidth() + 'px)');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tfunction initClose(context, trigger) {\r\n\t\t\t\t$('body').on('keyup', function (e) {\r\n\t\t\t\t\tif (e.which === 27) {\r\n\t\t\t\t\t\tcloseModal(context.find('.ashModal'));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tcontext.find('.ashModalContentContainer').on('click', function(e) {\r\n\t\t\t\t\t// check if the mouse target is not the body of the modal. Thus, its the \".ashModalMask\" and close the modal.\r\n\t\t\t\t\tif (context.find('.ashModal').has(e.target).length === 0) {\r\n\t\t\t\t\t\tcloseModal(context.find('.ashModal'));\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tcontext.on('click.ashModal', trigger, function (e) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\tcloseModal(e.target);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tfunction closeModal(closeEle) {\r\n\t\t\t\tvar thisCont = $(closeEle).closest('.' + container),\r\n\t\t\t\t\tinvalids = (window.$$ashVal ? (thisCont.find('.' + $$ashVal.failClass)) : null), //not every site uses ashval\r\n\t\t\t\t\tajaxError = $(thisCont).find($('.error'));\r\n\t\t\t\t//close any select2s prior to closing the modal\r\n\t\t\t\tif ($('.ashModalContent select').length) {\r\n\t\t\t\t\t$('.ashModalContent select').select2('close');\r\n\t\t\t\t}\r\n\t\t\t\tthisCont.fadeOut(250, function () {\r\n\t\t\t\t\t//if modal close callback is set, run it\r\n\t\t\t\t\tif(typeof (callbackAfterClose) === 'function') {\r\n\t\t\t\t\t\tcallbackAfterClose($(this));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!($(this).attr('data-ash-ashmodalkeep'))) {\r\n\t\t\t\t\t\t//save modal into variable\r\n\t\t\t\t\t\tmodalElem = $(this).detach();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (runOnce == 'true') {\r\n\t\t\t\t\t\tobj.off('click.ashModal');\r\n }\r\n if ($(\".ashModal:visible\").length === 0){\r\n $('html, body').removeClass('hasModalOpen');\r\n }\r\n\t\t\t\t\t//if ashVal exists and has an invalid item\r\n\t\t\t\t\tif (window.$$ashVal && invalids) {\r\n\t\t\t\t\t\t//run through each invalid and clear validation\r\n\t\t\t\t\t\tinvalids.each(function (i, ele) {\r\n\t\t\t\t\t\t\t$$ashVal.clearValidation($(ele));\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//remove ajax errors when modal closes\r\n\t\t\t\t\tif (ajaxError.length) {\r\n\t\t\t\t\t\tajaxError.remove();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n}(jQuery));","var bulletinInit = function () {\r\n\tvar obj = document.querySelector('.bulletin');\r\n\tvar loadedClass = 'loaded';\r\n\tvar movedClass = 'moved';\r\n\tvar scrolledClass = 'bulletinScrolled';\r\n\tvar closer = document.querySelector('.close-bulletin');\r\n\tvar mainContainer = document.querySelector('.main-container');\r\n\tvar bodyInner = document.querySelector('.body-inner');\r\n\tvar header = document.querySelector('header.mainHeader') || document.querySelectorAll('header')[0];\r\n\r\n\t//checking to make sure all vars exist so whole bundle will not throw an error\r\n\tif (!obj || !closer || !mainContainer || !bodyInner || !header) { return };\r\n\r\n\tfunction moveBulletin() {\r\n\t\tif (!obj.classList.contains(movedClass) && Modernizr.mq(\"(max-width: 767px)\")) {\r\n\t\t\t//move bulletin to main container if on small screensizes\r\n\t\t\tmainContainer.insertBefore(obj, mainContainer.childNodes[0]);\r\n\t\t\tobj.classList.add(movedClass);\r\n\r\n\t\t} else if (obj.classList.contains(movedClass) && !Modernizr.mq(\"(max-width: 767px)\")) {\r\n\t\t\t//move bulletin back bodyInner if the screen size goes above sm mq and if it has moved class\r\n\t\t\tbodyInner.insertBefore(obj, bodyInner.childNodes[0])\r\n\t\t\tobj.classList.remove(movedClass);\r\n\t\t}\r\n\t};\r\n\r\n\t//if bulletin exists wraps all functions\r\n\tif (obj && !obj.classList.contains(loadedClass)) {\r\n\r\n\t\tmoveBulletin();\r\n\t\tobj.classList.add(loadedClass);\r\n\r\n\r\n\t\tif (obj.classList.contains(loadedClass)) {\r\n\t\t\tbodyInner.classList.add('hasBulletin');\r\n\t\t\tmainContainer.style.paddingTop = '0px';\r\n\t\t\theader.style.position = 'relative';\r\n\t\t}\r\n\t\t//makes the header stick to the top after scrolling when bulletin is open\r\n\t\tfunction bulletinScroll() {\r\n\t\t\tvar objHeight = obj.offsetHeight;\r\n\t\t\tvar headerHeight = header.offsetHeight;\r\n\t\t\t//pageYOffest is part of the window api and has better cross broswer support than scrollY\r\n\t\t\t//see mdn link: https://developer.mozilla.org/en-US/docs/Web/API/Window/pageYOffset\r\n\t\t\tvar currentPosition = window.pageYOffset;\r\n\r\n\t\t\t//added or check for moved class since the header needs to always be position fixed on mobile\r\n\t\t\tif ((objHeight <= currentPosition) || obj.classList.contains(movedClass)) {\r\n\t\t\t\t//resticks header on scroll down\r\n\t\t\t\theader.style.position = 'fixed';\r\n\t\t\t\tmainContainer.style.paddingTop = headerHeight + 'px';\r\n\t\t\t\theader.classList.add(scrolledClass);\r\n\r\n\t\t\t} else {\r\n\t\t\t\theader.style.position = 'relative';\r\n\t\t\t\theader.classList.remove(scrolledClass);\r\n\t\t\t\tmainContainer.style.paddingTop = '0px';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\twindow.addEventListener('scroll', function () {\r\n\t\t\tbulletinScroll();\r\n\t\t});\r\n\t\t//had to remove setTimeout because it was causing bulletin to occasionally not show up\r\n\t\t['orientation', 'resize'].forEach(function (event) {\r\n\t\t\twindow.addEventListener(event, function () {\r\n\t\t\t\tmoveBulletin();\r\n\t\t\t\tbulletinScroll();\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t\t// closes bulletin by removing loaded class on click\r\n\t\tcloser.addEventListener('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\r\n\t\t\tobj.classList.remove(loadedClass);\r\n\t\t});\r\n\t}//if bulletin exists wraps all functions\r\n};","//ash functions partial\r\nvar $$ash = {\r\n\t//descriptions of custom global objects\r\n\t//ajaxFail = display failure message to the user when there is a server error with the ajax request\r\n\t//mq = global variables for media queries\r\n\t//formSuccess = display success message to the user when a form is submitted successfully\r\n\t//browserHist = a collection of browser history API functions\r\n\t//userList = a collection of functions that can be applied to the user-list, such as removeUser, removeItem, and tempErr (tempErr is currently not being used)\r\n\t//initSelect2 = if not on a touch device and the select2 prototype constructor exists, then run select2 on all select elements on the page\r\n\t//templateInitHelper = binds the template rendering to an event (click, dropdown change, etc) and sets the triggers\r\n\t//handlebarsInit = initialize handlebars by running $$ash.getHandlebarsTemplateAndJson with a $$ash.renderTemplate callback\r\n\t//getTemplateJson = make an ajax call to retrieve the json data only\r\n\t//getHandlebarsTemplate = make an ajax call to retrieve the handlebars template only\r\n\t//getTemplateData = use json object if it is provided, or make an ajax call to retrieve json data, then make an ajax call to retrieve the template and render it on the page\r\n\t//getHandlebarsTemplateAndJson = make ajax calls to retrieve the handlebars template and json data when both are missing\r\n\t//renderTemplate = insert already compiled handlebars template into target container\r\n\t//insertTemplateViaDropdown = insert portion of already compiled handlebars template into target container on dropdown change\r\n\t//insertTemplateViaButton = insert portion of already compiled handlebars template into target container on button click\r\n\t//validate = add validation classes and markup to object\r\n\t//clearValidation = remove validation classes and markup from object\r\n\t//openModal = set up modal windows using the ashModal plugin that will be triggered by a click on a .createModal link\r\n\t//renderModal = pass object to $$ash.runModal function\r\n\t//runModal = triggers the event handler to open the modal\r\n\t//getCallback = convert a dot notated function string into an object to be returned and called\r\n\t//formatNum = format number with comma and decimal if one exists\r\n\t//updateProgress = updates .user-progress progress bars\r\n\t//unstringJSON = parses 'data' into JSON if 'data' is a string\r\n\t//getTypeKit = create typekit script link, configure it, and add it to the head tag before any other script tags\r\n\t//cardsEqualHeight = when flexbox is not supported, run equalheights plugin on cards (only used in challenges as of 3/31/2015)\r\n\t//setDefaultOption = set the default option of the select element with the placeholder text\r\n\t//flexheightFallback = when flexbox is not supported, run equalheights plugin on all .flex-content items under a .flexheight parent\r\n\t//removeButtonOnSubmit = remove form submit button on form submit to prevent multiple clicks\r\n\t//serializeDataToObject = serialize form data and store in an object to be passed along in a form submit\r\n\t//reloadOnTimeout = if ajax request times out and returns a 401 status code, reload the page\r\n\t//ajax = submit ajax request with the default method GET\r\n\t//connectedWidgetInit = initialize the Connected! activity widget on the HYR dashboard\r\n\t//ashModalPrinter = opens a new browser window and formats the content to be printed\r\n\t//addLoader = add animated loader graphic while content is updated\r\n\t//removeLoader = remove the animated loader graphic\r\n\t//preventDefaultFormSubmit = prevent default form submit action from .ajaxPost forms\r\n\t//metaNavInit = initialize click functionality to show/hide user info in the off-canvas navigation on mobile screen sizes\r\n\t//viewMore = function run on click of 'view more' buttons to display addition list content\r\n\t//chatterPost = post new challenge chatter message to chatter feed on success of json retrieval, or display error message\r\n\t//prepopulateDate = set end date of a matched date input\r\n\t//convertDate = convert any date to ISO format. Also accepts parameters to change the month, day, and year of returned date\r\n\t//setHiddenInput = set the hidden input via target id attribute\r\n\t//formatter = general formatter that can accept different types (e.g., phone, date, etc) and spit out formatted version of the string\r\n\t//scroller =\r\n\t//storage.local.set = set a localStorage key/value pair\r\n\t//storage.local.get = get a localStorage value from a key\r\n\t//storage.session.set = set a sessionStorage key/value pair\r\n\t//storage.session.get = get a sessionStorage value from a key\r\n\t//storeValues = collect name/value pairs to store from specific data attributes and store them in specified storage\r\n\t//displayValues = get stored values from local or session storage and write them to elements on page\r\n\t//populateFields = populate a set of fields from json object, also has ability to disable the fields that are populated\r\n\t//scrollThrottle = throttles firing of scroll events\r\n\t//removeSelectEmptyOption = remove empty option tags on selects if the select's placeholder exists and is not only whitespace\r\n\t//initializeDonutChart = set up the donut chart by running ajax call to get the data for the chart\r\n\t//openModalFromTemplate = opens a modal from within a Handlebars template; modal content also comes from a separate handlebars template - allows for dynamic modal containers that update depending on what data is passed in\r\n\t//enableOnCheck = enables form submit button only when set conditions are met\r\n\r\n\t// if old version, arg1 = target, arg2 = errorMessage(s), arg3 = xhr object, arg4 = errorMessage position\r\n\tajaxFail: function (arg1, arg2, arg3, arg4) {\r\n\t\t// to maintain backwards compatability, ajaxFail will use duck-typing to determine whether to use the old version of\r\n\t\t// ash.ajax or the new one.\r\n\t\tvar useOldVersion = (function useOldVersionTest() {\r\n\t\t\tif (arg1 == null || arguments.length > 1 || arg1 instanceof jQuery || arg1 instanceof HTMLElement || typeof arg1 === 'string') {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\r\n\t\t\treturn false;\r\n\t\t}());\r\n\r\n\t\tvar target;\r\n\t\tvar errorMessage;\r\n\t\tvar xhr;\r\n\t\tvar position;\r\n\r\n\t\tfunction removeErrorsOnPage() {\r\n\t\t\tvar errors = $u('.error'); // errors already on the page\r\n\r\n\t\t\terrors.forEach(function (obj) {\r\n\t\t\t\tobj.parentNode.removeChild(obj);\r\n\r\n\t\t\t\tTweenLite.killTweensOf(obj);\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction determineTarget(obj) {\r\n\t\t\tvar target;\r\n\r\n\t\t\tfunction useDefaultTarget() {\r\n\t\t\t\tif ($u('.main-content').length) {\r\n\t\t\t\t\treturn $u('.main-content')[0];\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//else\r\n\t\t\t\treturn document.body;\r\n\t\t\t}\r\n\r\n\t\t\ttry {\r\n\t\t\t\tif (obj) {\r\n\t\t\t\t\tif (jQuery && obj instanceof jQuery && obj.length) {\r\n\t\t\t\t\t\ttarget = obj[0];\r\n\t\t\t\t\t} else if (typeof obj === 'string') {\r\n\t\t\t\t\t\ttarget = document.querySelector(obj) || useDefaultTarget();\r\n\t\t\t\t\t} else if (obj instanceof HTMLElement && document.body.contains(obj)) {\r\n\t\t\t\t\t\ttarget = obj;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttarget = useDefaultTarget();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttarget = useDefaultTarget();\r\n\r\n\t\t\t\t\tposition = 'prepend'; //don't like this here but it works.\r\n\t\t\t\t}\r\n\t\t\t} catch (e) {\r\n\t\t\t\ttarget = useDefaultTarget();\r\n\t\t\t}\r\n\r\n\t\t\treturn target;\r\n\t\t}\r\n\r\n\t\tfunction createErrorMessage(message) {\r\n\t\t\tvar output = document.createElement('div');\r\n\t\t\tvar errorMessage;\r\n\r\n\t\t\tif (!message) {\r\n\t\t\t\terrorMessage = document.createElement('span');\r\n\t\t\t\terrorMessage.textContent = 'This request could not be completed. Please try again or contact us.';\r\n\t\t\t} else {\r\n\t\t\t\tif (message instanceof Array) {\r\n\t\t\t\t\tif (useOldVersion) {\r\n\t\t\t\t\t\terrorMessage = document.createElement('span');\r\n\t\t\t\t\t\terrorMessage.textContent = message[0];\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\terrorMessage = document.createElement('ul');\r\n\r\n\t\t\t\t\t\tmessage.forEach(function (obj) {\r\n\t\t\t\t\t\t\tvar listItem = document.createElement('li');\r\n\r\n\t\t\t\t\t\t\tlistItem.textContent = obj.message;\r\n\t\t\t\t\t\t\terrorMessage.appendChild(listItem);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\terrorMessage = document.createElement('span');\r\n\t\t\t\t\terrorMessage.innerHTML = message;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\toutput.classList.add('error');\r\n\t\t\toutput.appendChild(errorMessage);\r\n\r\n\t\t\treturn output;\r\n\t\t}\r\n\r\n\t\tfunction insertErrorMessage(target, messageMarkup, position) {\r\n\t\t\tposition = position || 'before';\r\n\r\n\t\t\tswitch (position) { //position loader in relation to select obj\r\n\t\t\t\tcase 'replace':\r\n\t\t\t\t\ttarget.innerHTML = '';\r\n\t\t\t\t\ttarget.appendChild(messageMarkup);\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'prepend':\r\n\t\t\t\t\ttarget.insertBefore(messageMarkup, target.firstChild);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'append':\r\n\t\t\t\t\ttarget.appendChild(messageMarkup);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'before':\r\n\t\t\t\t\ttarget.parentNode.insertBefore(messageMarkup, target);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'after':\r\n\t\t\t\t\ttarget.parentNode.insertBefore(messageMarkup, target.nextSibling);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\ttarget.parentNode.insertBefore(messageMarkup, target);\r\n\t\t\t}\r\n\r\n\t\t\tTweenLite\r\n\t\t\t\t.fromTo(messageMarkup, 0.75, {\r\n\t\t\t\t\tcss: { height: '0', padding: '0', opacity: '0' }\r\n\t\t\t\t}, {\r\n\t\t\t\t\tcss: { height: 'auto', padding: '10px 32px', opacity: '1' }\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\tfunction reloadIfExpired(xhr) {\r\n\t\t\tvar status;\r\n\r\n\t\t\tif (xhr) {\r\n\t\t\t\tstatus = xhr.status;\r\n\r\n\t\t\t\tif (status === 302 || status === 401) {\r\n\t\t\t\t\twindow.location.reload();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t(function init() {\r\n\t\t\tvar errorObj;\r\n\t\t\tvar errorTarget;\r\n\t\t\tvar errorMessageDomElement;\r\n\r\n\t\t\tremoveErrorsOnPage();\r\n\r\n\t\t\tif (useOldVersion) {\r\n\t\t\t\ttarget = arg1;\r\n\t\t\t\terrorMessage = arg2;\r\n\t\t\t\txhr = arg3;\r\n\t\t\t\tposition = arg4;\r\n\t\t\t} else {\r\n\t\t\t\ttarget = arg1.target;\r\n\t\t\t\txhr = arg1.response;\r\n\t\t\t\tposition = arg1.position;\r\n\r\n\t\t\t\ttry {\r\n\t\t\t\t\terrorObj = arg1.response.responseJSON.responseStatus;\r\n\t\t\t\t} catch (e) {\r\n\t\t\t\t\terrorObj = {};\r\n\t\t\t\t}\r\n\r\n\t\t\t\terrorMessage = (function determineErrorMessage() {\r\n\t\t\t\t\tvar customMessage = arg1.customMessage;\r\n\t\t\t\t\tvar errorsArray = errorObj.errors;\r\n\r\n\t\t\t\t\tif (customMessage) {\r\n\t\t\t\t\t\treturn customMessage\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (errorsArray instanceof Array && errorsArray.length) {\r\n\t\t\t\t\t\treturn errorsArray;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn errorObj.message;\r\n\t\t\t\t}());\r\n\t\t\t}\r\n\r\n\t\t\treloadIfExpired(xhr);\r\n\r\n\t\t\terrorTarget = determineTarget(target);\r\n\t\t\terrorMessageDomElement = createErrorMessage(errorMessage);\r\n\r\n\t\t\tinsertErrorMessage(errorTarget, errorMessageDomElement, position);\r\n\t\t}());\r\n\t},\r\n\t//Usage example: $$ash.mq('sm', 'min')\r\n\tmq: function (num, exp) {\r\n\t\tvar size,\r\n\t\t\tdef = false;\r\n\t\tswitch (num) {\r\n\t\t\tcase 'xxs':\r\n\t\t\t\tnum = 320;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'xs':\r\n\t\t\t\tnum = 500;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'sm':\r\n\t\t\t\tnum = 767;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'md':\r\n\t\t\t\tnum = 992;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'lg':\r\n\t\t\t\tnum = 1200;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tnum = num; //allows usage of manually entered pixel width in the call, for 'abnormal' widths\r\n\t\t\t\tdef = true;\r\n\t\t}\r\n\t\tswitch (exp) {\r\n\t\t\tcase 'min':\r\n\t\t\t\texp = 'min-width';\r\n\t\t\t\tnum = def ? num : num + 1; //adds 1 pixel if the expression is min-width and size is not entered manually\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\texp = 'max-width';\r\n\t\t}\r\n\t\tsize = '(' + exp + ': ' + num + 'px' + ')';\r\n\t\treturn size;\r\n\t},\r\n\r\n\tformSuccess: function (obj, response) {\r\n\t\tresponse = $$ash.unstringJSON(response);\r\n\t\t//use \"resetForm\" class to trigger this function\r\n\t\tif (response.error === true) {\r\n\t\t\t$$ash.ajaxFail(obj, response.errorMessage);\r\n\t\t} else {\r\n\t\t\tvar cont = obj.parent(),\r\n\t\t\t\tmessageMarkup = $('
      ', { //create a div with class message to put the message into\r\n\t\t\t\t\t'class': 'status-message success',\r\n\t\t\t\t\t'style': 'display: none'\r\n\t\t\t\t});\r\n\t\t\tmessageMarkup.html('

      ' + response.message + '

      ');\r\n\t\t\tobj.siblings('.status-message.success').remove().end().before(messageMarkup);\r\n\r\n\t\t\tobj[0].reset();\r\n\t\t\tobj.find('select').select2('data', null); //reset select2\r\n\r\n\t\t\tmessageMarkup.slideDown();\r\n\t\t}\r\n\t},\r\n\thistory: {\r\n\t\treplaceState: function (data, title, url) { //save page state\r\n\t\t\tif (Modernizr.history) { //if html5 history api supported\r\n\t\t\t\thistory.replaceState(data, title, url);\r\n\t\t\t}\r\n\t\t},\r\n\t\tpushState: function (data, title, url) { //save page state into queue\r\n\t\t\tif (Modernizr.history) { //if html5 history api supported\r\n\t\t\t\thistory.pushState(data, title, url);\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tbrowserHist: {\r\n\t\tsave: function (histArr, title, url) { //save page state into queue\r\n\t\t\tif (Modernizr.history) { //if html5 history api supported\r\n\t\t\t\thistory.pushState(histArr, title, url);\r\n\t\t\t}\r\n\t\t},\r\n\t\tpop: function (ele) { //listener to return page stat from queue\r\n\t\t\tif (Modernizr.history) { //if html5 history api supported\r\n\t\t\t\twindow.addEventListener('popstate', function (e) {\r\n\t\t\t\t\tele.trigger('rtnData', { data: e });\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tuserList: {\r\n\t\tremoveUser: function (target, contClass) {\r\n\t\t\tvar ele = target.closest('li'),\r\n\t\t\t\tcont = ele.closest(contClass),\r\n\t\t\t\tuserId = target.attr('data-user-id');\r\n\t\t\t$.ajax({\r\n\t\t\t\ttype: \"POST\",\r\n\t\t\t\tdata: { user: userId },\r\n\t\t\t\turl: $(cont).data('ash-url'),\r\n\t\t\t\tsuccess: function (response, textStatus, xhr) {\r\n\t\t\t\t\t$$ash.reloadOnTimeout(xhr);\r\n\r\n\t\t\t\t\tif (response.error) {\r\n\t\t\t\t\t\t$$ash.ajaxFail(ele.parent(), response.errorMessage);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$$ash.userList.removeItem(ele, response);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\terror: function (xhr) {\r\n\t\t\t\t\t$$ash.ajaxFail(ele.parent(), undefined, xhr);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\tremoveItem: function (ele, r) {\r\n\t\t\tvar thisHeight = ele.outerHeight();\r\n\t\t\tele.addClass('ajax-success').css('height', thisHeight + 'px');\r\n\t\t\tele.find('div').fadeOut({\r\n\t\t\t\tduration: 500,\r\n\t\t\t\tcomplete: function () {\r\n\t\t\t\t\tele.html('
      ' + r + '
      ');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\ttempErr: function (ele) {\r\n\t\t\tele.text('error');\r\n\t\t\tele.addClass('error');\r\n\t\t}\r\n\t},\r\n\t//init select 2 when not init with document ready\r\n\tinitSelect2: function () {\r\n\t\t//if not a touch device, run select2\r\n\t\tif (!Modernizr.touchevents && $.fn.select2) {\r\n\t\t\t$('select').select2({\r\n\t\t\t\tminimumResultsForSearch: -1,\r\n\t\t\t\tformatNoMatches: function (term) {\r\n\t\t\t\t\treturn 'Loading...';\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\t//TEMPLATE RENDERING ***this function is outdated if possible avoid using in future***\r\n\t//To initiate, add the 'template-render-init' class to the 1) {\r\n\t\t\t//loop through each attribute to transfer them to the new datepicker input\r\n\t\t\t$(target.attributes).each(function () {\r\n\t\t\t\t//exclude the type attribute (we don't want to carry that over to the new input)\r\n\t\t\t\tif (this.nodeName !== 'type') {\r\n\t\t\t\t\tif (this.nodeName === 'class') {\r\n\t\t\t\t\t\tclassAttr = true;\r\n\t\t\t\t\t\t//transfer any existing classes and add the 'date-picker' class to the forward-facing input\r\n\t\t\t\t\t\tdispInput += 'class=\"' + this.value + ' date-picker\" ';\r\n\t\t\t\t\t} else if (this.nodeName === 'name' && validateDate) {\r\n\t\t\t\t\t\t//add an identifiable id to the hidden input using the name attribute value\r\n\t\t\t\t\t\t//transfer the original name attribute value to the hidden input\r\n\t\t\t\t\t\tparseInput += 'id=\"' + this.value + 'Parse\" name=\"' + this.value + '\" ';\r\n\t\t\t\t\t\t//do not display a name value on the forward-facing input to prevent display input from submitting data\r\n\t\t\t\t\t\t//add a target-id attribute to relate the forward-facing input to its corresponding hidden input\r\n\t\t\t\t\t\tdispInput += 'data-ash-target-id=\"' + this.value + 'Parse\" ';\r\n\t\t\t\t\t} else if (this.nodeName === 'value' && this.value !== '') {\r\n\t\t\t\t\t\tif (validateDate) {\r\n\t\t\t\t\t\t\t//set the hidden input value to the iso format\r\n\t\t\t\t\t\t\tparseInput += 'value=\"' + this.value + '\" ';\r\n\t\t\t\t\t\t\t//set the forward-facing value to the standard format\r\n\t\t\t\t\t\t\tdispInput += 'value=\"' + $$ash.convertDate({ str: this.value, iso: false }) + '\" ';\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t//set the hidden input value to the iso format\r\n\t\t\t\t\t\t\tparseInput += 'value=\"' + this.value + '\" ';\r\n\t\t\t\t\t\t\t//set the forward-facing value to the iso format\r\n\t\t\t\t\t\t\tdispInput += 'value=\"' + this.value + '\" ';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//transfer any remaining attributes and their values\r\n\t\t\t\t\t\tdispInput += this.nodeName + '=\"' + this.value + '\" ';\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t//if date input only has type attribute, be sure to add the 'date-picker' class to initialize jQuery UI Datepicker\r\n\t\t} else {\r\n\t\t\tdispInput += 'class=\"date-picker\" ';\r\n\t\t}\r\n\t\t//if date input had additional attributes besides type=\"date\", but no class attribute, add the 'date-picker' class to initialize jQuery UI Datepicker\r\n\t\tif (!classAttr) {\r\n\t\t\tdispInput += 'class=\"date-picker\" ';\r\n\t\t}\r\n\t\tdispInput += '/>';\r\n\t\tif (validateDate) {\r\n\t\t\tparseInput += '/>';\r\n\t\t\t$(this).after(parseInput);\r\n\t\t}\r\n\t\t// 1. add 'date-cont' class to parent\r\n\t\t// 2. add svg span after the existing date input to hold the calendar icon\r\n\t\t// 3. add hidden input after the svg icon\r\n\t\t// 4. replace the existing date input with the new text input\r\n\t\t$(this).parent().addClass('date-cont').end().after('').replaceWith(dispInput);\r\n\t});\r\n\tpickerInput = $('.date-picker');\r\n\r\n\tif ($.datepicker) { //check to see if datepicker is available TODO: find a way for datepicker to work in HMS\r\n\t\tif (validateDate) {\r\n\t\t\tpickerInput.datepicker({\r\n\t\t\t\taltField: '#' + $(this).attr('data-ash-target-id'),\r\n\t\t\t\taltFormat: 'yy-mm-dd',\r\n\t\t\t\tchangeMonth: true,\r\n\t\t\t\tchangeYear: true,\r\n\t\t\t\tyearRange: 'c-100:c+20',\r\n\t\t\t\tminDate: new Date(1899, 1 - 1, 1),\r\n\t\t\t\tonClose: function (date) {\r\n\t\t\t\t\tvar obj = this;\r\n\t\t\t\t\tif (obj.hasAttribute('data-ash-match')) {\r\n\t\t\t\t\t\t$$ash.prepopulateDate(obj, date);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//if validate class, set hidden input\r\n\t\t\t\t\tif ($(obj).hasClass('validate')) {\r\n\t\t\t\t\t\t$$ash.setHiddenInput(obj);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tpickerInput.datepicker({\r\n\t\t\t\tdateFormat: opts.format || 'yy-mm-dd',\r\n\t\t\t\tchangeMonth: true,\r\n\t\t\t\tchangeYear: true,\r\n\t\t\t\tyearRange: 'c-100:c+20',\r\n\t\t\t\tminDate: new Date(1899, 1 - 1, 1),\r\n\t\t\t\tonClose: function (date) {\r\n\t\t\t\t\tvar obj = this;\r\n\t\t\t\t\tif (obj.hasAttribute('data-ash-match')) {\r\n\t\t\t\t\t\t$$ash.prepopulateDate(obj, date);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//if validate class, set hidden input\r\n\t\t\t\t\tif ($(obj).hasClass('validate')) {\r\n\t\t\t\t\t\t$$ash.setHiddenInput(obj);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (typeof ko !== 'undefined') { //if ko is used, move value from data tag to val\r\n\t\t\tpickerInput.each(function () {\r\n\t\t\t\tvar obj = $(this),\r\n\t\t\t\t\tdate = obj.attr('data-ash-populate');\r\n\t\t\t\tif (date) {\r\n\t\t\t\t\tobj.val(date);\r\n\t\t\t\t\tobj.removeAttr('data-ash-populate');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t$('.svg-date-picker').click(function () {\r\n\t\t$(this).prev().datepicker('show');\r\n\t});\r\n\r\n\t$(document).trigger('datePickerInitialized');\r\n\r\n\t$$ashVal.init();\r\n}\r\n\r\n$(document).ready(function () {\r\n\t//devices with touch and larger than 767 - ipad\r\n\tif (Modernizr.mq($$ash.mq('sm', 'min')) && Modernizr.touchevents) {\r\n\t\t$('.dropdown-toggle > a').on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\t}\r\n\t//accordion using gsap\r\n\tif ($('.accordion-header').length) {\r\n\t\t$('.accordion-header').each(function () {\r\n\t\t\tvar obj = $(this),\r\n\t\t\t\ttargetContent = $(this).next();\r\n\r\n\t\t\tobj.on('click', function (e) {\r\n\t\t\t\tif (targetContent.hasClass('expanded')) {\r\n\t\t\t\t\tTweenLite.to(targetContent, 0.3, { height: 0 });\r\n\t\t\t\t\ttargetContent.removeClass('expanded');\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttargetContent.addClass('expanded');\r\n\t\t\t\t\ttargetContent.css({ 'height': 'auto' });\r\n\t\t\t\t\tTweenLite.from(targetContent, 0.3, { height: 0 });\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\t$(this).trigger('$$ash:ready'); //custom event initially created for landing page connected widget. Fires custom event \"$$ash:ready\" on the document and guarantees that $$ash is defined.\r\n\r\n\t//if loader needs to run on document ready as the page is first loading\r\n\tif ($('.loaderInit').length) {\r\n\t\tvar obj = $('.loaderInit');\r\n\r\n\t\t$$ash.addLoader(obj, 'append', 'center');\r\n\t}\r\n\r\n\t$(' .radio-img-cont').each(function () {\r\n\t\tvar inp = $(this).find('input'),\r\n\t\t\tinpName = inp.attr('name'),\r\n\t\t\totherInp = $('input[name=\"' + inpName + '\"]').closest('.radio-img-cont').find('.radio-img-cont-img'), //need to turn off checked state on other radio options for this question\r\n\t\t\timg = $(this).find('.radio-img-cont-img'),\r\n\t\t\tisChecked;\r\n\r\n\t\tinp.on('change', function () {\r\n\t\t\tisChecked = inp.prop('checked');\r\n\t\t\tif (isChecked) {\r\n\t\t\t\totherInp.removeClass('checked');\r\n\t\t\t\timg.addClass('checked');\r\n\t\t\t} else {\r\n\t\t\t\timg.removeClass('checked');\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\t$('.radio-trigger').each(function () {\r\n\t\tvar cont = $(this),\r\n\t\t\tcontInputs = cont.find('input'),\r\n\t\t\trecCont = $('#' + cont.attr('data-radio-trigger-match')), //matching element that will receive selections base on conts radios\r\n\t\t\trecInputs = recCont.find('input');\r\n\r\n\t\tcontInputs.each(function () {\r\n\t\t\t$(this).on('change', function () {\r\n\t\t\t\t//on input change, see if this input triggers a match input\r\n\t\t\t\tif ($(this).attr('data-radio-trigger')) {\r\n\t\t\t\t\t//check the matched input\r\n\t\t\t\t\tvar match = recCont.find('#' + $(this).attr('data-radio-trigger')).prop('checked', true);\r\n\t\t\t\t\t//disable the non-matched inputs\r\n\t\t\t\t\trecInputs.not(match).attr('disabled', true);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t//if the input doesn't have a match, turn off disabled inputs\r\n\t\t\t\t\trecInputs.attr('disabled', false);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\r\n\t//COMPONENT NAV\r\n\tvar compNavHolder = $('.component-nav-holder'), //holder for the mobile toggle nav\r\n\t\tcompNav = $('ul.component-nav'); //main component-nav\r\n\r\n\tif (compNav) {\r\n\t\t$(window).on('resize.compNav orientationchange.compNav', function () {\r\n\t\t\tcompNav.css('display', '');\r\n\t\t});\r\n\t}\r\n\t//open and close nav on mobile\r\n\tcompNavHolder.on('click', function () {\r\n\t\tcompNav.slideToggle();\r\n\t});\r\n\t//toggle selected (open) class on navHolder\r\n\t$('div.component-nav-holder').on('click', function () {\r\n\t\t$(this).toggleClass('selected');\r\n\t});\r\n\t//accordion holder\r\n\tvar accordionHolder = $('.accordion-nav-holder'), //holder for the mobile toggle accordion\r\n\t\taccordion = $('ul.accordion'); //main accordion\r\n\r\n\t//open and close accordion on mobile\r\n\taccordionHolder.on('click', function () {\r\n\t\taccordion.slideToggle();\r\n\t});\r\n\t//main list items in component nav\r\n\tfunction accordionComponent() {\r\n\t\t$('ul.component-nav > li, ul.accordion > li').each(function () {\r\n\t\t\tvar cont = $(this), //category item\r\n\t\t\t\tobj = $(this).children(':first-child').nextUntil('ul').addBack(), //set of selectors user can click\r\n\t\t\t\tlist = cont.find('ul'), //sub nav\r\n\t\t\t\tsubnavSelected = cont.find('.selected'), //current selected subnav item\r\n\t\t\t\tindicator = cont.find('.indicator'); //arrow indicator used to display when the menu is open\r\n\r\n\t\t\tobj.on('click', function () {\r\n\t\t\t\t//toggle subnav visibility\r\n\t\t\t\tif (list.length > 1) {\r\n\t\t\t\t\tlist.slideToggle();\r\n\t\t\t\t}\r\n\t\t\t\t//toggle selected state\r\n\t\t\t\tfunction toggleSel() {\r\n\t\t\t\t\tcont.toggleClass('selected');\r\n\t\t\t\t}\r\n\t\t\t\ttoggleSel();\r\n\t\t\t});\r\n\t\t\t//change ui for subnav items when clicked\r\n\t\t\t(list.children()).on('click', function () {\r\n\t\t\t\tsubnavSelected.removeClass('selected');\r\n\t\t\t\t$(this).addClass('selected');\r\n\t\t\t\tsubnavSelected = $(this);\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\taccordionComponent();//call this for ASHCO accordion\r\n\t//set print functionality to any a tag with \"print\" in the class\r\n\t$('.trigger-print').on('click', function (event) {\r\n\t\tevent.preventDefault();\r\n\t\twindow.print();\r\n\t});\r\n\r\n\tif ($('.placeholder-watch').length) {\r\n\t\t$('.placeholder-watch').each(function () {\r\n\t\t\tvar obj = $(this),\r\n\t\t\t\tobjNext = obj.next(),\r\n\t\t\t\ttext = obj.text();\r\n\t\t\tif (objNext.attr('placeholder')) {\r\n\t\t\t\tobjNext.removeAttr('placeholder');\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t$('.readTranscript').on('click', function (e) {\r\n\t\te.preventDefault();\r\n\t\tvar transcript = $('#transcript'),\r\n\t\t\theaderOffset = (Modernizr.mq('screen and (max-width: 767px)')) ? 0 : $('header').height();\r\n\t\ttranscript.trigger('click');\r\n\t\t$('html, body').animate({\r\n\t\t\tscrollTop: (transcript.offset().top - headerOffset)\r\n\t\t}, 2000);\r\n\t});\r\n\r\n\t$('ul.exp-data-gallery').each(function () {\r\n\t\t$(this).ashExpDataGallery();\r\n\t});\r\n\r\n\t//USER LISTS\r\n\t$('.user-list').on('click', '.remove', function (e) {\r\n\t\te.preventDefault();\r\n\t\t$$ash.userList.removeUser($(this), '.user-list');\r\n\t});\r\n\t$.datePickerSetup = function (opts) {\r\n\t\t//Find out where to retrieve the asset\r\n\t\tvar assetPrefixBase = (typeof window.$$assetPrefix === 'string') ? window.$$assetPrefix + '/Base/assets' : '/App_Themes/Base';\r\n\t\t//IF input type date not supported\r\n\t\tif ((!Modernizr.inputtypes.date)) {\r\n\t\t\t//JQUERY UI DATE PICKER\r\n\t\t\tif ($('input[type=date]').length) {\r\n\t\t\t\tif (typeof $.datepicker === 'undefined') {\r\n\t\t\t\t\t$$ash.ajax({\r\n\t\t\t\t\t\turl: assetPrefixBase + '/lib/jquery-ui-datepicker-1.11.1.min.js',\r\n\t\t\t\t\t\tasync: false,\r\n\t\t\t\t\t\tdataType: \"script\"\r\n\t\t\t\t\t}).done(function () {\r\n\t\t\t\t\t\tsetupJqueryDatepicker(opts);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetupJqueryDatepicker(opts);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t//IF TOUCH IS SUPPORTED\r\n\t\t} else {\r\n\t\t\tif ($u('input[type=date]')) {\r\n\t\t\t\tfor (var i = 0; i < $u('input[type=date]').length; i++) {\r\n\t\t\t\t\tvar obj = $u('input[type=date]')[i];\r\n\r\n\t\t\t\t\tif (obj.className.indexOf('startDate') !== -1) {\r\n\t\t\t\t\t\tobj.addEventListener('blur', function () {\r\n\t\t\t\t\t\t\t$$ash.prepopulateDate(obj, null);\r\n\t\t\t\t\t\t}, false);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$.datePickerSetup({\r\n\t\tinitialLoad: true\r\n\t});\r\n\t//EClasses, tab-template is the quiz container where the quiz will be displayed\r\n\t//trigger-quiz is the initial quiz button to \"take the quiz\"\r\n\t$('#tab-template').on('click', 'a.trigger-quiz', function (e) {\r\n\t\t//data attrs are on tab-template container, make obj = tab-template //trigr, jsonUrl, templateUrl, targetId, callback\r\n\t\te.preventDefault();\r\n\t\te.currentTarget.disabled = true;\r\n\t\tvar obj = $(e.target).closest('#tab-template');\r\n\t\tif (!obj.hasClass('content-container')) {\r\n\t\t\tobj.addClass('content-container');\r\n\t\t}\r\n\t\t$$ash.getTemplateData(obj, obj.attr('data-json-url'), obj.attr('data-ash-template-url'), obj.attr('data-ash-target-id'), quizSubmit);\r\n\t});\r\n\tvar quizSubmit = function () {\r\n\t\t$('#tab-template').one('submit', 'form.quiz', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar obj = $(this),\r\n\t\t\t\tajaxData = obj.returnCheckedInputsAsObject();\r\n\r\n\t\t\t$$ash.ajaxFormSubmit($(this), {\r\n\t\t\t\tdata: ajaxData,\r\n\t\t\t\tcbOpts: { ele: obj },\r\n\t\t\t\tcallback: quizFeedback\r\n\t\t\t}); //be sure to pass the form element along with a callback function\r\n\t\t});\r\n\t};\r\n\tfunction quizFeedback(response, textStatus, xhr, cbOpts) { //ele = form.quiz //response = json data\r\n\t\tvar ele = cbOpts.ele,\r\n\t\t\tobj = ele.closest('#tab-template'), //getting tab template\r\n\t\t\ttemplateCont = $('#tab-template');\r\n\r\n\t\tresponse = $$ash.unstringJSON(response);\r\n\r\n\t\tif (response.quizPass === true) { //if quiz passes\r\n\t\t\t$$ash.removeLoader();\r\n\t\t\tele.parent().html(response.eClassContent); //load the congratulations page\r\n\t\t\ttemplateCont.removeClass('content-container');\r\n\t\t} else { //if quiz fails or there is error\r\n\t\t\t$.ajax({\r\n\t\t\t\turl: obj.attr('data-ash-template-url'),\r\n\t\t\t\ttype: 'GET',\r\n\t\t\t\tsuccess: function (data) {\r\n\t\t\t\t\tvar template = Handlebars.compile(data),\r\n\t\t\t\t\t\thtml = template(response);\r\n\r\n\t\t\t\t\t$$ash.removeLoader();\r\n\t\t\t\t\ttemplateCont.html(html);\r\n\t\t\t\t\t$$ashVal.scrollForm($('#tab-template form.quiz'));\r\n\t\t\t\t\tquizSubmit();\r\n\t\t\t\t},\r\n\t\t\t\terror: function (xhr) {\r\n\t\t\t\t\t$$ash.ajaxFail(obj, undefined, xhr);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t//STYLED FILE UPLOAD\r\n\tif ($('.file-upload').length) {\r\n\t\t$('.file-upload').each(function () {\r\n\t\t\tvar fileUploadObj = $(this),\r\n\t\t\t\ttest = fileUploadObj.find('input[type=\"file\"]');\r\n\r\n\t\t\t(function fileUpload() {\r\n\t\t\t\tvar obj = test,\r\n\t\t\t\t\tajaxUrl = obj.attr('data-ajax-url'),\r\n\t\t\t\t\tajaxImg = obj.attr('data-ajax-image'),\r\n\t\t\t\t\ttargetImage = $('#' + ajaxImg),\r\n\t\t\t\t\tfileNameText = fileUploadObj.find('.upload-status-filename');\r\n\r\n\t\t\t\tobj.ashFileUpload({\r\n\t\t\t\t\t\"action\": ajaxUrl,\r\n\t\t\t\t\t\"targetImage\": targetImage\r\n\t\t\t\t});\r\n\r\n\t\t\t\tobj.on('change', function () {\r\n\t\t\t\t\tvar fileName = obj.val().split('/').pop().split('\\\\').pop();\r\n\r\n\t\t\t\t\tfileNameText.text(fileName);\r\n\r\n\t\t\t\t\t$(this).ashFileUpload({\r\n\t\t\t\t\t\t\"action\": ajaxUrl,\r\n\t\t\t\t\t\t\"targetImage\": targetImage\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t})();\r\n\t\t});\r\n\t}\r\n\r\n\tif ($('.tabs').length) {\r\n\t\tvar trigr = $('.tabs .tab.selected a'),\r\n\t\t\tjsonUrl = trigr.attr('data-json-url'),\r\n\t\t\ttemplateUrl = trigr.attr('data-ash-template-url'),\r\n\t\t\ttargetId = trigr.attr('data-ash-target-id'),\r\n\t\t\tnotTabsFilter = !$('.tabs').is('.tabsFilter'),\r\n\t\t\ttempID = $('#tab-template'),\r\n\t\t\thasCont,\r\n\t\t\tcallback;\r\n\r\n\t\tif (notTabsFilter) { //if not using tabs via filter, generate template\r\n\t\t\t$$ash.getTemplateData(trigr, jsonUrl, templateUrl, targetId, callback);\r\n\t\t}\r\n\r\n\t\t$('.tabs .tab a').on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\ttrigr = $(this);\r\n\t\t\tjsonUrl = trigr.attr('data-json-url');\r\n\t\t\ttemplateUrl = trigr.attr('data-ash-template-url');\r\n\t\t\ttargetId = trigr.attr('data-ash-target-id');\r\n\t\t\thasCont = trigr.attr('data-ash-hascont');\r\n\t\t\t$('.error').remove();\r\n\t\t\tvar trigrLi = trigr.parent(),\r\n\t\t\t\tallTabs = trigrLi.siblings(),\r\n\t\t\t\ttabCont = $('#' + targetId);\r\n\t\t\ttabCont.html('');\r\n\t\t\tallTabs.removeClass('selected'); //remove selected class\r\n\t\t\tif (hasCont === 'true') { //if tab has its own container\r\n\t\t\t\ttabCont.removeClass('content-container');\r\n\t\t\t} else {\r\n\t\t\t\ttabCont.addClass('content-container');\r\n\t\t\t}\r\n\t\t\ttrigrLi.addClass('selected'); //add selected class on newly selected button\r\n\r\n\r\n\t\t\tif (notTabsFilter) { //if not using tabs via filter, generate template\r\n\t\t\t\t$$ash.getTemplateData(trigr, jsonUrl, templateUrl, targetId, callback);\r\n\t\t\t}\r\n\t\t});\r\n\t\t//equal width tabs for no flexbox browsers\r\n\t\tvar noFlexTab = $('.no-flexbox .tab');\r\n\t\tif (noFlexTab.length) {\r\n\t\t\t$(window).on('orientationchange resize', function () {\r\n\t\t\t\tif ($(window).width() < 768) {\r\n\t\t\t\t\tnoFlexTab.css({ 'width': '50%' });\r\n\t\t\t\t} else {\r\n\t\t\t\t\trunEqualCols();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\t//jump to content based on the css id added to an html element\r\n\t$.jumpToContent = function () {\r\n\t\tvar toId = $.urlParam('jump'), //id where the url should take you\r\n\t\t\ttarget = $('#' + toId), //object in html to position browser\r\n\t\t\tstickyNav = $('.ash-sticky-nav'), //sticky nav object\r\n\t\t\tstickyNavHt = 0, //height of sticky navs\r\n\t\t\toffSet = 50;\r\n\r\n\t\tstickyNav.each(function () { //add up sticky nav heights\r\n\t\t\tif (($(this).is('nav') && $(this).css('display') !== 'none') || ($(this).is('header') && $(this).css('opacity') !== 0)) {\r\n\t\t\t\tstickyNavHt += $(this).outerHeight();\r\n\t\t\t\toffSet = 10;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t//animate / scroll to place in the browser\r\n\t\t$('html, body').animate({\r\n\t\t\tscrollTop: target.offset().top - stickyNavHt - offSet\r\n\t\t}, 1000);\r\n\t};\r\n\r\n\t//DONUT INIT\r\n\tvar donutChartHolder = $('.donut-chart');\r\n\tif (donutChartHolder.length) {\r\n\t\tif (!$$donutCallback) {\r\n\t\t\tvar $$donutCallback = null;\r\n\t\t}\r\n\t\tdonutChartHolder.each(function () {\r\n\t\t\tvar obj = $(this),\r\n\t\t\t\tdonutWidth = $(this).width();\r\n\r\n\t\t\tobj.height(donutWidth).progressGraphInit(donutWidth, $$donutCallback);\r\n\t\t});\r\n\t}\r\n\t// NOTE: Remove ^^^ once the integration for vvv is complete as a part of #87579 - JW\r\n\t// Initialize donut chart\r\n\tvar donutChart = $u('.donutChart');\r\n\tif (donutChart) {\r\n\t\tdonutChart.forEach(function (element) {\r\n\t\t\t$$ash.initializeDonutChart(element);\r\n\t\t});\r\n\t}\r\n\r\n\t//CENTER ELEMENT\r\n\t$.fn.center = function () {\r\n\t\tthis.css(\"position\", \"fixed\");\r\n\t\tthis.css(\"top\", ($(window).height() / 2) - (this.outerHeight() / 2));\r\n\t\tthis.css(\"left\", ($(window).width() / 2) - (this.outerWidth() / 2));\r\n\t\treturn this;\r\n\t};\r\n\r\n\t//SEND PROGRESS INDICATOR MESSAGE\r\n\t$.fn.progressIndicator = function (options) {\r\n\t\tvar defaults = {\r\n\t\t\t'msg': 'message', //message to show\r\n\t\t\t'attachMsg': 'body', //location to attach message\r\n\t\t\t'triggerType': 'checkbox', //type of trigger sending message\r\n\t\t\t'buttonTrigger': false, //is trigger a button\r\n\t\t\t'buttonClass1': null, //triggers class name before click\r\n\t\t\t'buttonText1': null, //triggers button name before click\r\n\t\t\t'buttonClass2': null, //triggers class name after click\r\n\t\t\t'buttonText2': null, //triggers button name after click\r\n\t\t\t'limitSelection': false, //remove other select options\r\n\t\t\t'chgTxt': null, //element of text\r\n\t\t\t'authorize': false,\r\n\t\t\t'authorizeClass': 'authorized',\r\n\t\t\t'authorizeTrigger': null,\r\n\t\t\t'fadeInTime': 300,\r\n\t\t\t'fadeOutTime': 300,\r\n\t\t\t'DelayTime': 300,\r\n\t\t\t'allBtnClass': 'button',\r\n\t\t\t'callback': null\r\n\t\t};\r\n\r\n\t\tvar settings = $.extend({}, defaults, options);\r\n\r\n\t\treturn this.each(function () {\r\n\t\t\tvar obj = $(this),\r\n\t\t\t\to = settings,\r\n\t\t\t\tmsg = o.msg,\r\n\t\t\t\tattachMsg = o.attachMsg,\r\n\t\t\t\ttriggerType = o.triggerType,\r\n\t\t\t\tbuttonTrigger = o.buttonTrigger,\r\n\t\t\t\tbuttonClass1 = o.buttonClass1 !== null ? ' ' + o.buttonClass1 : '',\r\n\t\t\t\tbuttonText1 = o.buttonText1 !== null ? ' ' + o.buttonText1 : '',\r\n\t\t\t\tbuttonClass2 = o.buttonClass2 !== null ? ' ' + o.buttonClass2 : '',\r\n\t\t\t\tbuttonText2 = o.buttonText2 !== null ? ' ' + o.buttonText2 : '',\r\n\t\t\t\tlimitSelection = o.limitSelection,\r\n\t\t\t\tchgTxt = o.chgTxt,\r\n\t\t\t\tauthorize = o.authorize,\r\n\t\t\t\tauthorizeClass = o.authorizeClass,\r\n\t\t\t\tauthorizeTrigger = o.authorizeTrigger,\r\n\t\t\t\tfadeInTime = o.fadeInTime,\r\n\t\t\t\tfadeOutTime = o.fadeOutTime,\r\n\t\t\t\tDelayTime = o.DelayTime,\r\n\t\t\t\tallBtnClass = o.allBtnClass,\r\n\t\t\t\tcallback = o.callback,\r\n\t\t\t\tmodalLink = obj.find('a');\r\n\r\n\t\t\tif (authorize) {\r\n\t\t\t\tsetupAshModal(modalLink);\r\n\t\t\t}\r\n\r\n\t\t\tvar msgFrame = '' + msg + ''; //status message frame\r\n\r\n\t\t\tfunction showMessage() {\r\n\t\t\t\t$(msgFrame).hide().appendTo(attachMsg).center().fadeIn(fadeInTime).delay(DelayTime).fadeOut(fadeOutTime, function () {\r\n\t\t\t\t\t$(this).remove();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tfunction handleAuthorization(trigger) {\r\n\t\t\t\t//trigger authorize modal\r\n\t\t\t\ttrigger.find('.modalOpen').trigger('click.ashModal');\r\n\t\t\t\t//clear checkboxes of any selected facilities\r\n\t\t\t\t$('.' + allBtnClass).find('input[type=checkbox]').prop('checked', false);\r\n\r\n\t\t\t\t//function to handle click of authorization button in modal\r\n\t\t\t\t$('.' + authorizeTrigger).off('click').on('click', function () {\r\n\t\t\t\t\ttrigger.find('input[type=checkbox]').prop('checked', true).trigger('change');\r\n\t\t\t\t\tcallback(trigger);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tfunction invokeChange(trigger) {\r\n\t\t\t\tvar triggerChecked = trigger.find('input[type=checkbox]').prop('checked') || trigger.hasClass('authorized'),\r\n\t\t\t\t\tbuttonClass;\r\n\r\n\t\t\t\t//if trigger is checked attached message in the center of the screen, fade in, delay, fadeout and remove msg\r\n\t\t\t\tif (triggerChecked) {\r\n\t\t\t\t\tshowMessage();\r\n\t\t\t\t\tif (limitSelection) {\r\n\t\t\t\t\t\tbuttonClass = $.trim(buttonClass1);\r\n\t\t\t\t\t\t$('.' + allBtnClass + '.' + buttonClass).not(trigger).hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//if trigger is a button change the button class and text triggered settings\r\n\t\t\t\t\tif (buttonTrigger) {\r\n\t\t\t\t\t\ttrigger.removeClass('primary' + buttonClass1).addClass('secondary' + buttonClass2);\r\n\t\t\t\t\t\tif (chgTxt !== null) {\r\n\t\t\t\t\t\t\ttrigger.find(chgTxt).text(buttonText2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcallback(trigger);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (limitSelection) {\r\n\t\t\t\t\t\tbuttonClass = $.trim(buttonClass1);\r\n\t\t\t\t\t\t$('.' + allBtnClass + '.' + buttonClass).show();\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//if trigger is a button change the button class and text back to the original settings\r\n\t\t\t\t\tif (buttonTrigger) {\r\n\t\t\t\t\t\ttrigger.removeClass('secondary' + buttonClass2).addClass('primary' + buttonClass1);\r\n\t\t\t\t\t\tif (chgTxt !== null) {\r\n\t\t\t\t\t\t\ttrigger.find(chgTxt).text(buttonText1);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tcallback(trigger);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (triggerType === 'checkbox') {\r\n\t\t\t\tobj.find('input').on('click.select', function (e) {\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\tvar el = $(this).parent();\r\n\t\t\t\t\tif (authorize) {\r\n\t\t\t\t\t\thandleAuthorization(el);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tinvokeChange(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tshowMessage();\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\t//ASHMODAL\r\n\t$$ash.openModal();\r\n\r\n\t$('.radioFilter').each(function () {\r\n\t\tvar ashTrig = $(this),\r\n\t\t\t//use radioFilterCont for normal cases, survey-question for true surveys (ie: PHA)\r\n\t\t\tfilterItem = ashTrig.closest('.radioFilterCont').length ? ashTrig.closest('.radioFilterCont').find('.ashFilter') : ashTrig.closest('.survey-question').find('.ashFilter');\r\n\t\tashTrig.ashFilter({\r\n\t\t\tevent: 'change',\r\n\t\t\ttrigger: ashTrig.find('.radioFilterTrigger'),\r\n\t\t\tfilterItem: filterItem,\r\n\t\t\taddSelected: 'selected',\r\n\t\t\tfadeInDur: 1,\r\n\t\t\tfadeOutDur: 0\r\n\t\t});\r\n\t});\r\n\t//checkboxes with show/hide radio questions\r\n\t$('.checkbox-radio-group').each(function () {\r\n\t\tvar ashTrig = $(this);\r\n\t\tashTrig.ashFilter({\r\n\t\t\tevent: 'change',\r\n\t\t\ttrigger: ashTrig.find('.checkbox-radio-trigger'),\r\n\t\t\tfilterItem: ashTrig.find('.checkbox-radio-filter'),\r\n\t\t\tfadeInDur: 1,\r\n\t\t\tfadeOutDur: 0,\r\n\t\t\toffOption: true\r\n\t\t});\r\n\r\n\t\tashTrig.on('change.filterTriggerValidation', function () {\r\n\t\t\tvar obj = $(this),\r\n\t\t\t\tradCont = obj.find('.radio-container'),\r\n\t\t\t\tvalCont = obj.find('.val-cont .radio-container'),\r\n\t\t\t\tradContSib = radCont.siblings('.tooltip-validation');\r\n\r\n\t\t\tif (obj.find('.checkbox-radio-trigger').is(':checked')) {\r\n\t\t\t\tradCont.not('.validate').addClass('validate');\r\n\t\t\t} else {\r\n\t\t\t\tvalCont.removeClass('validate watching').unwrap();\r\n\t\t\t\tradContSib.remove();\r\n\t\t\t\t$$ashVal.clearValidation(radCont);\r\n\t\t\t\tobj.find('input[type=radio]').prop('checked', false);\r\n\t\t\t}\r\n\r\n\t\t\tif ($('form.validate').length) {\r\n\t\t\t\t$$ashVal.init();\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\t//hide radio buttons inside checkboxes when checkbox is unchecked\r\n\t$('.checkbox-radio-group').each(function () {\r\n\t\tvar radioGroup = $(this),\r\n\t\t\tcheckboxParent = radioGroup.find('input[type=checkbox]');\r\n\t\t$(checkboxParent).on('change', function () {\r\n\t\t\tvar thisCheckbox = $(this);\r\n\t\t\tif (thisCheckbox.prop('checked')) {\r\n\t\t\t\tthisCheckbox.parent().parent().find('.subquestion-cont').find('input[type=radio]').prop('checked', false);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\t//TODAYS CHALLENGE LOG\r\n\tif ($('.challenge-log-select').length) {\r\n\t\tvar chlgDC = new DateController(),\r\n\t\t\tchlgDCSel = $('.challenge-log-select'),\r\n\t\t\tcurrUrl = chlgDCSel.attr('data-current-json-url'),\r\n\t\t\tchlgDP = chlgDCSel.find('.date-period');\r\n\r\n\t\tvar buildControl = function () {\r\n\t\t\tchlgDC.initialize('challenge-log');\r\n\t\t\tchlgDC.getData(chlgDCSel, currUrl);\r\n\t\t\tvar start = chlgDP.attr('data-date-start'),\r\n\t\t\t\tend = chlgDP.attr('data-date-end'),\r\n\t\t\t\ttype = chlgDCSel.attr('data-date-type');\r\n\r\n\t\t\t$('button.template-render-init').attr('data-json-url', currUrl);\r\n\t\t\tchlgDCSel.attr('data-current-json-url', currUrl);\r\n\t\t};\r\n\t\tvar VMBtn = function (entries) {\r\n\t\t\tif ($.isArray(entries)) { //if entries are an array, send in length\r\n\t\t\t\tshowHideVMBtn(entries.length);\r\n\t\t\t} else if (!isNaN(entries)) {\r\n\t\t\t\tshowHideVMBtn(entries);\r\n\t\t\t} else { //if neither array or number hide button\r\n\t\t\t\t$('button.template-render-init').hide();\r\n\t\t\t}\r\n\t\t};\r\n\t\tvar showHideVMBtn = function (numRecs) { //show hide 'view more' button\r\n\t\t\tvar btn = $('button.template-render-init'),\r\n\t\t\t\tsel = $('.template-render-init').not('button'),\r\n\t\t\t\trecs = parseInt(numRecs),\r\n\t\t\t\tload = parseInt(chlgDCSel.attr('data-number-to-load'));\r\n\r\n\t\t\tif (isNaN(recs) || isNaN(load)) { //if no number to load or number of records, show button\r\n\t\t\t\tbtn.hide();\r\n\t\t\t} else {\r\n\t\t\t\tif (recs > load) {\r\n\t\t\t\t\t//if more recs than num to load show button\r\n\t\t\t\t\tbtn.show();\r\n\t\t\t\t} else {\r\n\t\t\t\t\t//if not, hide button\r\n\t\t\t\t\tbtn.hide();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tvar viewAll = function () {\r\n\t\t\tvar callback = function (trigr, jsonData, target, endSlice) {\r\n\t\t\t\ttarget = $('button.template-render-init') || target;\r\n\r\n\t\t\t\tif (trigr.is('option')) {\r\n\t\t\t\t\ttarget.click(function () {\r\n\t\t\t\t\t\t$$ash.getTemplateData(target, target.attr('data-json-url'), target.attr('data-ash-template-url'), target.attr('data-ash-target-id'), callback);\r\n\t\t\t\t\t});\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttarget.hide(); //remove show all button\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\t$$ash.templateInitHelper(callback);\r\n\t\t\t$('button.template-render-init').attr('data-json-url', currUrl);\r\n\t\t};\r\n\r\n\t\tbuildControl();\r\n\t\tviewAll();\r\n\r\n\t\t$('#template-target').on('click', chlgDCSel.find('a[data-json-url]'), function (e) {\r\n\t\t\tvar eTarget = $(e.target);\r\n\r\n\t\t\tif (eTarget.attr('href')) {\r\n\t\t\t\t//let links pass through\r\n\t\t\t} else {\r\n\r\n\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\tvar obj = $(this),\r\n\t\t\t\t\ttrigrBtn = eTarget.parent();\r\n\r\n\t\t\t\tif (trigrBtn.attr('data-json-url') !== undefined) {\r\n\t\t\t\t\t//click date control to add custom date\r\n\t\t\t\t\tcurrUrl = trigrBtn.attr('data-json-url');\r\n\r\n\t\t\t\t\t$$ash.getTemplateData(chlgDCSel, currUrl, chlgDCSel.attr('data-ash-template-url'), 'template-target', updateCurrent);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfunction updateCurrent(trigr, jsonData, target, endSlice) {\r\n\t\t\t\tbuildControl();\r\n\t\t\t\tviewAll();\r\n\t\t\t\tVMBtn(jsonData.items);\r\n\t\t\t}\r\n\t\t});\r\n\t\t$('#template-target + .btn-cont button').on('click', function () {\r\n\t\t\t$(this).hide();\r\n\t\t});\r\n\t}\r\n\t//SET UP SHARE FUNCTIONALITY\r\n\t$('a.share-social').on('click.social', function () {\r\n\t\tvar twt = $('.social.twitter'),\r\n\t\t\tfbShare = $('.social.facebook');\r\n\r\n\t\tif (twt.length) {\r\n\t\t\ttwt.attr('href', twt.attr('href') + '?text=' + twt.data('twitter-msg') + '&url=' + $$siteSettings.url);\r\n\t\t}\r\n\t\tif (fbShare.length) {\r\n\t\t\t$.ajaxSetup({ cache: true });\r\n\r\n\t\t\tif (typeof FB === 'undefined') {\r\n\t\t\t\t$.getScript('//connect.facebook.net/en_US/all.js', function () {\r\n\t\t\t\t\tFB.init({\r\n\t\t\t\t\t\tappId: $$siteSettings.fbAppId,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tfbShare.click(function (e) {\r\n\t\t\t\t\t\tvar obj = $(this);\r\n\r\n\t\t\t\t\t\te.preventDefault();\r\n\r\n\t\t\t\t\t\tFB.ui({\r\n\t\t\t\t\t\t\tmethod: 'share_open_graph',\r\n\t\t\t\t\t\t\taction_type: $$siteSettings.fbNamespace + ':complete',\r\n\t\t\t\t\t\t\taction_properties: JSON.stringify({\r\n\t\t\t\t\t\t\t\t\"challenge\": obj.attr('href'),\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}, function () {\r\n\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\t$$ash.updateProgress();\r\n\r\n\tif ($('.removeOnSubmit').length) {\r\n\t\t(function replaceButtonOnSubmit() {\r\n\t\t\tvar btn = $('.removeOnSubmit'),\r\n\t\t\t\tform = btn.closest('form'),\r\n\t\t\t\tloader = btn.siblings('.progress-indicator');\r\n\r\n\t\t\tform.on('submit.removeOnSubmit', function (e) {\r\n\t\t\t\tvar obj = $(this),\r\n\t\t\t\t\tbtnDetached;\r\n\r\n\t\t\t\tif (!form.hasClass('ajaxPost') && !form.find('.validation-fail').length) {\r\n\t\t\t\t\tbtnDetached = btn.detach();\r\n\r\n\t\t\t\t\tif (loader.length) {\r\n\t\t\t\t\t\tloader.css('display', 'inline-block');\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tobj.on('submit.preventAnotherSubmit', function (e) {\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t})();\r\n\t}\r\n\r\n\t$('.videoLoad').each(function () {\r\n\t\tvar obj = $(this),\r\n\t\t\tvidUrl = obj.attr('data-video-address'),\r\n\t\t\tvidCont = obj.find('.videoCont'),\r\n\t\t\twidth,\r\n\t\t\theight;\r\n\r\n\t\t//utilize vidCont wrapper class to give video and placeholder 16x9 aspect ratio\r\n\t\tif (vidCont.length > 0) {\r\n\t\t\t//maintain 16x9 aspect ratio for placeholder image\r\n\t\t\t$(window).on('load resize', function () {\r\n\r\n\t\t\t\t//delay calculation of width to ensure proper width is captured\r\n\t\t\t\tsetTimeout(function () {\r\n\t\t\t\t\twidth = vidCont.width();\r\n\t\t\t\t\tvidCont.css('height', width * (9 / 16));\r\n\t\t\t\t}, 20);\r\n\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\t//if no vidCont wrapper, video is the same size of the container that the placeholder was in\r\n\t\telse {\r\n\t\t\theight = obj.height();\r\n\t\t\twidth = obj.width();\r\n\t\t}\r\n\r\n\t\t//replaces placeholder with video\r\n\t\tobj.on('click', function () {\r\n\t\t\t$$ash.ajax({\r\n\t\t\t\tdataType: 'jsonp', //TODO: change to 'json' once IE8/9 support is dropped\r\n\t\t\t\turl: '//noembed.com/embed?url=' + encodeURIComponent(vidUrl) + '&maxwidth=' + width + '&width=' + width + '&height=' + height + '&autoplay=1'\r\n\t\t\t}).done(function (data) {\r\n\t\t\t\tvar vidMarkup = data.html;\r\n\r\n\t\t\t\t//replace placeholder with markup from noembed\r\n\t\t\t\tobj.replaceWith(vidMarkup);\r\n\r\n\t\t\t\t//remove metadata table that is added with video\r\n\t\t\t\t$('.noembed-meta-info').remove();\r\n\t\t\t});\r\n\t\t});\r\n\r\n\t});\r\n\r\n\tfunction initRadioCardSelections() {\r\n\t\tvar radioCards = $('.radio-card');\r\n\r\n\t\tif ($('.radio-card').length) {\r\n\t\t\t(function () {\r\n\t\t\t\tfunction changeState(e, obj) {\r\n\t\t\t\t\tvar objLabel = obj.closest('label'),\r\n\t\t\t\t\t\tobjLabelSib = objLabel.siblings(),\r\n\t\t\t\t\t\tobjInput = obj.find('input');\r\n\r\n\t\t\t\t\te.stopPropagation();\r\n\r\n\t\t\t\t\tif (!objInput.prop('checked')) {\r\n\t\t\t\t\t\tobjInput.prop('checked', true);\r\n\t\t\t\t\t\tobjInput.focus();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tobjLabel.removeClass('radio_off').addClass('radio_on').trigger('change');\r\n\t\t\t\t\t\tobjLabelSib.removeClass('radio_on').addClass('radio_off');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tradioCards.each(function () {\r\n\t\t\t\t\tvar obj = $(this),\r\n\t\t\t\t\t\tobjLabel = obj.closest('label'),\r\n\t\t\t\t\t\tobjInput = obj.find('input');\r\n\r\n\t\t\t\t\tif (obj.hasClass('image')) {\r\n\t\t\t\t\t\t//IE8 issue where clicking an image does not trigger a change\r\n\t\t\t\t\t\tobjLabel.on('click', function (e) {\r\n\t\t\t\t\t\t\tchangeState(e, obj);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tobjInput.on('change click', function (e) {\r\n\t\t\t\t\t\t\tchangeState(e, obj);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//if radio is already checked on page load\r\n\t\t\t\t\tif (objInput.prop('checked')) {\r\n\t\t\t\t\t\tobjInput.trigger('click');\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})();\r\n\t\t}\r\n\t}\r\n\r\n\t//populate fields for enrollment forms\r\n\tif (typeof $$popVals !== 'undefined') {\r\n\t\tvar parent = $('[data-populate-name]'),\r\n\t\t\tpopName = parent.attr('data-populate-name'),\r\n\t\t\tobj = parent.find('[data-populate-item=\"' + popName + '\"]'),\r\n\t\t\tfields = parent.find('input, select, textarea').not('[data-populate-item], .select2-offscreen, .select2-input'),\r\n\t\t\tfieldVals = $$popVals;\r\n\r\n\t\tobj.on('click', function () {\r\n\t\t\tif ($(this).is(':checked')) {\r\n\t\t\t\t$$ash.populateFields(fields, fieldVals, true, false);\r\n\t\t\t} else {\r\n\t\t\t\t$$ash.populateFields(fields, null, false, false);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tfields.on('blur', function () {\r\n\t\t\tobj.prop('checked', false);\r\n\t\t});\r\n\t}\r\n\r\n\t$('.viewMore').initViewMoreButton();\r\n\r\n\t$('.ajaxSearch').ajaxSearchInit();\r\n\r\n\t//PLAN SUMMARY INIT\r\n\tif ($('.plan-summary').length && $('.template-render-init').length && $('.template-render-init')[0].hasAttribute('data-ash-target-id')) {\r\n\t\t(function initTableCard() {\r\n\t\t\tvar dropdown = document.querySelector('select.template-render-init');\r\n\t\t\tvar targetId = dropdown.getAttribute('data-ash-target-id');\r\n\t\t\tvar templateUrl = dropdown.getAttribute('data-ash-template-url');\r\n\t\t\tvar jsonUrl = dropdown.options[0].getAttribute('data-json-url');\r\n\r\n\t\t\t//TODO: Remove jQuery wrapper from dropdown variables once handlebarsInit and renderTemplate have been converted to vanilla javascript\r\n\r\n\t\t\t//get first set of data from dropdown and render template on page\r\n\t\t\t$$ash.getTemplateData($(dropdown), jsonUrl, templateUrl, targetId);\r\n\r\n\t\t\t//initialize handlebarsInit method on dropdown change\r\n\t\t\t//dropdown wrapped in jQuery wrapper to talk to select2\r\n\t\t\t$(dropdown).on('change.planSummaryDropdown', function (e) {\r\n\t\t\t\tjsonUrl = dropdown.options[dropdown.selectedIndex].getAttribute('data-json-url');\r\n\r\n\t\t\t\t$$ash.handlebarsInit($(dropdown), {\r\n\t\t\t\t\ttarget: targetId,\r\n\t\t\t\t\ttemplateUrl: templateUrl,\r\n\t\t\t\t\tjsonUrl: jsonUrl\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}());\r\n\t}\r\n\r\n\t//initialize enableOnCheck\r\n\t$$ash.enableOnCheck();\r\n\r\n});//END DOCUMENT READY\r\n\r\n$(window).on('load', function () {\r\n\tif ($('.collapsible-header').length) {\r\n\t\t$('.collapsible-header').each(function () {\r\n\t\t\tvar obj = $(this),\r\n\t\t\t\tcollBdy = obj.next();\r\n\t\t\t//collapsibleAnimation = new TimeLite();\r\n\t\t\tobj.on('click', function () {\r\n\t\t\t\t//Collapsible header for mobile\r\n\t\t\t\tif (Modernizr.mq($$ash.mq('sm')) && (obj.hasClass('mobile-show'))) {\r\n\t\t\t\t\tif (collBdy.hasClass('expanded')) {\r\n\t\t\t\t\t\tTweenLite.to(collBdy, 0.3, { height: 0 });\r\n\t\t\t\t\t\tcollBdy.removeClass('expanded');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcollBdy.addClass('expanded');\r\n\t\t\t\t\t\tcollBdy.css({ 'height': 'auto' });\r\n\t\t\t\t\t\tTweenLite.from(collBdy, 0.3, { height: 0 });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (!obj.hasClass('mobile-show')) {\r\n\t\t\t\t\tif (collBdy.hasClass('expanded')) {\r\n\t\t\t\t\t\tcollBdy.css({ 'height': '0' });\r\n\t\t\t\t\t\tTweenLite.from(collBdy, 0.3, { height: 'auto' });\r\n\t\t\t\t\t\tcollBdy.removeClass('expanded');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tcollBdy.addClass('expanded');\r\n\t\t\t\t\t\tcollBdy.css({ 'height': 'auto' });\r\n\t\t\t\t\t\tTweenLite.from(collBdy, 0.3, { height: 0 });\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t});\r\n\t\t\tif (obj.hasClass('mobile-show')) {\r\n\t\t\t\t$(window).on('resize.obj orientationchange.obj', function () {\r\n\t\t\t\t\tif (Modernizr.mq($$ash.mq('sm', 'min'))) {\r\n\t\t\t\t\t\tcollBdy.addClass('activated');\r\n\t\t\t\t\t\tif (collBdy.hasClass('activated')) {\r\n\t\t\t\t\t\t\tcollBdy.css('height', 'auto');\r\n\t\t\t\t\t\t\tcollBdy.removeClass('activated');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tcollBdy.css('height', '0');\r\n\t\t\t\t\t\tcollBdy.removeClass('expanded');\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t});\r\n\t}\r\n\t$('.ashModalPrint').on('click', function (e) {\r\n\t\te.preventDefault();\r\n\t\t$$ash.ashModalPrinter($('.logo-cont img'), $(this).closest('.ashModalPanel').html(), $('link'));\r\n\t});\r\n\tfunction triggerPrint(theTrigger, printContent, link) {\r\n\t\ttheTrigger.on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\t$$ash.ashModalPrinter(null, $(this).closest(printContent).html() || (printContent).html(), link);\r\n\t\t});\r\n\t}\r\n\t//Call TriggerPrint and pass the print trigger, the container with the content to be printed, and link\r\n\ttriggerPrint($('.tab-template .print-selection'), $('.tab-template'), $('link'));\r\n\r\n\t//Call TriggerPrint for PHA Disclosure\r\n\ttriggerPrint($('.print-selection'), $('#PHADisclosureText'), $('link'));\r\n\r\n\tif ($('form.validate').length) {\r\n\t\t$$ashVal.init();\r\n\t}\r\n\r\n\t//OPEN MODAL ON PAGE RENDER\r\n\t$$ash.renderModal();\r\n\r\n\t//if there is no sticky nav and jump is a param in the url, run jumpToContent\r\n\tif (!$('.ash-sticky-nav').length && $.urlParam('jump') !== null && $(window).scrollTop() === 0) {\r\n\t\t$.jumpToContent();\r\n\t}\r\n\r\n\t//CONTACT US MESSAGE LENGTH COUNTDOWN\r\n\t$('.ash-countdown').each(function () {\r\n\t\t$(this).ashCountdown();\r\n\t});\r\n\r\n\t//CONTACT US MESSAGE LENGTH NON-label wrapped\r\n\t$('.ash-countdown-nonWrap').each(function () {\r\n\t\tvar obj = $(this);\r\n\t\tobj.ashCountdown({\r\n\t\t\t'counter': obj.parent().parent().find('.ash-countdown-counter')//did parent parent because of valcont container\r\n\t\t});\r\n\t});\r\n\r\n\t(function setupShareEmail() {\r\n\t\tvar obj = $('#share-email');\r\n\r\n\t\tif (obj.length) {\r\n\t\t\tvar btn = obj.find('input[type=submit]'),\r\n\t\t\t\tind = obj.find('.progress-indicator');\r\n\r\n\t\t\tfunction shareEmail(response, textStatus, xhr, cbOpts) {\r\n\t\t\t\tvar obj = cbOpts.ele,\r\n\t\t\t\t\tjsonData = $$ash.unstringJSON(response);\r\n\r\n\t\t\t\tobj.find('label input').val('');\r\n\r\n\t\t\t\tif (jsonData.error === true) {\r\n\t\t\t\t\t$$ash.ajaxFail(obj, jsonData.errorMessage);\r\n\t\t\t\t} else {\r\n\t\t\t\t\t//add success message to the form\r\n\t\t\t\t\t$$ash.formSuccess(obj, jsonData);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tobj.on('submit.email', function (e) {\r\n\t\t\t\tvar ajaxData = $$ash.serializeDataToObject(obj);\r\n\r\n\t\t\t\t$$ash.ajaxFormSubmit(obj, {\r\n\t\t\t\t\tdata: ajaxData,\r\n\t\t\t\t\tcbOpts: { ele: obj },\r\n\t\t\t\t\tcallback: shareEmail\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t})();\r\n\r\n\t$$ash.preventDefaultFormSubmit();\r\n}); // END WINDOW ON LOAD\r\n\r\n$(window).on('load resize', function () {\r\n\t$$ash.flexheightFallback();\r\n\t$$ash.cardsEqualHeight();\r\n});\r\n","var GlAshCo = {\r\n\tstartTemplate: function (source, template, id, skipJSON, callback) {\r\n\t\tvar obj = {};\r\n\t\t//if not getting data from an external json file and json is passed in as a string\r\n\t\tif (skipJSON) {\r\n\t\t\t//parse string into JSON\r\n\t\t\tobj.data = $$ash.unstringJSON(source);\r\n\t\t\t$.when(\r\n\t\t\t\t$.get(template, function (tmp) {\r\n\t\t\t\t\tobj.template = tmp;\r\n\t\t\t\t})\r\n\t\t\t).then(\r\n\t\t\t//success\r\n\t\t\t\tfunction () {\r\n\t\t\t\t\tGlAshCo.renderTemplate(obj.template, obj.data, id, true, callback);\r\n\t\t\t\t},\r\n\t\t\t//fail\r\n\t\t\t\tfunction () {\r\n\t\t\t\t\tGlAshCo.renderTemplate(obj.template, obj.data, id, false);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\t$.when(\r\n\t\t\t\t$.getJSON(source, function (data) {\r\n\t\t\t\t\tobj.data = data;\r\n\t\t\t\t}),\r\n\t\t\t\t$.get(template, function (tmp) {\r\n\t\t\t\t\tobj.template = tmp;\r\n\t\t\t\t})\r\n\t\t\t).then(\r\n\t\t\t//success\r\n\t\t\t\tfunction () {\r\n\t\t\t\t\tGlAshCo.renderTemplate(obj.template, obj.data, id, true, callback);\r\n\t\t\t\t},\r\n\t\t\t//fail\r\n\t\t\t\tfunction () {\r\n\t\t\t\t\tGlAshCo.renderTemplate(obj.template, obj.data, id, false);\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n\r\n\trenderTemplate: function (templateHtml, data, id, isSuccess, callback) {\r\n\t\tvar ele = document.getElementById(id);\r\n\t\t//if get json and get template are successful\r\n\t\tif (isSuccess) {\r\n\r\n\t\t\tvar tmp = Handlebars.compile(templateHtml),\r\n\t\t\t\tresult = tmp(data);\r\n\t\t\t$(ele).html(result);\r\n\t\t\t//if teaser-blocks are added to the page, run teaser-blocks script\r\n\t\t\tif ($('section.teaser-blocks').length > 0) {\r\n\t\t\t\tGlAshCo.teaserBlocks();\r\n\t\t\t\tif( typeof(callback) == 'function' ){\r\n\t\t\t\t\tcallback();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif ($('html.oldie .timeline').length > 0) {\r\n\t\t\t\t\tGlAshCo.timelineOldie();\r\n\t\t\t}\r\n\t\t\tif ($('.timeline').length > 0) {\r\n\t\t\t\tGlAshCo.timeline();\r\n\t\t\t}\r\n\r\n\t\t} else {\r\n\t\t\t$(ele).html('Sorry, an error occured. Please try again or contact us.');\r\n\t\t}\r\n\t},\r\n\tteaserBlocks: function () {\r\n\t\tvar teaserList = $('html.oldie .teaser-blocks ul');\r\n\t\t//add css selectors to oldie to style background\r\n\t\tteaserList.find('li:nth-of-type(2),li:nth-of-type(4n + 2)').addClass('item2');\r\n\t\tteaserList.find('li:nth-of-type(3),li:nth-of-type(4n + 3)').addClass('item3');\r\n\t\tteaserList.find('li:nth-of-type(4),li:nth-of-type(4n + 4)').addClass('item4');\r\n\r\n\t\t$('html.no-csstransitions section.teaser-blocks ul li a').each(function () {\r\n\t\t\tGlAshCo.teaserBlockAnimate($(this));\r\n\t\t});\r\n\r\n\t},\r\n\ttimelineOldie: function () {\r\n\t\tvar eventList = $('html.oldie .timeline');\r\n\t\teventList.find('.event:nth-of-type(even)').addClass('even');\r\n\t\teventList.find('.event:nth-of-type(odd)').addClass('odd');\r\n\t\teventList.find('.year-highlight:nth-of-type(odd)').addClass('oddYear');\r\n\t\teventList.find('.year-highlight:nth-of-type(even)').addClass('evenYear');\r\n\t},\r\n\ttimeline: function () {\r\n\t\t$('.nav-timeline a[href*=\\\\#]:not([href=\\\\#])').click(function () {\r\n\t\t\tvar target = $(this.hash);\r\n\t\t\ttarget = target.length ? target : $('[name=' + this.hash.slice(1) + ']');\r\n\t\t\tif (target.length) {\r\n\t\t\t\tif ($('.fitness-timeline .nav-timeline').length > 0) {\r\n\t\t\t\t\t$('html,body').animate({\r\n\t\t\t\t\t\tscrollTop: target.offset().top - 208\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\t$('html,body').animate({\r\n\t\t\t\t\t\tscrollTop: target.offset().top - 190\r\n\t\t\t\t\t}, 1000);\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tvar newHeight = 0;\r\n\t\tvar newEvtHeight = 0;\r\n\t\tvar lastHeight = 0;\r\n\t\tvar contHeight = 0;\r\n\t\tvar newContHeight = 0;\r\n\t\tvar timelineContent = $('.timeline .content');\r\n\r\n\t\t$('.event-container').each(function () {\r\n\t\t\tvar obj = $(this);\r\n\t\t\tcontHeight = obj.outerHeight();\r\n\t\t\tnewContHeight += contHeight;\r\n\t\t});\r\n\r\n\t\t$(window).on('load resize', function () {\r\n\t\t\ttimelineContent.each(function (index) {\r\n\t\t\t\tvar content = $(this);\r\n\t\t\t\tvar section = content.closest('section');\r\n\t\t\t\tvar line = section.find('.line');\r\n\t\t\t\tvar content = section.find('.content');\r\n\t\t\t\tvar event = section.find('.event');\r\n\t\t\t\tvar total = event.length;\r\n\r\n\t\t\t\tevent.each(function (index) {\r\n\t\t\t\t\tvar obj = $(this);\r\n\t\t\t\t\tevtHeight = obj.height();\r\n\t\t\t\t\tnewEvtHeight += evtHeight;\r\n\t\t\t\t\tif (index === total - 1) {\r\n\t\t\t\t\t\tlastHeight = evtHeight / 2;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tcontentHeight = content.outerHeight(),\r\n\t\t\t\tevtMinLast = contentHeight - lastHeight;\r\n\r\n\t\t\t\tline.height(evtMinLast);\r\n\t\t\t});\r\n\t\t});\r\n\t},\r\n\r\n\tteaserBlockAnimate: function (obj) {\r\n\t\tvar ashTeaserBlockPos = obj.css('right');\r\n\t\tobj.on('mouseenter', function () {\r\n\t\t\tobj.animate({ 'right': 0 }, { duration: 300 });\r\n\t\t}).on('mouseleave', function () {\r\n\t\t\tobj.animate({ 'right': ashTeaserBlockPos }, { duration: 300 });\r\n\t\t});\r\n\t}\r\n\r\n};\r\n//===============================================\r\n// CUSTOM JQUERY PLUGINS\r\n//===============================================\r\n(function ($) {\r\n\t$.fn.openFormModal = function(options){\r\n\t\tvar s = $.extend({\r\n\t\t\ttrigger: this,\r\n\t\t\thtmlFormContent: $('.htmlForm'),\r\n\t\t\tsetFld: '',\r\n\t\t\tsetVal: '',\r\n\t\t\tsetRel: '',\r\n\t\t\tformSelector: 'form'\r\n\t\t}, options);\r\n\t\tvar pgBody = $('body');\r\n\t\t//setup ashModal form\r\n\t\tvar setup = function(){\r\n\t\t\ts.trigger.each(function (i, ele){\r\n\t\t\t\t$(ele).ashModal({\r\n\t\t\t\t\t'theContent': s.htmlFormContent,\r\n\t\t\t\t\t'removePageScroll': true,\r\n\t\t\t\t\t'closeContent': ''\r\n\t\t\t\t});\r\n\t\t\t\t//if form elements are needed to be sent to developer (hidden fields or necessary info)\r\n\t\t\t\tvar setEmail = true;\r\n\t\t\t\tif( s.setRel !== '' ){\r\n\t\t\t\t\t$(ele).on('click', function(){\r\n\t\t\t\t\t\tif( setEmail ){\r\n\t\t\t\t\t\t\tsetFormElem( s.setRel );\r\n\t\t\t\t\t\t\tsetEmail = false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\tfunction setFormElem( type ){\r\n\t\t\tswitch( type ){\r\n\t\t\t\tcase 'valToHid': //set hidden field to a value\r\n\t\t\t\t $(s.setFld).val( $(s.setVal).val() );\r\n\t\t\t\t break;\r\n\t\t\t\tcase 'valToTxt': //set text are to value\r\n\t\t\t\t $(s.setFld).text( s.setVal );\r\n\t\t\t\t break;\r\n\t\t\t\tcase 'valToEnd': //set to end of class\r\n\t\t\t\t $(s.setFld).val( $(s.setFld).val() + '\\n\\n' + s.setVal );\r\n\t\t\t\t break;\r\n\t\t\t\tdefault:\r\n\t\t\t\t //none\r\n\t\t\t}\r\n\t\t}\r\n\t\tsetup();\r\n\t\tpgBody.on('submit', s.formSelector, function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\t$('.error').hide();\r\n\t\t\tvar clickedForm = $(this);\r\n\t\t\tvar postPage = clickedForm.attr('action');\r\n\t\t\tvar gotcha = clickedForm.find('#urlGotcha').val();\r\n\t\t\tvar clientError = 'There was an error in submitting your form, please refresh the page and try again.';\r\n\t\t\tvar validationError = $$ashVal.validateAll(clickedForm);\r\n\t\t\tvar response = {};\r\n\t\t\tif (!gotcha && !validationError) {\r\n\t\t\t\t$.when(\r\n\t\t\t\t\t//passed in url and form from submit form is the form clicked\r\n\t\t\t\t\t$.post(postPage, clickedForm.serialize())\r\n\t\t\t\t\t\t.done(function (data) {\r\n\t\t\t\t\t\t\tif (typeof data === 'string') {\r\n\t\t\t\t\t\t\t\tvar parsedData = JSON.parse(data);\r\n\t\t\t\t\t\t\t\tresponse = parsedData;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tresponse = data;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t})\r\n\t\t\t\t).then(\r\n\t\t\t\t//success\r\n\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\tif (response.error) {\r\n\t\t\t\t\t\t\t$('.error').html(response.errorMessage).show();\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t//send to Developers/Server and when it returns successfully close modal\r\n\t\t\t\t\t\t\t$('.hideData').hide(); //hide form fields\r\n\t\t\t\t\t\t\t$('.response').html(response.message); //show response\r\n\t\t\t\t\t\t\t$('.hideData input').val(''); //clear form fields to be reused\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t//fail\r\n\t\t\t\t\tfunction () {\r\n\t\t\t\t\t\t$('.error').html(response.errorMessage).show();\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t} else if (gotcha && !validationError) {\r\n\t\t\t\t$('.error').html(clientError).show();\r\n\t\t\t}\r\n\r\n\t\t});\r\n\t};\r\n}(jQuery));\r\n//===============================================\r\n// /CUSTOM JQUERY PLUGINS\r\n//===============================================\r\n\r\n//STICKY NAVS (WHEN YOU NEED TO STICK MULTIPLE NAVBARS)\r\n//If the primary navbar needs to be sticky, please make it sticky via CSS first.\r\n//To use, just add the class \"ash-sticky-nav\" to all navbars you want to \"stick\".\r\n//You will have to style the sticky within the page's CSS, but the js will take care of the margin-top for you.\r\n//Then call the ashStickyNavs() function in the site specific .js file WITHIN $(WINDOW).LOAD(FUNCTION(){ }) !!!\r\n//For example: \"if ($('.ash-sticky-nav')) {ashStickyNavs({isMainNavSticky: true});}\"\r\nfunction ashStickyNavs(options) {\r\n\tvar defaults = {\r\n\t\tmainNav: $('header'), //what is the selector for the main navbar?,\r\n\t\tmainContent: $('.main-content'), //selector for main content\r\n\t\tfooter: $('footer'), //selector for footer\r\n\t\tisMainNavSticky: false, //Is the main navbar already sticky?\r\n\t\tfixedClass: 'fixed-nav', //class name to give the sticky sections\r\n\t\tmobileBreak: 767 //screen must be wider than this for the plugin to kick in\r\n\t},\r\n\t\ts = $.extend({}, defaults, options),\r\n\t\tmainNavHeight,\r\n\t\ttarget = $('.ash-sticky-nav'),\r\n\t\ttargetArray = [],\r\n\t\ttargetPos = [],\r\n\t\ttargetHeights = [],\r\n\t\tnavOffset = [],\r\n\t\tcontentOffset = [],\r\n\t\tfooterPos;\r\n\r\n\ttarget.each(function () {\r\n\t\ttargetArray.push(this);\r\n\t});\r\n\r\n\tfunction navReset() {\r\n\t\ttarget.removeClass(s.fixedClass).removeAttr('style');\r\n\t\t$('.nav-adjusted').removeAttr('style').removeClass('nav-adjusted');\r\n\t}\r\n\r\n\tfunction targetPosHeightFinder() {\r\n\t\tfooterPos = s.footer.offset().top;\r\n\t\tmainNavHeight = s.isMainNavSticky ? s.mainNav.outerHeight(true) : 0;\r\n\t\ttargetPos.length = targetHeights.length = navOffset.length = contentOffset.length = 0;\r\n\r\n\t\tnavReset();\r\n\r\n\t\ttarget.each(function () {\r\n\t\t\ttargetPos.push($(this).offset().top);\r\n\t\t\ttargetHeights.push($(this).outerHeight(true));\r\n\t\t});\r\n\r\n\t\tfor (var i = 0, j = targetArray.length; i < j; i++) {\r\n\t\t\tcontentOffset.push((i === 0) ? targetHeights[i] : contentOffset[i - 1] + targetHeights[i]);\r\n\t\t\tnavOffset.push((i === 0) ? mainNavHeight : contentOffset[i - 1]);\r\n\t\t}\r\n\t\tnavSticker();\r\n\r\n\t\tif ($.urlParam('jump') !== null && $(window).scrollTop() === 0) { //jump to content, if jump is a param in the url\r\n\t\t\t$.jumpToContent();\r\n\t\t}\r\n\t}\r\n\r\n\tfunction navSticker() {\r\n\t\tvar currentScrollPos = $(window).scrollTop();\r\n\t\tif ($(window).width() >= s.mobileBreak) {\r\n\r\n\t\t\tif (currentScrollPos >= targetPos[0] - navOffset[0] && currentScrollPos < footerPos - contentOffset[targetArray.length - 1]) {\r\n\r\n\t\t\t\tfor (var i = 0, j = targetArray.length; i < j; i++) {\r\n\t\t\t\t\tif (currentScrollPos >= targetPos[i] - navOffset[i] || i === 0) {\r\n\t\t\t\t\t\t$(targetArray[i]).addClass(s.fixedClass).css('top', navOffset[i]);\r\n\t\t\t\t\t\ts.mainContent.addClass('nav-adjusted').css('padding-top', contentOffset[i]);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t$(targetArray[i]).removeClass(s.fixedClass).removeAttr('style');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tnavReset();\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tnavReset();\r\n\t\t}\r\n\t}\r\n\ttargetPosHeightFinder();\r\n\r\n\t$(window).on('orientationchange resize', targetPosHeightFinder).on('scroll', navSticker);\r\n}\r\n\r\nfunction addEventAfterCreation() {\r\n\tvar collapsibleHeader = $('.collapsible-header');\r\n\r\n\tcollapsibleHeader.ashCollapsible({\r\n\t\t'closedIconClass': 'icon-GreaterThan',\r\n\t\t'openedIconClass': 'icon-DropDown'\r\n\t});\r\n\tcollapsibleHeader.each(function (ndx, ele) {\r\n\t\tif (ndx % 2 === 0) {\r\n\t\t\t$(ele).addClass('even');\r\n\t\t}\r\n\t});\r\n}\r\n//=====================================================================================================================\r\n// CONSTRUCTORS START\r\n//==============================================================================\r\nfunction AshcoModal(theTrigger, theContent) {\r\n\tvar removeScroll = true,\r\n\t\tcloseContent = '',\r\n\t\tcallBack = addEventAfterCreation;\r\n\r\n\ttheTrigger.ashModal({\r\n\t\t'theContent': theContent,\r\n\t\t'removePageScroll': removeScroll,\r\n\t\t'closeContent': closeContent,\r\n\t\t'callbackAfterClick': callBack\r\n\t});\r\n}\r\n//=============================================================================================================\r\n// END CONSTRUCTORS\r\n//\r\n// DOCUMENT READY START\r\n//==============================================================================\r\n$(document).ready(function () {\r\n\tvar mainContent = $('.main-content'),\r\n\t\tbody = $('body'),\r\n\t\tbodyInner = $('.body-inner'),\r\n\t\tbulletin = $('.bulletin'),\r\n\t\tmobileBreak = 767;\r\n\r\n\t(function selectAnimateInit() {\r\n\t\tvar selectObj = $('select'),\r\n\t\t\tplaceholderData = null,\r\n\t\t\tmainContent = $('.main-content, .main'); //TODO: delete .main when we transition to new template markup\r\n\r\n\t\tif (selectObj.length && !Modernizr.touchevents) {\r\n\t\t selectObj.each(function () {\r\n\t\t var selectObject = $(this);\r\n\t\t\t\tplaceholderData = selectObject.data('select2-placeholder');\r\n\t\t\t\tselectObject.select2({\r\n\t\t\t\t placeholder: selectObject.data('select2-placeholder'),\r\n\t\t\t\t minimumResultsForSearch: -1,\r\n\t\t\t\t formatNoMatches: function (term) {\r\n\t\t\t\t \treturn 'Loading...';\r\n\t\t\t\t }\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tmainContent.on('select2-open', 'select', function (e) {\r\n\t\t\t\tvar dropdown = $('.select2-drop-active');\r\n\r\n\t\t\t\tdropdown.css('height', 'auto');\r\n\r\n\t\t\t\tTweenLite.from(dropdown, 0.5, {\r\n\t\t\t\t\theight: 0,\r\n\t\t\t\t\tease: Power4.easeOut\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t $$ash.removeSelectEmptyOption();\r\n\t\t}\r\n\t})();\r\n\r\n\t(function initModals() {\r\n\t\tvar uracTrigger = $('.awards-urac-trigger'),\r\n\t\t\tncqaTrigger = $('.awards-ncqa-trigger'),\r\n hitrustTrigger = $('.awards-hitrust-trigger'),\r\n\t\t\turacModal,\r\n\t\t\tncqaModal;\r\n\r\n\t\tif (uracTrigger.length) {\r\n\t\t\turacModal = new AshcoModal(uracTrigger, $('.urac-faq'));\r\n\t\t}\r\n\r\n\t\tif (ncqaTrigger.length) {\r\n\t\t\tncqaModal = new AshcoModal(ncqaTrigger, $('.ncqa-faq'));\r\n\t\t}\r\n\t\tif (hitrustTrigger.length) {\r\n\t\t hitrustModal = new AshcoModal(hitrustTrigger, $('.hitrust-faq'));\r\n\t\t}\r\n\t})();\r\n\r\n\t$('.ashModalCall').each(function (i, ele) {\r\n\t\t$(ele).ashModal({\r\n\t\t\t'closeContent': ''\r\n\t\t});\r\n\t});\r\n\r\n\tfunction postData(url, form) {\r\n\t\tfunction formComplete(hideForm, str) {\r\n\t\t\tif (hideForm) { //if we want to hide the form\r\n\t\t\t\tform.slideUp();\r\n\t\t\t}\r\n\t\t\t$('.formSubmitResult').html(str).slideDown(); //show display message on this tag\r\n\t\t}\r\n\t\t$.post(url, form) //passed in url and form from submit form is the form clicked\r\n\t\t.done(function (formdata) {\r\n\t\t\tformComplete(true, formdata);\r\n\t\t})\r\n\t\t.fail(function () {\r\n\t\t\tformComplete(false, 'There was an error in submitting your form, please try again');\r\n\t\t});\r\n\t}\r\n\t$('#contactus, #quick-app').on('submit', function (event) { //when clicking the form\r\n\t\tevent.preventDefault();\r\n\t\tvar clickedForm = $(this);\r\n\t\tvar postPage = clickedForm.attr('action');\r\n\t\tpostData(postPage, clickedForm); //call postData and pass the url where message is store\r\n\t});\r\n\r\n\t$('script.js-template-manager').each(function () {\r\n\t\tvar obj = $(this),\r\n\t\t\tobjSrc = obj.attr('src'), //src for json data\r\n\t\t\tdataSrc = objSrc || $('#templateData').html(), //if no src for data, use script tag in page\r\n\t\t\tinpageData = false; //default to false and override if src isn't present\r\n\r\n\t\tif (!objSrc) {\r\n\t\t\tinpageData = true;\r\n\t\t}\r\n\t\tGlAshCo.startTemplate(dataSrc, obj.attr('data-ash-template'), obj.attr('data-ash-id'), inpageData, createAwards);\r\n\t});\r\n\r\n\tif ($('.flexslider').length) {\r\n\t\t//HOMEPAGE js\r\n\t\tif ($('.carousel-services').length) {\r\n\t\t\t(function HomePageInit() {\r\n\r\n\t\t\t\tfunction slideshowInit() {\r\n\t\t\t\t\tvar mainSlider = $('.carousel-services > .flexslider');\r\n\r\n\t\t\t\t\tmainSlider.flexslider({\r\n\t\t\t\t\t\tselector: '.slides > figure',\r\n\t\t\t\t\t\tanimation: 'slide',\r\n\t\t\t\t\t\tslideshowSpeed: 15000,\r\n\t\t\t\t\t\tuseCSS: true,\r\n\t\t\t\t\t\tdirectionNav: false,\r\n\t\t\t\t\t\tmanualControls: '.ashFlexSlideTabs > div',\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\r\n\t\t\t\tslideshowInit();\r\n\t\t\t})();\r\n\t\t}\r\n\r\n\t\t//Basic flexslider\r\n\t\tif ($('.slideshow').length) {\r\n\t\t\t(function basicSliderInit() {\r\n\t\t\t\tvar slideshow = $('.slideshow');\r\n\r\n\t\t\t\tslideshow.flexslider({ //ASHCo Careers Benefits & ASHCo Solutions and Services\r\n\t\t\t\t\tselector: '.carousel-reel .carousel-slide',\r\n\t\t\t\t\tanimation: 'slide',\r\n\t\t\t\t\tslideshow: false,\r\n\t\t\t\t\tcontrolNav: slideshow.find('.carousel-slide').length < 2 ? false : true,\r\n\t\t\t\t\tdirectionNav: slideshow.find('.carousel-slide').length < 2 ? false : true,\r\n\t\t\t\t\ttouch: slideshow.find('.carousel-slide').length < 2 ? false : true,\r\n\t\t\t\t\tmanualControls: '.ashFlexSlideTabs li',\r\n\t\t\t\t\tprevText: '',\r\n\t\t\t\t\tnextText: ''\r\n\t\t\t\t});\r\n\t\t\t})();\r\n\t\t}\r\n\r\n\t\t//OurCompany ManagementTeam slider\r\n\t\tif ($('.carousel-ourcompany').length) {\r\n\t\t\t(function mngmntTeamPageInit() {\r\n\t\t\t\tvar mainSliderCont = $('.carousel-ourcompany'),\r\n\t\t\t\t\tmainSlider = mainSliderCont.find('.flexslider');\r\n\r\n\t\t\t\tfunction slideshowInit() {\r\n\t\t\t\t\tif ($('.ie8').length || Modernizr.mq($$ash.mq('sm', 'min'))) {\r\n\t\t\t\t\t\tmainSlider.flexslider({\r\n\t\t\t\t\t\t\tselector: '.carousel-reel .carousel-slide',\r\n\t\t\t\t\t\t\tanimation: 'slide',\r\n\t\t\t\t\t\t\tslideshow: false,\r\n\t\t\t\t\t\t\tslideshowSpeed: 5000,\r\n\t\t\t\t\t\t\tmanualControls: '.profile-tabs .data-gallery-item',\r\n\t\t\t\t\t\t\tprevText: '',\r\n\t\t\t\t\t\t\tnextText: '',\r\n\t\t\t\t\t\t\tstart: function (slider) {\r\n\t\t\t\t\t\t\t\t$('.dark-bg').prependTo(mainSliderCont);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t//show the flexslider and hide the cloned slider\r\n\t\t\t\t\t\t$('.carousel-reel-container').show();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//show the cloned slider and hide the flexslider\r\n\t\t\t\t\t\t$('.carousel-reel-container').hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t$(window).on('load resize', function () {\r\n\t\t\t\t\tslideshowInit();\r\n\t\t\t\t});\r\n\t\t\t})();\r\n\t\t}\r\n\t}\r\n\r\n\tvar setupStats = function () {\r\n\t\tvar collCont = $('.collection-accent span[class^=accent]'),\r\n\t\t\tholder = $('.collection-accent-holder'),\r\n\t\t\tslide = holder.parents('.collection-bar').prev();\r\n\t\tholder.removeClass('small');\r\n\t\t//reset holder\r\n\t\tcollCont.find('span').attr('class', 'stat').html('');\r\n\r\n\t\tvar actSlide = slide.find('.ashFlexSlideTabs li.flex-active').index(),\r\n\t\t\tstatsLIs = $('.carousel-content .stats').eq(actSlide + 1).find('li'), //add 1 to active index since flexslider prepends last slide to first slide\r\n\t\t\taddNdx;\r\n\r\n\t\tif (statsLIs.length == 4) {\r\n\t\t\tholder.addClass('small');\r\n\t\t\taddNdx = 1;\r\n\t\t} else {\r\n\t\t\taddNdx = 0;\r\n\t\t}\r\n\t\tstatsLIs.each(function (ndx) {\r\n\t\t\tvar stat = collCont.eq(ndx + addNdx).find('.stat'),\r\n\t\t\t\tballCont = $(this).text();\r\n\r\n\t\t\tif ($(this).html().indexOf('icon-') !== -1) {\r\n\t\t\t\tstat.attr('class', ballCont);\r\n\t\t\t} else {\r\n\t\t\t\tstat.text(ballCont);\r\n\t\t\t}\r\n\t\t\tstat.css({ opacity: 0 }).stop(true).animate({\r\n\t\t\t\topacity: 1\r\n\t\t\t}, 1000);\r\n\t\t});\r\n\t};\r\n\r\n\tif ($('.carousel-patient-survey').length || $('.carousel-awesome-workplace').length) {\r\n\t\tsetupStats();\r\n\t\t$('.carousel-patient-survey a.flex-prev, .carousel-patient-survey a.flex-next, .carousel-patient-survey .ashFlexSlideTabs li,.carousel-awesome-workplace a.flex-prev, .carousel-awesome-workplace a.flex-next, .carousel-awesome-workplace .ashFlexSlideTabs li').on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tsetupStats();\r\n\t\t});\r\n\t}\r\n\t/*Awards carousel*/\r\n\tfunction calcSlides() {\r\n\t\tvar as = $('.carousel-awards'),\r\n\t\t\ttabs = as.find('.ashFlexSlideTabs'),\r\n\t\t\tnumSlides = as.find('.carousel-slide').length;\r\n\r\n\t\tsetupTabs();\r\n\r\n\t\tfunction setupTabs() {\r\n\t\t\tfor (var ndx = 0; ndx < numSlides - 1; ndx++) {\r\n\t\t\t\ttabs.append('
    • ');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\t//add background url to hero images\r\n\t$.fn.getHerourl = function () {\r\n\t\tvar obj = $(this),\r\n\t\t\turl = obj.attr('data-ash-herourl'),\r\n\t\t\toldieStr,\r\n\t\t\tstr;\r\n\t\toldieStr = '../../global/images/ASHCO/background/hero-' + url + '.jpg';\r\n\t\tstr = 'url(../../Global/images/ASHCo/background/hero-' + url + '.jpg)';\r\n\t\tif (!url) {\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\t$(obj).css('background-image', str);\r\n\t\t\t//if old IE apply scale filter\r\n\t\t\tif ($('html').hasClass('oldie')) {\r\n\t\t\t\tvar heroHt = $('.hero').height();\r\n\t\t\t\t//add ieFrame scaffold to stretch backgound height\r\n\t\t\t\t$('.hero-overlay').wrap('
      ');\r\n\r\n\t\t\t\tvar toggleScaleFilterIE = function () {\r\n\t\t\t\t\tvar newHt = Math.round($(window).width() / 1440 * 557);\r\n\t\t\t\t\t//if new natural height of scaffold is less that new height make the stretch the background\r\n\t\t\t\t\tif (heroHt < newHt) {\r\n\t\t\t\t\t\t$('.ieBkgd').css({\r\n\t\t\t\t\t\t\t'filter': 'progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\"' + oldieStr + '\", sizingMethod=\"scale\")',\r\n\t\t\t\t\t\t\t'height': newHt\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\t//if new height smaller than natural height remove filter and height\r\n\t\t\t\t\t\t$('.ieBkgd').removeAttr('style');\r\n\t\t\t\t\t}\r\n\t\t\t\t\t$('.hero-overlay').height(heroHt);\r\n\t\t\t\t};\r\n\t\t\t\ttoggleScaleFilterIE();\r\n\r\n\t\t\t\t$(window).on('resize', function () {\r\n\t\t\t\t\t//calculate height and apply scaling of the background\r\n\t\t\t\t\ttoggleScaleFilterIE();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t$('div#hero').getHerourl();\r\n\r\n\t//ashModal for downloads\r\n\t$('.downloadFiles').find('input[type=submit]').openFormModal({\r\n\t\thtmlFormContent: $('.download-agreement'),\r\n\t\tsetFld: '.download-file',\r\n\t\tsetVal: '.downloadFiles select',\r\n\t\tsetRel: 'valToHid',\r\n\t\tformSelector: '#download'\r\n\t});\r\n\t$('.emailTrigger').openFormModal({\r\n\t\thtmlFormContent: $('.emailModal'),\r\n\t\tsetFld: '.emailMessage',\r\n\t\tsetVal: $(location).attr('href'),\r\n\t\tsetRel: 'valToEnd',\r\n\t\tformSelector: '#emailForm'\r\n\t});\r\n\tif ($('#emailTo').length) { //if emailTo field is set, add validation for multiple emails\r\n\t\t//this is a cursory validation that should be backed up by server validation\r\n\t\t$('.emailTrigger').on('click', function () {\r\n\t\t\t$('.hideData').show(); //show form fields and buttons\r\n\t\t\t$('.response, .error').html(''); //clear old messages\r\n\t\t});\r\n\t\t$('body').on('focus', '#emailTo', function () {\r\n\t\t\t$('.error').html('').hide();\r\n\t\t});\r\n\t}\r\n\t//contact page maps\r\n\tgoogleMapsInitialize = function () {\r\n\t\tvar map,\r\n\t\t\tmarker,\r\n\t\t\tpoint,\r\n\t\t\taddressContent = $('.contact-info .contact-address').text(),\r\n\t\t\tinfowindow,\r\n\t\t\tmapOptions = {\r\n\t\t\t\tzoom: 13,\r\n\t\t\t\tcenter: new google.maps.LatLng(39.972635, -86.15887)\r\n\t\t\t};\r\n\r\n\t\tinfowindow = new google.maps.InfoWindow({\r\n\t\t\tcontent: '' + addressContent\r\n\t\t});\r\n\r\n\t\tmap = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);\r\n\t\tpoint = new google.maps.LatLng(39.972635, -86.15887);\r\n\t\tmarker = new google.maps.Marker({\r\n\t\t\tposition: point,\r\n\t\t\tmap: map,\r\n\t\t\ttitle: \"American Specialty Health\",\r\n\t\t\tdraggable: false,\r\n\t\t\ticon: '../../Global/images/ASHCo/Icon/icon-map-ash.png'\r\n\t\t});\r\n\r\n\t\tgoogle.maps.event.addListener(marker, 'click', function () {\r\n\t\t\tinfowindow.open(map, marker);\r\n\t\t});\r\n\t};\r\n\t//careers page maps\r\n\tgoogleMapsInitializeCareers = function () {\r\n\t\tvar map,\r\n\t\t\tashLocations = [\r\n\t\t\t\t['Temecula', 33.506127, -117.1820647, 3, '27524 Vía Industria, Bldg G
      Temecula, CA 92590'],\r\n\t\t\t\t['San Diego', 32.900417, -117.205749, 4, '10221 Wateridge Circle
      San Diego, CA 92121'],\r\n\t\t\t\t['El Cajon', 32.824180, -116.980156, 3, '1973 Friendship Drive
      El Cajon, CA 92020'],\r\n\t\t\t\t['Dallas', 32.9545623, -97.1361909, 17.75, '950 E. State Hwy 114, Suite 200
      Southlake, TX 76092'],\r\n\t\t\t\t['Columbia', 34.001854, -81.032114, 5, '1301 Gervais Street, Suite 1000
      10th Floor, Columbia, SC 29201'],\r\n\t\t\t\t['Indianapolis', 39.9740204, -86.1580132, 2, '12800 N. Meridian St.
      Carmel, IN 46032']\r\n\t\t\t],\r\n\t\t\tmapOptions = {\r\n\t\t\t\tzoom: 5,\r\n\t\t\t\tcenter: new google.maps.LatLng(35.527046, -98.702395),\r\n\t\t\t\tmapTypeControl: true,\r\n\t\t\t\tmapTypeControlOptions: {\r\n\t\t\t\t\tstyle: google.maps.MapTypeControlStyle.DROPDOWN_MENU\r\n\t\t\t\t}\r\n\t\t\t};\r\n\r\n\t\tmap = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);\r\n\t\tsetMarkers(map, ashLocations);\r\n\r\n\t\tfunction setMarkers(map, locations) {\r\n\t\t\tvar image = {\r\n\t\t\t\turl: '../../Global/images/ASHCo/Icon/icon-map-ash.png',\r\n\t\t\t\t// This marker is 20 pixels wide by 32 pixels tall.\r\n\t\t\t\tsize: new google.maps.Size(42, 42),\r\n\t\t\t\t// The origin for this image is 0,0.\r\n\t\t\t\torigin: new google.maps.Point(0, 0),\r\n\t\t\t\t// The anchor for this image is the base of the flagpole at 0,32.\r\n\t\t\t\tanchor: new google.maps.Point(0, 32)\r\n\t\t\t};\r\n\t\t\tvar shape = {\r\n\t\t\t\tcoord: [1, 1, 1, 20, 18, 20, 18, 1],\r\n\t\t\t\ttype: 'poly'\r\n\t\t\t};\r\n\r\n\t\t\tfor (var i = 0; i < locations.length; i++) {\r\n\t\t\t\tvar address = locations[i][4],\r\n\t\t\t\t\ttitle = locations[i][0],\r\n\t\t\t\t\tcontent = '' + '

      ' + title + '

      ' + address,\r\n\t\t\t\t\tinfowindow = new google.maps.InfoWindow(),\r\n\t\t\t\t\tlocation = locations[i],\r\n\t\t\t\t\tmyLatLng = new google.maps.LatLng(location[1], location[2]),\r\n\t\t\t\t\tmarker = new google.maps.Marker({\r\n\t\t\t\t\t\tposition: myLatLng,\r\n\t\t\t\t\t\tmap: map,\r\n\t\t\t\t\t\ticon: image,\r\n\t\t\t\t\t\tshape: shape,\r\n\t\t\t\t\t\ttitle: location[0],\r\n\t\t\t\t\t\tzIndex: location[3]\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\tgoogle.maps.event.addListener(marker, 'click', (function (marker, content, infowindow) {\r\n\t\t\t\t\treturn function () {\r\n\t\t\t\t\t\tinfowindow.setContent(content);\r\n\t\t\t\t\t\tinfowindow.open(map, marker);\r\n\t\t\t\t\t};\r\n\t\t\t\t})(marker, content, infowindow));\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\t//collapsible-panel for FAQ page\r\n\t$('.collapsible-faq dt').ashCollapsible();\r\n\r\n\t//collapsible-panel for Job Description page\r\n\tif ($('.collapsible-description').length) {\r\n\t\t$('.collapsible-header').ashCollapsible({\r\n\t\t\t'panel': $('.collapsible-body')\r\n\t\t});\r\n\t}\r\n\r\n\t$(window).on(\"load\", function () {\r\n\t\tif ($('.invalid').length > 0) {\r\n\t\t\t$('.invalid:not(.select2-container)').each(function () {\r\n\t\t\t\tvar obj = $(this);\r\n\t\t\t\tif (obj.is('select')) {\r\n\t\t\t\t\tobj.prev().nextUntil().andSelf().wrapAll('');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tobj.next('span.tooltip-validation').andSelf().wrapAll('');\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\tfunction selectCheckCombo() {\r\n\t\tvar sel = $('select.select-checkbox-combo'),\r\n\t\t\tselCopy = $('div.select-checkbox-combo'),\r\n\t\t\tselCopyChosen = selCopy.find('.select2-chosen'),\r\n\t\t\tplaceholderText = selCopyChosen.text(),\r\n\t\t\ttrigger = $('.select-checkbox-combo-trigger'),\r\n\t\t\tmainCont = $('.select-checkbox-combo-holder'),\r\n\t\t\tinpCont = $('.select-checkbox-combo-input-cont-inner'),\r\n\t\t\tslideMask,\r\n\t\t\tinpBtn = inpCont.find('button'),\r\n\t\t\tnewHt = parseFloat(mainCont.find('input').first().not($(this)).height()),\r\n\t\t\tnewOuterHt = parseFloat(mainCont.find('input').first().not($(this)).outerHeight(true));\r\n\r\n\t\t//change height of select and trigger to match other inputs\r\n\t\tsel.height(newHt);\r\n\t\ttrigger.height(newOuterHt);\r\n\r\n\t\tinpCont.before('
      ');\r\n\t\tslideMask = $('.slide-mask');\r\n\r\n\t\tfunction slideMaskToggle() {\r\n\t\t\tif (slideMask.hasClass('hidden')) {\r\n\t\t\t\tslideMask.removeClass('hidden');\r\n\t\t\t} else {\r\n\t\t\t\tslideMask.addClass('hidden');\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tfunction toggleInp() {\r\n\t\t\tinpCont.slideToggle();\r\n\t\t\tslideMaskToggle();\r\n\t\t}\r\n\r\n\t\ttrigger.on('click', toggleInp);\r\n\r\n\t\tslideMask.on('click', function () {\r\n\t\t\tinpCont.slideToggle();\r\n\t\t\tslideMask.addClass('hidden');\r\n\t\t});\r\n\r\n\t\t//when button is clicked...\r\n\t\tinpBtn.on('click', function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\ttoggleInp();\r\n\t\t});\r\n\r\n\t\t//show selected item instead of placeholder in dropdown input\r\n\t\tinpCont.find('input[type=checkbox]').on('change', function () {\r\n\t\t\tvar input = $(this);\r\n\t\t\tvar checkedNum = inpCont.find('input:checked').length;\r\n\t\t\tif (checkedNum === 0) {\r\n\t\t\t\tselCopyChosen.text(placeholderText);\r\n\t\t\t} else {\r\n\t\t\t\tif (input.prop('checked')) {\r\n\t\t\t\t\tif (checkedNum === 1) {\r\n\t\t\t\t\t\tselCopyChosen.text(inpCont.find('input:checked').val());\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tselCopyChosen.text(inpCont.find('input:checked').val() + ' ...');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (checkedNum === 1) {\r\n\t\t\t\t\t\tselCopyChosen.text(inpCont.find('input:checked').first().val());\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tselCopyChosen.text(inpCont.find('input:checked').first().val() + ' ...');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tif ($('select.select-checkbox-combo').length) {\r\n\t\tselectCheckCombo();\r\n\t}\r\n\r\n\t$('html.no-csstransitions .thumbCont .window-overlay:not(html.no-csstransitions .thumbs-botinfo .thumbCont .window-overlay)').each(function () {\r\n\t\tvar obj = $(this),\r\n\t\t\tcont = obj.closest('.thumbCont'),\r\n\t\t\torigTop = obj.css('top');\r\n\t\tcont.on('mouseenter', function () {\r\n\t\t\tobj.animate({ 'top': 0 }, 500);\r\n\t\t})\r\n\t\t.on('mouseleave', function () {\r\n\t\t\tobj.animate({ 'top': origTop }, 500);\r\n\t\t});\r\n\t});\r\n\t$('html.no-csstransitions .thumbs-botinfo .thumbCont .window-overlay').each(function () {\r\n\t\tvar obj = $(this),\r\n\t\t\tcont = obj.closest('.thumbCont'),\r\n\t\t\torigTop = obj.css('top');\r\n\t\tcont.on('mouseenter', function () {\r\n\t\t\tobj.animate({ 'top': -144 }, 500);\r\n\t\t})\r\n\t\t.on('mouseleave', function () {\r\n\t\t\tobj.animate({ 'top': origTop }, 500);\r\n\r\n\t\t});\r\n\t});\r\n\t$('html.no-csstransitions .thumbs-botinfo.teaser-blocks .read-more').each(function () {\r\n\t\tGlAshCo.teaserBlockAnimate($(this));\r\n\t});\r\n\tfunction twitterCharCntr(twttrMsg, addlChars) {\r\n\t\tvar cnt = twttrMsg.length + addlChars;\r\n\t\tif (cnt < 141) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\tfunction createTwttrMsg(title, location, xtraChars) {\r\n\t\tvar lvl1 = title + '@ASHCompanies ' + location,\r\n\t\t\tlvl2 = title + '@ASHCompanies ',\r\n\t\t\tlvl3 = '@ASHCompanies is hiring. Apply now at';\r\n\t\tif (twitterCharCntr(lvl1, xtraChars)) {\r\n\t\t\treturn lvl1;\r\n\t\t} else if (twitterCharCntr(lvl2, xtraChars)) {\r\n\t\t\treturn lvl2;\r\n\t\t} else {\r\n\t\t\treturn lvl3;\r\n\t\t}\r\n\t}\r\n\r\n\t//if teaser-blocks are added on doc ready instead of through JS template, add oldie classes for bg color\r\n\tif ($('html.oldie .teaser-blocks ul').length) {\r\n\t\tGlAshCo.teaserBlocks();\r\n\t}\r\n\r\n\tfunction createAwards() {\r\n\t\tif ($('#ourCo_awards_teaserBlocks').length) {\r\n\t\t\tvar yrArr = [],\r\n\t\t\t\tawrdFltr = $('.awardsFilter');\r\n\t\t\t$('.carousel-awards .teaser .awardYear').each(function () {\r\n\t\t\t\tvar year = $(this).text().replace(\"‘\", \"\");\r\n\t\t\t\tif ($.inArray(year, yrArr) == -1) {\r\n\t\t\t\t\tyrArr.push(year);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tawrdFltr.append('
    • All
    • ');\r\n\t\t\tfor (var ndx = 0; ndx < yrArr.length; ndx++) {\r\n\t\t\t\tvar yrData = abbrYr = yrArr[ndx];\r\n\t\t\t\tif (yrData > 95) {\r\n\t\t\t\t\tyrData = '19' + yrData;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tyrData = '20' + yrData;\r\n\t\t\t\t}\r\n\t\t\t\tawrdFltr.append('
    • ' + yrData + '
    • ');\r\n\t\t\t}\r\n\r\n\t\t\t$('.awardsFilter').each(function () {\r\n\t\t\t\tvar obj = $(this);\r\n\t\t\t\tobj.ashFilter({\r\n\t\t\t\t\tevent: 'click',\r\n\t\t\t\t\ttrigger: $(this).find('li'),\r\n\t\t\t\t\tfilterItem: $('.ashFilter'),\r\n\t\t\t\t\taddSelected: 'active',\r\n\t\t\t\t\tfadeInDur: 1,\r\n\t\t\t\t\tfadeOutDur: 0\r\n\t\t\t\t});\r\n\t\t\t\tobj.on('click', 'a', function (e) {\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t$('.contactFilter').each(function () {\r\n\t\tvar ashTrig = $(this);\r\n\r\n\t\tashTrig.ashFilter({\r\n\t\t\tevent: 'change',\r\n\t\t\ttrigger: $(this),\r\n\t\t\tfilterItem: $('.ashFilter'),\r\n\t\t\tfadeInDur: 1,\r\n\t\t\tfadeOutDur: 0\r\n\t\t});\r\n\t});\r\n\r\n // Ensure that filter is triggered on load if dropdown is pre-selected\r\n\t$('.contactFilter').trigger('change');\r\n\r\n\tif ($('.ashTab').length) {\r\n\t\t$('.ashTab').ashTab({ iconClass: 'icon-GreaterThan' });\r\n\t}\r\n\r\n //init base offcanvas nav\r\n\toffCanvasNavInit();\r\n\r\n\tif (bulletin.length) {\r\n\t\tfunction moveBulletin() {\r\n\t\t\tif ($(window).width() < mobileBreak) {\r\n\t\t\t\tif (!bulletin.hasClass('moved')) {\r\n\t\t\t\t\tbulletin.prependTo(mainContent).addClass('moved');\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (bulletin.hasClass('moved')) {\r\n\t\t\t\t\tbulletin.prependTo(bodyInner).removeClass('moved');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tmoveBulletin();\r\n\r\n\t\t$(window).on('resize orientationchange', moveBulletin);\r\n\t}\r\n\r\n\tif ($('html.oldie section.timeline').length) {\r\n\t\tGlAshCo.timelineOldie();\r\n\t}\r\n\tif ($('section.timeline').length) {\r\n\t\tGlAshCo.timeline();\r\n\t}\r\n\r\n\t//CHANGE LAYOUT OF CAREERS RESULTS TABLE FOR SMALLER BROWSERS\r\n\tif (Modernizr.mq($$ash.mq(850))) {\r\n\t\t$('.responsive.careers tr:not(:first-child)').each(function () {\r\n\t\t\tvar jobOBJ = $(this),\r\n\t\t\t\tjobLink = $(this).find('td:first-child').find('a').attr('href');\r\n\t\t\tjobOBJ.wrapInner('
      ').append('');\r\n\t\t});\r\n\t}\r\n\r\n\t(function downloadIconInsert() {\r\n\t\tvar downloadLink = $('.carousel-patient-survey h1 a');\r\n\r\n\t\tdownloadLink.html('');\r\n\t})();\r\n\r\n\t(function whitePaperModalSetup() {\r\n\t\tvar obj = $('.downloadModalOpen'),\r\n\t\t\tmodalContent = $('.ashModalCont[data-ash-ashmodalmatch=\"downloadModal\"]');\r\n\r\n\t\tif (obj.length) {\r\n\t\t\tobj.ashModal({\r\n\t\t\t\tformat: 'html',\r\n\t\t\t\ttheContent: modalContent,\r\n\t\t\t\tcloseContent: 'remove',\r\n\t\t\t\tcallbackAfterClick: function(caller) {\r\n\t\t\t\t\tvar form = $('form.whitePaper'),\r\n\t\t\t\t\t\tdownload = caller.attr('href');\r\n\t\t\t\t\t$$ashVal.init();\r\n\r\n\t\t\t\t\tform.off('submit.whitePaper')\r\n\t\t\t\t\t\t.on('submit.whitePaper', function () {\r\n\t\t\t\t\t\t\tvar obj = $(this);\r\n\r\n\t\t\t\t\t\t\t$$ash.ajaxFormSubmit(obj, {\r\n\t\t\t\t\t\t\t url: obj.attr('action'),\r\n\t\t\t\t\t\t\t\tdata: obj.serialize(),\r\n\t\t\t\t\t\t\t\tcallback: function () {\r\n\t\t\t\t\t\t\t\t\twindow.location.href = download;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\t$('.closeModal').on('click.closeModal', function () {\r\n\t\t\t\t$(this).parents('.ashModalContent').find('.ashModalClose').click();\r\n\t\t\t});\r\n\t\t}\r\n\t})();\r\n\r\n\t(function setupAshModal() {\r\n\t\tvar modals = document.querySelectorAll('.modalOpen');\r\n\r\n\t\tif (modals.length) {\r\n\t\t\tArray.prototype.forEach.call(modals, function(item){\r\n\t\t\t\tvar modalMatch = document.querySelector('.ashModalCont[data-ash-ashmodalmatch=\"' + item.getAttribute('data-ash-ashmodalmatch') + '\"]');\r\n\t\t\t\tvar modalClass = item.getAttribute('data-ash-addmodalclass') ? item.getAttribute('data-ash-addmodalclass') : null;\r\n\t\t\t\t$(item).ashModal({\r\n\t\t\t\t\t'theContent': $(modalMatch),\r\n\t\t\t\t\t'closeContent': '',\r\n\t\t\t\t\t'addModalClass': modalClass,\r\n\t\t\t\t\t'removePageScroll': true\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t})();\r\n});\r\n//============================================================================================================\r\n// END DOCUMENT READY\r\n//\r\n// WINDOW LOAD START\r\n//====================================================================================\r\n$(window).on(\"load\", function () {\r\n\tvar bulletin = $('.bulletin');\r\n\r\n\tif($('html.oldie section.timeline').length) {\r\n\t\tGlAshCo.timelineOldie();\r\n\t}\r\n\tif ($('section.timeline').length) {\r\n\t\tGlAshCo.timeline();\r\n\t}\r\n\tif ($('.search-block').length) {\r\n\t\tvar sb = $('.search-block');\r\n\t\t$.fn.fixSearchBox = function () {\r\n\t\t\tvar inp = $(this).find('input').first(),\r\n\t\t\t\tbtn = $(this).find('button');\r\n\t\t\tif (inp.outerHeight() !== btn.outerHeight()) {\r\n\t\t\t\tbtn.outerHeight(inp.outerHeight());\r\n\t\t\t}\r\n\t\t};\r\n\t\tsb.fixSearchBox();\r\n\t}\r\n\tif ($('#map-canvas').length > 0) {\r\n\t\tgoogleMapsInitialize();\r\n\t}\r\n\tif ($('.careers-locations #map-canvas').length > 0) {\r\n\t\tgoogleMapsInitializeCareers();\r\n\t}\r\n\tif (bulletin.length) { //older implementation fo this bulletin. please look at hyr.js for better implementation.\r\n\t\tbulletin.addClass('loaded');\r\n\r\n\t\t$('.close-bulletin').click(function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tbulletin.removeClass('loaded');\r\n\t\t});\r\n\r\n\t\tif ($('.ash-sticky-nav').length) {\r\n\t\t\twindow.setTimeout(ashStickyNavs, parseFloat(bulletin.css('transition-duration').replace(/s/g, '')) * 1000);\r\n\t\t}\r\n\t}\r\n\tif (!bulletin.length) {\r\n\t\tif ($('.ash-sticky-nav').length) {\r\n\t\t\tashStickyNavs();\r\n\t\t}\r\n\t}\r\n});\r\n//===============================================\r\n// /WINDOW LOAD\r\n//===============================================\r\n"]}