{"version":3,"sources":["webpack:///./~/script-loader/addScript.js","webpack:///./~/jquery/dist/jquery.js?b5d9","webpack:///./~/signalr/jquery.signalR.js?198c","webpack:///./~/jquery/dist/jquery.js","webpack:///./~/signalr/jquery.signalR.js"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA,EAAE;AACF;AACA;AACA;;;;;;;;AC1BA,kD;;;;;;;ACAA,kD;;;;;;;ACAA,sUAAsU,qBAAqB,mFAAmF,0YAA0Y,yIAAyI,8BAA8B,4EAA4E,WAAW,8BAA8B,UAAU,KAAK,OAAO,wBAAwB,KAAK,gDAAgD,mFAAmF,2VAA2V,iBAAiB,mCAAmC,yCAAyC,0BAA0B,4BAA4B,wBAAwB,8BAA8B,wBAAwB,uCAAuC,2CAA2C,qCAAqC,yDAAyD,qBAAqB,yCAAyC,4BAA4B,qDAAqD,2BAA2B,sEAAsE,KAAK,oTAAoT,wNAAwN,KAAK,uUAAuU,kCAAkC,MAAM,oCAAoC,2LAA2L,gCAAgC,KAAK,8IAA8I,6EAA6E,kCAAkC,OAAO,kHAAkH,KAAK,8IAA8I,2GAA2G,yFAAyF,+DAA+D,KAAK,kGAAkG,2CAA2C,KAAK,kCAAkC,oEAAoE,8CAA8C,OAAO,KAAK,KAAK,0BAA0B,8DAA8D,KAAK,0BAA0B,0BAA0B,KAAK,yBAAyB,2BAA2B,KAAK,0BAA0B,iEAAiE,sEAAsE,KAAK,wBAAwB,mDAAmD,KAAK,4JAA4J,mDAAmD,wFAAwF,gEAAgE,+EAA+E,oBAAoB,8EAA8E,UAAU,KAAK,0JAA0J,kBAAkB,KAAK,qFAAqF,oBAAoB,UAAU,KAAK,aAAa,YAAY,QAAQ,sGAAsG,oEAAoE,+BAA+B,iCAAiC,0EAA0E,qBAAqB,WAAW,wLAAwL,kCAAkC,kCAAkC,6DAA6D,eAAe,OAAO,oEAAoE,aAAa,wHAAwH,yDAAyD,iCAAiC,kCAAkC,WAAW,SAAS,OAAO,KAAK,qDAAqD,IAAI,oBAAoB,yOAAyO,6BAA6B,KAAK,0BAA0B,oCAAoC,iDAAiD,KAAK,kCAAkC,+CAA+C,KAAK,mCAAmC,oMAAoM,oTAAoT,KAAK,uCAAuC,sBAAsB,wKAAwK,qBAAqB,OAAO,gCAAgC,mGAAmG,oBAAoB,OAAO,yKAAyK,8FAA8F,KAAK,uCAAuC,mHAAmH,6BAA6B,qBAAqB,OAAO,kBAAkB,KAAK,8BAA8B,0BAA0B,0BAA0B,OAAO,+MAA+M,KAAK,kFAAkF,sBAAsB,KAAK,sCAAsC,wKAAwK,oFAAoF,KAAK,wCAAwC,wBAAwB,mCAAmC,4BAA4B,eAAe,YAAY,QAAQ,mEAAmE,kBAAkB,WAAW,SAAS,OAAO,OAAO,0BAA0B,mEAAmE,kBAAkB,WAAW,SAAS,OAAO,mBAAmB,KAAK,iEAAiE,wFAAwF,KAAK,qFAAqF,8BAA8B,4BAA4B,6CAA6C,wGAAwG,SAAS,OAAO,gCAAgC,SAAS,OAAO,mBAAmB,KAAK,0CAA0C,6DAA6D,KAAK,qJAAqJ,sEAAsE,eAAe,SAAS,QAAQ,mCAAmC,OAAO,yBAAyB,qBAAqB,KAAK,kDAAkD,4HAA4H,4GAA4G,YAAY,QAAQ,qDAAqD,mDAAmD,qCAAqC,SAAS,OAAO,uBAAuB,KAAK,mFAAmF,uDAAuD,qHAAqH,8BAA8B,eAAe,YAAY,QAAQ,iDAAiD,kCAAkC,8BAA8B,WAAW,SAAS,qDAAqD,OAAO,4BAA4B,iDAAiD,kCAAkC,8BAA8B,WAAW,SAAS,OAAO,yEAAyE,KAAK,oLAAoL,2BAA2B,8CAA8C,4BAA4B,qBAAqB,iBAAiB,OAAO,iLAAiL,yBAAyB,OAAO,iEAAiE,0BAA0B,mFAAmF,QAAQ,qJAAqJ,qBAAqB,KAAK,oKAAoK,GAAG,2CAA2C,0DAA0D,GAAG,gKAAgK,mEAAmE,GAAG,GAAG,iCAAiC,4SAA4S,8DAA8D,mBAAmB,KAAK,4HAA4H,GAAG,oQAAoQ,yiBAAyiB,sBAAsB,4BAA4B,OAAO,eAAe,KAAK,0CAA0C,uQAAuQ,0CAA0C,aAAa,SAAS,QAAQ,iCAAiC,mBAAmB,SAAS,OAAO,gBAAgB,KAAK,4iCAA4iC,69BAA69B,04BAA04B,oGAAoG,KAAK,4SAA4S,IAAI,uHAAuH,4CAA4C,gaAAga,KAAK,2OAA2O,0BAA0B,4FAA4F,6BAA6B,SAAS,oMAAoM,OAAO,sGAAsG,KAAK,uKAAuK,oBAAoB,KAAK,gEAAgE,iFAAiF,OAAO,QAAQ,wCAAwC,MAAM,oDAAoD,sGAAsG,uHAAuH,GAAG,cAAc,YAAY,wFAAwF,qDAAqD,OAAO,2FAA2F,8CAA8C,mFAAmF,8BAA8B,OAAO,MAAM,GAAG,yDAAyD,6NAA6N,8BAA8B,qLAAqL,uBAAuB,KAAK,oGAAoG,2FAA2F,+BAA+B,OAAO,oCAAoC,+BAA+B,8OAA8O,2DAA2D,oEAAoE,2DAA2D,yMAAyM,uCAAuC,iCAAiC,iBAAiB,eAAe,OAAO,+BAA+B,eAAe,6CAA6C,OAAO,qTAAqT,uCAAuC,+BAA+B,eAAe,aAAa,uCAAuC,uBAAuB,4EAA4E,2BAA2B,wCAAwC,4GAA4G,yEAAyE,2BAA2B,WAAW,SAAS,kLAAkL,mCAAmC,iCAAiC,mCAAmC,wNAAwN,4DAA4D,iIAAiI,0DAA0D,aAAa,OAAO,8DAA8D,aAAa,4FAA4F,8BAA8B,2BAA2B,wEAAwE,aAAa,+CAA+C,qKAAqK,WAAW,gCAAgC,iBAAiB,4GAA4G,6BAA6B,aAAa,qBAAqB,aAAa,UAAU,sCAAsC,kDAAkD,eAAe,aAAa,WAAW,SAAS,OAAO,KAAK,kGAAkG,GAAG,kEAAkE,yBAAyB,wNAAwN,kBAAkB,oCAAoC,yJAAyJ,iFAAiF,OAAO,4CAA4C,KAAK,iBAAiB,GAAG,kEAAkE,SAAS,4DAA4D,yBAAyB,cAAc,GAAG,yDAAyD,SAAS,yFAAyF,kDAAkD,WAAW,wBAAwB,KAAK,YAAY,mBAAmB,KAAK,UAAU,sEAAsE,wCAAwC,OAAO,6CAA6C,KAAK,GAAG,6EAA6E,OAAO,qDAAqD,SAAS,qFAAqF,sDAAsD,qBAAqB,0CAA0C,KAAK,GAAG,8DAA8D,QAAQ,eAAe,QAAQ,iBAAiB,OAAO,yGAAyG,sHAAsH,uEAAuE,kBAAkB,KAAK,6CAA6C,yCAAyC,0BAA0B,oBAAoB,SAAS,OAAO,KAAK,wBAAwB,GAAG,6EAA6E,OAAO,gDAAgD,6BAA6B,6CAA6C,sDAAsD,MAAM,GAAG,yEAAyE,OAAO,iDAAiD,6BAA6B,6CAA6C,+EAA+E,MAAM,GAAG,oFAAoF,QAAQ,6BAA6B,qEAAqE,gIAAgI,8PAA8P,6iBAA6iB,wGAAwG,iDAAiD,2DAA2D,aAAa,OAAO,gDAAgD,aAAa,WAAW,sWAAsW,SAAS,4CAA4C,gQAAgQ,gCAAgC,0CAA0C,OAAO,mFAAmF,MAAM,GAAG,6EAA6E,SAAS,iDAAiD,8CAA8C,2BAA2B,qDAAqD,yGAAyG,iFAAiF,gDAAgD,8CAA8C,WAAW,SAAS,OAAO,EAAE,KAAK,EAAE,GAAG,uEAAuE,gBAAgB,uBAAuB,uBAAuB,8FAA8F,uFAAuF,GAAG,0EAA0E,0CAA0C,eAAe,6CAA6C,QAAQ,qFAAqF,oMAAoM,2EAA2E,IAAI,2FAA2F,eAAe,8EAA8E,OAAO,yFAAyF,2FAA2F,sIAAsI,sBAAsB,KAAK,mDAAmD,uCAAuC,wCAAwC,iPAAiP,wEAAwE,uEAAuE,yCAAyC,oCAAoC,6DAA6D,OAAO,KAAK,iRAAiR,2BAA2B,6CAA6C,KAAK,EAAE,mOAAmO,qDAAqD,oDAAoD,KAAK,EAAE,2GAA2G,8PAA8P,6CAA6C,0FAA0F,KAAK,EAAE,uDAAuD,4CAA4C,wDAAwD,iCAAiC,sDAAsD,UAAU,QAAQ,mDAAmD,kFAAkF,kDAAkD,sCAAsC,SAAS,QAAQ,KAAK,OAAO,6CAA6C,wDAAwD,iCAAiC,gHAAgH,+CAA+C,UAAU,QAAQ,8IAA8I,kFAAkF,6EAA6E,yBAAyB,yFAAyF,8CAA8C,8BAA8B,aAAa,mGAAmG,kBAAkB,2CAA2C,mDAAmD,gDAAgD,gCAAgC,eAAe,aAAa,WAAW,sBAAsB,SAAS,QAAQ,KAAK,mGAAmG,sEAAsE,qDAAqD,6DAA6D,0BAA0B,iDAAiD,SAAS,OAAO,oCAAoC,qMAAqM,uEAAuE,2CAA2C,wCAAwC,+BAA+B,aAAa,WAAW,uBAAuB,SAAS,uBAAuB,QAAQ,2GAA2G,wFAAwF,2DAA2D,OAAO,MAAM,kPAAkP,+UAA+U,wEAAwE,sGAAsG,0cAA0c,+VAA+V,2EAA2E,SAAS,0JAA0J,uFAAuF,SAAS,iKAAiK,iCAAiC,SAAS,2QAA2Q,uCAAuC,SAAS,2OAA2O,uCAAuC,SAAS,OAAO,EAAE,+BAA+B,6HAA6H,oLAAoL,mDAAmD,gEAAgE,uIAAuI,oEAAoE,SAAS,4NAA4N,wDAAwD,SAAS,qKAAqK,gEAAgE,wDAAwD,SAAS,2GAA2G,iCAAiC,OAAO,EAAE,KAAK,kOAAkO,+BAA+B,oKAAoK,+IAA+I,8CAA8C,OAAO,EAAE,KAAK,0EAA0E,oFAAoF,+JAA+J,0MAA0M,+FAA+F,oNAAoN,OAAO,0BAA0B,kBAAkB,wCAAwC,4BAA4B,0BAA0B,aAAa,WAAW,SAAS,qBAAqB,QAAQ,8KAA8K,2DAA2D,4BAA4B,iBAAiB,OAAO,6JAA6J,sBAAsB,uBAAuB,OAAO,qPAAqP,uIAAuI,+KAA+K,oBAAoB,SAAS,gGAAgG,mBAAmB,SAAS,2IAA2I,OAAO,oCAAoC,KAAK,wBAAwB,oEAAoE,4BAA4B,iBAAiB,OAAO,0HAA0H,2FAA2F,2MAA2M,oEAAoE,0BAA0B,oCAAoC,OAAO,uFAAuF,wCAAwC,0BAA0B,OAAO,cAAc,wCAAwC,0BAA0B,OAAO,wFAAwF,YAAY,OAAO,mQAAmQ,MAAM,sBAAsB,IAAI,iDAAiD,gDAAgD,IAAI,qDAAqD,0FAA0F,0BAA0B,KAAK,8GAA8G,+MAA+M,aAAa,6CAA6C,2RAA2R,qBAAqB,SAAS,OAAO,aAAa,KAAK,iEAAiE,IAAI,iDAAiD,gGAAgG,6BAA6B,KAAK,qCAAqC,IAAI,0CAA0C,0FAA0F,0BAA0B,KAAK,gQAAgQ,6NAA6N,IAAI,qCAAqC,0DAA0D,IAAI,oCAAoC,yEAAyE,IAAI,iEAAiE,UAAU,wDAAwD,2DAA2D,sHAAsH,0DAA0D,8BAA8B,2BAA2B,uCAAuC,sCAAsC,mCAAmC,SAAS,OAAO,qBAAqB,6CAA6C,OAAO,KAAK,8HAA8H,qBAAqB,IAAI,gGAAgG,cAAc,yDAAyD,yEAAyE,wBAAwB,4FAA4F,uEAAuE,OAAO,KAAK,kEAAkE,uKAAuK,gCAAgC,OAAO,OAAO,qEAAqE,MAAM,4BAA4B,iCAAiC,SAAS,OAAO,KAAK,+CAA+C,4BAA4B,KAAK,8EAA8E,IAAI,+BAA+B,oIAAoI,eAAe,kBAAkB,cAAc,mCAAmC,eAAe,sBAAsB,eAAe,wCAAwC,eAAe,2BAA2B,KAAK,mBAAmB,mCAAmC,4DAA4D,wKAAwK,sCAAsC,8CAA8C,SAAS,qCAAqC,OAAO,uCAAuC,uYAAuY,qDAAqD,gEAAgE,qCAAqC,WAAW,qPAAqP,0EAA0E,oDAAoD,uBAAuB,mCAAmC,SAAS,uBAAuB,OAAO,wCAAwC,8DAA8D,wDAAwD,sBAAsB,SAAS,mEAAmE,kDAAkD,qEAAqE,ySAAyS,0FAA0F,iDAAiD,SAAS,2HAA2H,OAAO,KAAK,gBAAgB,+CAA+C,sFAAsF,iEAAiE,aAAa,EAAE,8BAA8B,6EAA6E,YAAY,OAAO,2CAA2C,sDAAsD,4LAA4L,gLAAgL,WAAW,EAAE,OAAO,sDAAsD,iCAAiC,iDAAiD,mCAAmC,uCAAuC,WAAW,4BAA4B,wBAAwB,WAAW,2BAA2B,skBAAskB,UAAU,OAAO,mEAAmE,8IAA8I,6GAA6G,qCAAqC,WAAW,8CAA8C,4TAA4T,6BAA6B,kFAAkF,+BAA+B,8BAA8B,kDAAkD,0IAA0I,qCAAqC,qBAAqB,mBAAmB,6JAA6J,iBAAiB,4BAA4B,eAAe,2EAA2E,kHAAkH,2IAA2I,qEAAqE,EAAE,6NAA6N,EAAE,oDAAoD,iEAAiE,+CAA+C,mEAAmE,mMAAmM,+IAA+I,uEAAuE,0BAA0B,mBAAmB,iBAAiB,iBAAiB,OAAO,oGAAoG,4EAA4E,uEAAuE,EAAE,qOAAqO,EAAE,sDAAsD,mEAAmE,mCAAmC,iBAAiB,sJAAsJ,kNAAkN,+KAA+K,6GAA6G,6EAA6E,EAAE,6PAA6P,EAAE,kEAAkE,uBAAuB,8CAA8C,8BAA8B,uBAAuB,qBAAqB,mBAAmB,iBAAiB,eAAe,mGAAmG,mFAAmF,aAAa,YAAY,OAAO,mDAAmD,uaAAua,oLAAoL,gCAAgC,SAAS,kFAAkF,oDAAoD,6HAA6H,wGAAwG,6BAA6B,kDAAkD,+DAA+D,eAAe,aAAa,iCAAiC,yCAAyC,cAAc,SAAS,oBAAoB,OAAO,KAAK,iBAAiB,sFAAsF,8OAA8O,qGAAqG,4GAA4G,iFAAiF,4CAA4C,+CAA+C,eAAe,aAAa,WAAW,6CAA6C,4BAA4B,iDAAiD,8EAA8E,kCAAkC,YAAY,OAAO,sDAAsD,iCAAiC,qDAAqD,UAAU,OAAO,uDAAuD,oDAAoD,iCAAiC,gGAAgG,UAAU,OAAO,2fAA2f,gGAAgG,wDAAwD,SAAS,kEAAkE,iCAAiC,uBAAuB,cAAc,uJAAuJ,kDAAkD,iFAAiF,aAAa,WAAW,2DAA2D,uBAAuB,UAAU,OAAO,8DAA8D,2DAA2D,mDAAmD,OAAO,qCAAqC,gCAAgC,OAAO,sCAAsC,8IAA8I,OAAO,uKAAuK,yMAAyM,0GAA0G,OAAO,yCAAyC,sIAAsI,wCAAwC,SAAS,wCAAwC,OAAO,uDAAuD,6HAA6H,UAAU,2DAA2D,2BAA2B,yHAAyH,MAAM,4BAA4B,oCAAoC,yBAAyB,WAAW,SAAS,oBAAoB,OAAO,uCAAuC,gDAAgD,OAAO,mEAAmE,6CAA6C,OAAO,sCAAsC,6CAA6C,OAAO,uCAAuC,+CAA+C,qFAAqF,OAAO,qCAAqC,iBAAiB,qTAAqT,OAAO,sFAAsF,qBAAqB,OAAO,6EAA6E,8BAA8B,OAAO,qFAAqF,+DAA+D,OAAO,6EAA6E,kBAAkB,eAAe,YAAY,WAAW,iCAAiC,SAAS,4BAA4B,OAAO,4EAA4E,kBAAkB,eAAe,YAAY,WAAW,iCAAiC,SAAS,4BAA4B,OAAO,qFAAqF,4DAA4D,eAAe,UAAU,IAAI,iCAAiC,SAAS,4BAA4B,OAAO,qFAAqF,4DAA4D,eAAe,cAAc,IAAI,iCAAiC,SAAS,4BAA4B,OAAO,MAAM,IAAI,iDAAiD,kDAAkD,uEAAuE,IAAI,+CAA+C,GAAG,cAAc,4BAA4B,IAAI,gDAAgD,GAAG,qEAAqE,qDAAqD,qCAAqC,kEAAkE,mHAAmH,qBAAqB,+CAA+C,KAAK,uBAAuB,gBAAgB,gCAAgC,uBAAuB,uFAAuF,sBAAsB,6GAA6G,SAAS,qCAAqC,OAAO,wBAAwB,yEAAyE,gCAAgC,qBAAqB,mIAAmI,EAAE,8CAA8C,OAAO,qDAAqD,qIAAqI,kCAAkC,uBAAuB,uFAAuF,EAAE,gDAAgD,SAAS,OAAO,yBAAyB,cAAc,OAAO,KAAK,mSAAmS,IAAI,mCAAmC,8DAA8D,WAAW,SAAS,QAAQ,kCAAkC,KAAK,oBAAoB,GAAG,yDAAyD,kKAAkK,8HAA8H,wCAAwC,0DAA0D,iDAAiD,WAAW,SAAS,qBAAqB,OAAO,gGAAgG,yFAAyF,wHAAwH,0CAA0C,4DAA4D,oDAAoD,4BAA4B,eAAe,aAAa,WAAW,SAAS,OAAO,0CAA0C,4DAA4D,mEAAmE,EAAE,sMAAsM,EAAE,qEAAqE,2CAA2C,eAAe,wHAAwH,6IAA6I,eAAe,OAAO,8HAA8H,8CAA8C,8GAA8G,8BAA8B,iBAAiB,eAAe,aAAa,WAAW,SAAS,qBAAqB,QAAQ,GAAG,yCAAyC,sEAAsE,gCAAgC,uBAAuB,qDAAqD,yBAAyB,WAAW,SAAS,oBAAoB,OAAO,oBAAoB,GAAG,8DAA8D,0CAA0C,WAAW,SAAS,QAAQ,+CAA+C,KAAK,mBAAmB,GAAG,+DAA+D,yGAAyG,aAAa,SAAS,QAAQ,oCAAoC,wDAAwD,oCAAoC,yBAAyB,0BAA0B,WAAW,SAAS,OAAO,KAAK,0BAA0B,GAAG,+FAA+F,iDAAiD,4CAA4C,KAAK,iDAAiD,0DAA0D,KAAK,iEAAiE,+1BAA+1B,qDAAqD,uDAAuD,OAAO,oDAAoD,+CAA+C,6CAA6C,+FAA+F,uBAAuB,mCAAmC,yEAAyE,WAAW,SAAS,OAAO,qBAAqB,wCAAwC,6BAA6B,sHAAsH,kCAAkC,2BAA2B,6CAA6C,2HAA2H,eAAe,aAAa,6DAA6D,WAAW,mHAAmH,yBAAyB,wHAAwH,qDAAqD,aAAa,WAAW,SAAS,wEAAwE,OAAO,iKAAiK,2BAA2B,uDAAuD,SAAS,OAAO,4CAA4C,SAAS,OAAO,KAAK,EAAE,GAAG,0CAA0C,6WAA6W,qCAAqC,OAAO,oFAAoF,kDAAkD,OAAO,8EAA8E,uOAAuO,8EAA8E,mBAAmB,OAAO,GAAG,aAAa,SAAS,QAAQ,0DAA0D,0EAA0E,OAAO,OAAO,iFAAiF,+FAA+F,2FAA2F,iBAAiB,SAAS,QAAQ,oDAAoD,oBAAoB,aAAa,WAAW,kQAAkQ,uDAAuD,2PAA2P,SAAS,iCAAiC,OAAO,KAAK,wCAAwC,GAAG,uEAAuE,6JAA6J,igBAAigB,4BAA4B,0EAA0E,SAAS,6JAA6J,yDAAyD,wCAAwC,QAAQ,oCAAoC,kBAAkB,gEAAgE,kCAAkC,oCAAoC,aAAa,wDAAwD,+DAA+D,qCAAqC,sBAAsB,eAAe,aAAa,8BAA8B,sCAAsC,aAAa,WAAW,+EAA+E,8GAA8G,6BAA6B,aAAa,8FAA8F,qCAAqC,aAAa,WAAW,SAAS,8JAA8J,kiBAAkiB,gBAAgB,kDAAkD,2DAA2D,WAAW,yBAAyB,iHAAiH,6BAA6B,yDAAyD,sDAAsD,iBAAiB,eAAe,aAAa,4HAA4H,WAAW,iFAAiF,mNAAmN,2CAA2C,WAAW,SAAS,0FAA0F,kCAAkC,2CAA2C,SAAS,2BAA2B,QAAQ,2EAA2E,GAAG,oFAAoF,6GAA6G,sBAAsB,+GAA+G,qCAAqC,OAAO,uBAAuB,qBAAqB,+CAA+C,kCAAkC,qCAAqC,SAAS,OAAO,yCAAyC,SAAS,OAAO,yIAAyI,0EAA0E,KAAK,kBAAkB,IAAI,iHAAiH,gBAAgB,oGAAoG,QAAQ,qBAAqB,MAAM,uBAAuB,MAAM,wHAAwH,iLAAiL,8BAA8B,0KAA0K,iHAAiH,+JAA+J,8GAA8G,yBAAyB,yBAAyB,yFAAyF,uBAAuB,uCAAuC,SAAS,mEAAmE,OAAO,iIAAiI,qBAAqB,0BAA0B,8FAA8F,gBAAgB,SAAS,2CAA2C,0QAA0Q,4GAA4G,2DAA2D,8BAA8B,0CAA0C,6BAA6B,aAAa,oBAAoB,WAAW,SAAS,OAAO,KAAK,qWAAqW,mBAAmB,IAAI,oIAAoI,uJAAuJ,8DAA8D,gLAAgL,mIAAmI,GAAG,EAAE,0KAA0K,wCAAwC,2DAA2D,GAAG,KAAK,0EAA0E,qBAAqB,kFAAkF,OAAO,KAAK,EAAE,GAAG,mIAAmI,gCAAgC,kDAAkD,4DAA4D,GAAG,KAAK,yDAAyD,kEAAkE,iCAAiC,OAAO,KAAK,EAAE,GAAG,qHAAqH,iDAAiD,GAAG,KAAK,wDAAwD,cAAc,qBAAqB,qKAAqK,OAAO,KAAK,EAAE,GAAG,kBAAkB,KAAK,YAAY,6BAA6B,iCAAiC,8DAA8D,wDAAwD,+BAA+B,iCAAiC,oCAAoC,wCAAwC,kDAAkD,0DAA0D,+DAA+D,kCAAkC,uDAAuD,gBAAgB,SAAS,6BAA6B,OAAO,KAAK,mBAAmB,IAAI,0CAA0C,qBAAqB,aAAa,GAAG,sBAAsB,6CAA6C,0BAA0B,OAAO,KAAK,qBAAqB,IAAI,yDAAyD,yCAAyC,iFAAiF,MAAM,wGAAwG,2CAA2C,8GAA8G,2CAA2C,yDAAyD,yDAAyD,OAAO,GAAG,KAAK,sDAAsD,sDAAsD,8CAA8C,OAAO,GAAG,KAAK,qGAAqG,sDAAsD,gEAAgE,OAAO,GAAG,KAAK,qHAAqH,uDAAuD,KAAK,2HAA2H,oDAAoD,qFAAqF,KAAK,GAAG,GAAG,kDAAkD,0BAA0B,kBAAkB,sCAAsC,KAAK,wDAAwD,uEAAuE,KAAK,8EAA8E,iCAAiC,KAAK,KAAK,IAAI,uBAAuB,gCAAgC,+DAA+D,+CAA+C,sEAAsE,sBAAsB,SAAS,QAAQ,uDAAuD,0BAA0B,aAAa,WAAW,SAAS,KAAK,OAAO,mCAAmC,oBAAoB,SAAS,QAAQ,gDAAgD,OAAO,wDAAwD,KAAK,mCAAmC,qEAAqE,KAAK,gCAAgC,oEAAoE,KAAK,+BAA+B,mXAAmX,KAAK,GAAG,GAAG,ocAAoc,sBAAsB,mFAAmF,oBAAoB,OAAO,4IAA4I,2EAA2E,+HAA+H,0IAA0I,WAAW,OAAO,8CAA8C,SAAS,wHAAwH,uEAAuE,yEAAyE,kVAAkV,4HAA4H,wCAAwC,uIAAuI,oDAAoD,wEAAwE,OAAO,uDAAuD,iBAAiB,eAAe,aAAa,0BAA0B,wCAAwC,OAAO,yDAAyD,2BAA2B,oGAAoG,8BAA8B,aAAa,wBAAwB,WAAW,6CAA6C,yCAAyC,sDAAsD,4GAA4G,OAAO,8DAA8D,SAAS,uCAAuC,gCAAgC,6BAA6B,wBAAwB,oBAAoB,yEAAyE,4CAA4C,kKAAkK,OAAO,kDAAkD,MAAM,uGAAuG,qEAAqE,qKAAqK,iFAAiF,uBAAuB,6BAA6B,sEAAsE,wCAAwC,kBAAkB,eAAe,OAAO,QAAQ,wDAAwD,wBAAwB,WAAW,SAAS,OAAO,GAAG,KAAK,gDAAgD,kJAAkJ,gIAAgI,eAAe,OAAO,QAAQ,gCAAgC,wBAAwB,yBAAyB,mSAAmS,oCAAoC,oBAAoB,aAAa,WAAW,SAAS,OAAO,6FAA6F,KAAK,0FAA0F,kEAAkE,0FAA0F,OAAO,qEAAqE,yDAAyD,OAAO,yMAAyM,KAAK,2CAA2C,wIAAwI,KAAK,sCAAsC,6GAA6G,KAAK,GAAG,GAAG,kCAAkC,2DAA2D,eAAe,GAAG,kBAAkB,8BAA8B,mCAAmC,8DAA8D,KAAK,gCAAgC,yCAAyC,KAAK,+CAA+C,gDAAgD,KAAK,6BAA6B,8CAA8C,KAAK,6BAA6B,kDAAkD,KAAK,gCAAgC,0CAA0C,KAAK,gCAAgC,8CAA8C,KAAK,4CAA4C,iDAAiD,KAAK,4CAA4C,qDAAqD,KAAK,iCAAiC,8CAA8C,sBAAsB,KAAK,iCAAiC,yCAAyC,KAAK,iCAAiC,+CAA+C,0CAA0C,WAAW,sOAAsO,0CAA0C,WAAW,uDAAuD,KAAK,GAAG,wBAAwB,qDAAqD,kDAAkD,+CAA+C,yBAAyB,OAAO,2DAA2D,qDAAqD,OAAO,gCAAgC,wEAAwE,uCAAuC,SAAS,sGAAsG,4BAA4B,SAAS,OAAO,yCAAyC,MAAM,GAAG,GAAG,mDAAmD,2GAA2G,oBAAoB,4EAA4E,4BAA4B,KAAK,GAAG,kBAAkB,GAAG,+2BAA+2B,gNAAgN,YAAY,8fAA8f,0EAA0E,uJAAuJ,eAAe,cAAc,qBAAqB,iCAAiC,iDAAiD,qLAAqL,kHAAkH,6BAA6B,aAAa,WAAW,SAAS,kFAAkF,yBAAyB,SAAS,yBAAyB,0EAA0E,+FAA+F,sBAAsB,yDAAyD,OAAO,wBAAwB,WAAW,SAAS,OAAO,iDAAiD,6FAA6F,uBAAuB,qHAAqH,4CAA4C,mCAAmC,aAAa,sCAAsC,qDAAqD,iDAAiD,8DAA8D,qCAAqC,mBAAmB,iBAAiB,qEAAqE,uEAAuE,iBAAiB,eAAe,GAAG,aAAa,gBAAgB,wCAAwC,qBAAqB,aAAa,WAAW,sBAAsB,SAAS,yEAAyE,sDAAsD,sBAAsB,2EAA2E,sCAAsC,mFAAmF,8BAA8B,eAAe,aAAa,WAAW,GAAG,sBAAsB,SAAS,0KAA0K,8FAA8F,SAAS,2EAA2E,uBAAuB,sBAAsB,WAAW,sBAAsB,SAAS,yJAAyJ,8BAA8B,+BAA+B,sBAAsB,SAAS,+BAA+B,uBAAuB,SAAS,8KAA8K,8BAA8B,qCAAqC,iCAAiC,WAAW,sBAAsB,SAAS,6BAA6B,0BAA0B,SAAS,kHAAkH,0BAA0B,8BAA8B,iEAAiE,+BAA+B,4BAA4B,qBAAqB,aAAa,WAAW,sBAAsB,SAAS,uFAAuF,2CAA2C,sBAAsB,SAAS,wGAAwG,yBAAyB,SAAS,QAAQ,kBAAkB,IAAI,8BAA8B,aAAa,GAAG,0BAA0B,aAAa,GAAG,4DAA4D,eAAe,WAAW,kJAAkJ,4DAA4D,iCAAiC,oEAAoE,8CAA8C,qCAAqC,OAAO,iRAAiR,OAAO,sNAAsN,kBAAkB,oKAAoK,KAAK,GAAG,oBAAoB,kCAAkC,ikBAAikB,6BAA6B,yBAAyB,WAAW,+BAA+B,yDAAyD,wBAAwB,WAAW,sCAAsC,4CAA4C,WAAW,uGAAuG,gCAAgC,4DAA4D,yDAAyD,+KAA+K,mDAAmD,sCAAsC,8CAA8C,uCAAuC,8CAA8C,sCAAsC,qDAAqD,mEAAmE,4EAA4E,sLAAsL,mBAAmB,OAAO,0JAA0J,mBAAmB,iBAAiB,GAAG,eAAe,GAAG,yBAAyB,aAAa,aAAa,WAAW,kEAAkE,6BAA6B,mEAAmE,iCAAiC,8GAA8G,uCAAuC,8NAA8N,6BAA6B,qBAAqB,6DAA6D,iLAAiL,0EAA0E,qBAAqB,ymBAAymB,yGAAyG,qHAAqH,mPAAmP,qGAAqG,OAAO,wGAAwG,uWAAuW,uBAAuB,8EAA8E,OAAO,sLAAsL,yCAAyC,4CAA4C,uBAAuB,0KAA0K,qBAAqB,mBAAmB,yLAAyL,2BAA2B,qCAAqC,uBAAuB,cAAc,gEAAgE,4GAA4G,yBAAyB,qPAAqP,iMAAiM,6CAA6C,yCAAyC,2BAA2B,8DAA8D,yBAAyB,uBAAuB,sBAAsB,mQAAmQ,4BAA4B,iBAAiB,OAAO,qNAAqN,wEAAwE,mBAAmB,+CAA+C,iBAAiB,gBAAgB,aAAa,4DAA4D,+UAA+U,4SAA4S,wSAAwS,aAAa,aAAa,WAAW,6JAA6J,yEAAyE,WAAW,SAAS,uBAAuB,qFAAqF,iEAAiE,qJAAqJ,qDAAqD,2CAA2C,gIAAgI,aAAa,oNAAoN,SAAS,0IAA0I,2CAA2C,2BAA2B,0CAA0C,4BAA4B,yCAAyC,2BAA2B,6CAA6C,+FAA+F,sBAAsB,UAAU,uMAAuM,OAAO,GAAG,wEAAwE,oDAAoD,wCAAwC,OAAO,0CAA0C,KAAK,4DAA4D,2aAA2a,oCAAoC,wCAAwC,wFAAwF,qCAAqC,mEAAmE,aAAa,YAAY,UAAU,oGAAoG,8GAA8G,kMAAkM,iCAAiC,SAAS,OAAO,iGAAiG,yEAAyE,OAAO,gCAAgC,KAAK,GAAG,GAAG,sNAAsN,8DAA8D,uMAAuM,iGAAiG,KAAK,IAAI,qDAAqD,mCAAmC,kBAAkB,KAAK,GAAG,IAAI,+EAA+E,sCAAsC,+NAA+N,uCAAuC,OAAO,GAAG,kBAAkB,IAAI,oBAAoB,2QAA2Q,oIAAoI,eAAe,OAAO,qEAAqE,kIAAkI,eAAe,OAAO,uGAAuG,KAAK,GAAG,GAAG,uCAAuC,8EAA8E,oEAAoE,sDAAsD,mBAAmB,GAAG,iUAAiU,uHAAuH,KAAK,OAAO,sGAAsG,8GAA8G,GAAG,mNAAmN,gEAAgE,uEAAuE,uBAAuB,wBAAwB,8DAA8D,OAAO,4BAA4B,kCAAkC,uBAAuB,4CAA4C,mBAAmB,OAAO,qBAAqB,2EAA2E,kCAAkC,oBAAoB,8DAA8D,OAAO,oBAAoB,6CAA6C,sDAAsD,YAAY,SAAS,OAAO,mBAAmB,eAAe,SAAS,QAAQ,4IAA4I,SAAS,OAAO,KAAK,wBAAwB,mBAAmB,KAAK,8BAA8B,8BAA8B,KAAK,oDAAoD,IAAI,sCAAsC,8MAA8M,IAAI,2BAA2B,+CAA+C,GAAG,iBAAiB,sBAAsB,gCAAgC,gGAAgG,kDAAkD,mBAAmB,8LAA8L,2IAA2I,0CAA0C,qLAAqL,OAAO,yDAAyD,wEAAwE,GAAG,WAAW,SAAS,OAAO,qBAAqB,KAAK,0CAA0C,mDAAmD,iIAAiI,kDAAkD,6BAA6B,aAAa,cAAc,OAAO,6FAA6F,2DAA2D,SAAS,OAAO,mBAAmB,KAAK,kCAAkC,8LAA8L,KAAK,4CAA4C,odAAod,wCAAwC,OAAO,2PAA2P,qLAAqL,KAAK,qCAAqC,kDAAkD,oCAAoC,eAAe,OAAO,kCAAkC,iGAAiG,kJAAkJ,SAAS,OAAO,wCAAwC,6NAA6N,SAAS,yBAAyB,yBAAyB,mCAAmC,SAAS,OAAO,sHAAsH,yRAAyR,4CAA4C,SAAS,OAAO,uCAAuC,SAAS,OAAO,KAAK,iCAAiC,wCAAwC,mEAAmE,KAAK,IAAI,4BAA4B,8BAA8B,wjBAAwjB,YAAY,8CAA8C,8BAA8B,8BAA8B,kBAAkB,KAAK,iCAAiC,mBAAmB,KAAK,gCAAgC,kBAAkB,KAAK,mGAAmG,mBAAmB,KAAK,kCAAkC,gCAAgC,KAAK,kBAAkB,GAAG,0CAA0C,aAAa,2JAA2J,0EAA0E,uCAAuC,2CAA2C,aAAa,iCAAiC,SAAS,eAAe,wGAAwG,OAAO,OAAO,yBAAyB,OAAO,KAAK,gBAAgB,GAAG,oBAAoB,+BAA+B,kEAAkE,KAAK,2CAA2C,iDAAiD,KAAK,2CAA2C,oCAAoC,KAAK,6LAA6L,iDAAiD,KAAK,4CAA4C,oCAAoC,KAAK,GAAG,GAAG,uBAAuB,kCAAkC,yFAAyF,0DAA0D,4BAA4B,sCAAsC,mFAAmF,6BAA6B,2BAA2B,+HAA+H,uCAAuC,wDAAwD,6DAA6D,uDAAuD,iBAAiB,eAAe,aAAa,yDAAyD,WAAW,SAAS,sBAAsB,OAAO,uEAAuE,sCAAsC,oCAAoC,SAAS,GAAG,OAAO,gDAAgD,iBAAiB,2YAA2Y,kJAAkJ,qCAAqC,wBAAwB,WAAW,+HAA+H,qCAAqC,wBAAwB,WAAW,iFAAiF,SAAS,2DAA2D,4FAA4F,SAAS,GAAG,OAAO,kDAAkD,KAAK,oCAAoC,oCAAoC,qCAAqC,OAAO,GAAG,KAAK,GAAG,GAAG,sBAAsB,yCAAyC,gBAAgB,qBAAqB,8CAA8C,2CAA2C,kGAAkG,kDAAkD,4EAA4E,WAAW,OAAO,+BAA+B,WAAW,SAAS,2BAA2B,OAAO,KAAK,wCAAwC,4BAA4B,yLAAyL,uCAAuC,UAAU,+GAA+G,2BAA2B,sBAAsB,OAAO,mBAAmB,wIAAwI,0CAA0C,SAAS,4EAA4E,qCAAqC,OAAO,sCAAsC,2BAA2B,OAAO,KAAK,uHAAuH,sCAAsC,uEAAuE,oEAAoE,6DAA6D,SAAS,SAAS,GAAG,KAAK,GAAG,GAAG,uBAAuB,mCAAmC,qBAAqB,2CAA2C,oBAAoB,sBAAsB,iBAAiB,OAAO,0CAA0C,+CAA+C,OAAO,gFAAgF,uDAAuD,uFAAuF,qEAAqE,yCAAyC,WAAW,SAAS,GAAG,KAAK,gCAAgC,oCAAoC,qCAAqC,OAAO,GAAG,KAAK,mCAAmC,8CAA8C,KAAK,gJAAgJ,gJAAgJ,+BAA+B,wDAAwD,WAAW,UAAU,2CAA2C,mBAAmB,yBAAyB,OAAO,4BAA4B,uBAAuB,mEAAmE,iCAAiC,kBAAkB,mCAAmC,SAAS,OAAO,gBAAgB,kCAAkC,KAAK,GAAG,GAAG,kEAAkE,mFAAmF,mEAAmE,mDAAmD,0EAA0E,8EAA8E,+aAA+a,MAAM,0DAA0D,iCAAiC,sFAAsF,uCAAuC,2CAA2C,KAAK,+CAA+C,2DAA2D,uCAAuC,KAAK,iBAAiB,IAAI,+DAA+D,0GAA0G,6BAA6B,SAAS,sBAAsB,gDAAgD,SAAS,+UAA+U,2DAA2D,qFAAqF,gGAAgG,oGAAoG,YAAY,uMAAuM,2EAA2E,yDAAyD,6JAA6J,wGAAwG,KAAK,yBAAyB,sDAAsD,mLAAmL,oBAAoB,0BAA0B,oCAAoC,6BAA6B,OAAO,KAAK,oBAAoB,GAAG,iCAAiC,wCAAwC,yHAAyH,sBAAsB,qBAAqB,KAAK,mEAAmE,8CAA8C,0CAA0C,mCAAmC,0BAA0B,KAAK,4CAA4C,qBAAqB,GAAG,yCAAyC,uFAAuF,gFAAgF,gBAAgB,YAAY,+BAA+B,0BAA0B,iBAAiB,OAAO,qCAAqC,mBAAmB,0QAA0Q,sEAAsE,mCAAmC,sCAAsC,WAAW,SAAS,0EAA0E,sDAAsD,SAAS,OAAO,OAAO,qCAAqC,qCAAqC,mGAAmG,SAAS,OAAO,KAAK,sGAAsG,gBAAgB,YAAY,sCAAsC,0DAA0D,OAAO,KAAK,sBAAsB,GAAG,uBAAuB,sBAAsB,oCAAoC,KAAK,uBAAuB,8BAA8B,KAAK,gCAAgC,2CAA2C,iDAAiD,OAAO,sCAAsC,2CAA2C,gCAAgC,SAAS,OAAO,gCAAgC,SAAS,OAAO,GAAG,KAAK,GAAG,GAAG,mDAAmD,+DAA+D,uDAAuD,iFAAiF,giBAAgiB,+DAA+D,uFAAuF,0BAA0B,uCAAuC,iIAAiI,oEAAoE,yDAAyD,OAAO,gEAAgE,qDAAqD,OAAO,OAAO,eAAe,KAAK,mEAAmE,8CAA8C,KAAK,iBAAiB,GAAG,sGAAsG,qCAAqC,aAAa,OAAO,QAAQ,6IAA6I,KAAK,GAAG,6BAA6B,EAAE,2EAA2E,gJAAgJ,aAAa,OAAO,QAAQ,wBAAwB,mCAAmC,kFAAkF,2LAA2L,uDAAuD,kCAAkC,uDAAuD,iDAAiD,OAAO,gFAAgF,mIAAmI,oDAAoD,+EAA+E,oFAAoF,yBAAyB,gCAAgC,WAAW,0KAA0K,mFAAmF,8FAA8F,SAAS,OAAO,KAAK,qEAAqE,YAAY,uCAAuC,wIAAwI,wBAAwB,+BAA+B,SAAS,iBAAiB,OAAO,+DAA+D,4FAA4F,oEAAoE,6BAA6B,OAAO,oDAAoD,cAAc,yCAAyC,wDAAwD,iCAAiC,WAAW,SAAS,OAAO,KAAK,sBAAsB,GAAG,oBAAoB,6KAA6K,+OAA+O,mDAAmD,0CAA0C,+BAA+B,6LAA6L,qJAAqJ,4EAA4E,GAAG,KAAK,iDAAiD,iJAAiJ,2BAA2B,gBAAgB,GAAG,4BAA4B,iBAAiB,GAAG,wFAAwF,SAAS,oCAAoC,KAAK,gBAAgB,EAAE,GAAG,yDAAyD,qBAAqB,qFAAqF,wFAAwF,mEAAmE,6BAA6B,OAAO,6BAA6B,6DAA6D,OAAO,kBAAkB,KAAK,yCAAyC,4CAA4C,kCAAkC,KAAK,yBAAyB,6CAA6C,sDAAsD,yBAAyB,OAAO,OAAO,kDAAkD,wBAAwB,6BAA6B,OAAO,KAAK,yBAAyB,uBAAuB,KAAK,kBAAkB,kBAAkB,KAAK,wBAAwB,kBAAkB,8BAA8B,8FAA8F,+CAA+C,QAAQ,yHAAyH,KAAK,kCAAkC,0DAA0D,KAAK,GAAG,GAAG,8KAA8K,gBAAgB,8DAA8D,qKAAqK,gHAAgH,eAAe,OAAO,2GAA2G,8BAA8B,sCAAsC,wCAAwC,OAAO,4LAA4L,iEAAiE,OAAO,+GAA+G,qCAAqC,OAAO,gIAAgI,sCAAsC,OAAO,iDAAiD,uDAAuD,mSAAmS,UAAU,OAAO,yHAAyH,uBAAuB,qBAAqB,sDAAsD,mCAAmC,gEAAgE,+FAA+F,mBAAmB,SAAS,gJAAgJ,sKAAsK,0GAA0G,0FAA0F,sSAAsS,gBAAgB,2GAA2G,yCAAyC,qCAAqC,uMAAuM,4CAA4C,yDAAyD,aAAa,WAAW,SAAS,8BAA8B,8CAA8C,4CAA4C,kDAAkD,WAAW,SAAS,2FAA2F,oEAAoE,SAAS,OAAO,qCAAqC,SAAS,8HAA8H,OAAO,OAAO,+HAA+H,qLAAqL,2DAA2D,eAAe,OAAO,iDAAiD,uFAAuF,uBAAuB,qBAAqB,sDAAsD,mCAAmC,gEAAgE,qGAAqG,kCAAkC,oFAAoF,WAAW,mBAAmB,SAAS,uDAAuD,8EAA8E,wCAAwC,0HAA0H,2EAA2E,uBAAuB,oCAAoC,wTAAwT,oCAAoC,yCAAyC,uCAAuC,aAAa,mCAAmC,qDAAqD,aAAa,WAAW,SAAS,sOAAsO,uHAAuH,gEAAgE,WAAW,kCAAkC,SAAS,OAAO,0GAA0G,mDAAmD,OAAO,KAAK,0CAA0C,sHAAsH,gKAAgK,kFAAkF,uGAAuG,oBAAoB,sBAAsB,QAAQ,mCAAmC,OAAO,oCAAoC,2KAA2K,eAAe,OAAO,sGAAsG,+BAA+B,yDAAyD,oFAAoF,2CAA2C,gBAAgB,8GAA8G,oQAAoQ,0CAA0C,wCAAwC,wEAAwE,0EAA0E,wCAAwC,uDAAuD,uCAAuC,wCAAwC,eAAe,aAAa,WAAW,SAAS,OAAO,4FAA4F,iDAAiD,OAAO,4BAA4B,KAAK,8CAA8C,mKAAmK,0iBAA0iB,iBAAiB,cAAc,iCAAiC,oOAAoO,iCAAiC,kCAAkC,wBAAwB,mBAAmB,QAAQ,wCAAwC,0HAA0H,8DAA8D,4LAA4L,eAAe,8CAA8C,kDAAkD,eAAe,aAAa,2CAA2C,kCAAkC,uCAAuC,GAAG,aAAa,WAAW,SAAS,OAAO,uEAAuE,8CAA8C,4BAA4B,uDAAuD,GAAG,OAAO,4BAA4B,KAAK,wCAAwC,4DAA4D,oHAAoH,uCAAuC,kDAAkD,aAAa,WAAW,wBAAwB,uCAAuC,kDAAkD,aAAa,WAAW,mCAAmC,8CAA8C,0HAA0H,GAAG,SAAS,OAAO,GAAG,KAAK,uCAAuC,+GAA+G,KAAK,iBAAiB,aAAa,0GAA0G,eAAe,yGAAyG,6DAA6D,yBAAyB,yBAAyB,WAAW,SAAS,yCAAyC,cAAc,6BAA6B,4DAA4D,wBAAwB,yBAAyB,WAAW,SAAS,0CAA0C,eAAe,wGAAwG,0FAA0F,yBAAyB,yBAAyB,WAAW,SAAS,qHAAqH,iDAAiD,SAAS,OAAO,wBAAwB,yCAAyC,8KAA8K,2DAA2D,WAAW,SAAS,OAAO,KAAK,IAAI,yDAAyD,qFAAqF,+CAA+C,KAAK,IAAI,2CAA2C,oGAAoG,4CAA4C,KAAK,iDAAiD,+BAA+B,2BAA2B,sHAAsH,wPAAwP,mPAAmP,+CAA+C,6CAA6C,wBAAwB,OAAO,sBAAsB,KAAK,mFAAmF,mCAAmC,KAAK,wHAAwH,2DAA2D,IAAI,8MAA8M,gNAAgN,iCAAiC,6CAA6C,uCAAuC,2BAA2B,OAAO,KAAK,kCAAkC,iCAAiC,+CAA+C,uCAAuC,4BAA4B,OAAO,KAAK,2CAA2C,iCAAiC,wDAAwD,uCAAuC,qCAAqC,OAAO,+BAA+B,KAAK,IAAI,uGAAuG,0jBAA0jB,gCAAgC,qGAAqG,uEAAuE,OAAO,2CAA2C,cAAc,iGAAiG,2BAA2B,mBAAmB,SAAS,6BAA6B,mBAAmB,SAAS,6BAA6B,mBAAmB,SAAS,mBAAmB,OAAO,2BAA2B,KAAK,GAAG,yBAAyB,4QAA4Q,wKAAwK,gIAAgI,yBAAyB,oCAAoC,+EAA+E,sHAAsH,0PAA0P,0CAA0C,2DAA2D,2BAA2B,SAAS,mBAAmB,OAAO,MAAM,GAAG,GAAG,uBAAuB,iDAAiD,mDAAmD,KAAK,iDAAiD,sDAAsD,KAAK,2CAA2C,0BAA0B,+DAA+D,mFAAmF,yOAAyO,oBAAoB,OAAO,0CAA0C,yEAAyE,oDAAoD,SAAS,oBAAoB,OAAO,qEAAqE,mDAAmD,6BAA6B,OAAO,2BAA2B,yBAAyB,OAAO,oCAAoC,yDAAyD,OAAO,GAAG,KAAK,GAAG,GAAG,wpBAAwpB,mHAAmH,2HAA2H,uDAAuD,KAAK,kBAAkB,GAAG,wHAAwH,+EAA+E,gBAAgB,GAAG,kCAAkC,oDAAoD,oBAAoB,6BAA6B,KAAK,OAAO,uCAAuC,KAAK,kBAAkB,GAAG,0CAA0C,mEAAmE,kCAAkC,aAAa,KAAK,yFAAyF,wCAAwC,gDAAgD,+BAA+B,uBAAuB,+BAA+B,6BAA6B,kCAAkC,iDAAiD,OAAO,QAAQ,gEAAgE,WAAW,SAAS,OAAO,KAAK,8DAA8D,wCAAwC,kCAAkC,aAAa,uCAAuC,KAAK,GAAG,uEAAuE,+CAA+C,uJAAuJ,iCAAiC,oGAAoG,kEAAkE,2CAA2C,KAAK,GAAG,8DAA8D,sEAAsE,+LAA+L,yMAAyM,iDAAiD,0CAA0C,2BAA2B,6DAA6D,SAAS,kDAAkD,OAAO,GAAG,KAAK,gBAAgB,kGAAkG,kCAAkC,iDAAiD,yBAAyB,OAAO,8HAA8H,8EAA8E,oCAAoC,+LAA+L,OAAO,QAAQ,0BAA0B,mCAAmC,oDAAoD,uGAAuG,oMAAoM,aAAa,WAAW,sDAAsD,SAAS,6BAA6B,4DAA4D,8EAA8E,4FAA4F,gBAAgB,QAAQ,gCAAgC,gKAAgK,iCAAiC,2HAA2H,8CAA8C,iBAAiB,eAAe,OAAO,+EAA+E,eAAe,aAAa,WAAW,SAAS,OAAO,KAAK,wBAAwB,GAAG,iDAAiD,yFAAyF,aAAa,+BAA+B,QAAQ,+CAA+C,2CAA2C,OAAO,gCAAgC,wEAAwE,sDAAsD,SAAS,4CAA4C,OAAO,KAAK,kBAAkB,GAAG,oBAAoB,qCAAqC,sDAAsD,KAAK,kEAAkE,8IAA8I,8JAA8J,wIAAwI,qCAAqC,8CAA8C,OAAO,QAAQ,0DAA0D,SAAS,OAAO,qFAAqF,kCAAkC,sDAAsD,yDAAyD,gDAAgD,OAAO,QAAQ,kEAAkE,WAAW,SAAS,OAAO,wCAAwC,SAAS,OAAO,8FAA8F,sCAAsC,6EAA6E,OAAO,mDAAmD,KAAK,qCAAqC,gFAAgF,eAAe,qCAAqC,QAAQ,mCAAmC,sDAAsD,gCAAgC,2CAA2C,wCAAwC,oDAAoD,gGAAgG,OAAO,gEAAgE,iBAAiB,eAAe,aAAa,oKAAoK,WAAW,2CAA2C,oKAAoK,WAAW,SAAS,OAAO,KAAK,GAAG,GAAG,uBAAuB,kCAAkC,4CAA4C,KAAK,qCAAqC,sCAAsC,KAAK,gCAAgC,8CAA8C,4GAA4G,uFAAuF,uCAAuC,aAAa,WAAW,GAAG,OAAO,kCAAkC,KAAK,2BAA2B,0DAA0D,mFAAmF,wDAAwD,qCAAqC,SAAS,OAAO,GAAG,KAAK,4BAA4B,0DAA0D,mFAAmF,wDAAwD,yDAAyD,SAAS,OAAO,GAAG,KAAK,2BAA2B,0DAA0D,gCAAgC,qDAAqD,SAAS,OAAO,GAAG,KAAK,0BAA0B,0DAA0D,gCAAgC,iEAAiE,SAAS,OAAO,GAAG,KAAK,0BAA0B,6BAA6B,eAAe,8BAA8B,QAAQ,oCAAoC,uFAAuF,2EAA2E,SAAS,OAAO,oBAAoB,KAAK,4DAA4D,oEAAoE,wFAAwF,qCAAqC,sEAAsE,OAAO,GAAG,KAAK,gCAAgC,8CAA8C,kCAAkC,2CAA2C,6DAA6D,gCAAgC,SAAS,oOAAoO,kDAAkD,iBAAiB,mBAAmB,OAAO,QAAQ,qCAAqC,0GAA0G,0DAA0D,uCAAuC,eAAe,aAAa,uBAAuB,yFAAyF,eAAe,SAAS,uBAAuB,uCAAuC,SAAS,OAAO,kCAAkC,KAAK,gCAAgC,uBAAuB,sJAAsJ,qCAAqC,sDAAsD,6CAA6C,yBAAyB,8CAA8C,WAAW,SAAS,2CAA2C,YAAY,KAAK,GAAG,GAAG,kBAAkB,8IAA8I,8BAA8B,8CAA8C,oHAAoH,eAAe,WAAW,QAAQ,uDAAuD,mDAAmD,4KAA4K,OAAO,qCAAqC,MAAM,GAAG,GAAG,8BAA8B,6EAA6E,sCAAsC,sPAAsP,sCAAsC,sBAAsB,OAAO,6CAA6C,MAAM,sBAAsB,oMAAoM,kFAAkF,eAAe,OAAO,2DAA2D,gCAAgC,cAAc,0BAA0B,WAAW,YAAY,qBAAqB,YAAY,2BAA2B,+CAA+C,sDAAsD,iDAAiD,0HAA0H,wDAAwD,iKAAiK,6DAA6D,iDAAiD,mJAAmJ,KAAK,+LAA+L,kFAAkF,aAAa,KAAK,qJAAqJ,sDAAsD,2EAA2E,2CAA2C,UAAU,SAAS,MAAM,aAAa,sBAAsB,eAAe,oBAAoB,iCAAiC,+BAA+B,iCAAiC,4BAA4B,gCAAgC,OAAO,sCAAsC,4BAA4B,oCAAoC,OAAO,qCAAqC,4BAA4B,mCAAmC,OAAO,uCAAuC,4BAA4B,qCAAqC,OAAO,KAAK,GAAG,GAAG,KAAK,+CAA+C,8NAA8N,+CAA+C,gJAAgJ,kEAAkE,6EAA6E,yCAAyC,OAAO,wWAAwW,qEAAqE,kCAAkC,kCAAkC,0HAA0H,6BAA6B,kEAAkE,kCAAkC,kCAAkC,OAAO,KAAK,+IAA+I,GAAG,oDAAoD,yFAAyF,uBAAuB,8BAA8B,2IAA2I,iBAAiB,SAAS,yBAAyB,0HAA0H,OAAO,MAAM,GAAG,8SAA8S,qEAAqE,2BAA2B,yDAAyD,8GAA8G,gHAAgH,uFAAuF,kBAAkB,KAAK,iIAAiI,qBAAqB,wCAAwC,iCAAiC,oBAAoB,OAAO,KAAK,GAAG,2IAA2I,sCAAsC,iBAAiB,qEAAqE,KAAK,eAAe,GAAG,yDAAyD,2HAA2H,mMAAmM,GAAG,6EAA6E,wBAAwB,sIAAsI,YAAY,wEAAwE,OAAO,qCAAqC,KAAK,aAAa,OAAO,WAAW,qGAAqG,wEAAwE,OAAO,4BAA4B,+GAA+G,gFAAgF,SAAS,gHAAgH,2FAA2F,SAAS,OAAO,OAAO,6IAA6I,gHAAgH,2FAA2F,SAAS,OAAO,KAAK,iBAAiB,GAAG,oDAAoD,6NAA6N,6FAA6F,iBAAiB,KAAK,6PAA6P,sKAAsK,2EAA2E,KAAK,qFAAqF,0QAA0Q,GAAG,oBAAoB,qIAAqI,gBAAgB,yCAAyC,2BAA2B,kHAAkH,8CAA8C,WAAW,SAAS,OAAO,KAAK,8FAA8F,uVAAuV,gHAAgH,kCAAkC,uGAAuG,sIAAsI,eAAe,OAAO,6MAA6M,qMAAqM,yCAAyC,OAAO,2IAA2I,2EAA2E,4BAA4B,oJAAoJ,+CAA+C,0DAA0D,SAAS,mHAAmH,iBAAiB,SAAS,4HAA4H,uFAAuF,SAAS,iKAAiK,sCAAsC,SAAS,iNAAiN,iCAAiC,6CAA6C,WAAW,OAAO,kCAAkC,WAAW,SAAS,SAAS,OAAO,uLAAuL,uBAAuB,SAAS,4FAA4F,OAAO,KAAK,mDAAmD,sHAAsH,sMAAsM,yCAAyC,OAAO,iIAAiI,2GAA2G,6CAA6C,OAAO,yGAAyG,2CAA2C,OAAO,8GAA8G,yCAAyC,OAAO,yHAAyH,gCAAgC,kEAAkE,OAAO,mBAAmB,KAAK,GAAG,GAAG,iEAAiE,+BAA+B,8CAA8C,yBAAyB,mqBAAmqB,6DAA6D,eAAe,wDAAwD,SAAS,OAAO,8CAA8C,uRAAuR,8KAA8K,uCAAuC,2CAA2C,SAAS,4DAA4D,OAAO,MAAM,GAAG,GAAG,0GAA0G,uBAAuB,sIAAsI,gBAAgB,cAAc,uDAAuD,aAAa,uBAAuB,OAAO,KAAK,IAAI,2EAA2E,2DAA2D,8BAA8B,0CAA0C,iCAAiC,yCAAyC,wIAAwI,iBAAiB,OAAO,QAAQ,+GAA+G,SAAS,0BAA0B,OAAO,MAAM,sCAAsC,iEAAiE,KAAK,GAAG,GAAG,uBAAuB,kCAAkC,0DAA0D,0CAA0C,iBAAiB,wCAAwC,qCAAqC,4BAA4B,mBAAmB,SAAS,QAAQ,4EAA4E,WAAW,uBAAuB,SAAS,sHAAsH,OAAO,sCAAsC,KAAK,GAAG,GAAG,0DAA0D,wEAAwE,GAAG,uBAAuB,uBAAuB,qFAAqF,uBAAuB,uBAAuB,qDAAqD,6BAA6B,yCAAyC,qBAAqB,uEAAuE,KAAK,sBAAsB,+CAA+C,2GAA2G,KAAK,+BAA+B,6DAA6D,sCAAsC,iJAAiJ,OAAO,OAAO,mCAAmC,OAAO,gEAAgE,kCAAkC,4DAA4D,OAAO,mCAAmC,0BAA0B,OAAO,OAAO,6CAA6C,OAAO,kBAAkB,KAAK,IAAI,qDAAqD,uBAAuB,eAAe,8BAA8B,mBAAmB,qRAAqR,0CAA0C,SAAS,4NAA4N,kIAAkI,uIAAuI,OAAO,+BAA+B,wMAAwM,gDAAgD,SAAS,8JAA8J,yEAAyE,SAAS,OAAO,+CAA+C,SAAS,OAAO,KAAK,IAAI,wJAAwJ,4BAA4B,2DAA2D,6CAA6C,OAAO,KAAK,IAAI,qBAAqB,2BAA2B,eAAe,KAAK,2BAA2B,+CAA+C,KAAK,4BAA4B,qCAAqC,6DAA6D,oGAAoG,yBAAyB,uBAAuB,wEAAwE,iDAAiD,OAAO,OAAO,0DAA0D,OAAO,yBAAyB,KAAK,GAAG,wFAAwF,mCAAmC,wBAAwB,KAAK,GAAG,oCAAoC,GAAG,iGAAiG,yCAAyC,gBAAgB,6KAA6K,WAAW,OAAO,0BAA0B,6BAA6B,wEAAwE,KAAK,2BAA2B,yCAAyC,KAAK,mBAAmB,GAAG,oDAAoD,6JAA6J,WAAW,gBAAgB,YAAY,6EAA6E,+DAA+D,OAAO,KAAK,GAAG,oDAAoD,yKAAyK,uIAAuI,8EAA8E,iDAAiD,qCAAqC,2BAA2B,mCAAmC,uCAAuC,kCAAkC,sBAAsB,WAAW,UAAU,OAAO,uBAAuB,iCAAiC,yGAAyG,2BAA2B,uDAAuD,+BAA+B,WAAW,SAAS,GAAG,OAAO,GAAG,KAAK,+DAA+D,4BAA4B,qCAAqC,6BAA6B,gDAAgD,2DAA2D,yMAAyM,0BAA0B,+DAA+D,OAAO,qBAAqB,WAAW,SAAS,kFAAkF,OAAO,KAAK,uGAAuG,uDAAuD,aAAa,KAAK,oHAAoH,iQAAiQ,0IAA0I,qCAAqC,2DAA2D,OAAO,gDAAgD,mCAAmC,+BAA+B,mCAAmC,SAAS,OAAO,2GAA2G,gEAAgE,oDAAoD,+BAA+B,SAAS,OAAO,iJAAiJ,2DAA2D,sHAAsH,mCAAmC,6CAA6C,aAAa,GAAG,2CAA2C,sCAAsC,qEAAqE,aAAa,WAAW,2CAA2C,SAAS,OAAO,KAAK,4BAA4B,kCAAkC,+BAA+B,4CAA4C,6CAA6C,6CAA6C,OAAO,GAAG,KAAK,6DAA6D,0BAA0B,sFAAsF,yBAAyB,yCAAyC,qCAAqC,WAAW,SAAS,OAAO,yDAAyD,0BAA0B,GAAG,SAAS,sGAAsG,oCAAoC,SAAS,uEAAuE,qCAAqC,SAAS,4EAA4E,wJAAwJ,iCAAiC,WAAW,8CAA8C,gCAAgC,qDAAqD,WAAW,SAAS,GAAG,OAAO,wGAAwG,oCAAoC,2CAA2C,uBAAuB,0CAA0C,8BAA8B,SAAS,OAAO,KAAK,GAAG,iDAAiD,0CAA0C,qFAAqF,uCAAuC,qCAAqC,6BAA6B,qCAAqC,4BAA4B,4CAA4C,OAAO,+BAA+B,8BAA8B,8BAA8B,OAAO,wCAAwC,2CAA2C,sCAAsC,6BAA6B,mKAAmK,sCAAsC,4CAA4C,4CAA4C,WAAW,SAAS,OAAO,OAAO,uCAAuC,OAAO,KAAK,GAAG,qDAAqD,+IAA+I,gFAAgF,OAAO,4BAA4B,wBAAwB,uBAAuB,SAAS,sZAAsZ,iBAAiB,gBAAgB,YAAY,mDAAmD,SAAS,yEAAyE,+EAA+E,2BAA2B,SAAS,6GAA6G,2DAA2D,SAAS,gHAAgH,qBAAqB,OAAO,sCAAsC,mDAAmD,mDAAmD,2BAA2B,kDAAkD,gOAAgO,kJAAkJ,yCAAyC,uBAAuB,SAAS,oCAAoC,uMAAuM,0BAA0B,wBAAwB,WAAW,yBAAyB,iBAAiB,gBAAgB,YAAY,+CAA+C,WAAW,qDAAqD,4CAA4C,6DAA6D,iEAAiE,WAAW,OAAO,gEAAgE,WAAW,sBAAsB,SAAS,OAAO,iCAAiC,wDAAwD,aAAa,gBAAgB,YAAY,4FAA4F,qBAAqB,iDAAiD,2HAA2H,SAAS,sBAAsB,OAAO,KAAK,kDAAkD,wDAAwD,mDAAmD,KAAK,iOAAiO,kDAAkD,qFAAqF,QAAQ,uBAAuB,GAAG,kDAAkD,iBAAiB,wCAAwC,oDAAoD,oEAAoE,qBAAqB,OAAO,OAAO,6CAA6C,yCAAyC,yBAAyB,0BAA0B,OAAO,OAAO,6CAA6C,OAAO,iEAAiE,eAAe,gBAAgB,YAAY,8BAA8B,sEAAsE,uDAAuD,OAAO,KAAK,wFAAwF,sBAAsB,iDAAiD,OAAO,OAAO,8CAA8C,OAAO,KAAK,GAAG,GAAG,kDAAkD,sEAAsE,aAAa,4LAA4L,oEAAoE,uBAAuB,OAAO,OAAO,iDAAiD,iDAAiD,0DAA0D,WAAW,OAAO,mDAAmD,SAAS,OAAO,KAAK,gHAAgH,yBAAyB,KAAK,4CAA4C,iCAAiC,2CAA2C,6BAA6B,OAAO,0BAA0B,0CAA0C,OAAO,MAAM,iBAAiB,IAAI,uBAAuB,qDAAqD,6MAA6M,cAAc,4BAA4B,KAAK,yDAAyD,0IAA0I,oIAAoI,mBAAmB,8HAA8H,8BAA8B,WAAW,UAAU,yCAAyC,kIAAkI,KAAK,kDAAkD,yCAAyC,8BAA8B,0BAA0B,wBAAwB,QAAQ,2CAA2C,6BAA6B,0BAA0B,yBAAyB,OAAO,2CAA2C,yCAAyC,OAAO,sCAAsC,0JAA0J,wBAAwB,sDAAsD,uCAAuC,WAAW,SAAS,OAAO,iCAAiC,8EAA8E,yCAAyC,aAAa,WAAW,SAAS,sCAAsC,SAAS,IAAI,iHAAiH,mDAAmD,4BAA4B,sCAAsC,WAAW,SAAS,uOAAuO,uCAAuC,SAAS,OAAO,GAAG,KAAK,+BAA+B,6BAA6B,8BAA8B,OAAO,oCAAoC,gOAAgO,6EAA6E,yEAAyE,sCAAsC,wCAAwC,SAAS,gGAAgG,SAAS,IAAI,kFAAkF,8CAA8C,sCAAsC,WAAW,SAAS,6FAA6F,gBAAgB,YAAY,0DAA0D,+CAA+C,WAAW,SAAS,+DAA+D,OAAO,GAAG,KAAK,GAAG,GAAG,0EAA0E,kCAAkC,6DAA6D,yKAAyK,MAAM,GAAG,GAAG,+DAA+D,kHAAkH,oBAAoB,eAAe,oBAAoB,kBAAkB,sBAAsB,GAAG,2BAA2B,6DAA6D,4DAA4D,MAAM,GAAG,GAAG,uBAAuB,+BAA+B,uDAAuD,2BAA2B,aAAa,mBAAmB,QAAQ,0BAA0B,uIAAuI,gCAAgC,OAAO,KAAK,6BAA6B,uBAAuB,KAAK,sBAAsB,IAAI,yCAAyC,gCAAgC,sBAAsB,IAAI,4BAA4B,gCAAgC,uBAAuB,aAAa,KAAK,wBAAwB,eAAe,IAAI,iCAAiC,sBAAsB,IAAI,wBAAwB,uEAAuE,sNAAsN,+DAA+D,0BAA0B,wDAAwD,oDAAoD,+BAA+B,uCAAuC,QAAQ,KAAK,GAAG,IAAI,oBAAoB,+KAA+K,gCAAgC,mIAAmI,oIAAoI,oIAAoI,wBAAwB,2BAA2B,+CAA+C,GAAG,KAAK,2DAA2D,uBAAuB,mCAAmC,4EAA4E,KAAK,qCAAqC,oCAAoC,wCAAwC,OAAO,GAAG,KAAK,GAAG,GAAG,oBAAoB,yCAAyC,mDAAmD,gIAAgI,eAAe,OAAO,sHAAsH,gDAAgD,OAAO,sKAAsK,kIAAkI,OAAO,oCAAoC,+BAA+B,0CAA0C,iBAAiB,SAAS,+GAA+G,qBAAqB,SAAS,kDAAkD,qBAAqB,OAAO,wFAAwF,mBAAmB,OAAO,6CAA6C,oHAAoH,KAAK,mBAAmB,aAAa,sCAAsC,uGAAuG,iCAAiC,iDAAiD,wBAAwB,+BAA+B,aAAa,yBAAyB,WAAW,SAAS,OAAO,KAAK,4CAA4C,wOAAwO,iDAAiD,+CAA+C,uCAAuC,SAAS,OAAO,KAAK,GAAG,GAAG,iDAAiD,wCAAwC,8BAA8B,gGAAgG,OAAO,OAAO,wCAAwC,OAAO,kBAAkB,KAAK,IAAI,sFAAsF,wDAAwD,0DAA0D,iEAAiE,uBAAuB,sIAAsI,0CAA0C,2FAA2F,6CAA6C,OAAO,iBAAiB,MAAM,GAAG,GAAG,kGAAkG,uBAAuB,mCAAmC,4EAA4E,KAAK,qCAAqC,oCAAoC,sDAAsD,OAAO,GAAG,KAAK,GAAG,GAAG,oBAAoB,yCAAyC,mDAAmD,gIAAgI,eAAe,OAAO,wDAAwD,oFAAoF,yCAAyC,OAAO,oCAAoC,6GAA6G,qBAAqB,SAAS,0CAA0C,OAAO,wFAAwF,mBAAmB,OAAO,4BAA4B,KAAK,mBAAmB,iBAAiB,+BAA+B,yaAAya,6BAA6B,4CAA4C,WAAW,gJAAgJ,qBAAqB,WAAW,sBAAsB,SAAS,OAAO,KAAK,iBAAiB,8DAA8D,GAAG,GAAG,qWAAqW,iCAAiC,6BAA6B,4FAA4F,4CAA4C,0CAA0C,SAAS,oBAAoB,OAAO,8BAA8B,4FAA4F,uBAAuB,+BAA+B,sCAAsC,4CAA4C,WAAW,SAAS,OAAO,MAAM,GAAG,yNAAyN,gDAAgD,GAAG,GAAG,0MAA0M,sDAAsD,kCAAkC,KAAK,iCAAiC,uEAAuE,GAAG,uBAAuB,iCAAiC,2EAA2E,2CAA2C,yCAAyC,6EAA6E,SAAS,GAAG,OAAO,qDAAqD,qDAAqD,4CAA4C,sCAAsC,wFAAwF,wBAAwB,kBAAkB,kDAAkD,+DAA+D,qCAAqC,eAAe,aAAa,uHAAuH,4CAA4C,yDAAyD,aAAa,WAAW,SAAS,OAAO,oBAAoB,KAAK,uCAAuC,2EAA2E,2CAA2C,yCAAyC,gFAAgF,SAAS,GAAG,OAAO,kCAAkC,4CAA4C,OAAO,qDAAqD,qDAAqD,4CAA4C,sCAAsC,wKAAwK,wBAAwB,kBAAkB,kDAAkD,4GAA4G,kEAAkE,eAAe,aAAa,uHAAuH,4CAA4C,yDAAyD,aAAa,WAAW,SAAS,OAAO,oBAAoB,KAAK,iDAAiD,8BAA8B,uEAAuE,6EAA6E,OAAO,2CAA2C,yCAAyC,mIAAmI,SAAS,GAAG,OAAO,sCAAsC,2CAA2C,sCAAsC,4DAA4D,gCAAgC,0DAA0D,yDAAyD,gHAAgH,4CAA4C,aAAa,OAAO,yCAAyC,aAAa,WAAW,6CAA6C,0DAA0D,uCAAuC,4BAA4B,sGAAsG,WAAW,oVAAoV,oLAAoL,WAAW,SAAS,OAAO,GAAG,KAAK,uCAAuC,wCAAwC,6CAA6C,wCAAwC,mIAAmI,wBAAwB,SAAS,OAAO,qBAAqB,KAAK,GAAG,GAAG,+BAA+B,uBAAuB,4BAA4B,0DAA0D,kCAAkC,qBAAqB,4GAA4G,qIAAqI,uBAAuB,WAAW,6BAA6B,0FAA0F,gDAAgD,WAAW,yGAAyG,SAAS,iBAAiB,OAAO,gDAAgD,yCAAyC,gBAAgB,sCAAsC,iBAAiB,SAAS,6BAA6B,4DAA4D,SAAS,OAAO,sBAAsB,SAAS,0CAA0C,sDAAsD,qBAAqB,WAAW,wCAAwC,sBAAsB,WAAW,mCAAmC,oDAAoD,uDAAuD,WAAW,GAAG,SAAS,iGAAiG,qKAAqK,2BAA2B,SAAS,OAAO,GAAG,KAAK,GAAG,GAAG,oBAAoB,eAAe,eAAe,+BAA+B,0DAA0D,iUAAiU,SAAS,OAAO,gBAAgB,+BAA+B,gPAAgP,8BAA8B,oBAAoB,aAAa,OAAO,gCAAgC,WAAW,qEAAqE,SAAS,QAAQ,kCAAkC,4YAA4Y,qGAAqG,mFAAmF,6BAA6B,eAAe,mFAAmF,aAAa,WAAW,0BAA0B,SAAS,yCAAyC,iJAAiJ,2BAA2B,kCAAkC,qLAAqL,+BAA+B,aAAa,2DAA2D,gHAAgH,oCAAoC,WAAW,wBAAwB,SAAS,OAAO,KAAK,GAAG,GAAG,kGAAkG,+BAA+B,oCAAoC,uCAAuC,uFAAuF,SAAS,OAAO,MAAM,6BAA6B,sDAAsD,6EAA6E,QAAQ,KAAK,GAAG,GAAG,kHAAkH,kCAAkC,4DAA4D,wQAAwQ,4CAA4C,6GAA6G,eAAe,OAAO,4CAA4C,uGAAuG,eAAe,OAAO,2CAA2C,gCAAgC,yFAAyF,kCAAkC,0BAA0B,OAAO,0DAA0D,sNAAsN,oDAAoD,0EAA0E,iDAAiD,uJAAuJ,uFAAuF,4BAA4B,4BAA4B,OAAO,iLAAiL,4GAA4G,gGAAgG,eAAe,OAAO,kIAAkI,0HAA0H,oDAAoD,uDAAuD,+BAA+B,SAAS,eAAe,KAAK,yBAAyB,gCAAgC,oBAAoB,SAAS,mJAAmJ,0EAA0E,SAAS,OAAO,sDAAsD,6EAA6E,uFAAuF,mFAAmF,6DAA6D,uBAAuB,oCAAoC,SAAS,oEAAoE,4DAA4D,mDAAmD,yCAAyC,mCAAmC,WAAW,SAAS,OAAO,wBAAwB,uHAAuH,6IAA6I,yQAAyQ,+GAA+G,0BAA0B,oCAAoC,aAAa,qIAAqI,2BAA2B,+CAA+C,0BAA0B,mCAAmC,aAAa,WAAW,SAAS,OAAO,4BAA4B,KAAK,0JAA0J,8EAA8E,yDAAyD,QAAQ,8CAA8C,KAAK,KAAK,GAAG,uBAAuB,uCAAuC,oCAAoC,iDAAiD,OAAO,GAAG,KAAK,6CAA6C,2BAA2B,mBAAmB,8DAA8D,OAAO,KAAK,GAAG,GAAG,6QAA6Q,2EAA2E,yGAAyG,MAAM,GAAG,GAAG,uBAAuB,sCAAsC,qEAAqE,KAAK,GAAG,GAAG,oDAAoD,0dAA0d,kBAAkB,yCAAyC,yBAAyB,wIAAwI,8EAA8E,QAAQ,uCAAuC,2BAA2B,kGAAkG,8BAA8B,wDAAwD,WAAW,6DAA6D,SAAS,+BAA+B,sGAAsG,8BAA8B,2DAA2D,wCAAwC,aAAa,OAAO,kDAAkD,WAAW,SAAS,QAAQ,KAAK,GAAG,GAAG,iCAAiC,6BAA6B,2BAA2B,0EAA0E,YAAY,gDAAgD,kBAAkB,KAAK,gGAAgG,6EAA6E,KAAK,cAAc,sBAAsB,KAAK,yEAAyE,+CAA+C,KAAK,eAAe,IAAI,+KAA+K,2DAA2D,aAAa,mCAAmC,0EAA0E,uDAAuD,4EAA4E,WAAW,OAAO,8PAA8P,SAAS,OAAO,GAAG,OAAO,gEAAgE,4DAA4D,oFAAoF,OAAO,OAAO,OAAO,0DAA0D,KAAK,GAAG,sIAAsI,0EAA0E,wLAAwL,0HAA0H,QAAQ,6JAA6J,wEAAwE,qCAAqC,OAAO,GAAG,OAAO,OAAO,0JAA0J,6DAA6D,OAAO,KAAK,sEAAsE,IAAI,uBAAuB,2BAA2B,mDAAmD,KAAK,iCAAiC,mCAAmC,sIAAsI,8DAA8D,OAAO,6BAA6B,6BAA6B,mRAAmR,OAAO,mCAAmC,uCAAuC,8BAA8B,sBAAsB,SAAS,uCAAuC,mDAAmD,oBAAoB,4DAA4D,WAAW,GAAG,SAAS,kBAAkB,4DAA4D,OAAO,SAAS,KAAK,GAAG,GAAG,0wBAA0wB,wNAAwN,sDAAsD,oLAAoL,sCAAsC,kIAAkI,8GAA8G,yDAAyD,kCAAkC,mCAAmC,OAAO,qHAAqH,0CAA0C,2GAA2G,6EAA6E,oDAAoD,oFAAoF,0CAA0C,OAAO,iFAAiF,WAAW,SAAS,OAAO,MAAM,GAAG,qJAAqJ,wBAAwB,uDAAuD,oCAAoC,mBAAmB,mCAAmC,mFAAmF,wFAAwF,6HAA6H,6DAA6D,yCAAyC,uBAAuB,SAAS,+BAA+B,qDAAqD,SAAS,OAAO,GAAG,sBAAsB,KAAK,0FAA0F,GAAG,wJAAwJ,4EAA4E,0BAA0B,uCAAuC,6DAA6D,2BAA2B,OAAO,KAAK,iBAAiB,0CAA0C,KAAK,oBAAoB,GAAG,sOAAsO,2GAA2G,yGAAyG,wBAAwB,+BAA+B,uEAAuE,OAAO,KAAK,wEAAwE,gCAAgC,gEAAgE,oCAAoC,gBAAgB,SAAS,OAAO,KAAK,6GAA6G,qCAAqC,KAAK,OAAO,qEAAqE,iFAAiF,+BAA+B,gBAAgB,SAAS,+BAA+B,+BAA+B,SAAS,OAAO,qFAAqF,KAAK,qJAAqJ,+CAA+C,2CAA2C,OAAO,wCAAwC,KAAK,GAAG,6LAA6L,6DAA6D,2HAA2H,8EAA8E,oCAAoC,gEAAgE,OAAO,KAAK,kCAAkC,mEAAmE,4CAA4C,wDAAwD,OAAO,4FAA4F,wDAAwD,OAAO,uBAAuB,kCAAkC,wBAAwB,sGAAsG,2BAA2B,4FAA4F,iDAAiD,8HAA8H,iEAAiE,yCAAyC,oFAAoF,2CAA2C,gLAAgL,6BAA6B,8FAA8F,+CAA+C,qFAAqF,2CAA2C,uCAAuC,kDAAkD,mBAAmB,wBAAwB,iBAAiB,eAAe,aAAa,WAAW,sFAAsF,gHAAgH,0CAA0C,aAAa,OAAO,mBAAmB,4CAA4C,eAAe,cAAc,wBAAwB,kJAAkJ,eAAe,aAAa,WAAW,SAAS,OAAO,KAAK,cAAc,sCAAsC,GAAG,oBAAoB,+IAA+I,aAAa,sBAAsB,yNAAyN,4MAA4M,2BAA2B,sLAAsL,oBAAoB,kFAAkF,0BAA0B,iGAAiG,yIAAyI,2SAA2S,yNAAyN,8CAA8C,KAAK,iNAAiN,8NAA8N,KAAK,qLAAqL,kGAAkG,sBAAsB,wBAAwB,OAAO,sEAAsE,olBAAolB,wiBAAwiB,4EAA4E,iCAAiC,yGAAyG,uHAAuH,sBAAsB,8BAA8B,uCAAuC,qCAAqC,8EAA8E,2EAA2E,iBAAiB,eAAe,2DAA2D,aAAa,gDAAgD,WAAW,uEAAuE,4DAA4D,WAAW,sFAAsF,sCAAsC,kIAAkI,6CAA6C,aAAa,wBAAwB,WAAW,oGAAoG,sCAAsC,gCAAgC,aAAa,wBAAwB,WAAW,iFAAiF,qBAAqB,wBAAwB,gCAAgC,0GAA0G,eAAe,OAAO,qHAAqH,2EAA2E,iBAAiB,eAAe,aAAa,wBAAwB,WAAW,2EAA2E,mDAAmD,8BAA8B,2CAA2C,aAAa,iCAAiC,wBAAwB,WAAW,UAAU,2DAA2D,oUAAoU,+HAA+H,8HAA8H,mIAAmI,oDAAoD,qLAAqL,iCAAiC,gKAAgK,yIAAyI,SAAS,cAAc,8KAA8K,SAAS,OAAO,qHAAqH,uDAAuD,OAAO,gGAAgG,wFAAwF,qBAAqB,OAAO,gMAAgM,6FAA6F,8CAA8C,OAAO,iEAAiE,2FAA2F,mNAAmN,yFAAyF,sGAAsG,4EAA4E,2EAA2E,oGAAoG,SAAS,uFAAuF,4DAA4D,mGAAmG,SAAS,oHAAoH,oFAAoF,iIAAiI,8CAA8C,OAAO,mHAAmH,gDAAgD,2FAA2F,SAAS,wCAAwC,+EAA+E,SAAS,OAAO,+IAA+I,kEAAkE,OAAO,iSAAiS,wDAAwD,iEAAiE,oDAAoD,OAAO,wKAAwK,8EAA8E,OAAO,0EAA0E,kFAAkF,8BAA8B,4BAA4B,yGAAyG,kEAAkE,qCAAqC,OAAO,OAAO,6BAA6B,0DAA0D,mEAAmE,SAAS,yFAAyF,uBAAuB,SAAS,6DAA6D,wDAAwD,uCAAuC,WAAW,cAAc,SAAS,eAAe,4BAA4B,iDAAiD,SAAS,cAAc,6EAA6E,oBAAoB,WAAW,kEAAkE,SAAS,OAAO,oHAAoH,kGAAkG,gEAAgE,iBAAiB,SAAS,2BAA2B,oEAAoE,8CAA8C,SAAS,0JAA0J,mFAAmF,yEAAyE,wGAAwG,wDAAwD,gEAAgE,SAAS,gJAAgJ,0EAA0E,2HAA2H,oEAAoE,6BAA6B,yDAAyD,aAAa,2DAA2D,6BAA6B,iDAAiD,aAAa,WAAW,oFAAoF,uCAAuC,yCAAyC,6BAA6B,yCAAyC,2DAA2D,OAAO,wCAAwC,oCAAoC,mCAAmC,+BAA+B,WAAW,SAAS,OAAO,sGAAsG,wCAAwC,mCAAmC,+BAA+B,yBAAyB,aAAa,WAAW,SAAS,2EAA2E,qEAAqE,oDAAoD,kFAAkF,SAAS,OAAO,+EAA+E,SAAS,8EAA8E,+BAA+B,8BAA8B,0IAA0I,SAAS,iGAAiG,8BAA8B,uEAAuE,oFAAoF,iDAAiD,WAAW,SAAS,OAAO,qBAAqB,KAAK,iDAAiD,yDAAyD,KAAK,6CAA6C,gEAAgE,KAAK,GAAG,GAAG,+DAA+D,8DAA8D,+FAA+F,gCAAgC,wBAAwB,yBAAyB,OAAO,iHAAiH,gHAAgH,yCAAyC,MAAM,GAAG,GAAG,yCAAyC,yBAAyB,wOAAwO,GAAG,IAAI,yBAAyB,+BAA+B,eAAe,0BAA0B,0CAA0C,wCAAwC,SAAS,gIAAgI,uCAAuC,yCAAyC,SAAS,gCAAgC,0BAA0B,8CAA8C,0CAA0C,WAAW,wBAAwB,SAAS,kBAAkB,OAAO,oBAAoB,KAAK,oCAAoC,wCAAwC,yCAAyC,2DAA2D,SAAS,GAAG,OAAO,sCAAsC,uEAAuE,kCAAkC,mCAAmC,WAAW,OAAO,8BAA8B,SAAS,OAAO,GAAG,KAAK,+BAA+B,iDAAiD,yCAAyC,2EAA2E,OAAO,GAAG,KAAK,qCAAqC,gEAAgE,sDAAsD,OAAO,GAAG,kBAAkB,KAAK,GAAG,GAAG,qDAAqD,gDAAgD,IAAI,kDAAkD,uFAAuF,IAAI,gDAAgD,SAAS,yCAAyC,KAAK,eAAe,IAAI,4BAA4B,+LAA+L,8CAA8C,6EAA6E,+CAA+C,+CAA+C,gCAAgC,uIAAuI,cAAc,6CAA6C,gDAAgD,qKAAqK,kFAAkF,4CAA4C,gDAAgD,aAAa,WAAW,sGAAsG,qDAAqD,WAAW,0aAA0a,iEAAiE,WAAW,0DAA0D,oDAAoD,WAAW,8DAA8D,+BAA+B,+BAA+B,mIAAmI,6CAA6C,8BAA8B,iBAAiB,iCAAiC,wOAAwO,6CAA6C,mBAAmB,OAAO,8FAA8F,6GAA6G,mBAAmB,iBAAiB,OAAO,wdAAwd,uBAAuB,yBAAyB,yBAAyB,oEAAoE,iBAAiB,eAAe,cAAc,YAAY,iEAAiE,8DAA8D,yKAAyK,wCAAwC,WAAW,OAAO,iDAAiD,2GAA2G,4QAA4Q,mCAAmC,oCAAoC,mBAAmB,iBAAiB,GAAG,eAAe,cAAc,WAAW,mFAAmF,iBAAiB,qIAAqI,WAAW,cAAc,+GAA+G,sBAAsB,aAAa,WAAW,SAAS,8BAA8B,2BAA2B,uBAAuB,WAAW,SAAS,QAAQ,KAAK,GAAG,GAAG,0IAA0I,0BAA0B,gCAAgC,KAAK,GAAG,GAAG,mDAAmD,cAAc,8HAA8H,gBAAgB,8CAA8C,kBAAkB,yCAAyC,kCAAkC,oBAAoB,OAAO,KAAK,GAAG,GAAG,qGAAqG,kCAAkC,sBAAsB,KAAK,0BAA0B,uBAAuB,KAAK,GAAG,GAAG,wFAAwF,uFAAuF,2BAA2B,cAAc,uCAAuC,iDAAiD,sEAAsE,yEAAyE,8BAA8B,8BAA8B,0BAA0B,yEAAyE,eAAe,aAAa,YAAY,iIAAiI,SAAS,4BAA4B,2BAA2B,uBAAuB,WAAW,SAAS,QAAQ,KAAK,GAAG,GAAG,oEAAoE,kDAAkD,uDAAuD,oFAAoF,8BAA8B,sBAAsB,KAAK,GAAG,GAAG,yJAAyJ,yUAAyU,4IAA4I,8MAA8M,uEAAuE,+EAA+E,OAAO,gCAAgC,2FAA2F,OAAO,yHAAyH,mCAAmC,6DAA6D,SAAS,sCAAsC,QAAQ,gEAAgE,sEAAsE,2CAA2C,sCAAsC,QAAQ,qFAAqF,iGAAiG,sDAAsD,yDAAyD,OAAO,+CAA+C,SAAS,gEAAgE,yIAAyI,gGAAgG,SAAS,mIAAmI,gDAAgD,SAAS,sDAAsD,OAAO,GAAG,qDAAqD,KAAK,GAAG,GAAG,4WAA4W,uEAAuE,oDAAoD,wCAAwC,GAAG,KAAK,iTAAiT,uCAAuC,gBAAgB,KAAK,2CAA2C,4BAA4B,sBAAsB,KAAK,gCAAgC,uBAAuB,kKAAkK,qEAAqE,uMAAuM,2CAA2C,yCAAyC,OAAO,OAAO,2BAA2B,OAAO,KAAK,uCAAuC,iCAAiC,sCAAsC,sDAAsD,KAAK,2DAA2D,wCAAwC,iCAAiC,KAAK,mDAAmD,IAAI,+FAA+F,oFAAoF,uBAAuB,sDAAsD,gCAAgC,KAAK,mEAAmE,mEAAmE,yBAAyB,6CAA6C,qDAAqD,sBAAsB,KAAK,oFAAoF,oBAAoB,gSAAgS,mCAAmC,oFAAoF,sVAAsV,mOAAmO,kDAAkD,+BAA+B,oFAAoF,SAAS,GAAG,OAAO,GAAG,KAAK,kBAAkB,IAAI,gOAAgO,wCAAwC,iCAAiC,MAAM,GAAG,GAAG,2DAA2D,uDAAuD,8BAA8B,KAAK,UAAU,IAAI,2BAA2B,6CAA6C,oMAAoM,iHAAiH,2CAA2C,OAAO,qCAAqC,8CAA8C,gDAAgD,gJAAgJ,+JAA+J,yCAAyC,iCAAiC,mCAAmC,SAAS,OAAO,8CAA8C,gDAAgD,OAAO,6CAA6C,qJAAqJ,gBAAgB,OAAO,oCAAoC,6DAA6D,OAAO,mCAAmC,iEAAiE,OAAO,qCAAqC,0CAA0C,SAAS,OAAO,6BAA6B,OAAO,KAAK,IAAI,uBAAuB,iCAAiC,sEAAsE,0FAA0F,wDAAwD,WAAW,GAAG,OAAO,6DAA6D,sBAAsB,eAAe,OAAO,2PAA2P,gBAAgB,mBAAmB,OAAO,4CAA4C,iCAAiC,oCAAoC,4BAA4B,gBAAgB,kIAAkI,KAAK,6BAA6B,yBAAyB,eAAe,OAAO,kFAAkF,mBAAmB,kEAAkE,eAAe,2GAA2G,gIAAgI,SAAS,OAAO,+EAA+E,+DAA+D,yDAAyD,+CAA+C,SAAS,6DAA6D,oMAAoM,OAAO,oEAAoE,qLAAqL,KAAK,ylBAAylB,mCAAmC,6CAA6C,6FAA6F,mDAAmD,SAAS,iDAAiD,OAAO,GAAG,KAAK,GAAG,GAAG,8DAA8D,0DAA0D,4BAA4B,uCAAuC,6CAA6C,0DAA0D,2DAA2D,wCAAwC,qBAAqB,SAAS,kCAAkC,iCAAiC,SAAS,oCAAoC,oDAAoD,SAAS,sBAAsB,mHAAmH,WAAW,OAAO,+BAA+B,SAAS,OAAO,kCAAkC,MAAM,GAAG,GAAG,kUAAkU,mJAAmJ,oGAAoG,yBAAyB,0CAA0C,yLAAyL,SAAS,OAAO,MAAM,GAAG,GAAG,0GAA0G,uCAAuC,0BAA0B,kBAAkB,mEAAmE,2CAA2C,8GAA8G,gMAAgM,8DAA8D,kBAAkB,4CAA4C,yPAAyP,WAAW,iFAAiF,uCAAuC,+VAA+V,WAAW,uRAAuR,SAAS,oDAAoD,QAAQ,KAAK,GAAG,GAAG,GAAG,yBAAyB,yCAAyC,8CAA8C,KAAK,oCAAoC,yCAAyC,KAAK,wDAAwD,kDAAkD,KAAK,kDAAkD,mLAAmL,KAAK,GAAG,GAAG,yCAAyC,iBAAiB,yBAAyB,KAAK,OAAO,2BAA2B,KAAK,IAAI,iCAAiC,gCAAgC,6BAA6B,w5BAAw5B,wCAAwC,oBAAoB,KAAK,GAAG,GAAG,oJAAoJ,0CAA0C,gCAAgC,oBAAoB,KAAK,+CAA+C,8BAA8B,KAAK,oBAAoB,IAAI,yLAAyL,sCAAsC,GAAG,wBAAwB,GAAG,GAAG,G;;;;;;;ACA9pwS,ydAAyd,yBAAyB,41BAA41B,EAAE,0FAA0F,EAAE,6JAA6J,EAAE,kBAAkB,EAAE,iGAAiG,EAAE,8UAA8U,EAAE,+JAA+J,EAAE,kbAAkb,EAAE,8FAA8F,EAAE,gDAAgD,EAAE,uCAAuC,0CAA0C,qEAAqE,OAAO,gOAAgO,iZAAiZ,2BAA2B,uJAAuJ,0CAA0C,sCAAsC,yBAAyB,eAAe,oBAAoB,8DAA8D,yBAAyB,eAAe,4EAA4E,yCAAyC,0CAA0C,eAAe,+BAA+B,wCAAwC,eAAe,WAAW,2EAA2E,uDAAuD,8CAA8C,0EAA0E,8CAA8C,GAAG,8BAA8B,eAAe,6BAA6B,WAAW,sDAAsD,+EAA+E,WAAW,wDAAwD,oIAAoI,WAAW,uEAAuE,+EAA+E,2SAA2S,8DAA8D,uHAAuH,8CAA8C,kIAAkI,mFAAmF,oBAAoB,yDAAyD,4CAA4C,qLAAqL,mFAAmF,gCAAgC,EAAE,gCAAgC,uBAAuB,mBAAmB,EAAE,6DAA6D,mFAAmF,6IAA6I,uBAAuB,mBAAmB,EAAE,0EAA0E,eAAe,YAAY,+CAA+C,swBAAswB,QAAQ,qBAAqB,kEAAkE,sDAAsD,oDAAoD,iFAAiF,kHAAkH,sFAAsF,kCAAkC,8DAA8D,mBAAmB,eAAe,4EAA4E,WAAW,4DAA4D,yCAAyC,gCAAgC,uDAAuD,sCAAsC,eAAe,yBAAyB,WAAW,6EAA6E,2DAA2D,mEAAmE,uBAAuB,WAAW,kCAAkC,+CAA+C,EAAE,WAAW,EAAE,gEAAgE,6BAA6B,0BAA0B,OAAO,mCAAmC,YAAY,sBAAsB,eAAe,uBAAuB,WAAW,wDAAwD,+IAA+I,sEAAsE,2BAA2B,eAAe,0DAA0D,WAAW,2DAA2D,4FAA4F,4EAA4E,oBAAoB,oFAAoF,gFAAgF,oFAAoF,mBAAmB,uBAAuB,eAAe,WAAW,QAAQ,gCAAgC,sCAAsC,4CAA4C,0CAA0C,kDAAkD,mCAAmC,0GAA0G,uBAAuB,8BAA8B,oQAAoQ,WAAW,QAAQ,gOAAgO,gDAAgD,oBAAoB,EAAE,EAAE,OAAO,YAAY,wCAAwC,oBAAoB,EAAE,EAAE,OAAO,oEAAoE,gfAAgf,wIAAwI,QAAQ,OAAO,wDAAwD,2FAA2F,wHAAwH,sDAAsD,mBAAmB,eAAe,uJAAuJ,iGAAiG,4CAA4C,eAAe,WAAW,uFAAuF,8FAA8F,wCAAwC,WAAW,wEAAwE,oIAAoI,aAAa,sCAAsC,OAAO,2CAA2C,uCAAuC,wBAAwB,WAAW,oCAAoC,yBAAyB,WAAW,OAAO,gDAAgD,sMAAsM,yBAAyB,WAAW,OAAO,4DAA4D,WAAW,OAAO,qEAAqE,oDAAoD,iDAAiD,8EAA8E,uCAAuC,gCAAgC,eAAe,6BAA6B,YAAY,sCAAsC,2MAA2M,6CAA6C,oDAAoD,mBAAmB,eAAe,YAAY,sCAAsC,0BAA0B,YAAY,OAAO,0CAA0C,6CAA6C,wCAAwC,+BAA+B,2BAA2B,oCAAoC,wBAAwB,mCAAmC,kGAAkG,+EAA+E,mBAAmB,sbAAsb,qDAAqD,yCAAyC,eAAe,WAAW,kDAAkD,8BAA8B,gCAAgC,kCAAkC,eAAe,2CAA2C,mDAAmD,eAAe,OAAO,kCAAkC,eAAe,WAAW,0HAA0H,mcAAmc,kCAAkC,qDAAqD,kDAAkD,+BAA+B,eAAe,kGAAkG,8BAA8B,iRAAiR,WAAW,gFAAgF,+lBAA+lB,0UAA0U,sLAAsL,0QAA0Q,4CAA4C,0JAA0J,uCAAuC,kPAAkP,eAAe,uDAAuD,wGAAwG,eAAe,2CAA2C,4CAA4C,iEAAiE,iDAAiD,mBAAmB,eAAe,mFAAmF,mHAAmH,gGAAgG,eAAe,6CAA6C,2PAA2P,mEAAmE,0DAA0D,oBAAoB,gFAAgF,8CAA8C,eAAe,yLAAyL,4CAA4C,eAAe,kLAAkL,8NAA8N,4CAA4C,eAAe,6DAA6D,kFAAkF,kEAAkE,0EAA0E,iFAAiF,eAAe,OAAO,wDAAwD,gDAAgD,eAAe,oFAAoF,+IAA+I,sZAAsZ,qDAAqD,eAAe,6JAA6J,6EAA6E,oHAAoH,eAAe,yDAAyD,sEAAsE,wDAAwD,6JAA6J,mBAAmB,4EAA4E,oDAAoD,mBAAmB,mSAAmS,qDAAqD,2CAA2C,qGAAqG,uBAAuB,mBAAmB,0EAA0E,eAAe,oEAAoE,8EAA8E,uEAAuE,0DAA0D,gDAAgD,mBAAmB,+CAA+C,eAAe,EAAE,6FAA6F,2DAA2D,sFAAsF,uCAAuC,mDAAmD,wCAAwC,mGAAmG,uBAAuB,wBAAwB,oFAAoF,uBAAuB,OAAO,6EAA6E,uBAAuB,uJAAuJ,wDAAwD,gJAAgJ,6BAA6B,mBAAmB,mIAAmI,6BAA6B,mBAAmB,8KAA8K,4DAA4D,wBAAwB,qDAAqD,yBAAyB,6EAA6E,gYAAgY,mHAAmH,gEAAgE,qFAAqF,2BAA2B,iFAAiF,wRAAwR,4NAA4N,2GAA2G,2BAA2B,mLAAmL,yEAAyE,0JAA0J,6FAA6F,4DAA4D,2BAA2B,EAAE,uDAAuD,uOAAuO,8QAA8Q,kEAAkE,mCAAmC,KAAK,+BAA+B,EAAE,2BAA2B,uBAAuB,cAAc,mBAAmB,iCAAiC,gIAAgI,mCAAmC,mBAAmB,gBAAgB,qHAAqH,kHAAkH,0EAA0E,2CAA2C,wGAAwG,oBAAoB,gEAAgE,oFAAoF,sEAAsE,wNAAwN,kFAAkF,sKAAsK,sDAAsD,uBAAuB,OAAO,2PAA2P,uBAAuB,mBAAmB,+CAA+C,2MAA2M,6BAA6B,kEAAkE,uBAAuB,gBAAgB,gHAAgH,iCAAiC,uBAAuB,mEAAmE,0DAA0D,uDAAuD,6DAA6D,6EAA6E,+KAA+K,+RAA+R,6SAA6S,mGAAmG,+HAA+H,0MAA0M,gPAAgP,sQAAsQ,uBAAuB,OAAO,0DAA0D,uBAAuB,iHAAiH,wGAAwG,4JAA4J,wFAAwF,yDAAyD,mCAAmC,uBAAuB,mEAAmE,6GAA6G,0CAA0C,2BAA2B,wDAAwD,uBAAuB,EAAE,0DAA0D,4EAA4E,mFAAmF,6DAA6D,+BAA+B,2BAA2B,EAAE,uBAAuB,0CAA0C,2DAA2D,uBAAuB,kEAAkE,4DAA4D,uBAAuB,+CAA+C,mBAAmB,eAAe,EAAE,0CAA0C,WAAW,4CAA4C,uVAAuV,wEAAwE,4CAA4C,eAAe,EAAE,gCAAgC,WAAW,oCAAoC,wPAAwP,gFAAgF,wLAAwL,eAAe,8EAA8E,wOAAwO,eAAe,4DAA4D,wFAAwF,WAAW,4CAA4C,yVAAyV,wEAAwE,kDAAkD,eAAe,EAAE,gCAAgC,WAAW,gDAAgD,kUAAkU,4EAA4E,kDAAkD,eAAe,EAAE,gCAAgC,WAAW,yCAAyC,+UAA+U,oFAAoF,mDAAmD,qVAAqV,eAAe,EAAE,gCAAgC,WAAW,gDAAgD,wTAAwT,0EAA0E,4CAA4C,eAAe,EAAE,gCAAgC,WAAW,kDAAkD,oUAAoU,8EAA8E,4CAA4C,eAAe,EAAE,kCAAkC,WAAW,gDAAgD,gWAAgW,4EAA4E,4CAA4C,eAAe,EAAE,gCAAgC,WAAW,+CAA+C,uUAAuU,yEAAyE,4CAA4C,eAAe,EAAE,gCAAgC,WAAW,mDAAmD,kgBAAkgB,8GAA8G,wHAAwH,eAAe,4GAA4G,uDAAuD,+VAA+V,8EAA8E,iGAAiG,sFAAsF,mBAAmB,2GAA2G,eAAe,gFAAgF,yBAAyB,eAAe,yDAAyD,uGAAuG,gEAAgE,2CAA2C,wDAAwD,iDAAiD,oEAAoE,mBAAmB,wDAAwD,oFAAoF,mBAAmB,gDAAgD,eAAe,oDAAoD,gKAAgK,uDAAuD,eAAe,+IAA+I,kDAAkD,eAAe,4CAA4C,0CAA0C,4CAA4C,mCAAmC,iDAAiD,gDAAgD,+CAA+C,0GAA0G,qGAAqG,6IAA6I,gEAAgE,kCAAkC,WAAW,kCAAkC,qCAAqC,WAAW,QAAQ,+CAA+C,0CAA0C,sNAAsN,yCAAyC,WAAW,yBAAyB,QAAQ,2BAA2B,qCAAqC,OAAO,2CAA2C,KAAK,yBAAyB,yUAAyU,4LAA4L,gCAAgC,mCAAmC,sDAAsD,uCAAuC,WAAW,+IAA+I,uEAAuE,mCAAmC,eAAe,6BAA6B,WAAW,OAAO,2CAA2C,mFAAmF,mHAAmH,8EAA8E,4HAA4H,gHAAgH,2IAA2I,eAAe,wDAAwD,mIAAmI,mGAAmG,4EAA4E,wDAAwD,mBAAmB,eAAe,OAAO,qDAAqD,eAAe,WAAW,OAAO,+CAA+C,0CAA0C,uCAAuC,iEAAiE,WAAW,sEAAsE,OAAO,0CAA0C,uCAAuC,wCAAwC,sCAAsC,yCAAyC,OAAO,iCAAiC,8DAA8D,kHAAkH,oEAAoE,0IAA0I,yBAAyB,eAAe,0EAA0E,yDAAyD,oCAAoC,8DAA8D,mBAAmB,eAAe,oBAAoB,8HAA8H,wCAAwC,yEAAyE,mBAAmB,iEAAiE,oIAAoI,eAAe,EAAE,6EAA6E,oCAAoC,wCAAwC,wGAAwG,6EAA6E,mBAAmB,eAAe,6CAA6C,WAAW,gCAAgC,4CAA4C,+DAA+D,8EAA8E,WAAW,4DAA4D,6EAA6E,0CAA0C,2FAA2F,yBAAyB,eAAe,6CAA6C,yBAAyB,eAAe,2CAA2C,+DAA+D,qGAAqG,2EAA2E,6CAA6C,8BAA8B,eAAe,EAAE,WAAW,uEAAuE,gIAAgI,6CAA6C,yBAAyB,eAAe,iEAAiE,2CAA2C,6CAA6C,gHAAgH,+BAA+B,eAAe,iCAAiC,oRAAoR,8HAA8H,+EAA+E,iCAAiC,oDAAoD,mBAAmB,sCAAsC,eAAe,OAAO,kNAAkN,WAAW,QAAQ,sDAAsD,gDAAgD,6EAA6E,2BAA2B,kEAAkE,mCAAmC,8CAA8C,qIAAqI,YAAY,WAAW,gDAAgD,ySAAyS,2CAA2C,mDAAmD,mEAAmE,2DAA2D,iFAAiF,mCAAmC,iCAAiC,uEAAuE,2BAA2B,yCAAyC,0YAA0Y,gDAAgD,qCAAqC,2BAA2B,6DAA6D,iDAAiD,2BAA2B,gCAAgC,ybAAyb,2BAA2B,uBAAuB,gDAAgD,6EAA6E,+aAA+a,gDAAgD,2BAA2B,gCAAgC,qYAAqY,2BAA2B,uBAAuB,mBAAmB,EAAE,eAAe,oBAAoB,4OAA4O,eAAe,0CAA0C,WAAW,6DAA6D,8BAA8B,mLAAmL,iJAAiJ,uCAAuC,qGAAqG,eAAe,sCAAsC,mGAAmG,eAAe,mCAAmC,WAAW,wCAAwC,mGAAmG,0BAA0B,6BAA6B,eAAe,iDAAiD,sDAAsD,eAAe,iDAAiD,2CAA2C,qEAAqE,sCAAsC,mBAAmB,+CAA+C,eAAe,8FAA8F,WAAW,2KAA2K,2RAA2R,0DAA0D,8FAA8F,eAAe,oCAAoC,sCAAsC,eAAe,OAAO,6BAA6B,8FAA8F,mBAAmB,OAAO,4CAA4C,mBAAmB,4DAA4D,8FAA8F,mBAAmB,eAAe,gCAAgC,uEAAuE,gCAAgC,oEAAoE,eAAe,2BAA2B,WAAW,2EAA2E,sBAAsB,8aAA8a,WAAW,+DAA+D,gCAAgC,uDAAuD,eAAe,WAAW,4DAA4D,8GAA8G,iCAAiC,eAAe,wDAAwD,WAAW,oDAAoD,oNAAoN,qKAAqK,oBAAoB,yDAAyD,mMAAmM,sDAAsD,+CAA+C,8BAA8B,qCAAqC,+BAA+B,sEAAsE,2BAA2B,yCAAyC,wDAAwD,gDAAgD,qCAAqC,2BAA2B,4EAA4E,uBAAuB,mBAAmB,wDAAwD,uFAAuF,+TAA+T,uBAAuB,kDAAkD,mBAAmB,eAAe,EAAE,2BAA2B,WAAW,sDAAsD,oEAAoE,yBAAyB,eAAe,mIAAmI,6DAA6D,iDAAiD,yIAAyI,EAAE,8EAA8E,WAAW,0DAA0D,qDAAqD,0DAA0D,qCAAqC,iDAAiD,uBAAuB,mBAAmB,yDAAyD,6FAA6F,4EAA4E,4CAA4C,wCAAwC,oBAAoB,6EAA6E,yHAAyH,+BAA+B,6BAA6B,mEAAmE,uBAAuB,gBAAgB,2MAA2M,iCAAiC,uBAAuB,4DAA4D,sCAAsC,uBAAuB,OAAO,iNAAiN,uBAAuB,mBAAmB,6DAA6D,0DAA0D,+KAA+K,uBAAuB,OAAO,gRAAgR,yLAAyL,uBAAuB,mBAAmB,eAAe,EAAE,WAAW,0DAA0D,8CAA8C,iJAAiJ,mDAAmD,eAAe,WAAW,sFAAsF,oEAAoE,kCAAkC,eAAe,2CAA2C,uGAAuG,eAAe,aAAa,2DAA2D,0EAA0E,0EAA0E,eAAe,WAAW,6EAA6E,uBAAuB,8GAA8G,8BAA8B,4EAA4E,8EAA8E,yCAAyC,4DAA4D,mBAAmB,wCAAwC,uEAAuE,8EAA8E,uBAAuB,EAAE,sFAAsF,mBAAmB,eAAe,WAAW,sDAAsD,6DAA6D,gIAAgI,kDAAkD,+DAA+D,yJAAyJ,4JAA4J,oBAAoB,mKAAmK,uPAAuP,eAAe,OAAO,oGAAoG,eAAe,WAAW,6DAA6D,6DAA6D,qIAAqI,uFAAuF,mMAAmM,sGAAsG,iFAAiF,eAAe,WAAW,oDAAoD,+DAA+D,+BAA+B,WAAW,qDAAqD,gEAAgE,WAAW,gDAAgD,gEAAgE,mEAAmE,8BAA8B,eAAe,6BAA6B,WAAW,+DAA+D,6JAA6J,WAAW,6DAA6D,gLAAgL,sEAAsE,eAAe,+EAA+E,WAAW,2DAA2D,gEAAgE,qEAAqE,uDAAuD,eAAe,WAAW,sDAAsD,mGAAmG,4JAA4J,0CAA0C,8HAA8H,+EAA+E,+BAA+B,eAAe,4BAA4B,WAAW,8DAA8D,gEAAgE,2PAA2P,8MAA8M,6BAA6B,mBAAmB,mFAAmF,yEAAyE,iCAAiC,uBAAuB,mDAAmD,iFAAiF,6EAA6E,sDAAsD,uBAAuB,mBAAmB,6BAA6B,eAAe,WAAW,0FAA0F,8NAA8N,+JAA+J,mGAAmG,eAAe,OAAO,+EAA+E,oCAAoC,eAAe,WAAW,iDAAiD,iDAAiD,WAAW,4BAA4B,oDAAoD,WAAW,QAAQ,KAAK,yBAAyB,4VAA4V,uKAAuK,yCAAyC,2EAA2E,0BAA0B,WAAW,gDAAgD,2EAA2E,qBAAqB,kDAAkD,eAAe,aAAa,6VAA6V,eAAe,WAAW,gEAAgE,+KAA+K,wCAAwC,6BAA6B,yBAAyB,eAAe,yCAAyC,sDAAsD,0DAA0D,mBAAmB,OAAO,oEAAoE,mBAAmB,sFAAsF,0FAA0F,gEAAgE,4DAA4D,oCAAoC,4DAA4D,yEAAyE,kNAAkN,yEAAyE,uBAAuB,oBAAoB,kEAAkE,gCAAgC,gSAAgS,8GAA8G,mfAAmf,mIAAmI,2BAA2B,OAAO,oEAAoE,2BAA2B,gEAAgE,0CAA0C,wFAAwF,+BAA+B,2DAA2D,2BAA2B,uBAAuB,oBAAoB,oEAAoE,+BAA+B,6BAA6B,uEAAuE,uBAAuB,qCAAqC,4GAA4G,iCAAiC,uBAAuB,mCAAmC,kIAAkI,0FAA0F,2BAA2B,OAAO,iOAAiO,2BAA2B,uBAAuB,oBAAoB,eAAe,WAAW,+CAA+C,8DAA8D,WAAW,oDAAoD,yCAAyC,WAAW,0CAA0C,wHAAwH,wCAAwC,6DAA6D,4CAA4C,2CAA2C,eAAe,WAAW,kDAAkD,0DAA0D,WAAW,QAAQ,KAAK,yBAAyB,kWAAkW,uOAAuO,8EAA8E,gEAAgE,YAAY,+CAA+C,iFAAiF,0BAA0B,WAAW,0FAA0F,+KAA+K,6CAA6C,+FAA+F,oCAAoC,eAAe,0CAA0C,iCAAiC,4EAA4E,iCAAiC,mBAAmB,yBAAyB,eAAe,iFAAiF,qBAAqB,6FAA6F,wEAAwE,8CAA8C,EAAE,eAAe,yBAAyB,2GAA2G,iCAAiC,yGAAyG,mBAAmB,OAAO,oKAAoK,yCAAyC,sKAAsK,uBAAuB,mBAAmB,yBAAyB,eAAe,mCAAmC,8FAA8F,6CAA6C,4RAA4R,8KAA8K,2BAA2B,uBAAuB,mBAAmB,iCAAiC,eAAe,gFAAgF,6DAA6D,6DAA6D,mEAAmE,2CAA2C,oCAAoC,4NAA4N,yEAAyE,uBAAuB,mBAAmB,eAAe,SAAS,mFAAmF,0BAA0B,0FAA0F,6BAA6B,mBAAmB,yBAAyB,8DAA8D,mBAAmB,iCAAiC,gGAAgG,6BAA6B,mBAAmB,+EAA+E,eAAe,SAAS,iFAAiF,oLAAoL,uRAAuR,6BAA6B,mBAAmB,sDAAsD,6BAA6B,mBAAmB,6GAA6G,qEAAqE,qaAAqa,iDAAiD,mBAAmB,OAAO,sGAAsG,0EAA0E,mBAAmB,eAAe,SAAS,WAAW,+CAA+C,8DAA8D,WAAW,oDAAoD,yCAAyC,WAAW,gDAAgD,wDAAwD,WAAW,0CAA0C,gHAAgH,+DAA+D,2DAA2D,mEAAmE,iDAAiD,gDAAgD,gDAAgD,eAAe,WAAW,kDAAkD,0DAA0D,WAAW,QAAQ,KAAK,yBAAyB,8VAA8V,4MAA4M,oEAAoE,gEAAgE,MAAM,OAAO,QAAQ,SAAS,kBAAkB,IAAI,2BAA2B,WAAW,wRAAwR,2HAA2H,wBAAwB,wCAAwC,8IAA8I,wJAAwJ,oMAAoM,gEAAgE,gFAAgF,8EAA8E,qDAAqD,+BAA+B,sBAAsB,2BAA2B,yCAAyC,uBAAuB,mBAAmB,wCAAwC,kKAAkK,qEAAqE,uBAAuB,6CAA6C,uCAAuC,uBAAuB,mBAAmB,gBAAgB,WAAW,IAAI,2CAA2C,6EAA6E,0BAA0B,WAAW,sLAAsL,mNAAmN,qHAAqH,qDAAqD,qDAAqD,uBAAuB,oBAAoB,yCAAyC,0GAA0G,kHAAkH,iCAAiC,mBAAmB,yBAAyB,eAAe,kFAAkF,8LAA8L,iGAAiG,6CAA6C,2JAA2J,oEAAoE,6CAA6C,4EAA4E,eAAe,8BAA8B,kEAAkE,eAAe,gCAAgC,4EAA4E,yCAAyC,2CAA2C,gCAAgC,sDAAsD,oEAAoE,kCAAkC,oBAAoB,eAAe,WAAW,+CAA+C,8BAA8B,2RAA2R,iDAAiD,oIAAoI,iCAAiC,uBAAuB,qGAAqG,mLAAmL,sFAAsF,0CAA0C,uBAAuB,mBAAmB,6BAA6B,eAAe,WAAW,oDAAoD,yCAAyC,WAAW,gDAAgD,wDAAwD,WAAW,mDAAmD,uEAAuE,mEAAmE,ofAAof,eAAe,2DAA2D,2FAA2F,6LAA6L,8IAA8I,4GAA4G,uDAAuD,8FAA8F,kEAAkE,kDAAkD,0JAA0J,gEAAgE,2BAA2B,uBAAuB,mBAAmB,eAAe,WAAW,0CAA0C,4BAA4B,+FAA+F,uCAAuC,8CAA8C,8CAA8C,mBAAmB,OAAO,2BAA2B,kGAAkG,uEAAuE,gEAAgE,2BAA2B,uBAAuB,iCAAiC,kIAAkI,uBAAuB,mBAAmB,oJAAoJ,oFAAoF,mBAAmB,uFAAuF,0CAA0C,4CAA4C,0CAA0C,4CAA4C,8CAA8C,sDAAsD,8DAA8D,eAAe,WAAW,kDAAkD,0DAA0D,WAAW,2CAA2C,iEAAiE,WAAW,6CAA6C,gKAAgK,qEAAqE,eAAe,WAAW,QAAQ,KAAK,yBAAyB,6VAA6V,6NAA6N,0CAA0C,4EAA4E,2BAA2B,WAAW,iGAAiG,uPAAuP,2CAA2C,mEAAmE,wCAAwC,sCAAsC,uBAAuB,OAAO,+GAA+G,uBAAuB,mBAAmB,sDAAsD,4CAA4C,6EAA6E,sCAAsC,uBAAuB,qCAAqC,mBAAmB,6IAA6I,0EAA0E,4DAA4D,gNAAgN,8HAA8H,yEAAyE,uBAAuB,mBAAmB,kFAAkF,yCAAyC,qFAAqF,oCAAoC,eAAe,4CAA4C,sDAAsD,2EAA2E,4DAA4D,uYAAuY,iDAAiD,kEAAkE,uBAAuB,mDAAmD,sEAAsE,uBAAuB,iLAAiL,iCAAiC,uBAAuB,6FAA6F,0EAA0E,sCAAsC,uDAAuD,6EAA6E,+BAA+B,2BAA2B,4SAA4S,+KAA+K,wEAAwE,kOAAkO,qCAAqC,0KAA0K,+BAA+B,6CAA6C,+HAA+H,yCAAyC,+BAA+B,0MAA0M,4DAA4D,+BAA+B,8CAA8C,4FAA4F,+BAA+B,+FAA+F,yHAAyH,6DAA6D,+BAA+B,yEAAyE,yCAAyC,+BAA+B,+EAA+E,oDAAoD,0TAA0T,6CAA6C,mCAAmC,+BAA+B,6LAA6L,6FAA6F,sEAAsE,mCAAmC,SAAS,+BAA+B,OAAO,kEAAkE,+BAA+B,2BAA2B,iEAAiE,mJAAmJ,yQAAyQ,oEAAoE,+DAA+D,2EAA2E,yCAAyC,+BAA+B,6DAA6D,2WAA2W,oGAAoG,uKAAuK,0FAA0F,mCAAmC,opBAAopB,6CAA6C,mCAAmC,qWAAqW,6CAA6C,mCAAmC,4MAA4M,2DAA2D,mCAAmC,uBAAuB,+BAA+B,2BAA2B,uBAAuB,EAAE,gLAAgL,2mBAA2mB,2BAA2B,EAAE,kFAAkF,uBAAuB,mBAAmB,cAAc,eAAe,OAAO,sFAAsF,oDAAoD,uCAAuC,+DAA+D,eAAe,WAAW,gDAAgD,wDAAwD,WAAW,0CAA0C,0OAA0O,mEAAmE,kDAAkD,qDAAqD,yCAAyC,6CAA6C,4CAA4C,4CAA4C,eAAe,WAAW,kDAAkD,0DAA0D,WAAW,QAAQ,KAAK,yBAAyB,4TAA4T,yEAAyE,uCAAuC,wCAAwC,OAAO,iFAAiF,4EAA4E,qBAAqB,YAAY,UAAU,0CAA0C,8DAA8D,eAAe,WAAW,wBAAwB,OAAO,iCAAiC,mFAAmF,OAAO,kCAAkC,gCAAgC,kKAAkK,8BAA8B,eAAe,WAAW,yBAAyB,OAAO,8DAA8D,oJAAoJ,wCAAwC,iGAAiG,WAAW,iIAAiI,kDAAkD,gDAAgD,sVAAsV,+CAA+C,oDAAoD,WAAW,EAAE,WAAW,OAAO,oEAAoE,uTAAuT,OAAO,4CAA4C,gDAAgD,8BAA8B,2CAA2C,qCAAqC,wBAAwB,iCAAiC,gBAAgB,WAAW,8EAA8E,oDAAoD,WAAW,iDAAiD,6aAA6a,0GAA0G,+KAA+K,8CAA8C,eAAe,oIAAoI,6CAA6C,gBAAgB,yFAAyF,4BAA4B,WAAW,kDAAkD,wcAAwc,0GAA0G,uDAAuD,kGAAkG,oKAAoK,wFAAwF,yHAAyH,iKAAiK,wDAAwD,uBAAuB,mBAAmB,sBAAsB,6JAA6J,sDAAsD,mBAAmB,eAAe,4BAA4B,WAAW,4CAA4C,wZAAwZ,qFAAqF,uFAAuF,yIAAyI,wGAAwG,8CAA8C,6CAA6C,mJAAmJ,2BAA2B,qDAAqD,oQAAoQ,8EAA8E,2BAA2B,uBAAuB,yBAAyB,iJAAiJ,iGAAiG,2BAA2B,oLAAoL,wEAAwE,wDAAwD,gIAAgI,sDAAsD,uBAAuB,OAAO,yKAAyK,+DAA+D,uBAAuB,oBAAoB,kGAAkG,iCAAiC,qDAAqD,mDAAmD,sCAAsC,eAAe,kFAAkF,oCAAoC,mCAAmC,WAAW,8DAA8D,sBAAsB,qIAAqI,8GAA8G,wPAAwP,WAAW,QAAQ,iDAAiD,oEAAoE,kUAAkU,kGAAkG,wCAAwC,kDAAkD,iDAAiD,WAAW,0DAA0D,OAAO,oEAAoE,yDAAyD,0BAA0B,iHAAiH,iCAAiC,wCAAwC,yHAAyH,gGAAgG,kDAAkD,gDAAgD,6FAA6F,4EAA4E,6BAA6B,yBAAyB,eAAe,yWAAyW,4GAA4G,8EAA8E,iCAAiC,oEAAoE,mBAAmB,eAAe,iDAAiD,6KAA6K,8EAA8E,iCAAiC,yIAAyI,8EAA8E,kHAAkH,mBAAmB,eAAe,OAAO,oEAAoE,qNAAqN,0GAA0G,wDAAwD,yGAAyG,+FAA+F,iFAAiF,eAAe,WAAW,EAAE,2DAA2D,uCAAuC,gCAAgC,iGAAiG,eAAe,wCAAwC,sEAAsE,+GAA+G,8GAA8G,sEAAsE,sIAAsI,aAAa,EAAE,eAAe,WAAW,EAAE,iDAAiD,yFAAyF,mIAAmI,eAAe,WAAW,EAAE,iDAAiD,2HAA2H,WAAW,EAAE,QAAQ,2FAA2F,kBAAkB,iMAAiM,QAAQ,gEAAgE,qOAAqO,gDAAgD,kDAAkD,+CAA+C,iOAAiO,+DAA+D,oDAAoD,+CAA+C,YAAY,EAAE,wFAAwF,uBAAuB,mBAAmB,EAAE,sDAAsD,4OAA4O,mBAAmB,gFAAgF,eAAe,EAAE,WAAW,QAAQ,8DAA8D,yeAAye,8CAA8C,uBAAuB,8CAA8C,4CAA4C,WAAW,2CAA2C,yBAAyB,QAAQ,2DAA2D,wCAAwC,KAAK,yBAAyB,uTAAuT,oCAAoC,GAAG,iBAAiB,G","file":"scripts.bundle.js","sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\nmodule.exports = function(src) {\n\tfunction log(error) {\n\t\t(typeof console !== \"undefined\")\n\t\t&& (console.error || console.log)(\"[Script Loader]\", error);\n\t}\n\n\t// Check for IE =< 8\n\tfunction isIE() {\n\t\treturn typeof attachEvent !== \"undefined\" && typeof addEventListener === \"undefined\";\n\t}\n\n\ttry {\n\t\tif (typeof execScript !== \"undefined\" && isIE()) {\n\t\t\texecScript(src);\n\t\t} else if (typeof eval !== \"undefined\") {\n\t\t\teval.call(null, src);\n\t\t} else {\n\t\t\tlog(\"EvalError: No eval function available\");\n\t\t}\n\t} catch (error) {\n\t\tlog(error);\n\t}\n}\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/script-loader/addScript.js\n// module id = 525\n// module chunks = 3","require(\"!!/app/NHA.App.Application/src/Front-End/NHA.App.Application.Web/node_modules/script-loader/addScript.js\")(require(\"!!/app/NHA.App.Application/src/Front-End/NHA.App.Application.Web/node_modules/raw-loader/index.js!/app/NHA.App.Application/src/Front-End/NHA.App.Application.Web/node_modules/jquery/dist/jquery.js\"))\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/script-loader!./~/jquery/dist/jquery.js\n// module id = 536\n// module chunks = 3","require(\"!!/app/NHA.App.Application/src/Front-End/NHA.App.Application.Web/node_modules/script-loader/addScript.js\")(require(\"!!/app/NHA.App.Application/src/Front-End/NHA.App.Application.Web/node_modules/raw-loader/index.js!/app/NHA.App.Application/src/Front-End/NHA.App.Application.Web/node_modules/signalr/jquery.signalR.js\"))\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/script-loader!./~/signalr/jquery.signalR.js\n// module id = 537\n// module chunks = 3","module.exports = \"/*!\\n * jQuery JavaScript Library v3.2.1\\n * https://jquery.com/\\n *\\n * Includes Sizzle.js\\n * https://sizzlejs.com/\\n *\\n * Copyright JS Foundation and other contributors\\n * Released under the MIT license\\n * https://jquery.org/license\\n *\\n * Date: 2017-03-20T18:59Z\\n */\\n( function( global, factory ) {\\n\\n\\t\\\"use strict\\\";\\n\\n\\tif ( typeof module === \\\"object\\\" && typeof module.exports === \\\"object\\\" ) {\\n\\n\\t\\t// For CommonJS and CommonJS-like environments where a proper `window`\\n\\t\\t// is present, execute the factory and get jQuery.\\n\\t\\t// For environments that do not have a `window` with a `document`\\n\\t\\t// (such as Node.js), expose a factory as module.exports.\\n\\t\\t// This accentuates the need for the creation of a real `window`.\\n\\t\\t// e.g. var jQuery = require(\\\"jquery\\\")(window);\\n\\t\\t// See ticket #14549 for more info.\\n\\t\\tmodule.exports = global.document ?\\n\\t\\t\\tfactory( global, true ) :\\n\\t\\t\\tfunction( w ) {\\n\\t\\t\\t\\tif ( !w.document ) {\\n\\t\\t\\t\\t\\tthrow new Error( \\\"jQuery requires a window with a document\\\" );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn factory( w );\\n\\t\\t\\t};\\n\\t} else {\\n\\t\\tfactory( global );\\n\\t}\\n\\n// Pass this if window is not defined yet\\n} )( typeof window !== \\\"undefined\\\" ? window : this, function( window, noGlobal ) {\\n\\n// Edge <= 12 - 13+, Firefox <=18 - 45+, IE 10 - 11, Safari 5.1 - 9+, iOS 6 - 9.1\\n// throw exceptions when non-strict code (e.g., ASP.NET 4.5) accesses strict mode\\n// arguments.callee.caller (trac-13335). But as of jQuery 3.0 (2016), strict mode should be common\\n// enough that all such attempts are guarded in a try block.\\n\\\"use strict\\\";\\n\\nvar arr = [];\\n\\nvar document = window.document;\\n\\nvar getProto = Object.getPrototypeOf;\\n\\nvar slice = arr.slice;\\n\\nvar concat = arr.concat;\\n\\nvar push = arr.push;\\n\\nvar indexOf = arr.indexOf;\\n\\nvar class2type = {};\\n\\nvar toString = class2type.toString;\\n\\nvar hasOwn = class2type.hasOwnProperty;\\n\\nvar fnToString = hasOwn.toString;\\n\\nvar ObjectFunctionString = fnToString.call( Object );\\n\\nvar support = {};\\n\\n\\n\\n\\tfunction DOMEval( code, doc ) {\\n\\t\\tdoc = doc || document;\\n\\n\\t\\tvar script = doc.createElement( \\\"script\\\" );\\n\\n\\t\\tscript.text = code;\\n\\t\\tdoc.head.appendChild( script ).parentNode.removeChild( script );\\n\\t}\\n/* global Symbol */\\n// Defining this global in .eslintrc.json would create a danger of using the global\\n// unguarded in another place, it seems safer to define global only for this module\\n\\n\\n\\nvar\\n\\tversion = \\\"3.2.1\\\",\\n\\n\\t// Define a local copy of jQuery\\n\\tjQuery = function( selector, context ) {\\n\\n\\t\\t// The jQuery object is actually just the init constructor 'enhanced'\\n\\t\\t// Need init if jQuery is called (just allow error to be thrown if not included)\\n\\t\\treturn new jQuery.fn.init( selector, context );\\n\\t},\\n\\n\\t// Support: Android <=4.0 only\\n\\t// Make sure we trim BOM and NBSP\\n\\trtrim = /^[\\\\s\\\\uFEFF\\\\xA0]+|[\\\\s\\\\uFEFF\\\\xA0]+$/g,\\n\\n\\t// Matches dashed string for camelizing\\n\\trmsPrefix = /^-ms-/,\\n\\trdashAlpha = /-([a-z])/g,\\n\\n\\t// Used by jQuery.camelCase as callback to replace()\\n\\tfcamelCase = function( all, letter ) {\\n\\t\\treturn letter.toUpperCase();\\n\\t};\\n\\njQuery.fn = jQuery.prototype = {\\n\\n\\t// The current version of jQuery being used\\n\\tjquery: version,\\n\\n\\tconstructor: jQuery,\\n\\n\\t// The default length of a jQuery object is 0\\n\\tlength: 0,\\n\\n\\ttoArray: function() {\\n\\t\\treturn slice.call( this );\\n\\t},\\n\\n\\t// Get the Nth element in the matched element set OR\\n\\t// Get the whole matched element set as a clean array\\n\\tget: function( num ) {\\n\\n\\t\\t// Return all the elements in a clean array\\n\\t\\tif ( num == null ) {\\n\\t\\t\\treturn slice.call( this );\\n\\t\\t}\\n\\n\\t\\t// Return just the one element from the set\\n\\t\\treturn num < 0 ? this[ num + this.length ] : this[ num ];\\n\\t},\\n\\n\\t// Take an array of elements and push it onto the stack\\n\\t// (returning the new matched element set)\\n\\tpushStack: function( elems ) {\\n\\n\\t\\t// Build a new jQuery matched element set\\n\\t\\tvar ret = jQuery.merge( this.constructor(), elems );\\n\\n\\t\\t// Add the old object onto the stack (as a reference)\\n\\t\\tret.prevObject = this;\\n\\n\\t\\t// Return the newly-formed element set\\n\\t\\treturn ret;\\n\\t},\\n\\n\\t// Execute a callback for every element in the matched set.\\n\\teach: function( callback ) {\\n\\t\\treturn jQuery.each( this, callback );\\n\\t},\\n\\n\\tmap: function( callback ) {\\n\\t\\treturn this.pushStack( jQuery.map( this, function( elem, i ) {\\n\\t\\t\\treturn callback.call( elem, i, elem );\\n\\t\\t} ) );\\n\\t},\\n\\n\\tslice: function() {\\n\\t\\treturn this.pushStack( slice.apply( this, arguments ) );\\n\\t},\\n\\n\\tfirst: function() {\\n\\t\\treturn this.eq( 0 );\\n\\t},\\n\\n\\tlast: function() {\\n\\t\\treturn this.eq( -1 );\\n\\t},\\n\\n\\teq: function( i ) {\\n\\t\\tvar len = this.length,\\n\\t\\t\\tj = +i + ( i < 0 ? len : 0 );\\n\\t\\treturn this.pushStack( j >= 0 && j < len ? [ this[ j ] ] : [] );\\n\\t},\\n\\n\\tend: function() {\\n\\t\\treturn this.prevObject || this.constructor();\\n\\t},\\n\\n\\t// For internal use only.\\n\\t// Behaves like an Array's method, not like a jQuery method.\\n\\tpush: push,\\n\\tsort: arr.sort,\\n\\tsplice: arr.splice\\n};\\n\\njQuery.extend = jQuery.fn.extend = function() {\\n\\tvar options, name, src, copy, copyIsArray, clone,\\n\\t\\ttarget = arguments[ 0 ] || {},\\n\\t\\ti = 1,\\n\\t\\tlength = arguments.length,\\n\\t\\tdeep = false;\\n\\n\\t// Handle a deep copy situation\\n\\tif ( typeof target === \\\"boolean\\\" ) {\\n\\t\\tdeep = target;\\n\\n\\t\\t// Skip the boolean and the target\\n\\t\\ttarget = arguments[ i ] || {};\\n\\t\\ti++;\\n\\t}\\n\\n\\t// Handle case when target is a string or something (possible in deep copy)\\n\\tif ( typeof target !== \\\"object\\\" && !jQuery.isFunction( target ) ) {\\n\\t\\ttarget = {};\\n\\t}\\n\\n\\t// Extend jQuery itself if only one argument is passed\\n\\tif ( i === length ) {\\n\\t\\ttarget = this;\\n\\t\\ti--;\\n\\t}\\n\\n\\tfor ( ; i < length; i++ ) {\\n\\n\\t\\t// Only deal with non-null/undefined values\\n\\t\\tif ( ( options = arguments[ i ] ) != null ) {\\n\\n\\t\\t\\t// Extend the base object\\n\\t\\t\\tfor ( name in options ) {\\n\\t\\t\\t\\tsrc = target[ name ];\\n\\t\\t\\t\\tcopy = options[ name ];\\n\\n\\t\\t\\t\\t// Prevent never-ending loop\\n\\t\\t\\t\\tif ( target === copy ) {\\n\\t\\t\\t\\t\\tcontinue;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Recurse if we're merging plain objects or arrays\\n\\t\\t\\t\\tif ( deep && copy && ( jQuery.isPlainObject( copy ) ||\\n\\t\\t\\t\\t\\t( copyIsArray = Array.isArray( copy ) ) ) ) {\\n\\n\\t\\t\\t\\t\\tif ( copyIsArray ) {\\n\\t\\t\\t\\t\\t\\tcopyIsArray = false;\\n\\t\\t\\t\\t\\t\\tclone = src && Array.isArray( src ) ? src : [];\\n\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tclone = src && jQuery.isPlainObject( src ) ? src : {};\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Never move original objects, clone them\\n\\t\\t\\t\\t\\ttarget[ name ] = jQuery.extend( deep, clone, copy );\\n\\n\\t\\t\\t\\t// Don't bring in undefined values\\n\\t\\t\\t\\t} else if ( copy !== undefined ) {\\n\\t\\t\\t\\t\\ttarget[ name ] = copy;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Return the modified object\\n\\treturn target;\\n};\\n\\njQuery.extend( {\\n\\n\\t// Unique for each copy of jQuery on the page\\n\\texpando: \\\"jQuery\\\" + ( version + Math.random() ).replace( /\\\\D/g, \\\"\\\" ),\\n\\n\\t// Assume jQuery is ready without the ready module\\n\\tisReady: true,\\n\\n\\terror: function( msg ) {\\n\\t\\tthrow new Error( msg );\\n\\t},\\n\\n\\tnoop: function() {},\\n\\n\\tisFunction: function( obj ) {\\n\\t\\treturn jQuery.type( obj ) === \\\"function\\\";\\n\\t},\\n\\n\\tisWindow: function( obj ) {\\n\\t\\treturn obj != null && obj === obj.window;\\n\\t},\\n\\n\\tisNumeric: function( obj ) {\\n\\n\\t\\t// As of jQuery 3.0, isNumeric is limited to\\n\\t\\t// strings and numbers (primitives or objects)\\n\\t\\t// that can be coerced to finite numbers (gh-2662)\\n\\t\\tvar type = jQuery.type( obj );\\n\\t\\treturn ( type === \\\"number\\\" || type === \\\"string\\\" ) &&\\n\\n\\t\\t\\t// parseFloat NaNs numeric-cast false positives (\\\"\\\")\\n\\t\\t\\t// ...but misinterprets leading-number strings, particularly hex literals (\\\"0x...\\\")\\n\\t\\t\\t// subtraction forces infinities to NaN\\n\\t\\t\\t!isNaN( obj - parseFloat( obj ) );\\n\\t},\\n\\n\\tisPlainObject: function( obj ) {\\n\\t\\tvar proto, Ctor;\\n\\n\\t\\t// Detect obvious negatives\\n\\t\\t// Use toString instead of jQuery.type to catch host objects\\n\\t\\tif ( !obj || toString.call( obj ) !== \\\"[object Object]\\\" ) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\n\\t\\tproto = getProto( obj );\\n\\n\\t\\t// Objects with no prototype (e.g., `Object.create( null )`) are plain\\n\\t\\tif ( !proto ) {\\n\\t\\t\\treturn true;\\n\\t\\t}\\n\\n\\t\\t// Objects with prototype are plain iff they were constructed by a global Object function\\n\\t\\tCtor = hasOwn.call( proto, \\\"constructor\\\" ) && proto.constructor;\\n\\t\\treturn typeof Ctor === \\\"function\\\" && fnToString.call( Ctor ) === ObjectFunctionString;\\n\\t},\\n\\n\\tisEmptyObject: function( obj ) {\\n\\n\\t\\t/* eslint-disable no-unused-vars */\\n\\t\\t// See https://github.com/eslint/eslint/issues/6125\\n\\t\\tvar name;\\n\\n\\t\\tfor ( name in obj ) {\\n\\t\\t\\treturn false;\\n\\t\\t}\\n\\t\\treturn true;\\n\\t},\\n\\n\\ttype: function( obj ) {\\n\\t\\tif ( obj == null ) {\\n\\t\\t\\treturn obj + \\\"\\\";\\n\\t\\t}\\n\\n\\t\\t// Support: Android <=2.3 only (functionish RegExp)\\n\\t\\treturn typeof obj === \\\"object\\\" || typeof obj === \\\"function\\\" ?\\n\\t\\t\\tclass2type[ toString.call( obj ) ] || \\\"object\\\" :\\n\\t\\t\\ttypeof obj;\\n\\t},\\n\\n\\t// Evaluates a script in a global context\\n\\tglobalEval: function( code ) {\\n\\t\\tDOMEval( code );\\n\\t},\\n\\n\\t// Convert dashed to camelCase; used by the css and data modules\\n\\t// Support: IE <=9 - 11, Edge 12 - 13\\n\\t// Microsoft forgot to hump their vendor prefix (#9572)\\n\\tcamelCase: function( string ) {\\n\\t\\treturn string.replace( rmsPrefix, \\\"ms-\\\" ).replace( rdashAlpha, fcamelCase );\\n\\t},\\n\\n\\teach: function( obj, callback ) {\\n\\t\\tvar length, i = 0;\\n\\n\\t\\tif ( isArrayLike( obj ) ) {\\n\\t\\t\\tlength = obj.length;\\n\\t\\t\\tfor ( ; i < length; i++ ) {\\n\\t\\t\\t\\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tfor ( i in obj ) {\\n\\t\\t\\t\\tif ( callback.call( obj[ i ], i, obj[ i ] ) === false ) {\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn obj;\\n\\t},\\n\\n\\t// Support: Android <=4.0 only\\n\\ttrim: function( text ) {\\n\\t\\treturn text == null ?\\n\\t\\t\\t\\\"\\\" :\\n\\t\\t\\t( text + \\\"\\\" ).replace( rtrim, \\\"\\\" );\\n\\t},\\n\\n\\t// results is for internal usage only\\n\\tmakeArray: function( arr, results ) {\\n\\t\\tvar ret = results || [];\\n\\n\\t\\tif ( arr != null ) {\\n\\t\\t\\tif ( isArrayLike( Object( arr ) ) ) {\\n\\t\\t\\t\\tjQuery.merge( ret,\\n\\t\\t\\t\\t\\ttypeof arr === \\\"string\\\" ?\\n\\t\\t\\t\\t\\t[ arr ] : arr\\n\\t\\t\\t\\t);\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tpush.call( ret, arr );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn ret;\\n\\t},\\n\\n\\tinArray: function( elem, arr, i ) {\\n\\t\\treturn arr == null ? -1 : indexOf.call( arr, elem, i );\\n\\t},\\n\\n\\t// Support: Android <=4.0 only, PhantomJS 1 only\\n\\t// push.apply(_, arraylike) throws on ancient WebKit\\n\\tmerge: function( first, second ) {\\n\\t\\tvar len = +second.length,\\n\\t\\t\\tj = 0,\\n\\t\\t\\ti = first.length;\\n\\n\\t\\tfor ( ; j < len; j++ ) {\\n\\t\\t\\tfirst[ i++ ] = second[ j ];\\n\\t\\t}\\n\\n\\t\\tfirst.length = i;\\n\\n\\t\\treturn first;\\n\\t},\\n\\n\\tgrep: function( elems, callback, invert ) {\\n\\t\\tvar callbackInverse,\\n\\t\\t\\tmatches = [],\\n\\t\\t\\ti = 0,\\n\\t\\t\\tlength = elems.length,\\n\\t\\t\\tcallbackExpect = !invert;\\n\\n\\t\\t// Go through the array, only saving the items\\n\\t\\t// that pass the validator function\\n\\t\\tfor ( ; i < length; i++ ) {\\n\\t\\t\\tcallbackInverse = !callback( elems[ i ], i );\\n\\t\\t\\tif ( callbackInverse !== callbackExpect ) {\\n\\t\\t\\t\\tmatches.push( elems[ i ] );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn matches;\\n\\t},\\n\\n\\t// arg is for internal usage only\\n\\tmap: function( elems, callback, arg ) {\\n\\t\\tvar length, value,\\n\\t\\t\\ti = 0,\\n\\t\\t\\tret = [];\\n\\n\\t\\t// Go through the array, translating each of the items to their new values\\n\\t\\tif ( isArrayLike( elems ) ) {\\n\\t\\t\\tlength = elems.length;\\n\\t\\t\\tfor ( ; i < length; i++ ) {\\n\\t\\t\\t\\tvalue = callback( elems[ i ], i, arg );\\n\\n\\t\\t\\t\\tif ( value != null ) {\\n\\t\\t\\t\\t\\tret.push( value );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t// Go through every key on the object,\\n\\t\\t} else {\\n\\t\\t\\tfor ( i in elems ) {\\n\\t\\t\\t\\tvalue = callback( elems[ i ], i, arg );\\n\\n\\t\\t\\t\\tif ( value != null ) {\\n\\t\\t\\t\\t\\tret.push( value );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Flatten any nested arrays\\n\\t\\treturn concat.apply( [], ret );\\n\\t},\\n\\n\\t// A global GUID counter for objects\\n\\tguid: 1,\\n\\n\\t// Bind a function to a context, optionally partially applying any\\n\\t// arguments.\\n\\tproxy: function( fn, context ) {\\n\\t\\tvar tmp, args, proxy;\\n\\n\\t\\tif ( typeof context === \\\"string\\\" ) {\\n\\t\\t\\ttmp = fn[ context ];\\n\\t\\t\\tcontext = fn;\\n\\t\\t\\tfn = tmp;\\n\\t\\t}\\n\\n\\t\\t// Quick check to determine if target is callable, in the spec\\n\\t\\t// this throws a TypeError, but we will just return undefined.\\n\\t\\tif ( !jQuery.isFunction( fn ) ) {\\n\\t\\t\\treturn undefined;\\n\\t\\t}\\n\\n\\t\\t// Simulated bind\\n\\t\\targs = slice.call( arguments, 2 );\\n\\t\\tproxy = function() {\\n\\t\\t\\treturn fn.apply( context || this, args.concat( slice.call( arguments ) ) );\\n\\t\\t};\\n\\n\\t\\t// Set the guid of unique handler to the same of original handler, so it can be removed\\n\\t\\tproxy.guid = fn.guid = fn.guid || jQuery.guid++;\\n\\n\\t\\treturn proxy;\\n\\t},\\n\\n\\tnow: Date.now,\\n\\n\\t// jQuery.support is not used in Core but other projects attach their\\n\\t// properties to it so it needs to exist.\\n\\tsupport: support\\n} );\\n\\nif ( typeof Symbol === \\\"function\\\" ) {\\n\\tjQuery.fn[ Symbol.iterator ] = arr[ Symbol.iterator ];\\n}\\n\\n// Populate the class2type map\\njQuery.each( \\\"Boolean Number String Function Array Date RegExp Object Error Symbol\\\".split( \\\" \\\" ),\\nfunction( i, name ) {\\n\\tclass2type[ \\\"[object \\\" + name + \\\"]\\\" ] = name.toLowerCase();\\n} );\\n\\nfunction isArrayLike( obj ) {\\n\\n\\t// Support: real iOS 8.2 only (not reproducible in simulator)\\n\\t// `in` check used to prevent JIT error (gh-2145)\\n\\t// hasOwn isn't used here due to false negatives\\n\\t// regarding Nodelist length in IE\\n\\tvar length = !!obj && \\\"length\\\" in obj && obj.length,\\n\\t\\ttype = jQuery.type( obj );\\n\\n\\tif ( type === \\\"function\\\" || jQuery.isWindow( obj ) ) {\\n\\t\\treturn false;\\n\\t}\\n\\n\\treturn type === \\\"array\\\" || length === 0 ||\\n\\t\\ttypeof length === \\\"number\\\" && length > 0 && ( length - 1 ) in obj;\\n}\\nvar Sizzle =\\n/*!\\n * Sizzle CSS Selector Engine v2.3.3\\n * https://sizzlejs.com/\\n *\\n * Copyright jQuery Foundation and other contributors\\n * Released under the MIT license\\n * http://jquery.org/license\\n *\\n * Date: 2016-08-08\\n */\\n(function( window ) {\\n\\nvar i,\\n\\tsupport,\\n\\tExpr,\\n\\tgetText,\\n\\tisXML,\\n\\ttokenize,\\n\\tcompile,\\n\\tselect,\\n\\toutermostContext,\\n\\tsortInput,\\n\\thasDuplicate,\\n\\n\\t// Local document vars\\n\\tsetDocument,\\n\\tdocument,\\n\\tdocElem,\\n\\tdocumentIsHTML,\\n\\trbuggyQSA,\\n\\trbuggyMatches,\\n\\tmatches,\\n\\tcontains,\\n\\n\\t// Instance-specific data\\n\\texpando = \\\"sizzle\\\" + 1 * new Date(),\\n\\tpreferredDoc = window.document,\\n\\tdirruns = 0,\\n\\tdone = 0,\\n\\tclassCache = createCache(),\\n\\ttokenCache = createCache(),\\n\\tcompilerCache = createCache(),\\n\\tsortOrder = function( a, b ) {\\n\\t\\tif ( a === b ) {\\n\\t\\t\\thasDuplicate = true;\\n\\t\\t}\\n\\t\\treturn 0;\\n\\t},\\n\\n\\t// Instance methods\\n\\thasOwn = ({}).hasOwnProperty,\\n\\tarr = [],\\n\\tpop = arr.pop,\\n\\tpush_native = arr.push,\\n\\tpush = arr.push,\\n\\tslice = arr.slice,\\n\\t// Use a stripped-down indexOf as it's faster than native\\n\\t// https://jsperf.com/thor-indexof-vs-for/5\\n\\tindexOf = function( list, elem ) {\\n\\t\\tvar i = 0,\\n\\t\\t\\tlen = list.length;\\n\\t\\tfor ( ; i < len; i++ ) {\\n\\t\\t\\tif ( list[i] === elem ) {\\n\\t\\t\\t\\treturn i;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn -1;\\n\\t},\\n\\n\\tbooleans = \\\"checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped\\\",\\n\\n\\t// Regular expressions\\n\\n\\t// http://www.w3.org/TR/css3-selectors/#whitespace\\n\\twhitespace = \\\"[\\\\\\\\x20\\\\\\\\t\\\\\\\\r\\\\\\\\n\\\\\\\\f]\\\",\\n\\n\\t// http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier\\n\\tidentifier = \\\"(?:\\\\\\\\\\\\\\\\.|[\\\\\\\\w-]|[^\\\\0-\\\\\\\\xa0])+\\\",\\n\\n\\t// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors\\n\\tattributes = \\\"\\\\\\\\[\\\" + whitespace + \\\"*(\\\" + identifier + \\\")(?:\\\" + whitespace +\\n\\t\\t// Operator (capture 2)\\n\\t\\t\\\"*([*^$|!~]?=)\\\" + whitespace +\\n\\t\\t// \\\"Attribute values must be CSS identifiers [capture 5] or strings [capture 3 or capture 4]\\\"\\n\\t\\t\\\"*(?:'((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\'])*)'|\\\\\\\"((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\\\\\\\\"])*)\\\\\\\"|(\\\" + identifier + \\\"))|)\\\" + whitespace +\\n\\t\\t\\\"*\\\\\\\\]\\\",\\n\\n\\tpseudos = \\\":(\\\" + identifier + \\\")(?:\\\\\\\\((\\\" +\\n\\t\\t// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:\\n\\t\\t// 1. quoted (capture 3; capture 4 or capture 5)\\n\\t\\t\\\"('((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\'])*)'|\\\\\\\"((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\\\\\\\\"])*)\\\\\\\")|\\\" +\\n\\t\\t// 2. simple (capture 6)\\n\\t\\t\\\"((?:\\\\\\\\\\\\\\\\.|[^\\\\\\\\\\\\\\\\()[\\\\\\\\]]|\\\" + attributes + \\\")*)|\\\" +\\n\\t\\t// 3. anything else (capture 2)\\n\\t\\t\\\".*\\\" +\\n\\t\\t\\\")\\\\\\\\)|)\\\",\\n\\n\\t// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter\\n\\trwhitespace = new RegExp( whitespace + \\\"+\\\", \\\"g\\\" ),\\n\\trtrim = new RegExp( \\\"^\\\" + whitespace + \\\"+|((?:^|[^\\\\\\\\\\\\\\\\])(?:\\\\\\\\\\\\\\\\.)*)\\\" + whitespace + \\\"+$\\\", \\\"g\\\" ),\\n\\n\\trcomma = new RegExp( \\\"^\\\" + whitespace + \\\"*,\\\" + whitespace + \\\"*\\\" ),\\n\\trcombinators = new RegExp( \\\"^\\\" + whitespace + \\\"*([>+~]|\\\" + whitespace + \\\")\\\" + whitespace + \\\"*\\\" ),\\n\\n\\trattributeQuotes = new RegExp( \\\"=\\\" + whitespace + \\\"*([^\\\\\\\\]'\\\\\\\"]*?)\\\" + whitespace + \\\"*\\\\\\\\]\\\", \\\"g\\\" ),\\n\\n\\trpseudo = new RegExp( pseudos ),\\n\\tridentifier = new RegExp( \\\"^\\\" + identifier + \\\"$\\\" ),\\n\\n\\tmatchExpr = {\\n\\t\\t\\\"ID\\\": new RegExp( \\\"^#(\\\" + identifier + \\\")\\\" ),\\n\\t\\t\\\"CLASS\\\": new RegExp( \\\"^\\\\\\\\.(\\\" + identifier + \\\")\\\" ),\\n\\t\\t\\\"TAG\\\": new RegExp( \\\"^(\\\" + identifier + \\\"|[*])\\\" ),\\n\\t\\t\\\"ATTR\\\": new RegExp( \\\"^\\\" + attributes ),\\n\\t\\t\\\"PSEUDO\\\": new RegExp( \\\"^\\\" + pseudos ),\\n\\t\\t\\\"CHILD\\\": new RegExp( \\\"^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\\\\\\\(\\\" + whitespace +\\n\\t\\t\\t\\\"*(even|odd|(([+-]|)(\\\\\\\\d*)n|)\\\" + whitespace + \\\"*(?:([+-]|)\\\" + whitespace +\\n\\t\\t\\t\\\"*(\\\\\\\\d+)|))\\\" + whitespace + \\\"*\\\\\\\\)|)\\\", \\\"i\\\" ),\\n\\t\\t\\\"bool\\\": new RegExp( \\\"^(?:\\\" + booleans + \\\")$\\\", \\\"i\\\" ),\\n\\t\\t// For use in libraries implementing .is()\\n\\t\\t// We use this for POS matching in `select`\\n\\t\\t\\\"needsContext\\\": new RegExp( \\\"^\\\" + whitespace + \\\"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\\\\\\\(\\\" +\\n\\t\\t\\twhitespace + \\\"*((?:-\\\\\\\\d)?\\\\\\\\d*)\\\" + whitespace + \\\"*\\\\\\\\)|)(?=[^-]|$)\\\", \\\"i\\\" )\\n\\t},\\n\\n\\trinputs = /^(?:input|select|textarea|button)$/i,\\n\\trheader = /^h\\\\d$/i,\\n\\n\\trnative = /^[^{]+\\\\{\\\\s*\\\\[native \\\\w/,\\n\\n\\t// Easily-parseable/retrievable ID or TAG or CLASS selectors\\n\\trquickExpr = /^(?:#([\\\\w-]+)|(\\\\w+)|\\\\.([\\\\w-]+))$/,\\n\\n\\trsibling = /[+~]/,\\n\\n\\t// CSS escapes\\n\\t// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters\\n\\trunescape = new RegExp( \\\"\\\\\\\\\\\\\\\\([\\\\\\\\da-f]{1,6}\\\" + whitespace + \\\"?|(\\\" + whitespace + \\\")|.)\\\", \\\"ig\\\" ),\\n\\tfunescape = function( _, escaped, escapedWhitespace ) {\\n\\t\\tvar high = \\\"0x\\\" + escaped - 0x10000;\\n\\t\\t// NaN means non-codepoint\\n\\t\\t// Support: Firefox<24\\n\\t\\t// Workaround erroneous numeric interpretation of +\\\"0x\\\"\\n\\t\\treturn high !== high || escapedWhitespace ?\\n\\t\\t\\tescaped :\\n\\t\\t\\thigh < 0 ?\\n\\t\\t\\t\\t// BMP codepoint\\n\\t\\t\\t\\tString.fromCharCode( high + 0x10000 ) :\\n\\t\\t\\t\\t// Supplemental Plane codepoint (surrogate pair)\\n\\t\\t\\t\\tString.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );\\n\\t},\\n\\n\\t// CSS string/identifier serialization\\n\\t// https://drafts.csswg.org/cssom/#common-serializing-idioms\\n\\trcssescape = /([\\\\0-\\\\x1f\\\\x7f]|^-?\\\\d)|^-$|[^\\\\0-\\\\x1f\\\\x7f-\\\\uFFFF\\\\w-]/g,\\n\\tfcssescape = function( ch, asCodePoint ) {\\n\\t\\tif ( asCodePoint ) {\\n\\n\\t\\t\\t// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\\n\\t\\t\\tif ( ch === \\\"\\\\0\\\" ) {\\n\\t\\t\\t\\treturn \\\"\\\\uFFFD\\\";\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Control characters and (dependent upon position) numbers get escaped as code points\\n\\t\\t\\treturn ch.slice( 0, -1 ) + \\\"\\\\\\\\\\\" + ch.charCodeAt( ch.length - 1 ).toString( 16 ) + \\\" \\\";\\n\\t\\t}\\n\\n\\t\\t// Other potentially-special ASCII characters get backslash-escaped\\n\\t\\treturn \\\"\\\\\\\\\\\" + ch;\\n\\t},\\n\\n\\t// Used for iframes\\n\\t// See setDocument()\\n\\t// Removing the function wrapper causes a \\\"Permission Denied\\\"\\n\\t// error in IE\\n\\tunloadHandler = function() {\\n\\t\\tsetDocument();\\n\\t},\\n\\n\\tdisabledAncestor = addCombinator(\\n\\t\\tfunction( elem ) {\\n\\t\\t\\treturn elem.disabled === true && (\\\"form\\\" in elem || \\\"label\\\" in elem);\\n\\t\\t},\\n\\t\\t{ dir: \\\"parentNode\\\", next: \\\"legend\\\" }\\n\\t);\\n\\n// Optimize for push.apply( _, NodeList )\\ntry {\\n\\tpush.apply(\\n\\t\\t(arr = slice.call( preferredDoc.childNodes )),\\n\\t\\tpreferredDoc.childNodes\\n\\t);\\n\\t// Support: Android<4.0\\n\\t// Detect silently failing push.apply\\n\\tarr[ preferredDoc.childNodes.length ].nodeType;\\n} catch ( e ) {\\n\\tpush = { apply: arr.length ?\\n\\n\\t\\t// Leverage slice if possible\\n\\t\\tfunction( target, els ) {\\n\\t\\t\\tpush_native.apply( target, slice.call(els) );\\n\\t\\t} :\\n\\n\\t\\t// Support: IE<9\\n\\t\\t// Otherwise append directly\\n\\t\\tfunction( target, els ) {\\n\\t\\t\\tvar j = target.length,\\n\\t\\t\\t\\ti = 0;\\n\\t\\t\\t// Can't trust NodeList.length\\n\\t\\t\\twhile ( (target[j++] = els[i++]) ) {}\\n\\t\\t\\ttarget.length = j - 1;\\n\\t\\t}\\n\\t};\\n}\\n\\nfunction Sizzle( selector, context, results, seed ) {\\n\\tvar m, i, elem, nid, match, groups, newSelector,\\n\\t\\tnewContext = context && context.ownerDocument,\\n\\n\\t\\t// nodeType defaults to 9, since context defaults to document\\n\\t\\tnodeType = context ? context.nodeType : 9;\\n\\n\\tresults = results || [];\\n\\n\\t// Return early from calls with invalid selector or context\\n\\tif ( typeof selector !== \\\"string\\\" || !selector ||\\n\\t\\tnodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {\\n\\n\\t\\treturn results;\\n\\t}\\n\\n\\t// Try to shortcut find operations (as opposed to filters) in HTML documents\\n\\tif ( !seed ) {\\n\\n\\t\\tif ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {\\n\\t\\t\\tsetDocument( context );\\n\\t\\t}\\n\\t\\tcontext = context || document;\\n\\n\\t\\tif ( documentIsHTML ) {\\n\\n\\t\\t\\t// If the selector is sufficiently simple, try using a \\\"get*By*\\\" DOM method\\n\\t\\t\\t// (excepting DocumentFragment context, where the methods don't exist)\\n\\t\\t\\tif ( nodeType !== 11 && (match = rquickExpr.exec( selector )) ) {\\n\\n\\t\\t\\t\\t// ID selector\\n\\t\\t\\t\\tif ( (m = match[1]) ) {\\n\\n\\t\\t\\t\\t\\t// Document context\\n\\t\\t\\t\\t\\tif ( nodeType === 9 ) {\\n\\t\\t\\t\\t\\t\\tif ( (elem = context.getElementById( m )) ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Support: IE, Opera, Webkit\\n\\t\\t\\t\\t\\t\\t\\t// TODO: identify versions\\n\\t\\t\\t\\t\\t\\t\\t// getElementById can match elements by name instead of ID\\n\\t\\t\\t\\t\\t\\t\\tif ( elem.id === m ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tresults.push( elem );\\n\\t\\t\\t\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Element context\\n\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t// Support: IE, Opera, Webkit\\n\\t\\t\\t\\t\\t\\t// TODO: identify versions\\n\\t\\t\\t\\t\\t\\t// getElementById can match elements by name instead of ID\\n\\t\\t\\t\\t\\t\\tif ( newContext && (elem = newContext.getElementById( m )) &&\\n\\t\\t\\t\\t\\t\\t\\tcontains( context, elem ) &&\\n\\t\\t\\t\\t\\t\\t\\telem.id === m ) {\\n\\n\\t\\t\\t\\t\\t\\t\\tresults.push( elem );\\n\\t\\t\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Type selector\\n\\t\\t\\t\\t} else if ( match[2] ) {\\n\\t\\t\\t\\t\\tpush.apply( results, context.getElementsByTagName( selector ) );\\n\\t\\t\\t\\t\\treturn results;\\n\\n\\t\\t\\t\\t// Class selector\\n\\t\\t\\t\\t} else if ( (m = match[3]) && support.getElementsByClassName &&\\n\\t\\t\\t\\t\\tcontext.getElementsByClassName ) {\\n\\n\\t\\t\\t\\t\\tpush.apply( results, context.getElementsByClassName( m ) );\\n\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Take advantage of querySelectorAll\\n\\t\\t\\tif ( support.qsa &&\\n\\t\\t\\t\\t!compilerCache[ selector + \\\" \\\" ] &&\\n\\t\\t\\t\\t(!rbuggyQSA || !rbuggyQSA.test( selector )) ) {\\n\\n\\t\\t\\t\\tif ( nodeType !== 1 ) {\\n\\t\\t\\t\\t\\tnewContext = context;\\n\\t\\t\\t\\t\\tnewSelector = selector;\\n\\n\\t\\t\\t\\t// qSA looks outside Element context, which is not what we want\\n\\t\\t\\t\\t// Thanks to Andrew Dupont for this workaround technique\\n\\t\\t\\t\\t// Support: IE <=8\\n\\t\\t\\t\\t// Exclude object elements\\n\\t\\t\\t\\t} else if ( context.nodeName.toLowerCase() !== \\\"object\\\" ) {\\n\\n\\t\\t\\t\\t\\t// Capture the context ID, setting it first if necessary\\n\\t\\t\\t\\t\\tif ( (nid = context.getAttribute( \\\"id\\\" )) ) {\\n\\t\\t\\t\\t\\t\\tnid = nid.replace( rcssescape, fcssescape );\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\tcontext.setAttribute( \\\"id\\\", (nid = expando) );\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Prefix every selector in the list\\n\\t\\t\\t\\t\\tgroups = tokenize( selector );\\n\\t\\t\\t\\t\\ti = groups.length;\\n\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\tgroups[i] = \\\"#\\\" + nid + \\\" \\\" + toSelector( groups[i] );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tnewSelector = groups.join( \\\",\\\" );\\n\\n\\t\\t\\t\\t\\t// Expand context for sibling selectors\\n\\t\\t\\t\\t\\tnewContext = rsibling.test( selector ) && testContext( context.parentNode ) ||\\n\\t\\t\\t\\t\\t\\tcontext;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( newSelector ) {\\n\\t\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t\\tpush.apply( results,\\n\\t\\t\\t\\t\\t\\t\\tnewContext.querySelectorAll( newSelector )\\n\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t\\t} catch ( qsaError ) {\\n\\t\\t\\t\\t\\t} finally {\\n\\t\\t\\t\\t\\t\\tif ( nid === expando ) {\\n\\t\\t\\t\\t\\t\\t\\tcontext.removeAttribute( \\\"id\\\" );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// All others\\n\\treturn select( selector.replace( rtrim, \\\"$1\\\" ), context, results, seed );\\n}\\n\\n/**\\n * Create key-value caches of limited size\\n * @returns {function(string, object)} Returns the Object data after storing it on itself with\\n *\\tproperty name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)\\n *\\tdeleting the oldest entry\\n */\\nfunction createCache() {\\n\\tvar keys = [];\\n\\n\\tfunction cache( key, value ) {\\n\\t\\t// Use (key + \\\" \\\") to avoid collision with native prototype properties (see Issue #157)\\n\\t\\tif ( keys.push( key + \\\" \\\" ) > Expr.cacheLength ) {\\n\\t\\t\\t// Only keep the most recent entries\\n\\t\\t\\tdelete cache[ keys.shift() ];\\n\\t\\t}\\n\\t\\treturn (cache[ key + \\\" \\\" ] = value);\\n\\t}\\n\\treturn cache;\\n}\\n\\n/**\\n * Mark a function for special use by Sizzle\\n * @param {Function} fn The function to mark\\n */\\nfunction markFunction( fn ) {\\n\\tfn[ expando ] = true;\\n\\treturn fn;\\n}\\n\\n/**\\n * Support testing using an element\\n * @param {Function} fn Passed the created element and returns a boolean result\\n */\\nfunction assert( fn ) {\\n\\tvar el = document.createElement(\\\"fieldset\\\");\\n\\n\\ttry {\\n\\t\\treturn !!fn( el );\\n\\t} catch (e) {\\n\\t\\treturn false;\\n\\t} finally {\\n\\t\\t// Remove from its parent by default\\n\\t\\tif ( el.parentNode ) {\\n\\t\\t\\tel.parentNode.removeChild( el );\\n\\t\\t}\\n\\t\\t// release memory in IE\\n\\t\\tel = null;\\n\\t}\\n}\\n\\n/**\\n * Adds the same handler for all of the specified attrs\\n * @param {String} attrs Pipe-separated list of attributes\\n * @param {Function} handler The method that will be applied\\n */\\nfunction addHandle( attrs, handler ) {\\n\\tvar arr = attrs.split(\\\"|\\\"),\\n\\t\\ti = arr.length;\\n\\n\\twhile ( i-- ) {\\n\\t\\tExpr.attrHandle[ arr[i] ] = handler;\\n\\t}\\n}\\n\\n/**\\n * Checks document order of two siblings\\n * @param {Element} a\\n * @param {Element} b\\n * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b\\n */\\nfunction siblingCheck( a, b ) {\\n\\tvar cur = b && a,\\n\\t\\tdiff = cur && a.nodeType === 1 && b.nodeType === 1 &&\\n\\t\\t\\ta.sourceIndex - b.sourceIndex;\\n\\n\\t// Use IE sourceIndex if available on both nodes\\n\\tif ( diff ) {\\n\\t\\treturn diff;\\n\\t}\\n\\n\\t// Check if b follows a\\n\\tif ( cur ) {\\n\\t\\twhile ( (cur = cur.nextSibling) ) {\\n\\t\\t\\tif ( cur === b ) {\\n\\t\\t\\t\\treturn -1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn a ? 1 : -1;\\n}\\n\\n/**\\n * Returns a function to use in pseudos for input types\\n * @param {String} type\\n */\\nfunction createInputPseudo( type ) {\\n\\treturn function( elem ) {\\n\\t\\tvar name = elem.nodeName.toLowerCase();\\n\\t\\treturn name === \\\"input\\\" && elem.type === type;\\n\\t};\\n}\\n\\n/**\\n * Returns a function to use in pseudos for buttons\\n * @param {String} type\\n */\\nfunction createButtonPseudo( type ) {\\n\\treturn function( elem ) {\\n\\t\\tvar name = elem.nodeName.toLowerCase();\\n\\t\\treturn (name === \\\"input\\\" || name === \\\"button\\\") && elem.type === type;\\n\\t};\\n}\\n\\n/**\\n * Returns a function to use in pseudos for :enabled/:disabled\\n * @param {Boolean} disabled true for :disabled; false for :enabled\\n */\\nfunction createDisabledPseudo( disabled ) {\\n\\n\\t// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable\\n\\treturn function( elem ) {\\n\\n\\t\\t// Only certain elements can match :enabled or :disabled\\n\\t\\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled\\n\\t\\t// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled\\n\\t\\tif ( \\\"form\\\" in elem ) {\\n\\n\\t\\t\\t// Check for inherited disabledness on relevant non-disabled elements:\\n\\t\\t\\t// * listed form-associated elements in a disabled fieldset\\n\\t\\t\\t// https://html.spec.whatwg.org/multipage/forms.html#category-listed\\n\\t\\t\\t// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled\\n\\t\\t\\t// * option elements in a disabled optgroup\\n\\t\\t\\t// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled\\n\\t\\t\\t// All such elements have a \\\"form\\\" property.\\n\\t\\t\\tif ( elem.parentNode && elem.disabled === false ) {\\n\\n\\t\\t\\t\\t// Option elements defer to a parent optgroup if present\\n\\t\\t\\t\\tif ( \\\"label\\\" in elem ) {\\n\\t\\t\\t\\t\\tif ( \\\"label\\\" in elem.parentNode ) {\\n\\t\\t\\t\\t\\t\\treturn elem.parentNode.disabled === disabled;\\n\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\treturn elem.disabled === disabled;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Support: IE 6 - 11\\n\\t\\t\\t\\t// Use the isDisabled shortcut property to check for disabled fieldset ancestors\\n\\t\\t\\t\\treturn elem.isDisabled === disabled ||\\n\\n\\t\\t\\t\\t\\t// Where there is no isDisabled, check manually\\n\\t\\t\\t\\t\\t/* jshint -W018 */\\n\\t\\t\\t\\t\\telem.isDisabled !== !disabled &&\\n\\t\\t\\t\\t\\t\\tdisabledAncestor( elem ) === disabled;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn elem.disabled === disabled;\\n\\n\\t\\t// Try to winnow out elements that can't be disabled before trusting the disabled property.\\n\\t\\t// Some victims get caught in our net (label, legend, menu, track), but it shouldn't\\n\\t\\t// even exist on them, let alone have a boolean value.\\n\\t\\t} else if ( \\\"label\\\" in elem ) {\\n\\t\\t\\treturn elem.disabled === disabled;\\n\\t\\t}\\n\\n\\t\\t// Remaining elements are neither :enabled nor :disabled\\n\\t\\treturn false;\\n\\t};\\n}\\n\\n/**\\n * Returns a function to use in pseudos for positionals\\n * @param {Function} fn\\n */\\nfunction createPositionalPseudo( fn ) {\\n\\treturn markFunction(function( argument ) {\\n\\t\\targument = +argument;\\n\\t\\treturn markFunction(function( seed, matches ) {\\n\\t\\t\\tvar j,\\n\\t\\t\\t\\tmatchIndexes = fn( [], seed.length, argument ),\\n\\t\\t\\t\\ti = matchIndexes.length;\\n\\n\\t\\t\\t// Match elements found at the specified indexes\\n\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\tif ( seed[ (j = matchIndexes[i]) ] ) {\\n\\t\\t\\t\\t\\tseed[j] = !(matches[j] = seed[j]);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t});\\n\\t});\\n}\\n\\n/**\\n * Checks a node for validity as a Sizzle context\\n * @param {Element|Object=} context\\n * @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value\\n */\\nfunction testContext( context ) {\\n\\treturn context && typeof context.getElementsByTagName !== \\\"undefined\\\" && context;\\n}\\n\\n// Expose support vars for convenience\\nsupport = Sizzle.support = {};\\n\\n/**\\n * Detects XML nodes\\n * @param {Element|Object} elem An element or a document\\n * @returns {Boolean} True iff elem is a non-HTML XML node\\n */\\nisXML = Sizzle.isXML = function( elem ) {\\n\\t// documentElement is verified for cases where it doesn't yet exist\\n\\t// (such as loading iframes in IE - #4833)\\n\\tvar documentElement = elem && (elem.ownerDocument || elem).documentElement;\\n\\treturn documentElement ? documentElement.nodeName !== \\\"HTML\\\" : false;\\n};\\n\\n/**\\n * Sets document-related variables once based on the current document\\n * @param {Element|Object} [doc] An element or document object to use to set the document\\n * @returns {Object} Returns the current document\\n */\\nsetDocument = Sizzle.setDocument = function( node ) {\\n\\tvar hasCompare, subWindow,\\n\\t\\tdoc = node ? node.ownerDocument || node : preferredDoc;\\n\\n\\t// Return early if doc is invalid or already selected\\n\\tif ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {\\n\\t\\treturn document;\\n\\t}\\n\\n\\t// Update global variables\\n\\tdocument = doc;\\n\\tdocElem = document.documentElement;\\n\\tdocumentIsHTML = !isXML( document );\\n\\n\\t// Support: IE 9-11, Edge\\n\\t// Accessing iframe documents after unload throws \\\"permission denied\\\" errors (jQuery #13936)\\n\\tif ( preferredDoc !== document &&\\n\\t\\t(subWindow = document.defaultView) && subWindow.top !== subWindow ) {\\n\\n\\t\\t// Support: IE 11, Edge\\n\\t\\tif ( subWindow.addEventListener ) {\\n\\t\\t\\tsubWindow.addEventListener( \\\"unload\\\", unloadHandler, false );\\n\\n\\t\\t// Support: IE 9 - 10 only\\n\\t\\t} else if ( subWindow.attachEvent ) {\\n\\t\\t\\tsubWindow.attachEvent( \\\"onunload\\\", unloadHandler );\\n\\t\\t}\\n\\t}\\n\\n\\t/* Attributes\\n\\t---------------------------------------------------------------------- */\\n\\n\\t// Support: IE<8\\n\\t// Verify that getAttribute really returns attributes and not properties\\n\\t// (excepting IE8 booleans)\\n\\tsupport.attributes = assert(function( el ) {\\n\\t\\tel.className = \\\"i\\\";\\n\\t\\treturn !el.getAttribute(\\\"className\\\");\\n\\t});\\n\\n\\t/* getElement(s)By*\\n\\t---------------------------------------------------------------------- */\\n\\n\\t// Check if getElementsByTagName(\\\"*\\\") returns only elements\\n\\tsupport.getElementsByTagName = assert(function( el ) {\\n\\t\\tel.appendChild( document.createComment(\\\"\\\") );\\n\\t\\treturn !el.getElementsByTagName(\\\"*\\\").length;\\n\\t});\\n\\n\\t// Support: IE<9\\n\\tsupport.getElementsByClassName = rnative.test( document.getElementsByClassName );\\n\\n\\t// Support: IE<10\\n\\t// Check if getElementById returns elements by name\\n\\t// The broken getElementById methods don't pick up programmatically-set names,\\n\\t// so use a roundabout getElementsByName test\\n\\tsupport.getById = assert(function( el ) {\\n\\t\\tdocElem.appendChild( el ).id = expando;\\n\\t\\treturn !document.getElementsByName || !document.getElementsByName( expando ).length;\\n\\t});\\n\\n\\t// ID filter and find\\n\\tif ( support.getById ) {\\n\\t\\tExpr.filter[\\\"ID\\\"] = function( id ) {\\n\\t\\t\\tvar attrId = id.replace( runescape, funescape );\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\treturn elem.getAttribute(\\\"id\\\") === attrId;\\n\\t\\t\\t};\\n\\t\\t};\\n\\t\\tExpr.find[\\\"ID\\\"] = function( id, context ) {\\n\\t\\t\\tif ( typeof context.getElementById !== \\\"undefined\\\" && documentIsHTML ) {\\n\\t\\t\\t\\tvar elem = context.getElementById( id );\\n\\t\\t\\t\\treturn elem ? [ elem ] : [];\\n\\t\\t\\t}\\n\\t\\t};\\n\\t} else {\\n\\t\\tExpr.filter[\\\"ID\\\"] = function( id ) {\\n\\t\\t\\tvar attrId = id.replace( runescape, funescape );\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\tvar node = typeof elem.getAttributeNode !== \\\"undefined\\\" &&\\n\\t\\t\\t\\t\\telem.getAttributeNode(\\\"id\\\");\\n\\t\\t\\t\\treturn node && node.value === attrId;\\n\\t\\t\\t};\\n\\t\\t};\\n\\n\\t\\t// Support: IE 6 - 7 only\\n\\t\\t// getElementById is not reliable as a find shortcut\\n\\t\\tExpr.find[\\\"ID\\\"] = function( id, context ) {\\n\\t\\t\\tif ( typeof context.getElementById !== \\\"undefined\\\" && documentIsHTML ) {\\n\\t\\t\\t\\tvar node, i, elems,\\n\\t\\t\\t\\t\\telem = context.getElementById( id );\\n\\n\\t\\t\\t\\tif ( elem ) {\\n\\n\\t\\t\\t\\t\\t// Verify the id attribute\\n\\t\\t\\t\\t\\tnode = elem.getAttributeNode(\\\"id\\\");\\n\\t\\t\\t\\t\\tif ( node && node.value === id ) {\\n\\t\\t\\t\\t\\t\\treturn [ elem ];\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Fall back on getElementsByName\\n\\t\\t\\t\\t\\telems = context.getElementsByName( id );\\n\\t\\t\\t\\t\\ti = 0;\\n\\t\\t\\t\\t\\twhile ( (elem = elems[i++]) ) {\\n\\t\\t\\t\\t\\t\\tnode = elem.getAttributeNode(\\\"id\\\");\\n\\t\\t\\t\\t\\t\\tif ( node && node.value === id ) {\\n\\t\\t\\t\\t\\t\\t\\treturn [ elem ];\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\treturn [];\\n\\t\\t\\t}\\n\\t\\t};\\n\\t}\\n\\n\\t// Tag\\n\\tExpr.find[\\\"TAG\\\"] = support.getElementsByTagName ?\\n\\t\\tfunction( tag, context ) {\\n\\t\\t\\tif ( typeof context.getElementsByTagName !== \\\"undefined\\\" ) {\\n\\t\\t\\t\\treturn context.getElementsByTagName( tag );\\n\\n\\t\\t\\t// DocumentFragment nodes don't have gEBTN\\n\\t\\t\\t} else if ( support.qsa ) {\\n\\t\\t\\t\\treturn context.querySelectorAll( tag );\\n\\t\\t\\t}\\n\\t\\t} :\\n\\n\\t\\tfunction( tag, context ) {\\n\\t\\t\\tvar elem,\\n\\t\\t\\t\\ttmp = [],\\n\\t\\t\\t\\ti = 0,\\n\\t\\t\\t\\t// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too\\n\\t\\t\\t\\tresults = context.getElementsByTagName( tag );\\n\\n\\t\\t\\t// Filter out possible comments\\n\\t\\t\\tif ( tag === \\\"*\\\" ) {\\n\\t\\t\\t\\twhile ( (elem = results[i++]) ) {\\n\\t\\t\\t\\t\\tif ( elem.nodeType === 1 ) {\\n\\t\\t\\t\\t\\t\\ttmp.push( elem );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\treturn tmp;\\n\\t\\t\\t}\\n\\t\\t\\treturn results;\\n\\t\\t};\\n\\n\\t// Class\\n\\tExpr.find[\\\"CLASS\\\"] = support.getElementsByClassName && function( className, context ) {\\n\\t\\tif ( typeof context.getElementsByClassName !== \\\"undefined\\\" && documentIsHTML ) {\\n\\t\\t\\treturn context.getElementsByClassName( className );\\n\\t\\t}\\n\\t};\\n\\n\\t/* QSA/matchesSelector\\n\\t---------------------------------------------------------------------- */\\n\\n\\t// QSA and matchesSelector support\\n\\n\\t// matchesSelector(:active) reports false when true (IE9/Opera 11.5)\\n\\trbuggyMatches = [];\\n\\n\\t// qSa(:focus) reports false when true (Chrome 21)\\n\\t// We allow this because of a bug in IE8/9 that throws an error\\n\\t// whenever `document.activeElement` is accessed on an iframe\\n\\t// So, we allow :focus to pass through QSA all the time to avoid the IE error\\n\\t// See https://bugs.jquery.com/ticket/13378\\n\\trbuggyQSA = [];\\n\\n\\tif ( (support.qsa = rnative.test( document.querySelectorAll )) ) {\\n\\t\\t// Build QSA regex\\n\\t\\t// Regex strategy adopted from Diego Perini\\n\\t\\tassert(function( el ) {\\n\\t\\t\\t// Select is set to empty string on purpose\\n\\t\\t\\t// This is to test IE's treatment of not explicitly\\n\\t\\t\\t// setting a boolean content attribute,\\n\\t\\t\\t// since its presence should be enough\\n\\t\\t\\t// https://bugs.jquery.com/ticket/12359\\n\\t\\t\\tdocElem.appendChild( el ).innerHTML = \\\"\\\" +\\n\\t\\t\\t\\t\\\"\\\";\\n\\n\\t\\t\\t// Support: IE8, Opera 11-12.16\\n\\t\\t\\t// Nothing should be selected when empty strings follow ^= or $= or *=\\n\\t\\t\\t// The test attribute must be unknown in Opera but \\\"safe\\\" for WinRT\\n\\t\\t\\t// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section\\n\\t\\t\\tif ( el.querySelectorAll(\\\"[msallowcapture^='']\\\").length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\"[*^$]=\\\" + whitespace + \\\"*(?:''|\\\\\\\"\\\\\\\")\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: IE8\\n\\t\\t\\t// Boolean attributes and \\\"value\\\" are not treated correctly\\n\\t\\t\\tif ( !el.querySelectorAll(\\\"[selected]\\\").length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\"\\\\\\\\[\\\" + whitespace + \\\"*(?:value|\\\" + booleans + \\\")\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+\\n\\t\\t\\tif ( !el.querySelectorAll( \\\"[id~=\\\" + expando + \\\"-]\\\" ).length ) {\\n\\t\\t\\t\\trbuggyQSA.push(\\\"~=\\\");\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Webkit/Opera - :checked should return selected option elements\\n\\t\\t\\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\\n\\t\\t\\t// IE8 throws error here and will not see later tests\\n\\t\\t\\tif ( !el.querySelectorAll(\\\":checked\\\").length ) {\\n\\t\\t\\t\\trbuggyQSA.push(\\\":checked\\\");\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: Safari 8+, iOS 8+\\n\\t\\t\\t// https://bugs.webkit.org/show_bug.cgi?id=136851\\n\\t\\t\\t// In-page `selector#id sibling-combinator selector` fails\\n\\t\\t\\tif ( !el.querySelectorAll( \\\"a#\\\" + expando + \\\"+*\\\" ).length ) {\\n\\t\\t\\t\\trbuggyQSA.push(\\\".#.+[+~]\\\");\\n\\t\\t\\t}\\n\\t\\t});\\n\\n\\t\\tassert(function( el ) {\\n\\t\\t\\tel.innerHTML = \\\"\\\" +\\n\\t\\t\\t\\t\\\"\\\";\\n\\n\\t\\t\\t// Support: Windows 8 Native Apps\\n\\t\\t\\t// The type and name attributes are restricted during .innerHTML assignment\\n\\t\\t\\tvar input = document.createElement(\\\"input\\\");\\n\\t\\t\\tinput.setAttribute( \\\"type\\\", \\\"hidden\\\" );\\n\\t\\t\\tel.appendChild( input ).setAttribute( \\\"name\\\", \\\"D\\\" );\\n\\n\\t\\t\\t// Support: IE8\\n\\t\\t\\t// Enforce case-sensitivity of name attribute\\n\\t\\t\\tif ( el.querySelectorAll(\\\"[name=d]\\\").length ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\"name\\\" + whitespace + \\\"*[*^$|!~]?=\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)\\n\\t\\t\\t// IE8 throws error here and will not see later tests\\n\\t\\t\\tif ( el.querySelectorAll(\\\":enabled\\\").length !== 2 ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\":enabled\\\", \\\":disabled\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Support: IE9-11+\\n\\t\\t\\t// IE's :disabled selector does not pick up the children of disabled fieldsets\\n\\t\\t\\tdocElem.appendChild( el ).disabled = true;\\n\\t\\t\\tif ( el.querySelectorAll(\\\":disabled\\\").length !== 2 ) {\\n\\t\\t\\t\\trbuggyQSA.push( \\\":enabled\\\", \\\":disabled\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Opera 10-11 does not throw on post-comma invalid pseudos\\n\\t\\t\\tel.querySelectorAll(\\\"*,:x\\\");\\n\\t\\t\\trbuggyQSA.push(\\\",.*:\\\");\\n\\t\\t});\\n\\t}\\n\\n\\tif ( (support.matchesSelector = rnative.test( (matches = docElem.matches ||\\n\\t\\tdocElem.webkitMatchesSelector ||\\n\\t\\tdocElem.mozMatchesSelector ||\\n\\t\\tdocElem.oMatchesSelector ||\\n\\t\\tdocElem.msMatchesSelector) )) ) {\\n\\n\\t\\tassert(function( el ) {\\n\\t\\t\\t// Check to see if it's possible to do matchesSelector\\n\\t\\t\\t// on a disconnected node (IE 9)\\n\\t\\t\\tsupport.disconnectedMatch = matches.call( el, \\\"*\\\" );\\n\\n\\t\\t\\t// This should fail with an exception\\n\\t\\t\\t// Gecko does not error, returns false instead\\n\\t\\t\\tmatches.call( el, \\\"[s!='']:x\\\" );\\n\\t\\t\\trbuggyMatches.push( \\\"!=\\\", pseudos );\\n\\t\\t});\\n\\t}\\n\\n\\trbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join(\\\"|\\\") );\\n\\trbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join(\\\"|\\\") );\\n\\n\\t/* Contains\\n\\t---------------------------------------------------------------------- */\\n\\thasCompare = rnative.test( docElem.compareDocumentPosition );\\n\\n\\t// Element contains another\\n\\t// Purposefully self-exclusive\\n\\t// As in, an element does not contain itself\\n\\tcontains = hasCompare || rnative.test( docElem.contains ) ?\\n\\t\\tfunction( a, b ) {\\n\\t\\t\\tvar adown = a.nodeType === 9 ? a.documentElement : a,\\n\\t\\t\\t\\tbup = b && b.parentNode;\\n\\t\\t\\treturn a === bup || !!( bup && bup.nodeType === 1 && (\\n\\t\\t\\t\\tadown.contains ?\\n\\t\\t\\t\\t\\tadown.contains( bup ) :\\n\\t\\t\\t\\t\\ta.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16\\n\\t\\t\\t));\\n\\t\\t} :\\n\\t\\tfunction( a, b ) {\\n\\t\\t\\tif ( b ) {\\n\\t\\t\\t\\twhile ( (b = b.parentNode) ) {\\n\\t\\t\\t\\t\\tif ( b === a ) {\\n\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t};\\n\\n\\t/* Sorting\\n\\t---------------------------------------------------------------------- */\\n\\n\\t// Document order sorting\\n\\tsortOrder = hasCompare ?\\n\\tfunction( a, b ) {\\n\\n\\t\\t// Flag for duplicate removal\\n\\t\\tif ( a === b ) {\\n\\t\\t\\thasDuplicate = true;\\n\\t\\t\\treturn 0;\\n\\t\\t}\\n\\n\\t\\t// Sort on method existence if only one input has compareDocumentPosition\\n\\t\\tvar compare = !a.compareDocumentPosition - !b.compareDocumentPosition;\\n\\t\\tif ( compare ) {\\n\\t\\t\\treturn compare;\\n\\t\\t}\\n\\n\\t\\t// Calculate position if both inputs belong to the same document\\n\\t\\tcompare = ( a.ownerDocument || a ) === ( b.ownerDocument || b ) ?\\n\\t\\t\\ta.compareDocumentPosition( b ) :\\n\\n\\t\\t\\t// Otherwise we know they are disconnected\\n\\t\\t\\t1;\\n\\n\\t\\t// Disconnected nodes\\n\\t\\tif ( compare & 1 ||\\n\\t\\t\\t(!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {\\n\\n\\t\\t\\t// Choose the first element that is related to our preferred document\\n\\t\\t\\tif ( a === document || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ) {\\n\\t\\t\\t\\treturn -1;\\n\\t\\t\\t}\\n\\t\\t\\tif ( b === document || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ) {\\n\\t\\t\\t\\treturn 1;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Maintain original order\\n\\t\\t\\treturn sortInput ?\\n\\t\\t\\t\\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\\n\\t\\t\\t\\t0;\\n\\t\\t}\\n\\n\\t\\treturn compare & 4 ? -1 : 1;\\n\\t} :\\n\\tfunction( a, b ) {\\n\\t\\t// Exit early if the nodes are identical\\n\\t\\tif ( a === b ) {\\n\\t\\t\\thasDuplicate = true;\\n\\t\\t\\treturn 0;\\n\\t\\t}\\n\\n\\t\\tvar cur,\\n\\t\\t\\ti = 0,\\n\\t\\t\\taup = a.parentNode,\\n\\t\\t\\tbup = b.parentNode,\\n\\t\\t\\tap = [ a ],\\n\\t\\t\\tbp = [ b ];\\n\\n\\t\\t// Parentless nodes are either documents or disconnected\\n\\t\\tif ( !aup || !bup ) {\\n\\t\\t\\treturn a === document ? -1 :\\n\\t\\t\\t\\tb === document ? 1 :\\n\\t\\t\\t\\taup ? -1 :\\n\\t\\t\\t\\tbup ? 1 :\\n\\t\\t\\t\\tsortInput ?\\n\\t\\t\\t\\t( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :\\n\\t\\t\\t\\t0;\\n\\n\\t\\t// If the nodes are siblings, we can do a quick check\\n\\t\\t} else if ( aup === bup ) {\\n\\t\\t\\treturn siblingCheck( a, b );\\n\\t\\t}\\n\\n\\t\\t// Otherwise we need full lists of their ancestors for comparison\\n\\t\\tcur = a;\\n\\t\\twhile ( (cur = cur.parentNode) ) {\\n\\t\\t\\tap.unshift( cur );\\n\\t\\t}\\n\\t\\tcur = b;\\n\\t\\twhile ( (cur = cur.parentNode) ) {\\n\\t\\t\\tbp.unshift( cur );\\n\\t\\t}\\n\\n\\t\\t// Walk down the tree looking for a discrepancy\\n\\t\\twhile ( ap[i] === bp[i] ) {\\n\\t\\t\\ti++;\\n\\t\\t}\\n\\n\\t\\treturn i ?\\n\\t\\t\\t// Do a sibling check if the nodes have a common ancestor\\n\\t\\t\\tsiblingCheck( ap[i], bp[i] ) :\\n\\n\\t\\t\\t// Otherwise nodes in our document sort first\\n\\t\\t\\tap[i] === preferredDoc ? -1 :\\n\\t\\t\\tbp[i] === preferredDoc ? 1 :\\n\\t\\t\\t0;\\n\\t};\\n\\n\\treturn document;\\n};\\n\\nSizzle.matches = function( expr, elements ) {\\n\\treturn Sizzle( expr, null, null, elements );\\n};\\n\\nSizzle.matchesSelector = function( elem, expr ) {\\n\\t// Set document vars if needed\\n\\tif ( ( elem.ownerDocument || elem ) !== document ) {\\n\\t\\tsetDocument( elem );\\n\\t}\\n\\n\\t// Make sure that attribute selectors are quoted\\n\\texpr = expr.replace( rattributeQuotes, \\\"='$1']\\\" );\\n\\n\\tif ( support.matchesSelector && documentIsHTML &&\\n\\t\\t!compilerCache[ expr + \\\" \\\" ] &&\\n\\t\\t( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&\\n\\t\\t( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {\\n\\n\\t\\ttry {\\n\\t\\t\\tvar ret = matches.call( elem, expr );\\n\\n\\t\\t\\t// IE 9's matchesSelector returns false on disconnected nodes\\n\\t\\t\\tif ( ret || support.disconnectedMatch ||\\n\\t\\t\\t\\t\\t// As well, disconnected nodes are said to be in a document\\n\\t\\t\\t\\t\\t// fragment in IE 9\\n\\t\\t\\t\\t\\telem.document && elem.document.nodeType !== 11 ) {\\n\\t\\t\\t\\treturn ret;\\n\\t\\t\\t}\\n\\t\\t} catch (e) {}\\n\\t}\\n\\n\\treturn Sizzle( expr, document, null, [ elem ] ).length > 0;\\n};\\n\\nSizzle.contains = function( context, elem ) {\\n\\t// Set document vars if needed\\n\\tif ( ( context.ownerDocument || context ) !== document ) {\\n\\t\\tsetDocument( context );\\n\\t}\\n\\treturn contains( context, elem );\\n};\\n\\nSizzle.attr = function( elem, name ) {\\n\\t// Set document vars if needed\\n\\tif ( ( elem.ownerDocument || elem ) !== document ) {\\n\\t\\tsetDocument( elem );\\n\\t}\\n\\n\\tvar fn = Expr.attrHandle[ name.toLowerCase() ],\\n\\t\\t// Don't get fooled by Object.prototype properties (jQuery #13807)\\n\\t\\tval = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?\\n\\t\\t\\tfn( elem, name, !documentIsHTML ) :\\n\\t\\t\\tundefined;\\n\\n\\treturn val !== undefined ?\\n\\t\\tval :\\n\\t\\tsupport.attributes || !documentIsHTML ?\\n\\t\\t\\telem.getAttribute( name ) :\\n\\t\\t\\t(val = elem.getAttributeNode(name)) && val.specified ?\\n\\t\\t\\t\\tval.value :\\n\\t\\t\\t\\tnull;\\n};\\n\\nSizzle.escape = function( sel ) {\\n\\treturn (sel + \\\"\\\").replace( rcssescape, fcssescape );\\n};\\n\\nSizzle.error = function( msg ) {\\n\\tthrow new Error( \\\"Syntax error, unrecognized expression: \\\" + msg );\\n};\\n\\n/**\\n * Document sorting and removing duplicates\\n * @param {ArrayLike} results\\n */\\nSizzle.uniqueSort = function( results ) {\\n\\tvar elem,\\n\\t\\tduplicates = [],\\n\\t\\tj = 0,\\n\\t\\ti = 0;\\n\\n\\t// Unless we *know* we can detect duplicates, assume their presence\\n\\thasDuplicate = !support.detectDuplicates;\\n\\tsortInput = !support.sortStable && results.slice( 0 );\\n\\tresults.sort( sortOrder );\\n\\n\\tif ( hasDuplicate ) {\\n\\t\\twhile ( (elem = results[i++]) ) {\\n\\t\\t\\tif ( elem === results[ i ] ) {\\n\\t\\t\\t\\tj = duplicates.push( i );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\twhile ( j-- ) {\\n\\t\\t\\tresults.splice( duplicates[ j ], 1 );\\n\\t\\t}\\n\\t}\\n\\n\\t// Clear input after sorting to release objects\\n\\t// See https://github.com/jquery/sizzle/pull/225\\n\\tsortInput = null;\\n\\n\\treturn results;\\n};\\n\\n/**\\n * Utility function for retrieving the text value of an array of DOM nodes\\n * @param {Array|Element} elem\\n */\\ngetText = Sizzle.getText = function( elem ) {\\n\\tvar node,\\n\\t\\tret = \\\"\\\",\\n\\t\\ti = 0,\\n\\t\\tnodeType = elem.nodeType;\\n\\n\\tif ( !nodeType ) {\\n\\t\\t// If no nodeType, this is expected to be an array\\n\\t\\twhile ( (node = elem[i++]) ) {\\n\\t\\t\\t// Do not traverse comment nodes\\n\\t\\t\\tret += getText( node );\\n\\t\\t}\\n\\t} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {\\n\\t\\t// Use textContent for elements\\n\\t\\t// innerText usage removed for consistency of new lines (jQuery #11153)\\n\\t\\tif ( typeof elem.textContent === \\\"string\\\" ) {\\n\\t\\t\\treturn elem.textContent;\\n\\t\\t} else {\\n\\t\\t\\t// Traverse its children\\n\\t\\t\\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\\n\\t\\t\\t\\tret += getText( elem );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t} else if ( nodeType === 3 || nodeType === 4 ) {\\n\\t\\treturn elem.nodeValue;\\n\\t}\\n\\t// Do not include comment or processing instruction nodes\\n\\n\\treturn ret;\\n};\\n\\nExpr = Sizzle.selectors = {\\n\\n\\t// Can be adjusted by the user\\n\\tcacheLength: 50,\\n\\n\\tcreatePseudo: markFunction,\\n\\n\\tmatch: matchExpr,\\n\\n\\tattrHandle: {},\\n\\n\\tfind: {},\\n\\n\\trelative: {\\n\\t\\t\\\">\\\": { dir: \\\"parentNode\\\", first: true },\\n\\t\\t\\\" \\\": { dir: \\\"parentNode\\\" },\\n\\t\\t\\\"+\\\": { dir: \\\"previousSibling\\\", first: true },\\n\\t\\t\\\"~\\\": { dir: \\\"previousSibling\\\" }\\n\\t},\\n\\n\\tpreFilter: {\\n\\t\\t\\\"ATTR\\\": function( match ) {\\n\\t\\t\\tmatch[1] = match[1].replace( runescape, funescape );\\n\\n\\t\\t\\t// Move the given value to match[3] whether quoted or unquoted\\n\\t\\t\\tmatch[3] = ( match[3] || match[4] || match[5] || \\\"\\\" ).replace( runescape, funescape );\\n\\n\\t\\t\\tif ( match[2] === \\\"~=\\\" ) {\\n\\t\\t\\t\\tmatch[3] = \\\" \\\" + match[3] + \\\" \\\";\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn match.slice( 0, 4 );\\n\\t\\t},\\n\\n\\t\\t\\\"CHILD\\\": function( match ) {\\n\\t\\t\\t/* matches from matchExpr[\\\"CHILD\\\"]\\n\\t\\t\\t\\t1 type (only|nth|...)\\n\\t\\t\\t\\t2 what (child|of-type)\\n\\t\\t\\t\\t3 argument (even|odd|\\\\d*|\\\\d*n([+-]\\\\d+)?|...)\\n\\t\\t\\t\\t4 xn-component of xn+y argument ([+-]?\\\\d*n|)\\n\\t\\t\\t\\t5 sign of xn-component\\n\\t\\t\\t\\t6 x of xn-component\\n\\t\\t\\t\\t7 sign of y-component\\n\\t\\t\\t\\t8 y of y-component\\n\\t\\t\\t*/\\n\\t\\t\\tmatch[1] = match[1].toLowerCase();\\n\\n\\t\\t\\tif ( match[1].slice( 0, 3 ) === \\\"nth\\\" ) {\\n\\t\\t\\t\\t// nth-* requires argument\\n\\t\\t\\t\\tif ( !match[3] ) {\\n\\t\\t\\t\\t\\tSizzle.error( match[0] );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// numeric x and y parameters for Expr.filter.CHILD\\n\\t\\t\\t\\t// remember that false/true cast respectively to 0/1\\n\\t\\t\\t\\tmatch[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === \\\"even\\\" || match[3] === \\\"odd\\\" ) );\\n\\t\\t\\t\\tmatch[5] = +( ( match[7] + match[8] ) || match[3] === \\\"odd\\\" );\\n\\n\\t\\t\\t// other types prohibit arguments\\n\\t\\t\\t} else if ( match[3] ) {\\n\\t\\t\\t\\tSizzle.error( match[0] );\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn match;\\n\\t\\t},\\n\\n\\t\\t\\\"PSEUDO\\\": function( match ) {\\n\\t\\t\\tvar excess,\\n\\t\\t\\t\\tunquoted = !match[6] && match[2];\\n\\n\\t\\t\\tif ( matchExpr[\\\"CHILD\\\"].test( match[0] ) ) {\\n\\t\\t\\t\\treturn null;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Accept quoted arguments as-is\\n\\t\\t\\tif ( match[3] ) {\\n\\t\\t\\t\\tmatch[2] = match[4] || match[5] || \\\"\\\";\\n\\n\\t\\t\\t// Strip excess characters from unquoted arguments\\n\\t\\t\\t} else if ( unquoted && rpseudo.test( unquoted ) &&\\n\\t\\t\\t\\t// Get excess from tokenize (recursively)\\n\\t\\t\\t\\t(excess = tokenize( unquoted, true )) &&\\n\\t\\t\\t\\t// advance to the next closing parenthesis\\n\\t\\t\\t\\t(excess = unquoted.indexOf( \\\")\\\", unquoted.length - excess ) - unquoted.length) ) {\\n\\n\\t\\t\\t\\t// excess is a negative index\\n\\t\\t\\t\\tmatch[0] = match[0].slice( 0, excess );\\n\\t\\t\\t\\tmatch[2] = unquoted.slice( 0, excess );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Return only captures needed by the pseudo filter method (type and argument)\\n\\t\\t\\treturn match.slice( 0, 3 );\\n\\t\\t}\\n\\t},\\n\\n\\tfilter: {\\n\\n\\t\\t\\\"TAG\\\": function( nodeNameSelector ) {\\n\\t\\t\\tvar nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();\\n\\t\\t\\treturn nodeNameSelector === \\\"*\\\" ?\\n\\t\\t\\t\\tfunction() { return true; } :\\n\\t\\t\\t\\tfunction( elem ) {\\n\\t\\t\\t\\t\\treturn elem.nodeName && elem.nodeName.toLowerCase() === nodeName;\\n\\t\\t\\t\\t};\\n\\t\\t},\\n\\n\\t\\t\\\"CLASS\\\": function( className ) {\\n\\t\\t\\tvar pattern = classCache[ className + \\\" \\\" ];\\n\\n\\t\\t\\treturn pattern ||\\n\\t\\t\\t\\t(pattern = new RegExp( \\\"(^|\\\" + whitespace + \\\")\\\" + className + \\\"(\\\" + whitespace + \\\"|$)\\\" )) &&\\n\\t\\t\\t\\tclassCache( className, function( elem ) {\\n\\t\\t\\t\\t\\treturn pattern.test( typeof elem.className === \\\"string\\\" && elem.className || typeof elem.getAttribute !== \\\"undefined\\\" && elem.getAttribute(\\\"class\\\") || \\\"\\\" );\\n\\t\\t\\t\\t});\\n\\t\\t},\\n\\n\\t\\t\\\"ATTR\\\": function( name, operator, check ) {\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\tvar result = Sizzle.attr( elem, name );\\n\\n\\t\\t\\t\\tif ( result == null ) {\\n\\t\\t\\t\\t\\treturn operator === \\\"!=\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tif ( !operator ) {\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tresult += \\\"\\\";\\n\\n\\t\\t\\t\\treturn operator === \\\"=\\\" ? result === check :\\n\\t\\t\\t\\t\\toperator === \\\"!=\\\" ? result !== check :\\n\\t\\t\\t\\t\\toperator === \\\"^=\\\" ? check && result.indexOf( check ) === 0 :\\n\\t\\t\\t\\t\\toperator === \\\"*=\\\" ? check && result.indexOf( check ) > -1 :\\n\\t\\t\\t\\t\\toperator === \\\"$=\\\" ? check && result.slice( -check.length ) === check :\\n\\t\\t\\t\\t\\toperator === \\\"~=\\\" ? ( \\\" \\\" + result.replace( rwhitespace, \\\" \\\" ) + \\\" \\\" ).indexOf( check ) > -1 :\\n\\t\\t\\t\\t\\toperator === \\\"|=\\\" ? result === check || result.slice( 0, check.length + 1 ) === check + \\\"-\\\" :\\n\\t\\t\\t\\t\\tfalse;\\n\\t\\t\\t};\\n\\t\\t},\\n\\n\\t\\t\\\"CHILD\\\": function( type, what, argument, first, last ) {\\n\\t\\t\\tvar simple = type.slice( 0, 3 ) !== \\\"nth\\\",\\n\\t\\t\\t\\tforward = type.slice( -4 ) !== \\\"last\\\",\\n\\t\\t\\t\\tofType = what === \\\"of-type\\\";\\n\\n\\t\\t\\treturn first === 1 && last === 0 ?\\n\\n\\t\\t\\t\\t// Shortcut for :nth-*(n)\\n\\t\\t\\t\\tfunction( elem ) {\\n\\t\\t\\t\\t\\treturn !!elem.parentNode;\\n\\t\\t\\t\\t} :\\n\\n\\t\\t\\t\\tfunction( elem, context, xml ) {\\n\\t\\t\\t\\t\\tvar cache, uniqueCache, outerCache, node, nodeIndex, start,\\n\\t\\t\\t\\t\\t\\tdir = simple !== forward ? \\\"nextSibling\\\" : \\\"previousSibling\\\",\\n\\t\\t\\t\\t\\t\\tparent = elem.parentNode,\\n\\t\\t\\t\\t\\t\\tname = ofType && elem.nodeName.toLowerCase(),\\n\\t\\t\\t\\t\\t\\tuseCache = !xml && !ofType,\\n\\t\\t\\t\\t\\t\\tdiff = false;\\n\\n\\t\\t\\t\\t\\tif ( parent ) {\\n\\n\\t\\t\\t\\t\\t\\t// :(first|last|only)-(child|of-type)\\n\\t\\t\\t\\t\\t\\tif ( simple ) {\\n\\t\\t\\t\\t\\t\\t\\twhile ( dir ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tnode = elem;\\n\\t\\t\\t\\t\\t\\t\\t\\twhile ( (node = node[ dir ]) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( ofType ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tnode.nodeName.toLowerCase() === name :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tnode.nodeType === 1 ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t// Reverse direction for :only-* (if we haven't yet done so)\\n\\t\\t\\t\\t\\t\\t\\t\\tstart = dir = type === \\\"only\\\" && !start && \\\"nextSibling\\\";\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\tstart = [ forward ? parent.firstChild : parent.lastChild ];\\n\\n\\t\\t\\t\\t\\t\\t// non-xml :nth-child(...) stores cache data on `parent`\\n\\t\\t\\t\\t\\t\\tif ( forward && useCache ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Seek `elem` from a previously-cached index\\n\\n\\t\\t\\t\\t\\t\\t\\t// ...in a gzip-friendly way\\n\\t\\t\\t\\t\\t\\t\\tnode = parent;\\n\\t\\t\\t\\t\\t\\t\\touterCache = node[ expando ] || (node[ expando ] = {});\\n\\n\\t\\t\\t\\t\\t\\t\\t// Support: IE <9 only\\n\\t\\t\\t\\t\\t\\t\\t// Defend against cloned attroperties (jQuery gh-1709)\\n\\t\\t\\t\\t\\t\\t\\tuniqueCache = outerCache[ node.uniqueID ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\t(outerCache[ node.uniqueID ] = {});\\n\\n\\t\\t\\t\\t\\t\\t\\tcache = uniqueCache[ type ] || [];\\n\\t\\t\\t\\t\\t\\t\\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\\n\\t\\t\\t\\t\\t\\t\\tdiff = nodeIndex && cache[ 2 ];\\n\\t\\t\\t\\t\\t\\t\\tnode = nodeIndex && parent.childNodes[ nodeIndex ];\\n\\n\\t\\t\\t\\t\\t\\t\\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Fallback to seeking `elem` from the start\\n\\t\\t\\t\\t\\t\\t\\t\\t(diff = nodeIndex = 0) || start.pop()) ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// When found, cache indexes on `parent` and break\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( node.nodeType === 1 && ++diff && node === elem ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tuniqueCache[ type ] = [ dirruns, nodeIndex, diff ];\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t// Use previously-cached element index if available\\n\\t\\t\\t\\t\\t\\t\\tif ( useCache ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t// ...in a gzip-friendly way\\n\\t\\t\\t\\t\\t\\t\\t\\tnode = elem;\\n\\t\\t\\t\\t\\t\\t\\t\\touterCache = node[ expando ] || (node[ expando ] = {});\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Support: IE <9 only\\n\\t\\t\\t\\t\\t\\t\\t\\t// Defend against cloned attroperties (jQuery gh-1709)\\n\\t\\t\\t\\t\\t\\t\\t\\tuniqueCache = outerCache[ node.uniqueID ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(outerCache[ node.uniqueID ] = {});\\n\\n\\t\\t\\t\\t\\t\\t\\t\\tcache = uniqueCache[ type ] || [];\\n\\t\\t\\t\\t\\t\\t\\t\\tnodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];\\n\\t\\t\\t\\t\\t\\t\\t\\tdiff = nodeIndex;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t// xml :nth-child(...)\\n\\t\\t\\t\\t\\t\\t\\t// or :nth-last-child(...) or :nth(-last)?-of-type(...)\\n\\t\\t\\t\\t\\t\\t\\tif ( diff === false ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t// Use the same loop as above to seek `elem` from the start\\n\\t\\t\\t\\t\\t\\t\\t\\twhile ( (node = ++nodeIndex && node && node[ dir ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t(diff = nodeIndex = 0) || start.pop()) ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( ( ofType ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tnode.nodeName.toLowerCase() === name :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tnode.nodeType === 1 ) &&\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t++diff ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Cache the index of each encountered element\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( useCache ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\touterCache = node[ expando ] || (node[ expando ] = {});\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: IE <9 only\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Defend against cloned attroperties (jQuery gh-1709)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tuniqueCache = outerCache[ node.uniqueID ] ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t(outerCache[ node.uniqueID ] = {});\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tuniqueCache[ type ] = [ dirruns, diff ];\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( node === elem ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t// Incorporate the offset, then check against cycle size\\n\\t\\t\\t\\t\\t\\tdiff -= last;\\n\\t\\t\\t\\t\\t\\treturn diff === first || ( diff % first === 0 && diff / first >= 0 );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t};\\n\\t\\t},\\n\\n\\t\\t\\\"PSEUDO\\\": function( pseudo, argument ) {\\n\\t\\t\\t// pseudo-class names are case-insensitive\\n\\t\\t\\t// http://www.w3.org/TR/selectors/#pseudo-classes\\n\\t\\t\\t// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters\\n\\t\\t\\t// Remember that setFilters inherits from pseudos\\n\\t\\t\\tvar args,\\n\\t\\t\\t\\tfn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||\\n\\t\\t\\t\\t\\tSizzle.error( \\\"unsupported pseudo: \\\" + pseudo );\\n\\n\\t\\t\\t// The user may use createPseudo to indicate that\\n\\t\\t\\t// arguments are needed to create the filter function\\n\\t\\t\\t// just as Sizzle does\\n\\t\\t\\tif ( fn[ expando ] ) {\\n\\t\\t\\t\\treturn fn( argument );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// But maintain support for old signatures\\n\\t\\t\\tif ( fn.length > 1 ) {\\n\\t\\t\\t\\targs = [ pseudo, pseudo, \\\"\\\", argument ];\\n\\t\\t\\t\\treturn Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?\\n\\t\\t\\t\\t\\tmarkFunction(function( seed, matches ) {\\n\\t\\t\\t\\t\\t\\tvar idx,\\n\\t\\t\\t\\t\\t\\t\\tmatched = fn( seed, argument ),\\n\\t\\t\\t\\t\\t\\t\\ti = matched.length;\\n\\t\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\t\\tidx = indexOf( seed, matched[i] );\\n\\t\\t\\t\\t\\t\\t\\tseed[ idx ] = !( matches[ idx ] = matched[i] );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}) :\\n\\t\\t\\t\\t\\tfunction( elem ) {\\n\\t\\t\\t\\t\\t\\treturn fn( elem, 0, args );\\n\\t\\t\\t\\t\\t};\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn fn;\\n\\t\\t}\\n\\t},\\n\\n\\tpseudos: {\\n\\t\\t// Potentially complex pseudos\\n\\t\\t\\\"not\\\": markFunction(function( selector ) {\\n\\t\\t\\t// Trim the selector passed to compile\\n\\t\\t\\t// to avoid treating leading and trailing\\n\\t\\t\\t// spaces as combinators\\n\\t\\t\\tvar input = [],\\n\\t\\t\\t\\tresults = [],\\n\\t\\t\\t\\tmatcher = compile( selector.replace( rtrim, \\\"$1\\\" ) );\\n\\n\\t\\t\\treturn matcher[ expando ] ?\\n\\t\\t\\t\\tmarkFunction(function( seed, matches, context, xml ) {\\n\\t\\t\\t\\t\\tvar elem,\\n\\t\\t\\t\\t\\t\\tunmatched = matcher( seed, null, xml, [] ),\\n\\t\\t\\t\\t\\t\\ti = seed.length;\\n\\n\\t\\t\\t\\t\\t// Match elements unmatched by `matcher`\\n\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\tif ( (elem = unmatched[i]) ) {\\n\\t\\t\\t\\t\\t\\t\\tseed[i] = !(matches[i] = elem);\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}) :\\n\\t\\t\\t\\tfunction( elem, context, xml ) {\\n\\t\\t\\t\\t\\tinput[0] = elem;\\n\\t\\t\\t\\t\\tmatcher( input, null, xml, results );\\n\\t\\t\\t\\t\\t// Don't keep the element (issue #299)\\n\\t\\t\\t\\t\\tinput[0] = null;\\n\\t\\t\\t\\t\\treturn !results.pop();\\n\\t\\t\\t\\t};\\n\\t\\t}),\\n\\n\\t\\t\\\"has\\\": markFunction(function( selector ) {\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\treturn Sizzle( selector, elem ).length > 0;\\n\\t\\t\\t};\\n\\t\\t}),\\n\\n\\t\\t\\\"contains\\\": markFunction(function( text ) {\\n\\t\\t\\ttext = text.replace( runescape, funescape );\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\treturn ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1;\\n\\t\\t\\t};\\n\\t\\t}),\\n\\n\\t\\t// \\\"Whether an element is represented by a :lang() selector\\n\\t\\t// is based solely on the element's language value\\n\\t\\t// being equal to the identifier C,\\n\\t\\t// or beginning with the identifier C immediately followed by \\\"-\\\".\\n\\t\\t// The matching of C against the element's language value is performed case-insensitively.\\n\\t\\t// The identifier C does not have to be a valid language name.\\\"\\n\\t\\t// http://www.w3.org/TR/selectors/#lang-pseudo\\n\\t\\t\\\"lang\\\": markFunction( function( lang ) {\\n\\t\\t\\t// lang value must be a valid identifier\\n\\t\\t\\tif ( !ridentifier.test(lang || \\\"\\\") ) {\\n\\t\\t\\t\\tSizzle.error( \\\"unsupported lang: \\\" + lang );\\n\\t\\t\\t}\\n\\t\\t\\tlang = lang.replace( runescape, funescape ).toLowerCase();\\n\\t\\t\\treturn function( elem ) {\\n\\t\\t\\t\\tvar elemLang;\\n\\t\\t\\t\\tdo {\\n\\t\\t\\t\\t\\tif ( (elemLang = documentIsHTML ?\\n\\t\\t\\t\\t\\t\\telem.lang :\\n\\t\\t\\t\\t\\t\\telem.getAttribute(\\\"xml:lang\\\") || elem.getAttribute(\\\"lang\\\")) ) {\\n\\n\\t\\t\\t\\t\\t\\telemLang = elemLang.toLowerCase();\\n\\t\\t\\t\\t\\t\\treturn elemLang === lang || elemLang.indexOf( lang + \\\"-\\\" ) === 0;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} while ( (elem = elem.parentNode) && elem.nodeType === 1 );\\n\\t\\t\\t\\treturn false;\\n\\t\\t\\t};\\n\\t\\t}),\\n\\n\\t\\t// Miscellaneous\\n\\t\\t\\\"target\\\": function( elem ) {\\n\\t\\t\\tvar hash = window.location && window.location.hash;\\n\\t\\t\\treturn hash && hash.slice( 1 ) === elem.id;\\n\\t\\t},\\n\\n\\t\\t\\\"root\\\": function( elem ) {\\n\\t\\t\\treturn elem === docElem;\\n\\t\\t},\\n\\n\\t\\t\\\"focus\\\": function( elem ) {\\n\\t\\t\\treturn elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);\\n\\t\\t},\\n\\n\\t\\t// Boolean properties\\n\\t\\t\\\"enabled\\\": createDisabledPseudo( false ),\\n\\t\\t\\\"disabled\\\": createDisabledPseudo( true ),\\n\\n\\t\\t\\\"checked\\\": function( elem ) {\\n\\t\\t\\t// In CSS3, :checked should return both checked and selected elements\\n\\t\\t\\t// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked\\n\\t\\t\\tvar nodeName = elem.nodeName.toLowerCase();\\n\\t\\t\\treturn (nodeName === \\\"input\\\" && !!elem.checked) || (nodeName === \\\"option\\\" && !!elem.selected);\\n\\t\\t},\\n\\n\\t\\t\\\"selected\\\": function( elem ) {\\n\\t\\t\\t// Accessing this property makes selected-by-default\\n\\t\\t\\t// options in Safari work properly\\n\\t\\t\\tif ( elem.parentNode ) {\\n\\t\\t\\t\\telem.parentNode.selectedIndex;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn elem.selected === true;\\n\\t\\t},\\n\\n\\t\\t// Contents\\n\\t\\t\\\"empty\\\": function( elem ) {\\n\\t\\t\\t// http://www.w3.org/TR/selectors/#empty-pseudo\\n\\t\\t\\t// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),\\n\\t\\t\\t// but not by others (comment: 8; processing instruction: 7; etc.)\\n\\t\\t\\t// nodeType < 6 works because attributes (2) do not appear as children\\n\\t\\t\\tfor ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {\\n\\t\\t\\t\\tif ( elem.nodeType < 6 ) {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn true;\\n\\t\\t},\\n\\n\\t\\t\\\"parent\\\": function( elem ) {\\n\\t\\t\\treturn !Expr.pseudos[\\\"empty\\\"]( elem );\\n\\t\\t},\\n\\n\\t\\t// Element/input types\\n\\t\\t\\\"header\\\": function( elem ) {\\n\\t\\t\\treturn rheader.test( elem.nodeName );\\n\\t\\t},\\n\\n\\t\\t\\\"input\\\": function( elem ) {\\n\\t\\t\\treturn rinputs.test( elem.nodeName );\\n\\t\\t},\\n\\n\\t\\t\\\"button\\\": function( elem ) {\\n\\t\\t\\tvar name = elem.nodeName.toLowerCase();\\n\\t\\t\\treturn name === \\\"input\\\" && elem.type === \\\"button\\\" || name === \\\"button\\\";\\n\\t\\t},\\n\\n\\t\\t\\\"text\\\": function( elem ) {\\n\\t\\t\\tvar attr;\\n\\t\\t\\treturn elem.nodeName.toLowerCase() === \\\"input\\\" &&\\n\\t\\t\\t\\telem.type === \\\"text\\\" &&\\n\\n\\t\\t\\t\\t// Support: IE<8\\n\\t\\t\\t\\t// New HTML5 attribute values (e.g., \\\"search\\\") appear with elem.type === \\\"text\\\"\\n\\t\\t\\t\\t( (attr = elem.getAttribute(\\\"type\\\")) == null || attr.toLowerCase() === \\\"text\\\" );\\n\\t\\t},\\n\\n\\t\\t// Position-in-collection\\n\\t\\t\\\"first\\\": createPositionalPseudo(function() {\\n\\t\\t\\treturn [ 0 ];\\n\\t\\t}),\\n\\n\\t\\t\\\"last\\\": createPositionalPseudo(function( matchIndexes, length ) {\\n\\t\\t\\treturn [ length - 1 ];\\n\\t\\t}),\\n\\n\\t\\t\\\"eq\\\": createPositionalPseudo(function( matchIndexes, length, argument ) {\\n\\t\\t\\treturn [ argument < 0 ? argument + length : argument ];\\n\\t\\t}),\\n\\n\\t\\t\\\"even\\\": createPositionalPseudo(function( matchIndexes, length ) {\\n\\t\\t\\tvar i = 0;\\n\\t\\t\\tfor ( ; i < length; i += 2 ) {\\n\\t\\t\\t\\tmatchIndexes.push( i );\\n\\t\\t\\t}\\n\\t\\t\\treturn matchIndexes;\\n\\t\\t}),\\n\\n\\t\\t\\\"odd\\\": createPositionalPseudo(function( matchIndexes, length ) {\\n\\t\\t\\tvar i = 1;\\n\\t\\t\\tfor ( ; i < length; i += 2 ) {\\n\\t\\t\\t\\tmatchIndexes.push( i );\\n\\t\\t\\t}\\n\\t\\t\\treturn matchIndexes;\\n\\t\\t}),\\n\\n\\t\\t\\\"lt\\\": createPositionalPseudo(function( matchIndexes, length, argument ) {\\n\\t\\t\\tvar i = argument < 0 ? argument + length : argument;\\n\\t\\t\\tfor ( ; --i >= 0; ) {\\n\\t\\t\\t\\tmatchIndexes.push( i );\\n\\t\\t\\t}\\n\\t\\t\\treturn matchIndexes;\\n\\t\\t}),\\n\\n\\t\\t\\\"gt\\\": createPositionalPseudo(function( matchIndexes, length, argument ) {\\n\\t\\t\\tvar i = argument < 0 ? argument + length : argument;\\n\\t\\t\\tfor ( ; ++i < length; ) {\\n\\t\\t\\t\\tmatchIndexes.push( i );\\n\\t\\t\\t}\\n\\t\\t\\treturn matchIndexes;\\n\\t\\t})\\n\\t}\\n};\\n\\nExpr.pseudos[\\\"nth\\\"] = Expr.pseudos[\\\"eq\\\"];\\n\\n// Add button/input type pseudos\\nfor ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {\\n\\tExpr.pseudos[ i ] = createInputPseudo( i );\\n}\\nfor ( i in { submit: true, reset: true } ) {\\n\\tExpr.pseudos[ i ] = createButtonPseudo( i );\\n}\\n\\n// Easy API for creating new setFilters\\nfunction setFilters() {}\\nsetFilters.prototype = Expr.filters = Expr.pseudos;\\nExpr.setFilters = new setFilters();\\n\\ntokenize = Sizzle.tokenize = function( selector, parseOnly ) {\\n\\tvar matched, match, tokens, type,\\n\\t\\tsoFar, groups, preFilters,\\n\\t\\tcached = tokenCache[ selector + \\\" \\\" ];\\n\\n\\tif ( cached ) {\\n\\t\\treturn parseOnly ? 0 : cached.slice( 0 );\\n\\t}\\n\\n\\tsoFar = selector;\\n\\tgroups = [];\\n\\tpreFilters = Expr.preFilter;\\n\\n\\twhile ( soFar ) {\\n\\n\\t\\t// Comma and first run\\n\\t\\tif ( !matched || (match = rcomma.exec( soFar )) ) {\\n\\t\\t\\tif ( match ) {\\n\\t\\t\\t\\t// Don't consume trailing commas as valid\\n\\t\\t\\t\\tsoFar = soFar.slice( match[0].length ) || soFar;\\n\\t\\t\\t}\\n\\t\\t\\tgroups.push( (tokens = []) );\\n\\t\\t}\\n\\n\\t\\tmatched = false;\\n\\n\\t\\t// Combinators\\n\\t\\tif ( (match = rcombinators.exec( soFar )) ) {\\n\\t\\t\\tmatched = match.shift();\\n\\t\\t\\ttokens.push({\\n\\t\\t\\t\\tvalue: matched,\\n\\t\\t\\t\\t// Cast descendant combinators to space\\n\\t\\t\\t\\ttype: match[0].replace( rtrim, \\\" \\\" )\\n\\t\\t\\t});\\n\\t\\t\\tsoFar = soFar.slice( matched.length );\\n\\t\\t}\\n\\n\\t\\t// Filters\\n\\t\\tfor ( type in Expr.filter ) {\\n\\t\\t\\tif ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||\\n\\t\\t\\t\\t(match = preFilters[ type ]( match ))) ) {\\n\\t\\t\\t\\tmatched = match.shift();\\n\\t\\t\\t\\ttokens.push({\\n\\t\\t\\t\\t\\tvalue: matched,\\n\\t\\t\\t\\t\\ttype: type,\\n\\t\\t\\t\\t\\tmatches: match\\n\\t\\t\\t\\t});\\n\\t\\t\\t\\tsoFar = soFar.slice( matched.length );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif ( !matched ) {\\n\\t\\t\\tbreak;\\n\\t\\t}\\n\\t}\\n\\n\\t// Return the length of the invalid excess\\n\\t// if we're just parsing\\n\\t// Otherwise, throw an error or return tokens\\n\\treturn parseOnly ?\\n\\t\\tsoFar.length :\\n\\t\\tsoFar ?\\n\\t\\t\\tSizzle.error( selector ) :\\n\\t\\t\\t// Cache the tokens\\n\\t\\t\\ttokenCache( selector, groups ).slice( 0 );\\n};\\n\\nfunction toSelector( tokens ) {\\n\\tvar i = 0,\\n\\t\\tlen = tokens.length,\\n\\t\\tselector = \\\"\\\";\\n\\tfor ( ; i < len; i++ ) {\\n\\t\\tselector += tokens[i].value;\\n\\t}\\n\\treturn selector;\\n}\\n\\nfunction addCombinator( matcher, combinator, base ) {\\n\\tvar dir = combinator.dir,\\n\\t\\tskip = combinator.next,\\n\\t\\tkey = skip || dir,\\n\\t\\tcheckNonElements = base && key === \\\"parentNode\\\",\\n\\t\\tdoneName = done++;\\n\\n\\treturn combinator.first ?\\n\\t\\t// Check against closest ancestor/preceding element\\n\\t\\tfunction( elem, context, xml ) {\\n\\t\\t\\twhile ( (elem = elem[ dir ]) ) {\\n\\t\\t\\t\\tif ( elem.nodeType === 1 || checkNonElements ) {\\n\\t\\t\\t\\t\\treturn matcher( elem, context, xml );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t} :\\n\\n\\t\\t// Check against all ancestor/preceding elements\\n\\t\\tfunction( elem, context, xml ) {\\n\\t\\t\\tvar oldCache, uniqueCache, outerCache,\\n\\t\\t\\t\\tnewCache = [ dirruns, doneName ];\\n\\n\\t\\t\\t// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching\\n\\t\\t\\tif ( xml ) {\\n\\t\\t\\t\\twhile ( (elem = elem[ dir ]) ) {\\n\\t\\t\\t\\t\\tif ( elem.nodeType === 1 || checkNonElements ) {\\n\\t\\t\\t\\t\\t\\tif ( matcher( elem, context, xml ) ) {\\n\\t\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t} else {\\n\\t\\t\\t\\twhile ( (elem = elem[ dir ]) ) {\\n\\t\\t\\t\\t\\tif ( elem.nodeType === 1 || checkNonElements ) {\\n\\t\\t\\t\\t\\t\\touterCache = elem[ expando ] || (elem[ expando ] = {});\\n\\n\\t\\t\\t\\t\\t\\t// Support: IE <9 only\\n\\t\\t\\t\\t\\t\\t// Defend against cloned attroperties (jQuery gh-1709)\\n\\t\\t\\t\\t\\t\\tuniqueCache = outerCache[ elem.uniqueID ] || (outerCache[ elem.uniqueID ] = {});\\n\\n\\t\\t\\t\\t\\t\\tif ( skip && skip === elem.nodeName.toLowerCase() ) {\\n\\t\\t\\t\\t\\t\\t\\telem = elem[ dir ] || elem;\\n\\t\\t\\t\\t\\t\\t} else if ( (oldCache = uniqueCache[ key ]) &&\\n\\t\\t\\t\\t\\t\\t\\toldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Assign to newCache so results back-propagate to previous elements\\n\\t\\t\\t\\t\\t\\t\\treturn (newCache[ 2 ] = oldCache[ 2 ]);\\n\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t// Reuse newcache so results back-propagate to previous elements\\n\\t\\t\\t\\t\\t\\t\\tuniqueCache[ key ] = newCache;\\n\\n\\t\\t\\t\\t\\t\\t\\t// A match means we're done; a fail means we have to keep checking\\n\\t\\t\\t\\t\\t\\t\\tif ( (newCache[ 2 ] = matcher( elem, context, xml )) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn false;\\n\\t\\t};\\n}\\n\\nfunction elementMatcher( matchers ) {\\n\\treturn matchers.length > 1 ?\\n\\t\\tfunction( elem, context, xml ) {\\n\\t\\t\\tvar i = matchers.length;\\n\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\tif ( !matchers[i]( elem, context, xml ) ) {\\n\\t\\t\\t\\t\\treturn false;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn true;\\n\\t\\t} :\\n\\t\\tmatchers[0];\\n}\\n\\nfunction multipleContexts( selector, contexts, results ) {\\n\\tvar i = 0,\\n\\t\\tlen = contexts.length;\\n\\tfor ( ; i < len; i++ ) {\\n\\t\\tSizzle( selector, contexts[i], results );\\n\\t}\\n\\treturn results;\\n}\\n\\nfunction condense( unmatched, map, filter, context, xml ) {\\n\\tvar elem,\\n\\t\\tnewUnmatched = [],\\n\\t\\ti = 0,\\n\\t\\tlen = unmatched.length,\\n\\t\\tmapped = map != null;\\n\\n\\tfor ( ; i < len; i++ ) {\\n\\t\\tif ( (elem = unmatched[i]) ) {\\n\\t\\t\\tif ( !filter || filter( elem, context, xml ) ) {\\n\\t\\t\\t\\tnewUnmatched.push( elem );\\n\\t\\t\\t\\tif ( mapped ) {\\n\\t\\t\\t\\t\\tmap.push( i );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn newUnmatched;\\n}\\n\\nfunction setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {\\n\\tif ( postFilter && !postFilter[ expando ] ) {\\n\\t\\tpostFilter = setMatcher( postFilter );\\n\\t}\\n\\tif ( postFinder && !postFinder[ expando ] ) {\\n\\t\\tpostFinder = setMatcher( postFinder, postSelector );\\n\\t}\\n\\treturn markFunction(function( seed, results, context, xml ) {\\n\\t\\tvar temp, i, elem,\\n\\t\\t\\tpreMap = [],\\n\\t\\t\\tpostMap = [],\\n\\t\\t\\tpreexisting = results.length,\\n\\n\\t\\t\\t// Get initial elements from seed or context\\n\\t\\t\\telems = seed || multipleContexts( selector || \\\"*\\\", context.nodeType ? [ context ] : context, [] ),\\n\\n\\t\\t\\t// Prefilter to get matcher input, preserving a map for seed-results synchronization\\n\\t\\t\\tmatcherIn = preFilter && ( seed || !selector ) ?\\n\\t\\t\\t\\tcondense( elems, preMap, preFilter, context, xml ) :\\n\\t\\t\\t\\telems,\\n\\n\\t\\t\\tmatcherOut = matcher ?\\n\\t\\t\\t\\t// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,\\n\\t\\t\\t\\tpostFinder || ( seed ? preFilter : preexisting || postFilter ) ?\\n\\n\\t\\t\\t\\t\\t// ...intermediate processing is necessary\\n\\t\\t\\t\\t\\t[] :\\n\\n\\t\\t\\t\\t\\t// ...otherwise use results directly\\n\\t\\t\\t\\t\\tresults :\\n\\t\\t\\t\\tmatcherIn;\\n\\n\\t\\t// Find primary matches\\n\\t\\tif ( matcher ) {\\n\\t\\t\\tmatcher( matcherIn, matcherOut, context, xml );\\n\\t\\t}\\n\\n\\t\\t// Apply postFilter\\n\\t\\tif ( postFilter ) {\\n\\t\\t\\ttemp = condense( matcherOut, postMap );\\n\\t\\t\\tpostFilter( temp, [], context, xml );\\n\\n\\t\\t\\t// Un-match failing elements by moving them back to matcherIn\\n\\t\\t\\ti = temp.length;\\n\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\tif ( (elem = temp[i]) ) {\\n\\t\\t\\t\\t\\tmatcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif ( seed ) {\\n\\t\\t\\tif ( postFinder || preFilter ) {\\n\\t\\t\\t\\tif ( postFinder ) {\\n\\t\\t\\t\\t\\t// Get the final matcherOut by condensing this intermediate into postFinder contexts\\n\\t\\t\\t\\t\\ttemp = [];\\n\\t\\t\\t\\t\\ti = matcherOut.length;\\n\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\tif ( (elem = matcherOut[i]) ) {\\n\\t\\t\\t\\t\\t\\t\\t// Restore matcherIn since elem is not yet a final match\\n\\t\\t\\t\\t\\t\\t\\ttemp.push( (matcherIn[i] = elem) );\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tpostFinder( null, (matcherOut = []), temp, xml );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Move matched elements from seed to results to keep them synchronized\\n\\t\\t\\t\\ti = matcherOut.length;\\n\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\tif ( (elem = matcherOut[i]) &&\\n\\t\\t\\t\\t\\t\\t(temp = postFinder ? indexOf( seed, elem ) : preMap[i]) > -1 ) {\\n\\n\\t\\t\\t\\t\\t\\tseed[temp] = !(results[temp] = elem);\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t// Add elements to results, through postFinder if defined\\n\\t\\t} else {\\n\\t\\t\\tmatcherOut = condense(\\n\\t\\t\\t\\tmatcherOut === results ?\\n\\t\\t\\t\\t\\tmatcherOut.splice( preexisting, matcherOut.length ) :\\n\\t\\t\\t\\t\\tmatcherOut\\n\\t\\t\\t);\\n\\t\\t\\tif ( postFinder ) {\\n\\t\\t\\t\\tpostFinder( null, results, matcherOut, xml );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tpush.apply( results, matcherOut );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t});\\n}\\n\\nfunction matcherFromTokens( tokens ) {\\n\\tvar checkContext, matcher, j,\\n\\t\\tlen = tokens.length,\\n\\t\\tleadingRelative = Expr.relative[ tokens[0].type ],\\n\\t\\timplicitRelative = leadingRelative || Expr.relative[\\\" \\\"],\\n\\t\\ti = leadingRelative ? 1 : 0,\\n\\n\\t\\t// The foundational matcher ensures that elements are reachable from top-level context(s)\\n\\t\\tmatchContext = addCombinator( function( elem ) {\\n\\t\\t\\treturn elem === checkContext;\\n\\t\\t}, implicitRelative, true ),\\n\\t\\tmatchAnyContext = addCombinator( function( elem ) {\\n\\t\\t\\treturn indexOf( checkContext, elem ) > -1;\\n\\t\\t}, implicitRelative, true ),\\n\\t\\tmatchers = [ function( elem, context, xml ) {\\n\\t\\t\\tvar ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (\\n\\t\\t\\t\\t(checkContext = context).nodeType ?\\n\\t\\t\\t\\t\\tmatchContext( elem, context, xml ) :\\n\\t\\t\\t\\t\\tmatchAnyContext( elem, context, xml ) );\\n\\t\\t\\t// Avoid hanging onto element (issue #299)\\n\\t\\t\\tcheckContext = null;\\n\\t\\t\\treturn ret;\\n\\t\\t} ];\\n\\n\\tfor ( ; i < len; i++ ) {\\n\\t\\tif ( (matcher = Expr.relative[ tokens[i].type ]) ) {\\n\\t\\t\\tmatchers = [ addCombinator(elementMatcher( matchers ), matcher) ];\\n\\t\\t} else {\\n\\t\\t\\tmatcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches );\\n\\n\\t\\t\\t// Return special upon seeing a positional matcher\\n\\t\\t\\tif ( matcher[ expando ] ) {\\n\\t\\t\\t\\t// Find the next relative operator (if any) for proper handling\\n\\t\\t\\t\\tj = ++i;\\n\\t\\t\\t\\tfor ( ; j < len; j++ ) {\\n\\t\\t\\t\\t\\tif ( Expr.relative[ tokens[j].type ] ) {\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn setMatcher(\\n\\t\\t\\t\\t\\ti > 1 && elementMatcher( matchers ),\\n\\t\\t\\t\\t\\ti > 1 && toSelector(\\n\\t\\t\\t\\t\\t\\t// If the preceding token was a descendant combinator, insert an implicit any-element `*`\\n\\t\\t\\t\\t\\t\\ttokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === \\\" \\\" ? \\\"*\\\" : \\\"\\\" })\\n\\t\\t\\t\\t\\t).replace( rtrim, \\\"$1\\\" ),\\n\\t\\t\\t\\t\\tmatcher,\\n\\t\\t\\t\\t\\ti < j && matcherFromTokens( tokens.slice( i, j ) ),\\n\\t\\t\\t\\t\\tj < len && matcherFromTokens( (tokens = tokens.slice( j )) ),\\n\\t\\t\\t\\t\\tj < len && toSelector( tokens )\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t\\tmatchers.push( matcher );\\n\\t\\t}\\n\\t}\\n\\n\\treturn elementMatcher( matchers );\\n}\\n\\nfunction matcherFromGroupMatchers( elementMatchers, setMatchers ) {\\n\\tvar bySet = setMatchers.length > 0,\\n\\t\\tbyElement = elementMatchers.length > 0,\\n\\t\\tsuperMatcher = function( seed, context, xml, results, outermost ) {\\n\\t\\t\\tvar elem, j, matcher,\\n\\t\\t\\t\\tmatchedCount = 0,\\n\\t\\t\\t\\ti = \\\"0\\\",\\n\\t\\t\\t\\tunmatched = seed && [],\\n\\t\\t\\t\\tsetMatched = [],\\n\\t\\t\\t\\tcontextBackup = outermostContext,\\n\\t\\t\\t\\t// We must always have either seed elements or outermost context\\n\\t\\t\\t\\telems = seed || byElement && Expr.find[\\\"TAG\\\"]( \\\"*\\\", outermost ),\\n\\t\\t\\t\\t// Use integer dirruns iff this is the outermost matcher\\n\\t\\t\\t\\tdirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1),\\n\\t\\t\\t\\tlen = elems.length;\\n\\n\\t\\t\\tif ( outermost ) {\\n\\t\\t\\t\\toutermostContext = context === document || context || outermost;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Add elements passing elementMatchers directly to results\\n\\t\\t\\t// Support: IE<9, Safari\\n\\t\\t\\t// Tolerate NodeList properties (IE: \\\"length\\\"; Safari: ) matching elements by id\\n\\t\\t\\tfor ( ; i !== len && (elem = elems[i]) != null; i++ ) {\\n\\t\\t\\t\\tif ( byElement && elem ) {\\n\\t\\t\\t\\t\\tj = 0;\\n\\t\\t\\t\\t\\tif ( !context && elem.ownerDocument !== document ) {\\n\\t\\t\\t\\t\\t\\tsetDocument( elem );\\n\\t\\t\\t\\t\\t\\txml = !documentIsHTML;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\twhile ( (matcher = elementMatchers[j++]) ) {\\n\\t\\t\\t\\t\\t\\tif ( matcher( elem, context || document, xml) ) {\\n\\t\\t\\t\\t\\t\\t\\tresults.push( elem );\\n\\t\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tif ( outermost ) {\\n\\t\\t\\t\\t\\t\\tdirruns = dirrunsUnique;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Track unmatched elements for set filters\\n\\t\\t\\t\\tif ( bySet ) {\\n\\t\\t\\t\\t\\t// They will have gone through all possible matchers\\n\\t\\t\\t\\t\\tif ( (elem = !matcher && elem) ) {\\n\\t\\t\\t\\t\\t\\tmatchedCount--;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Lengthen the array for every element, matched or not\\n\\t\\t\\t\\t\\tif ( seed ) {\\n\\t\\t\\t\\t\\t\\tunmatched.push( elem );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// `i` is now the count of elements visited above, and adding it to `matchedCount`\\n\\t\\t\\t// makes the latter nonnegative.\\n\\t\\t\\tmatchedCount += i;\\n\\n\\t\\t\\t// Apply set filters to unmatched elements\\n\\t\\t\\t// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`\\n\\t\\t\\t// equals `i`), unless we didn't visit _any_ elements in the above loop because we have\\n\\t\\t\\t// no element matchers and no seed.\\n\\t\\t\\t// Incrementing an initially-string \\\"0\\\" `i` allows `i` to remain a string only in that\\n\\t\\t\\t// case, which will result in a \\\"00\\\" `matchedCount` that differs from `i` but is also\\n\\t\\t\\t// numerically zero.\\n\\t\\t\\tif ( bySet && i !== matchedCount ) {\\n\\t\\t\\t\\tj = 0;\\n\\t\\t\\t\\twhile ( (matcher = setMatchers[j++]) ) {\\n\\t\\t\\t\\t\\tmatcher( unmatched, setMatched, context, xml );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tif ( seed ) {\\n\\t\\t\\t\\t\\t// Reintegrate element matches to eliminate the need for sorting\\n\\t\\t\\t\\t\\tif ( matchedCount > 0 ) {\\n\\t\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\t\\t\\t\\tif ( !(unmatched[i] || setMatched[i]) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tsetMatched[i] = pop.call( results );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t// Discard index placeholder values to get only actual matches\\n\\t\\t\\t\\t\\tsetMatched = condense( setMatched );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Add matches to results\\n\\t\\t\\t\\tpush.apply( results, setMatched );\\n\\n\\t\\t\\t\\t// Seedless set matches succeeding multiple successful matchers stipulate sorting\\n\\t\\t\\t\\tif ( outermost && !seed && setMatched.length > 0 &&\\n\\t\\t\\t\\t\\t( matchedCount + setMatchers.length ) > 1 ) {\\n\\n\\t\\t\\t\\t\\tSizzle.uniqueSort( results );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Override manipulation of globals by nested matchers\\n\\t\\t\\tif ( outermost ) {\\n\\t\\t\\t\\tdirruns = dirrunsUnique;\\n\\t\\t\\t\\toutermostContext = contextBackup;\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn unmatched;\\n\\t\\t};\\n\\n\\treturn bySet ?\\n\\t\\tmarkFunction( superMatcher ) :\\n\\t\\tsuperMatcher;\\n}\\n\\ncompile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {\\n\\tvar i,\\n\\t\\tsetMatchers = [],\\n\\t\\telementMatchers = [],\\n\\t\\tcached = compilerCache[ selector + \\\" \\\" ];\\n\\n\\tif ( !cached ) {\\n\\t\\t// Generate a function of recursive functions that can be used to check each element\\n\\t\\tif ( !match ) {\\n\\t\\t\\tmatch = tokenize( selector );\\n\\t\\t}\\n\\t\\ti = match.length;\\n\\t\\twhile ( i-- ) {\\n\\t\\t\\tcached = matcherFromTokens( match[i] );\\n\\t\\t\\tif ( cached[ expando ] ) {\\n\\t\\t\\t\\tsetMatchers.push( cached );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\telementMatchers.push( cached );\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Cache the compiled function\\n\\t\\tcached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) );\\n\\n\\t\\t// Save selector and tokenization\\n\\t\\tcached.selector = selector;\\n\\t}\\n\\treturn cached;\\n};\\n\\n/**\\n * A low-level selection function that works with Sizzle's compiled\\n * selector functions\\n * @param {String|Function} selector A selector or a pre-compiled\\n * selector function built with Sizzle.compile\\n * @param {Element} context\\n * @param {Array} [results]\\n * @param {Array} [seed] A set of elements to match against\\n */\\nselect = Sizzle.select = function( selector, context, results, seed ) {\\n\\tvar i, tokens, token, type, find,\\n\\t\\tcompiled = typeof selector === \\\"function\\\" && selector,\\n\\t\\tmatch = !seed && tokenize( (selector = compiled.selector || selector) );\\n\\n\\tresults = results || [];\\n\\n\\t// Try to minimize operations if there is only one selector in the list and no seed\\n\\t// (the latter of which guarantees us context)\\n\\tif ( match.length === 1 ) {\\n\\n\\t\\t// Reduce context if the leading compound selector is an ID\\n\\t\\ttokens = match[0] = match[0].slice( 0 );\\n\\t\\tif ( tokens.length > 2 && (token = tokens[0]).type === \\\"ID\\\" &&\\n\\t\\t\\t\\tcontext.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[1].type ] ) {\\n\\n\\t\\t\\tcontext = ( Expr.find[\\\"ID\\\"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];\\n\\t\\t\\tif ( !context ) {\\n\\t\\t\\t\\treturn results;\\n\\n\\t\\t\\t// Precompiled matchers will still verify ancestry, so step up a level\\n\\t\\t\\t} else if ( compiled ) {\\n\\t\\t\\t\\tcontext = context.parentNode;\\n\\t\\t\\t}\\n\\n\\t\\t\\tselector = selector.slice( tokens.shift().value.length );\\n\\t\\t}\\n\\n\\t\\t// Fetch a seed set for right-to-left matching\\n\\t\\ti = matchExpr[\\\"needsContext\\\"].test( selector ) ? 0 : tokens.length;\\n\\t\\twhile ( i-- ) {\\n\\t\\t\\ttoken = tokens[i];\\n\\n\\t\\t\\t// Abort if we hit a combinator\\n\\t\\t\\tif ( Expr.relative[ (type = token.type) ] ) {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t\\tif ( (find = Expr.find[ type ]) ) {\\n\\t\\t\\t\\t// Search, expanding context for leading sibling combinators\\n\\t\\t\\t\\tif ( (seed = find(\\n\\t\\t\\t\\t\\ttoken.matches[0].replace( runescape, funescape ),\\n\\t\\t\\t\\t\\trsibling.test( tokens[0].type ) && testContext( context.parentNode ) || context\\n\\t\\t\\t\\t)) ) {\\n\\n\\t\\t\\t\\t\\t// If seed is empty or no tokens remain, we can return early\\n\\t\\t\\t\\t\\ttokens.splice( i, 1 );\\n\\t\\t\\t\\t\\tselector = seed.length && toSelector( tokens );\\n\\t\\t\\t\\t\\tif ( !selector ) {\\n\\t\\t\\t\\t\\t\\tpush.apply( results, seed );\\n\\t\\t\\t\\t\\t\\treturn results;\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Compile and execute a filtering function if one is not provided\\n\\t// Provide `match` to avoid retokenization if we modified the selector above\\n\\t( compiled || compile( selector, match ) )(\\n\\t\\tseed,\\n\\t\\tcontext,\\n\\t\\t!documentIsHTML,\\n\\t\\tresults,\\n\\t\\t!context || rsibling.test( selector ) && testContext( context.parentNode ) || context\\n\\t);\\n\\treturn results;\\n};\\n\\n// One-time assignments\\n\\n// Sort stability\\nsupport.sortStable = expando.split(\\\"\\\").sort( sortOrder ).join(\\\"\\\") === expando;\\n\\n// Support: Chrome 14-35+\\n// Always assume duplicates if they aren't passed to the comparison function\\nsupport.detectDuplicates = !!hasDuplicate;\\n\\n// Initialize against the default document\\nsetDocument();\\n\\n// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)\\n// Detached nodes confoundingly follow *each other*\\nsupport.sortDetached = assert(function( el ) {\\n\\t// Should return 1, but returns 4 (following)\\n\\treturn el.compareDocumentPosition( document.createElement(\\\"fieldset\\\") ) & 1;\\n});\\n\\n// Support: IE<8\\n// Prevent attribute/property \\\"interpolation\\\"\\n// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx\\nif ( !assert(function( el ) {\\n\\tel.innerHTML = \\\"\\\";\\n\\treturn el.firstChild.getAttribute(\\\"href\\\") === \\\"#\\\" ;\\n}) ) {\\n\\taddHandle( \\\"type|href|height|width\\\", function( elem, name, isXML ) {\\n\\t\\tif ( !isXML ) {\\n\\t\\t\\treturn elem.getAttribute( name, name.toLowerCase() === \\\"type\\\" ? 1 : 2 );\\n\\t\\t}\\n\\t});\\n}\\n\\n// Support: IE<9\\n// Use defaultValue in place of getAttribute(\\\"value\\\")\\nif ( !support.attributes || !assert(function( el ) {\\n\\tel.innerHTML = \\\"\\\";\\n\\tel.firstChild.setAttribute( \\\"value\\\", \\\"\\\" );\\n\\treturn el.firstChild.getAttribute( \\\"value\\\" ) === \\\"\\\";\\n}) ) {\\n\\taddHandle( \\\"value\\\", function( elem, name, isXML ) {\\n\\t\\tif ( !isXML && elem.nodeName.toLowerCase() === \\\"input\\\" ) {\\n\\t\\t\\treturn elem.defaultValue;\\n\\t\\t}\\n\\t});\\n}\\n\\n// Support: IE<9\\n// Use getAttributeNode to fetch booleans when getAttribute lies\\nif ( !assert(function( el ) {\\n\\treturn el.getAttribute(\\\"disabled\\\") == null;\\n}) ) {\\n\\taddHandle( booleans, function( elem, name, isXML ) {\\n\\t\\tvar val;\\n\\t\\tif ( !isXML ) {\\n\\t\\t\\treturn elem[ name ] === true ? name.toLowerCase() :\\n\\t\\t\\t\\t\\t(val = elem.getAttributeNode( name )) && val.specified ?\\n\\t\\t\\t\\t\\tval.value :\\n\\t\\t\\t\\tnull;\\n\\t\\t}\\n\\t});\\n}\\n\\nreturn Sizzle;\\n\\n})( window );\\n\\n\\n\\njQuery.find = Sizzle;\\njQuery.expr = Sizzle.selectors;\\n\\n// Deprecated\\njQuery.expr[ \\\":\\\" ] = jQuery.expr.pseudos;\\njQuery.uniqueSort = jQuery.unique = Sizzle.uniqueSort;\\njQuery.text = Sizzle.getText;\\njQuery.isXMLDoc = Sizzle.isXML;\\njQuery.contains = Sizzle.contains;\\njQuery.escapeSelector = Sizzle.escape;\\n\\n\\n\\n\\nvar dir = function( elem, dir, until ) {\\n\\tvar matched = [],\\n\\t\\ttruncate = until !== undefined;\\n\\n\\twhile ( ( elem = elem[ dir ] ) && elem.nodeType !== 9 ) {\\n\\t\\tif ( elem.nodeType === 1 ) {\\n\\t\\t\\tif ( truncate && jQuery( elem ).is( until ) ) {\\n\\t\\t\\t\\tbreak;\\n\\t\\t\\t}\\n\\t\\t\\tmatched.push( elem );\\n\\t\\t}\\n\\t}\\n\\treturn matched;\\n};\\n\\n\\nvar siblings = function( n, elem ) {\\n\\tvar matched = [];\\n\\n\\tfor ( ; n; n = n.nextSibling ) {\\n\\t\\tif ( n.nodeType === 1 && n !== elem ) {\\n\\t\\t\\tmatched.push( n );\\n\\t\\t}\\n\\t}\\n\\n\\treturn matched;\\n};\\n\\n\\nvar rneedsContext = jQuery.expr.match.needsContext;\\n\\n\\n\\nfunction nodeName( elem, name ) {\\n\\n return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();\\n\\n};\\nvar rsingleTag = ( /^<([a-z][^\\\\/\\\\0>:\\\\x20\\\\t\\\\r\\\\n\\\\f]*)[\\\\x20\\\\t\\\\r\\\\n\\\\f]*\\\\/?>(?:<\\\\/\\\\1>|)$/i );\\n\\n\\n\\nvar risSimple = /^.[^:#\\\\[\\\\.,]*$/;\\n\\n// Implement the identical functionality for filter and not\\nfunction winnow( elements, qualifier, not ) {\\n\\tif ( jQuery.isFunction( qualifier ) ) {\\n\\t\\treturn jQuery.grep( elements, function( elem, i ) {\\n\\t\\t\\treturn !!qualifier.call( elem, i, elem ) !== not;\\n\\t\\t} );\\n\\t}\\n\\n\\t// Single element\\n\\tif ( qualifier.nodeType ) {\\n\\t\\treturn jQuery.grep( elements, function( elem ) {\\n\\t\\t\\treturn ( elem === qualifier ) !== not;\\n\\t\\t} );\\n\\t}\\n\\n\\t// Arraylike of elements (jQuery, arguments, Array)\\n\\tif ( typeof qualifier !== \\\"string\\\" ) {\\n\\t\\treturn jQuery.grep( elements, function( elem ) {\\n\\t\\t\\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not;\\n\\t\\t} );\\n\\t}\\n\\n\\t// Simple selector that can be filtered directly, removing non-Elements\\n\\tif ( risSimple.test( qualifier ) ) {\\n\\t\\treturn jQuery.filter( qualifier, elements, not );\\n\\t}\\n\\n\\t// Complex selector, compare the two sets, removing non-Elements\\n\\tqualifier = jQuery.filter( qualifier, elements );\\n\\treturn jQuery.grep( elements, function( elem ) {\\n\\t\\treturn ( indexOf.call( qualifier, elem ) > -1 ) !== not && elem.nodeType === 1;\\n\\t} );\\n}\\n\\njQuery.filter = function( expr, elems, not ) {\\n\\tvar elem = elems[ 0 ];\\n\\n\\tif ( not ) {\\n\\t\\texpr = \\\":not(\\\" + expr + \\\")\\\";\\n\\t}\\n\\n\\tif ( elems.length === 1 && elem.nodeType === 1 ) {\\n\\t\\treturn jQuery.find.matchesSelector( elem, expr ) ? [ elem ] : [];\\n\\t}\\n\\n\\treturn jQuery.find.matches( expr, jQuery.grep( elems, function( elem ) {\\n\\t\\treturn elem.nodeType === 1;\\n\\t} ) );\\n};\\n\\njQuery.fn.extend( {\\n\\tfind: function( selector ) {\\n\\t\\tvar i, ret,\\n\\t\\t\\tlen = this.length,\\n\\t\\t\\tself = this;\\n\\n\\t\\tif ( typeof selector !== \\\"string\\\" ) {\\n\\t\\t\\treturn this.pushStack( jQuery( selector ).filter( function() {\\n\\t\\t\\t\\tfor ( i = 0; i < len; i++ ) {\\n\\t\\t\\t\\t\\tif ( jQuery.contains( self[ i ], this ) ) {\\n\\t\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t} ) );\\n\\t\\t}\\n\\n\\t\\tret = this.pushStack( [] );\\n\\n\\t\\tfor ( i = 0; i < len; i++ ) {\\n\\t\\t\\tjQuery.find( selector, self[ i ], ret );\\n\\t\\t}\\n\\n\\t\\treturn len > 1 ? jQuery.uniqueSort( ret ) : ret;\\n\\t},\\n\\tfilter: function( selector ) {\\n\\t\\treturn this.pushStack( winnow( this, selector || [], false ) );\\n\\t},\\n\\tnot: function( selector ) {\\n\\t\\treturn this.pushStack( winnow( this, selector || [], true ) );\\n\\t},\\n\\tis: function( selector ) {\\n\\t\\treturn !!winnow(\\n\\t\\t\\tthis,\\n\\n\\t\\t\\t// If this is a positional/relative selector, check membership in the returned set\\n\\t\\t\\t// so $(\\\"p:first\\\").is(\\\"p:last\\\") won't return true for a doc with two \\\"p\\\".\\n\\t\\t\\ttypeof selector === \\\"string\\\" && rneedsContext.test( selector ) ?\\n\\t\\t\\t\\tjQuery( selector ) :\\n\\t\\t\\t\\tselector || [],\\n\\t\\t\\tfalse\\n\\t\\t).length;\\n\\t}\\n} );\\n\\n\\n// Initialize a jQuery object\\n\\n\\n// A central reference to the root jQuery(document)\\nvar rootjQuery,\\n\\n\\t// A simple way to check for HTML strings\\n\\t// Prioritize #id over to avoid XSS via location.hash (#9521)\\n\\t// Strict HTML recognition (#11290: must start with <)\\n\\t// Shortcut simple #id case for speed\\n\\trquickExpr = /^(?:\\\\s*(<[\\\\w\\\\W]+>)[^>]*|#([\\\\w-]+))$/,\\n\\n\\tinit = jQuery.fn.init = function( selector, context, root ) {\\n\\t\\tvar match, elem;\\n\\n\\t\\t// HANDLE: $(\\\"\\\"), $(null), $(undefined), $(false)\\n\\t\\tif ( !selector ) {\\n\\t\\t\\treturn this;\\n\\t\\t}\\n\\n\\t\\t// Method init() accepts an alternate rootjQuery\\n\\t\\t// so migrate can support jQuery.sub (gh-2101)\\n\\t\\troot = root || rootjQuery;\\n\\n\\t\\t// Handle HTML strings\\n\\t\\tif ( typeof selector === \\\"string\\\" ) {\\n\\t\\t\\tif ( selector[ 0 ] === \\\"<\\\" &&\\n\\t\\t\\t\\tselector[ selector.length - 1 ] === \\\">\\\" &&\\n\\t\\t\\t\\tselector.length >= 3 ) {\\n\\n\\t\\t\\t\\t// Assume that strings that start and end with <> are HTML and skip the regex check\\n\\t\\t\\t\\tmatch = [ null, selector, null ];\\n\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tmatch = rquickExpr.exec( selector );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Match html or make sure no context is specified for #id\\n\\t\\t\\tif ( match && ( match[ 1 ] || !context ) ) {\\n\\n\\t\\t\\t\\t// HANDLE: $(html) -> $(array)\\n\\t\\t\\t\\tif ( match[ 1 ] ) {\\n\\t\\t\\t\\t\\tcontext = context instanceof jQuery ? context[ 0 ] : context;\\n\\n\\t\\t\\t\\t\\t// Option to run scripts is true for back-compat\\n\\t\\t\\t\\t\\t// Intentionally let the error be thrown if parseHTML is not present\\n\\t\\t\\t\\t\\tjQuery.merge( this, jQuery.parseHTML(\\n\\t\\t\\t\\t\\t\\tmatch[ 1 ],\\n\\t\\t\\t\\t\\t\\tcontext && context.nodeType ? context.ownerDocument || context : document,\\n\\t\\t\\t\\t\\t\\ttrue\\n\\t\\t\\t\\t\\t) );\\n\\n\\t\\t\\t\\t\\t// HANDLE: $(html, props)\\n\\t\\t\\t\\t\\tif ( rsingleTag.test( match[ 1 ] ) && jQuery.isPlainObject( context ) ) {\\n\\t\\t\\t\\t\\t\\tfor ( match in context ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Properties of context are called as methods if possible\\n\\t\\t\\t\\t\\t\\t\\tif ( jQuery.isFunction( this[ match ] ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tthis[ match ]( context[ match ] );\\n\\n\\t\\t\\t\\t\\t\\t\\t// ...and otherwise set as attributes\\n\\t\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t\\tthis.attr( match, context[ match ] );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\treturn this;\\n\\n\\t\\t\\t\\t// HANDLE: $(#id)\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\telem = document.getElementById( match[ 2 ] );\\n\\n\\t\\t\\t\\t\\tif ( elem ) {\\n\\n\\t\\t\\t\\t\\t\\t// Inject the element directly into the jQuery object\\n\\t\\t\\t\\t\\t\\tthis[ 0 ] = elem;\\n\\t\\t\\t\\t\\t\\tthis.length = 1;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\treturn this;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t// HANDLE: $(expr, $(...))\\n\\t\\t\\t} else if ( !context || context.jquery ) {\\n\\t\\t\\t\\treturn ( context || root ).find( selector );\\n\\n\\t\\t\\t// HANDLE: $(expr, context)\\n\\t\\t\\t// (which is just equivalent to: $(context).find(expr)\\n\\t\\t\\t} else {\\n\\t\\t\\t\\treturn this.constructor( context ).find( selector );\\n\\t\\t\\t}\\n\\n\\t\\t// HANDLE: $(DOMElement)\\n\\t\\t} else if ( selector.nodeType ) {\\n\\t\\t\\tthis[ 0 ] = selector;\\n\\t\\t\\tthis.length = 1;\\n\\t\\t\\treturn this;\\n\\n\\t\\t// HANDLE: $(function)\\n\\t\\t// Shortcut for document ready\\n\\t\\t} else if ( jQuery.isFunction( selector ) ) {\\n\\t\\t\\treturn root.ready !== undefined ?\\n\\t\\t\\t\\troot.ready( selector ) :\\n\\n\\t\\t\\t\\t// Execute immediately if ready is not present\\n\\t\\t\\t\\tselector( jQuery );\\n\\t\\t}\\n\\n\\t\\treturn jQuery.makeArray( selector, this );\\n\\t};\\n\\n// Give the init function the jQuery prototype for later instantiation\\ninit.prototype = jQuery.fn;\\n\\n// Initialize central reference\\nrootjQuery = jQuery( document );\\n\\n\\nvar rparentsprev = /^(?:parents|prev(?:Until|All))/,\\n\\n\\t// Methods guaranteed to produce a unique set when starting from a unique set\\n\\tguaranteedUnique = {\\n\\t\\tchildren: true,\\n\\t\\tcontents: true,\\n\\t\\tnext: true,\\n\\t\\tprev: true\\n\\t};\\n\\njQuery.fn.extend( {\\n\\thas: function( target ) {\\n\\t\\tvar targets = jQuery( target, this ),\\n\\t\\t\\tl = targets.length;\\n\\n\\t\\treturn this.filter( function() {\\n\\t\\t\\tvar i = 0;\\n\\t\\t\\tfor ( ; i < l; i++ ) {\\n\\t\\t\\t\\tif ( jQuery.contains( this, targets[ i ] ) ) {\\n\\t\\t\\t\\t\\treturn true;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t},\\n\\n\\tclosest: function( selectors, context ) {\\n\\t\\tvar cur,\\n\\t\\t\\ti = 0,\\n\\t\\t\\tl = this.length,\\n\\t\\t\\tmatched = [],\\n\\t\\t\\ttargets = typeof selectors !== \\\"string\\\" && jQuery( selectors );\\n\\n\\t\\t// Positional selectors never match, since there's no _selection_ context\\n\\t\\tif ( !rneedsContext.test( selectors ) ) {\\n\\t\\t\\tfor ( ; i < l; i++ ) {\\n\\t\\t\\t\\tfor ( cur = this[ i ]; cur && cur !== context; cur = cur.parentNode ) {\\n\\n\\t\\t\\t\\t\\t// Always skip document fragments\\n\\t\\t\\t\\t\\tif ( cur.nodeType < 11 && ( targets ?\\n\\t\\t\\t\\t\\t\\ttargets.index( cur ) > -1 :\\n\\n\\t\\t\\t\\t\\t\\t// Don't pass non-elements to Sizzle\\n\\t\\t\\t\\t\\t\\tcur.nodeType === 1 &&\\n\\t\\t\\t\\t\\t\\t\\tjQuery.find.matchesSelector( cur, selectors ) ) ) {\\n\\n\\t\\t\\t\\t\\t\\tmatched.push( cur );\\n\\t\\t\\t\\t\\t\\tbreak;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn this.pushStack( matched.length > 1 ? jQuery.uniqueSort( matched ) : matched );\\n\\t},\\n\\n\\t// Determine the position of an element within the set\\n\\tindex: function( elem ) {\\n\\n\\t\\t// No argument, return index in parent\\n\\t\\tif ( !elem ) {\\n\\t\\t\\treturn ( this[ 0 ] && this[ 0 ].parentNode ) ? this.first().prevAll().length : -1;\\n\\t\\t}\\n\\n\\t\\t// Index in selector\\n\\t\\tif ( typeof elem === \\\"string\\\" ) {\\n\\t\\t\\treturn indexOf.call( jQuery( elem ), this[ 0 ] );\\n\\t\\t}\\n\\n\\t\\t// Locate the position of the desired element\\n\\t\\treturn indexOf.call( this,\\n\\n\\t\\t\\t// If it receives a jQuery object, the first element is used\\n\\t\\t\\telem.jquery ? elem[ 0 ] : elem\\n\\t\\t);\\n\\t},\\n\\n\\tadd: function( selector, context ) {\\n\\t\\treturn this.pushStack(\\n\\t\\t\\tjQuery.uniqueSort(\\n\\t\\t\\t\\tjQuery.merge( this.get(), jQuery( selector, context ) )\\n\\t\\t\\t)\\n\\t\\t);\\n\\t},\\n\\n\\taddBack: function( selector ) {\\n\\t\\treturn this.add( selector == null ?\\n\\t\\t\\tthis.prevObject : this.prevObject.filter( selector )\\n\\t\\t);\\n\\t}\\n} );\\n\\nfunction sibling( cur, dir ) {\\n\\twhile ( ( cur = cur[ dir ] ) && cur.nodeType !== 1 ) {}\\n\\treturn cur;\\n}\\n\\njQuery.each( {\\n\\tparent: function( elem ) {\\n\\t\\tvar parent = elem.parentNode;\\n\\t\\treturn parent && parent.nodeType !== 11 ? parent : null;\\n\\t},\\n\\tparents: function( elem ) {\\n\\t\\treturn dir( elem, \\\"parentNode\\\" );\\n\\t},\\n\\tparentsUntil: function( elem, i, until ) {\\n\\t\\treturn dir( elem, \\\"parentNode\\\", until );\\n\\t},\\n\\tnext: function( elem ) {\\n\\t\\treturn sibling( elem, \\\"nextSibling\\\" );\\n\\t},\\n\\tprev: function( elem ) {\\n\\t\\treturn sibling( elem, \\\"previousSibling\\\" );\\n\\t},\\n\\tnextAll: function( elem ) {\\n\\t\\treturn dir( elem, \\\"nextSibling\\\" );\\n\\t},\\n\\tprevAll: function( elem ) {\\n\\t\\treturn dir( elem, \\\"previousSibling\\\" );\\n\\t},\\n\\tnextUntil: function( elem, i, until ) {\\n\\t\\treturn dir( elem, \\\"nextSibling\\\", until );\\n\\t},\\n\\tprevUntil: function( elem, i, until ) {\\n\\t\\treturn dir( elem, \\\"previousSibling\\\", until );\\n\\t},\\n\\tsiblings: function( elem ) {\\n\\t\\treturn siblings( ( elem.parentNode || {} ).firstChild, elem );\\n\\t},\\n\\tchildren: function( elem ) {\\n\\t\\treturn siblings( elem.firstChild );\\n\\t},\\n\\tcontents: function( elem ) {\\n if ( nodeName( elem, \\\"iframe\\\" ) ) {\\n return elem.contentDocument;\\n }\\n\\n // Support: IE 9 - 11 only, iOS 7 only, Android Browser <=4.3 only\\n // Treat the template element as a regular one in browsers that\\n // don't support it.\\n if ( nodeName( elem, \\\"template\\\" ) ) {\\n elem = elem.content || elem;\\n }\\n\\n return jQuery.merge( [], elem.childNodes );\\n\\t}\\n}, function( name, fn ) {\\n\\tjQuery.fn[ name ] = function( until, selector ) {\\n\\t\\tvar matched = jQuery.map( this, fn, until );\\n\\n\\t\\tif ( name.slice( -5 ) !== \\\"Until\\\" ) {\\n\\t\\t\\tselector = until;\\n\\t\\t}\\n\\n\\t\\tif ( selector && typeof selector === \\\"string\\\" ) {\\n\\t\\t\\tmatched = jQuery.filter( selector, matched );\\n\\t\\t}\\n\\n\\t\\tif ( this.length > 1 ) {\\n\\n\\t\\t\\t// Remove duplicates\\n\\t\\t\\tif ( !guaranteedUnique[ name ] ) {\\n\\t\\t\\t\\tjQuery.uniqueSort( matched );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Reverse order for parents* and prev-derivatives\\n\\t\\t\\tif ( rparentsprev.test( name ) ) {\\n\\t\\t\\t\\tmatched.reverse();\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn this.pushStack( matched );\\n\\t};\\n} );\\nvar rnothtmlwhite = ( /[^\\\\x20\\\\t\\\\r\\\\n\\\\f]+/g );\\n\\n\\n\\n// Convert String-formatted options into Object-formatted ones\\nfunction createOptions( options ) {\\n\\tvar object = {};\\n\\tjQuery.each( options.match( rnothtmlwhite ) || [], function( _, flag ) {\\n\\t\\tobject[ flag ] = true;\\n\\t} );\\n\\treturn object;\\n}\\n\\n/*\\n * Create a callback list using the following parameters:\\n *\\n *\\toptions: an optional list of space-separated options that will change how\\n *\\t\\t\\tthe callback list behaves or a more traditional option object\\n *\\n * By default a callback list will act like an event callback list and can be\\n * \\\"fired\\\" multiple times.\\n *\\n * Possible options:\\n *\\n *\\tonce:\\t\\t\\twill ensure the callback list can only be fired once (like a Deferred)\\n *\\n *\\tmemory:\\t\\t\\twill keep track of previous values and will call any callback added\\n *\\t\\t\\t\\t\\tafter the list has been fired right away with the latest \\\"memorized\\\"\\n *\\t\\t\\t\\t\\tvalues (like a Deferred)\\n *\\n *\\tunique:\\t\\t\\twill ensure a callback can only be added once (no duplicate in the list)\\n *\\n *\\tstopOnFalse:\\tinterrupt callings when a callback returns false\\n *\\n */\\njQuery.Callbacks = function( options ) {\\n\\n\\t// Convert options from String-formatted to Object-formatted if needed\\n\\t// (we check in cache first)\\n\\toptions = typeof options === \\\"string\\\" ?\\n\\t\\tcreateOptions( options ) :\\n\\t\\tjQuery.extend( {}, options );\\n\\n\\tvar // Flag to know if list is currently firing\\n\\t\\tfiring,\\n\\n\\t\\t// Last fire value for non-forgettable lists\\n\\t\\tmemory,\\n\\n\\t\\t// Flag to know if list was already fired\\n\\t\\tfired,\\n\\n\\t\\t// Flag to prevent firing\\n\\t\\tlocked,\\n\\n\\t\\t// Actual callback list\\n\\t\\tlist = [],\\n\\n\\t\\t// Queue of execution data for repeatable lists\\n\\t\\tqueue = [],\\n\\n\\t\\t// Index of currently firing callback (modified by add/remove as needed)\\n\\t\\tfiringIndex = -1,\\n\\n\\t\\t// Fire callbacks\\n\\t\\tfire = function() {\\n\\n\\t\\t\\t// Enforce single-firing\\n\\t\\t\\tlocked = locked || options.once;\\n\\n\\t\\t\\t// Execute callbacks for all pending executions,\\n\\t\\t\\t// respecting firingIndex overrides and runtime changes\\n\\t\\t\\tfired = firing = true;\\n\\t\\t\\tfor ( ; queue.length; firingIndex = -1 ) {\\n\\t\\t\\t\\tmemory = queue.shift();\\n\\t\\t\\t\\twhile ( ++firingIndex < list.length ) {\\n\\n\\t\\t\\t\\t\\t// Run callback and check for early termination\\n\\t\\t\\t\\t\\tif ( list[ firingIndex ].apply( memory[ 0 ], memory[ 1 ] ) === false &&\\n\\t\\t\\t\\t\\t\\toptions.stopOnFalse ) {\\n\\n\\t\\t\\t\\t\\t\\t// Jump to end and forget the data so .add doesn't re-fire\\n\\t\\t\\t\\t\\t\\tfiringIndex = list.length;\\n\\t\\t\\t\\t\\t\\tmemory = false;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Forget the data if we're done with it\\n\\t\\t\\tif ( !options.memory ) {\\n\\t\\t\\t\\tmemory = false;\\n\\t\\t\\t}\\n\\n\\t\\t\\tfiring = false;\\n\\n\\t\\t\\t// Clean up if we're done firing for good\\n\\t\\t\\tif ( locked ) {\\n\\n\\t\\t\\t\\t// Keep an empty list if we have data for future add calls\\n\\t\\t\\t\\tif ( memory ) {\\n\\t\\t\\t\\t\\tlist = [];\\n\\n\\t\\t\\t\\t// Otherwise, this object is spent\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tlist = \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t},\\n\\n\\t\\t// Actual Callbacks object\\n\\t\\tself = {\\n\\n\\t\\t\\t// Add a callback or a collection of callbacks to the list\\n\\t\\t\\tadd: function() {\\n\\t\\t\\t\\tif ( list ) {\\n\\n\\t\\t\\t\\t\\t// If we have memory from a past run, we should fire after adding\\n\\t\\t\\t\\t\\tif ( memory && !firing ) {\\n\\t\\t\\t\\t\\t\\tfiringIndex = list.length - 1;\\n\\t\\t\\t\\t\\t\\tqueue.push( memory );\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t( function add( args ) {\\n\\t\\t\\t\\t\\t\\tjQuery.each( args, function( _, arg ) {\\n\\t\\t\\t\\t\\t\\t\\tif ( jQuery.isFunction( arg ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( !options.unique || !self.has( arg ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tlist.push( arg );\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t} else if ( arg && arg.length && jQuery.type( arg ) !== \\\"string\\\" ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Inspect recursively\\n\\t\\t\\t\\t\\t\\t\\t\\tadd( arg );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t} )( arguments );\\n\\n\\t\\t\\t\\t\\tif ( memory && !firing ) {\\n\\t\\t\\t\\t\\t\\tfire();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Remove a callback from the list\\n\\t\\t\\tremove: function() {\\n\\t\\t\\t\\tjQuery.each( arguments, function( _, arg ) {\\n\\t\\t\\t\\t\\tvar index;\\n\\t\\t\\t\\t\\twhile ( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) {\\n\\t\\t\\t\\t\\t\\tlist.splice( index, 1 );\\n\\n\\t\\t\\t\\t\\t\\t// Handle firing indexes\\n\\t\\t\\t\\t\\t\\tif ( index <= firingIndex ) {\\n\\t\\t\\t\\t\\t\\t\\tfiringIndex--;\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t} );\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Check if a given callback is in the list.\\n\\t\\t\\t// If no argument is given, return whether or not list has callbacks attached.\\n\\t\\t\\thas: function( fn ) {\\n\\t\\t\\t\\treturn fn ?\\n\\t\\t\\t\\t\\tjQuery.inArray( fn, list ) > -1 :\\n\\t\\t\\t\\t\\tlist.length > 0;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Remove all callbacks from the list\\n\\t\\t\\tempty: function() {\\n\\t\\t\\t\\tif ( list ) {\\n\\t\\t\\t\\t\\tlist = [];\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Disable .fire and .add\\n\\t\\t\\t// Abort any current/pending executions\\n\\t\\t\\t// Clear all callbacks and values\\n\\t\\t\\tdisable: function() {\\n\\t\\t\\t\\tlocked = queue = [];\\n\\t\\t\\t\\tlist = memory = \\\"\\\";\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\t\\t\\tdisabled: function() {\\n\\t\\t\\t\\treturn !list;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Disable .fire\\n\\t\\t\\t// Also disable .add unless we have memory (since it would have no effect)\\n\\t\\t\\t// Abort any pending executions\\n\\t\\t\\tlock: function() {\\n\\t\\t\\t\\tlocked = queue = [];\\n\\t\\t\\t\\tif ( !memory && !firing ) {\\n\\t\\t\\t\\t\\tlist = memory = \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\t\\t\\tlocked: function() {\\n\\t\\t\\t\\treturn !!locked;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Call all callbacks with the given context and arguments\\n\\t\\t\\tfireWith: function( context, args ) {\\n\\t\\t\\t\\tif ( !locked ) {\\n\\t\\t\\t\\t\\targs = args || [];\\n\\t\\t\\t\\t\\targs = [ context, args.slice ? args.slice() : args ];\\n\\t\\t\\t\\t\\tqueue.push( args );\\n\\t\\t\\t\\t\\tif ( !firing ) {\\n\\t\\t\\t\\t\\t\\tfire();\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// Call all the callbacks with the given arguments\\n\\t\\t\\tfire: function() {\\n\\t\\t\\t\\tself.fireWith( this, arguments );\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t},\\n\\n\\t\\t\\t// To know if the callbacks have already been called at least once\\n\\t\\t\\tfired: function() {\\n\\t\\t\\t\\treturn !!fired;\\n\\t\\t\\t}\\n\\t\\t};\\n\\n\\treturn self;\\n};\\n\\n\\nfunction Identity( v ) {\\n\\treturn v;\\n}\\nfunction Thrower( ex ) {\\n\\tthrow ex;\\n}\\n\\nfunction adoptValue( value, resolve, reject, noValue ) {\\n\\tvar method;\\n\\n\\ttry {\\n\\n\\t\\t// Check for promise aspect first to privilege synchronous behavior\\n\\t\\tif ( value && jQuery.isFunction( ( method = value.promise ) ) ) {\\n\\t\\t\\tmethod.call( value ).done( resolve ).fail( reject );\\n\\n\\t\\t// Other thenables\\n\\t\\t} else if ( value && jQuery.isFunction( ( method = value.then ) ) ) {\\n\\t\\t\\tmethod.call( value, resolve, reject );\\n\\n\\t\\t// Other non-thenables\\n\\t\\t} else {\\n\\n\\t\\t\\t// Control `resolve` arguments by letting Array#slice cast boolean `noValue` to integer:\\n\\t\\t\\t// * false: [ value ].slice( 0 ) => resolve( value )\\n\\t\\t\\t// * true: [ value ].slice( 1 ) => resolve()\\n\\t\\t\\tresolve.apply( undefined, [ value ].slice( noValue ) );\\n\\t\\t}\\n\\n\\t// For Promises/A+, convert exceptions into rejections\\n\\t// Since jQuery.when doesn't unwrap thenables, we can skip the extra checks appearing in\\n\\t// Deferred#then to conditionally suppress rejection.\\n\\t} catch ( value ) {\\n\\n\\t\\t// Support: Android 4.0 only\\n\\t\\t// Strict mode functions invoked without .call/.apply get global-object context\\n\\t\\treject.apply( undefined, [ value ] );\\n\\t}\\n}\\n\\njQuery.extend( {\\n\\n\\tDeferred: function( func ) {\\n\\t\\tvar tuples = [\\n\\n\\t\\t\\t\\t// action, add listener, callbacks,\\n\\t\\t\\t\\t// ... .then handlers, argument index, [final state]\\n\\t\\t\\t\\t[ \\\"notify\\\", \\\"progress\\\", jQuery.Callbacks( \\\"memory\\\" ),\\n\\t\\t\\t\\t\\tjQuery.Callbacks( \\\"memory\\\" ), 2 ],\\n\\t\\t\\t\\t[ \\\"resolve\\\", \\\"done\\\", jQuery.Callbacks( \\\"once memory\\\" ),\\n\\t\\t\\t\\t\\tjQuery.Callbacks( \\\"once memory\\\" ), 0, \\\"resolved\\\" ],\\n\\t\\t\\t\\t[ \\\"reject\\\", \\\"fail\\\", jQuery.Callbacks( \\\"once memory\\\" ),\\n\\t\\t\\t\\t\\tjQuery.Callbacks( \\\"once memory\\\" ), 1, \\\"rejected\\\" ]\\n\\t\\t\\t],\\n\\t\\t\\tstate = \\\"pending\\\",\\n\\t\\t\\tpromise = {\\n\\t\\t\\t\\tstate: function() {\\n\\t\\t\\t\\t\\treturn state;\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\talways: function() {\\n\\t\\t\\t\\t\\tdeferred.done( arguments ).fail( arguments );\\n\\t\\t\\t\\t\\treturn this;\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\t\\\"catch\\\": function( fn ) {\\n\\t\\t\\t\\t\\treturn promise.then( null, fn );\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t// Keep pipe for back-compat\\n\\t\\t\\t\\tpipe: function( /* fnDone, fnFail, fnProgress */ ) {\\n\\t\\t\\t\\t\\tvar fns = arguments;\\n\\n\\t\\t\\t\\t\\treturn jQuery.Deferred( function( newDefer ) {\\n\\t\\t\\t\\t\\t\\tjQuery.each( tuples, function( i, tuple ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t// Map tuples (progress, done, fail) to arguments (done, fail, progress)\\n\\t\\t\\t\\t\\t\\t\\tvar fn = jQuery.isFunction( fns[ tuple[ 4 ] ] ) && fns[ tuple[ 4 ] ];\\n\\n\\t\\t\\t\\t\\t\\t\\t// deferred.progress(function() { bind to newDefer or newDefer.notify })\\n\\t\\t\\t\\t\\t\\t\\t// deferred.done(function() { bind to newDefer or newDefer.resolve })\\n\\t\\t\\t\\t\\t\\t\\t// deferred.fail(function() { bind to newDefer or newDefer.reject })\\n\\t\\t\\t\\t\\t\\t\\tdeferred[ tuple[ 1 ] ]( function() {\\n\\t\\t\\t\\t\\t\\t\\t\\tvar returned = fn && fn.apply( this, arguments );\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( returned && jQuery.isFunction( returned.promise ) ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\treturned.promise()\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t.progress( newDefer.notify )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t.done( newDefer.resolve )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t.fail( newDefer.reject );\\n\\t\\t\\t\\t\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tnewDefer[ tuple[ 0 ] + \\\"With\\\" ](\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthis,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tfn ? [ returned ] : arguments\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t\\t\\tfns = null;\\n\\t\\t\\t\\t\\t} ).promise();\\n\\t\\t\\t\\t},\\n\\t\\t\\t\\tthen: function( onFulfilled, onRejected, onProgress ) {\\n\\t\\t\\t\\t\\tvar maxDepth = 0;\\n\\t\\t\\t\\t\\tfunction resolve( depth, deferred, handler, special ) {\\n\\t\\t\\t\\t\\t\\treturn function() {\\n\\t\\t\\t\\t\\t\\t\\tvar that = this,\\n\\t\\t\\t\\t\\t\\t\\t\\targs = arguments,\\n\\t\\t\\t\\t\\t\\t\\t\\tmightThrow = function() {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tvar returned, then;\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.3.3.3\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-59\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Ignore double-resolution attempts\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( depth < maxDepth ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturn;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\treturned = handler.apply( that, args );\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.1\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-48\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( returned === deferred.promise() ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthrow new TypeError( \\\"Thenable self-resolution\\\" );\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ sections 2.3.3.1, 3.5\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-54\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-75\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Retrieve `then` only once\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tthen = returned &&\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.4\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-64\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Only check objects and functions for thenability\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t( typeof returned === \\\"object\\\" ||\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttypeof returned === \\\"function\\\" ) &&\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturned.then;\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Handle a returned thenable\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( jQuery.isFunction( then ) ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Special processors (notify) just wait for resolution\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( special ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthen.call(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturned,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Identity, special ),\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Thrower, special )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Normal processors (resolve) also hook into progress\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// ...and disregard older resolution values\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tmaxDepth++;\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthen.call(\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\treturned,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Identity, special ),\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Thrower, special ),\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tresolve( maxDepth, deferred, Identity,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdeferred.notifyWith )\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t// Handle all other returned values\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Only substitute handlers pass on context\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// and multiple values (non-spec behavior)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( handler !== Identity ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthat = undefined;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\targs = [ returned ];\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Process the value(s)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Default process is resolve\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t( special || deferred.resolveWith )( that, args );\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Only normal processors (resolve) catch and reject exceptions\\n\\t\\t\\t\\t\\t\\t\\t\\tprocess = special ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tmightThrow :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tfunction() {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\ttry {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tmightThrow();\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t} catch ( e ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( jQuery.Deferred.exceptionHook ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tjQuery.Deferred.exceptionHook( e,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tprocess.stackTrace );\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.3.3.4.1\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-61\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Ignore post-resolution exceptions\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( depth + 1 >= maxDepth ) {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// Only substitute handlers pass on context\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t// and multiple values (non-spec behavior)\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tif ( handler !== Thrower ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tthat = undefined;\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\targs = [ e ];\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tdeferred.rejectWith( that, args );\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t};\\n\\n\\t\\t\\t\\t\\t\\t\\t// Support: Promises/A+ section 2.3.3.3.1\\n\\t\\t\\t\\t\\t\\t\\t// https://promisesaplus.com/#point-57\\n\\t\\t\\t\\t\\t\\t\\t// Re-resolve promises immediately to dodge false rejection from\\n\\t\\t\\t\\t\\t\\t\\t// subsequent errors\\n\\t\\t\\t\\t\\t\\t\\tif ( depth ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tprocess();\\n\\t\\t\\t\\t\\t\\t\\t} else {\\n\\n\\t\\t\\t\\t\\t\\t\\t\\t// Call an optional hook to record the stack, in case of exception\\n\\t\\t\\t\\t\\t\\t\\t\\t// since it's otherwise lost when execution goes async\\n\\t\\t\\t\\t\\t\\t\\t\\tif ( jQuery.Deferred.getStackHook ) {\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tprocess.stackTrace = jQuery.Deferred.getStackHook();\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t\\t\\twindow.setTimeout( process );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t};\\n\\t\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t\\treturn jQuery.Deferred( function( newDefer ) {\\n\\n\\t\\t\\t\\t\\t\\t// progress_handlers.add( ... )\\n\\t\\t\\t\\t\\t\\ttuples[ 0 ][ 3 ].add(\\n\\t\\t\\t\\t\\t\\t\\tresolve(\\n\\t\\t\\t\\t\\t\\t\\t\\t0,\\n\\t\\t\\t\\t\\t\\t\\t\\tnewDefer,\\n\\t\\t\\t\\t\\t\\t\\t\\tjQuery.isFunction( onProgress ) ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tonProgress :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tIdentity,\\n\\t\\t\\t\\t\\t\\t\\t\\tnewDefer.notifyWith\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t\\t\\t// fulfilled_handlers.add( ... )\\n\\t\\t\\t\\t\\t\\ttuples[ 1 ][ 3 ].add(\\n\\t\\t\\t\\t\\t\\t\\tresolve(\\n\\t\\t\\t\\t\\t\\t\\t\\t0,\\n\\t\\t\\t\\t\\t\\t\\t\\tnewDefer,\\n\\t\\t\\t\\t\\t\\t\\t\\tjQuery.isFunction( onFulfilled ) ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tonFulfilled :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tIdentity\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t);\\n\\n\\t\\t\\t\\t\\t\\t// rejected_handlers.add( ... )\\n\\t\\t\\t\\t\\t\\ttuples[ 2 ][ 3 ].add(\\n\\t\\t\\t\\t\\t\\t\\tresolve(\\n\\t\\t\\t\\t\\t\\t\\t\\t0,\\n\\t\\t\\t\\t\\t\\t\\t\\tnewDefer,\\n\\t\\t\\t\\t\\t\\t\\t\\tjQuery.isFunction( onRejected ) ?\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tonRejected :\\n\\t\\t\\t\\t\\t\\t\\t\\t\\tThrower\\n\\t\\t\\t\\t\\t\\t\\t)\\n\\t\\t\\t\\t\\t\\t);\\n\\t\\t\\t\\t\\t} ).promise();\\n\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t// Get a promise for this deferred\\n\\t\\t\\t\\t// If obj is provided, the promise aspect is added to the object\\n\\t\\t\\t\\tpromise: function( obj ) {\\n\\t\\t\\t\\t\\treturn obj != null ? jQuery.extend( obj, promise ) : promise;\\n\\t\\t\\t\\t}\\n\\t\\t\\t},\\n\\t\\t\\tdeferred = {};\\n\\n\\t\\t// Add list-specific methods\\n\\t\\tjQuery.each( tuples, function( i, tuple ) {\\n\\t\\t\\tvar list = tuple[ 2 ],\\n\\t\\t\\t\\tstateString = tuple[ 5 ];\\n\\n\\t\\t\\t// promise.progress = list.add\\n\\t\\t\\t// promise.done = list.add\\n\\t\\t\\t// promise.fail = list.add\\n\\t\\t\\tpromise[ tuple[ 1 ] ] = list.add;\\n\\n\\t\\t\\t// Handle state\\n\\t\\t\\tif ( stateString ) {\\n\\t\\t\\t\\tlist.add(\\n\\t\\t\\t\\t\\tfunction() {\\n\\n\\t\\t\\t\\t\\t\\t// state = \\\"resolved\\\" (i.e., fulfilled)\\n\\t\\t\\t\\t\\t\\t// state = \\\"rejected\\\"\\n\\t\\t\\t\\t\\t\\tstate = stateString;\\n\\t\\t\\t\\t\\t},\\n\\n\\t\\t\\t\\t\\t// rejected_callbacks.disable\\n\\t\\t\\t\\t\\t// fulfilled_callbacks.disable\\n\\t\\t\\t\\t\\ttuples[ 3 - i ][ 2 ].disable,\\n\\n\\t\\t\\t\\t\\t// progress_callbacks.lock\\n\\t\\t\\t\\t\\ttuples[ 0 ][ 2 ].lock\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\n\\t\\t\\t// progress_handlers.fire\\n\\t\\t\\t// fulfilled_handlers.fire\\n\\t\\t\\t// rejected_handlers.fire\\n\\t\\t\\tlist.add( tuple[ 3 ].fire );\\n\\n\\t\\t\\t// deferred.notify = function() { deferred.notifyWith(...) }\\n\\t\\t\\t// deferred.resolve = function() { deferred.resolveWith(...) }\\n\\t\\t\\t// deferred.reject = function() { deferred.rejectWith(...) }\\n\\t\\t\\tdeferred[ tuple[ 0 ] ] = function() {\\n\\t\\t\\t\\tdeferred[ tuple[ 0 ] + \\\"With\\\" ]( this === deferred ? undefined : this, arguments );\\n\\t\\t\\t\\treturn this;\\n\\t\\t\\t};\\n\\n\\t\\t\\t// deferred.notifyWith = list.fireWith\\n\\t\\t\\t// deferred.resolveWith = list.fireWith\\n\\t\\t\\t// deferred.rejectWith = list.fireWith\\n\\t\\t\\tdeferred[ tuple[ 0 ] + \\\"With\\\" ] = list.fireWith;\\n\\t\\t} );\\n\\n\\t\\t// Make the deferred a promise\\n\\t\\tpromise.promise( deferred );\\n\\n\\t\\t// Call given func if any\\n\\t\\tif ( func ) {\\n\\t\\t\\tfunc.call( deferred, deferred );\\n\\t\\t}\\n\\n\\t\\t// All done!\\n\\t\\treturn deferred;\\n\\t},\\n\\n\\t// Deferred helper\\n\\twhen: function( singleValue ) {\\n\\t\\tvar\\n\\n\\t\\t\\t// count of uncompleted subordinates\\n\\t\\t\\tremaining = arguments.length,\\n\\n\\t\\t\\t// count of unprocessed arguments\\n\\t\\t\\ti = remaining,\\n\\n\\t\\t\\t// subordinate fulfillment data\\n\\t\\t\\tresolveContexts = Array( i ),\\n\\t\\t\\tresolveValues = slice.call( arguments ),\\n\\n\\t\\t\\t// the master Deferred\\n\\t\\t\\tmaster = jQuery.Deferred(),\\n\\n\\t\\t\\t// subordinate callback factory\\n\\t\\t\\tupdateFunc = function( i ) {\\n\\t\\t\\t\\treturn function( value ) {\\n\\t\\t\\t\\t\\tresolveContexts[ i ] = this;\\n\\t\\t\\t\\t\\tresolveValues[ i ] = arguments.length > 1 ? slice.call( arguments ) : value;\\n\\t\\t\\t\\t\\tif ( !( --remaining ) ) {\\n\\t\\t\\t\\t\\t\\tmaster.resolveWith( resolveContexts, resolveValues );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t};\\n\\t\\t\\t};\\n\\n\\t\\t// Single- and empty arguments are adopted like Promise.resolve\\n\\t\\tif ( remaining <= 1 ) {\\n\\t\\t\\tadoptValue( singleValue, master.done( updateFunc( i ) ).resolve, master.reject,\\n\\t\\t\\t\\t!remaining );\\n\\n\\t\\t\\t// Use .then() to unwrap secondary thenables (cf. gh-3000)\\n\\t\\t\\tif ( master.state() === \\\"pending\\\" ||\\n\\t\\t\\t\\tjQuery.isFunction( resolveValues[ i ] && resolveValues[ i ].then ) ) {\\n\\n\\t\\t\\t\\treturn master.then();\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Multiple arguments are aggregated like Promise.all array elements\\n\\t\\twhile ( i-- ) {\\n\\t\\t\\tadoptValue( resolveValues[ i ], updateFunc( i ), master.reject );\\n\\t\\t}\\n\\n\\t\\treturn master.promise();\\n\\t}\\n} );\\n\\n\\n// These usually indicate a programmer mistake during development,\\n// warn about them ASAP rather than swallowing them by default.\\nvar rerrorNames = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;\\n\\njQuery.Deferred.exceptionHook = function( error, stack ) {\\n\\n\\t// Support: IE 8 - 9 only\\n\\t// Console exists when dev tools are open, which can happen at any time\\n\\tif ( window.console && window.console.warn && error && rerrorNames.test( error.name ) ) {\\n\\t\\twindow.console.warn( \\\"jQuery.Deferred exception: \\\" + error.message, error.stack, stack );\\n\\t}\\n};\\n\\n\\n\\n\\njQuery.readyException = function( error ) {\\n\\twindow.setTimeout( function() {\\n\\t\\tthrow error;\\n\\t} );\\n};\\n\\n\\n\\n\\n// The deferred used on DOM ready\\nvar readyList = jQuery.Deferred();\\n\\njQuery.fn.ready = function( fn ) {\\n\\n\\treadyList\\n\\t\\t.then( fn )\\n\\n\\t\\t// Wrap jQuery.readyException in a function so that the lookup\\n\\t\\t// happens at the time of error handling instead of callback\\n\\t\\t// registration.\\n\\t\\t.catch( function( error ) {\\n\\t\\t\\tjQuery.readyException( error );\\n\\t\\t} );\\n\\n\\treturn this;\\n};\\n\\njQuery.extend( {\\n\\n\\t// Is the DOM ready to be used? Set to true once it occurs.\\n\\tisReady: false,\\n\\n\\t// A counter to track how many items to wait for before\\n\\t// the ready event fires. See #6781\\n\\treadyWait: 1,\\n\\n\\t// Handle when the DOM is ready\\n\\tready: function( wait ) {\\n\\n\\t\\t// Abort if there are pending holds or we're already ready\\n\\t\\tif ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Remember that the DOM is ready\\n\\t\\tjQuery.isReady = true;\\n\\n\\t\\t// If a normal DOM Ready event fired, decrement, and wait if need be\\n\\t\\tif ( wait !== true && --jQuery.readyWait > 0 ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// If there are functions bound, to execute\\n\\t\\treadyList.resolveWith( document, [ jQuery ] );\\n\\t}\\n} );\\n\\njQuery.ready.then = readyList.then;\\n\\n// The ready event handler and self cleanup method\\nfunction completed() {\\n\\tdocument.removeEventListener( \\\"DOMContentLoaded\\\", completed );\\n\\twindow.removeEventListener( \\\"load\\\", completed );\\n\\tjQuery.ready();\\n}\\n\\n// Catch cases where $(document).ready() is called\\n// after the browser event has already occurred.\\n// Support: IE <=9 - 10 only\\n// Older IE sometimes signals \\\"interactive\\\" too soon\\nif ( document.readyState === \\\"complete\\\" ||\\n\\t( document.readyState !== \\\"loading\\\" && !document.documentElement.doScroll ) ) {\\n\\n\\t// Handle it asynchronously to allow scripts the opportunity to delay ready\\n\\twindow.setTimeout( jQuery.ready );\\n\\n} else {\\n\\n\\t// Use the handy event callback\\n\\tdocument.addEventListener( \\\"DOMContentLoaded\\\", completed );\\n\\n\\t// A fallback to window.onload, that will always work\\n\\twindow.addEventListener( \\\"load\\\", completed );\\n}\\n\\n\\n\\n\\n// Multifunctional method to get and set values of a collection\\n// The value/s can optionally be executed if it's a function\\nvar access = function( elems, fn, key, value, chainable, emptyGet, raw ) {\\n\\tvar i = 0,\\n\\t\\tlen = elems.length,\\n\\t\\tbulk = key == null;\\n\\n\\t// Sets many values\\n\\tif ( jQuery.type( key ) === \\\"object\\\" ) {\\n\\t\\tchainable = true;\\n\\t\\tfor ( i in key ) {\\n\\t\\t\\taccess( elems, fn, i, key[ i ], true, emptyGet, raw );\\n\\t\\t}\\n\\n\\t// Sets one value\\n\\t} else if ( value !== undefined ) {\\n\\t\\tchainable = true;\\n\\n\\t\\tif ( !jQuery.isFunction( value ) ) {\\n\\t\\t\\traw = true;\\n\\t\\t}\\n\\n\\t\\tif ( bulk ) {\\n\\n\\t\\t\\t// Bulk operations run against the entire set\\n\\t\\t\\tif ( raw ) {\\n\\t\\t\\t\\tfn.call( elems, value );\\n\\t\\t\\t\\tfn = null;\\n\\n\\t\\t\\t// ...except when executing function values\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tbulk = fn;\\n\\t\\t\\t\\tfn = function( elem, key, value ) {\\n\\t\\t\\t\\t\\treturn bulk.call( jQuery( elem ), value );\\n\\t\\t\\t\\t};\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\tif ( fn ) {\\n\\t\\t\\tfor ( ; i < len; i++ ) {\\n\\t\\t\\t\\tfn(\\n\\t\\t\\t\\t\\telems[ i ], key, raw ?\\n\\t\\t\\t\\t\\tvalue :\\n\\t\\t\\t\\t\\tvalue.call( elems[ i ], i, fn( elems[ i ], key ) )\\n\\t\\t\\t\\t);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\tif ( chainable ) {\\n\\t\\treturn elems;\\n\\t}\\n\\n\\t// Gets\\n\\tif ( bulk ) {\\n\\t\\treturn fn.call( elems );\\n\\t}\\n\\n\\treturn len ? fn( elems[ 0 ], key ) : emptyGet;\\n};\\nvar acceptData = function( owner ) {\\n\\n\\t// Accepts only:\\n\\t// - Node\\n\\t// - Node.ELEMENT_NODE\\n\\t// - Node.DOCUMENT_NODE\\n\\t// - Object\\n\\t// - Any\\n\\treturn owner.nodeType === 1 || owner.nodeType === 9 || !( +owner.nodeType );\\n};\\n\\n\\n\\n\\nfunction Data() {\\n\\tthis.expando = jQuery.expando + Data.uid++;\\n}\\n\\nData.uid = 1;\\n\\nData.prototype = {\\n\\n\\tcache: function( owner ) {\\n\\n\\t\\t// Check if the owner object already has a cache\\n\\t\\tvar value = owner[ this.expando ];\\n\\n\\t\\t// If not, create one\\n\\t\\tif ( !value ) {\\n\\t\\t\\tvalue = {};\\n\\n\\t\\t\\t// We can accept data for non-element nodes in modern browsers,\\n\\t\\t\\t// but we should not, see #8335.\\n\\t\\t\\t// Always return an empty object.\\n\\t\\t\\tif ( acceptData( owner ) ) {\\n\\n\\t\\t\\t\\t// If it is a node unlikely to be stringify-ed or looped over\\n\\t\\t\\t\\t// use plain assignment\\n\\t\\t\\t\\tif ( owner.nodeType ) {\\n\\t\\t\\t\\t\\towner[ this.expando ] = value;\\n\\n\\t\\t\\t\\t// Otherwise secure it in a non-enumerable property\\n\\t\\t\\t\\t// configurable must be true to allow the property to be\\n\\t\\t\\t\\t// deleted when data is removed\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tObject.defineProperty( owner, this.expando, {\\n\\t\\t\\t\\t\\t\\tvalue: value,\\n\\t\\t\\t\\t\\t\\tconfigurable: true\\n\\t\\t\\t\\t\\t} );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\treturn value;\\n\\t},\\n\\tset: function( owner, data, value ) {\\n\\t\\tvar prop,\\n\\t\\t\\tcache = this.cache( owner );\\n\\n\\t\\t// Handle: [ owner, key, value ] args\\n\\t\\t// Always use camelCase key (gh-2257)\\n\\t\\tif ( typeof data === \\\"string\\\" ) {\\n\\t\\t\\tcache[ jQuery.camelCase( data ) ] = value;\\n\\n\\t\\t// Handle: [ owner, { properties } ] args\\n\\t\\t} else {\\n\\n\\t\\t\\t// Copy the properties one-by-one to the cache object\\n\\t\\t\\tfor ( prop in data ) {\\n\\t\\t\\t\\tcache[ jQuery.camelCase( prop ) ] = data[ prop ];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\treturn cache;\\n\\t},\\n\\tget: function( owner, key ) {\\n\\t\\treturn key === undefined ?\\n\\t\\t\\tthis.cache( owner ) :\\n\\n\\t\\t\\t// Always use camelCase key (gh-2257)\\n\\t\\t\\towner[ this.expando ] && owner[ this.expando ][ jQuery.camelCase( key ) ];\\n\\t},\\n\\taccess: function( owner, key, value ) {\\n\\n\\t\\t// In cases where either:\\n\\t\\t//\\n\\t\\t// 1. No key was specified\\n\\t\\t// 2. A string key was specified, but no value provided\\n\\t\\t//\\n\\t\\t// Take the \\\"read\\\" path and allow the get method to determine\\n\\t\\t// which value to return, respectively either:\\n\\t\\t//\\n\\t\\t// 1. The entire cache object\\n\\t\\t// 2. The data stored at the key\\n\\t\\t//\\n\\t\\tif ( key === undefined ||\\n\\t\\t\\t\\t( ( key && typeof key === \\\"string\\\" ) && value === undefined ) ) {\\n\\n\\t\\t\\treturn this.get( owner, key );\\n\\t\\t}\\n\\n\\t\\t// When the key is not a string, or both a key and value\\n\\t\\t// are specified, set or extend (existing objects) with either:\\n\\t\\t//\\n\\t\\t// 1. An object of properties\\n\\t\\t// 2. A key and value\\n\\t\\t//\\n\\t\\tthis.set( owner, key, value );\\n\\n\\t\\t// Since the \\\"set\\\" path can have two possible entry points\\n\\t\\t// return the expected data based on which path was taken[*]\\n\\t\\treturn value !== undefined ? value : key;\\n\\t},\\n\\tremove: function( owner, key ) {\\n\\t\\tvar i,\\n\\t\\t\\tcache = owner[ this.expando ];\\n\\n\\t\\tif ( cache === undefined ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\tif ( key !== undefined ) {\\n\\n\\t\\t\\t// Support array or space separated string of keys\\n\\t\\t\\tif ( Array.isArray( key ) ) {\\n\\n\\t\\t\\t\\t// If key is an array of keys...\\n\\t\\t\\t\\t// We always set camelCase keys, so remove that.\\n\\t\\t\\t\\tkey = key.map( jQuery.camelCase );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tkey = jQuery.camelCase( key );\\n\\n\\t\\t\\t\\t// If a key with the spaces exists, use it.\\n\\t\\t\\t\\t// Otherwise, create an array by matching non-whitespace\\n\\t\\t\\t\\tkey = key in cache ?\\n\\t\\t\\t\\t\\t[ key ] :\\n\\t\\t\\t\\t\\t( key.match( rnothtmlwhite ) || [] );\\n\\t\\t\\t}\\n\\n\\t\\t\\ti = key.length;\\n\\n\\t\\t\\twhile ( i-- ) {\\n\\t\\t\\t\\tdelete cache[ key[ i ] ];\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Remove the expando if there's no more data\\n\\t\\tif ( key === undefined || jQuery.isEmptyObject( cache ) ) {\\n\\n\\t\\t\\t// Support: Chrome <=35 - 45\\n\\t\\t\\t// Webkit & Blink performance suffers when deleting properties\\n\\t\\t\\t// from DOM nodes, so set to undefined instead\\n\\t\\t\\t// https://bugs.chromium.org/p/chromium/issues/detail?id=378607 (bug restricted)\\n\\t\\t\\tif ( owner.nodeType ) {\\n\\t\\t\\t\\towner[ this.expando ] = undefined;\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tdelete owner[ this.expando ];\\n\\t\\t\\t}\\n\\t\\t}\\n\\t},\\n\\thasData: function( owner ) {\\n\\t\\tvar cache = owner[ this.expando ];\\n\\t\\treturn cache !== undefined && !jQuery.isEmptyObject( cache );\\n\\t}\\n};\\nvar dataPriv = new Data();\\n\\nvar dataUser = new Data();\\n\\n\\n\\n//\\tImplementation Summary\\n//\\n//\\t1. Enforce API surface and semantic compatibility with 1.9.x branch\\n//\\t2. Improve the module's maintainability by reducing the storage\\n//\\t\\tpaths to a single mechanism.\\n//\\t3. Use the same single mechanism to support \\\"private\\\" and \\\"user\\\" data.\\n//\\t4. _Never_ expose \\\"private\\\" data to user code (TODO: Drop _data, _removeData)\\n//\\t5. Avoid exposing implementation details on user objects (eg. expando properties)\\n//\\t6. Provide a clear path for implementation upgrade to WeakMap in 2014\\n\\nvar rbrace = /^(?:\\\\{[\\\\w\\\\W]*\\\\}|\\\\[[\\\\w\\\\W]*\\\\])$/,\\n\\trmultiDash = /[A-Z]/g;\\n\\nfunction getData( data ) {\\n\\tif ( data === \\\"true\\\" ) {\\n\\t\\treturn true;\\n\\t}\\n\\n\\tif ( data === \\\"false\\\" ) {\\n\\t\\treturn false;\\n\\t}\\n\\n\\tif ( data === \\\"null\\\" ) {\\n\\t\\treturn null;\\n\\t}\\n\\n\\t// Only convert to a number if it doesn't change the string\\n\\tif ( data === +data + \\\"\\\" ) {\\n\\t\\treturn +data;\\n\\t}\\n\\n\\tif ( rbrace.test( data ) ) {\\n\\t\\treturn JSON.parse( data );\\n\\t}\\n\\n\\treturn data;\\n}\\n\\nfunction dataAttr( elem, key, data ) {\\n\\tvar name;\\n\\n\\t// If nothing was found internally, try to fetch any\\n\\t// data from the HTML5 data-* attribute\\n\\tif ( data === undefined && elem.nodeType === 1 ) {\\n\\t\\tname = \\\"data-\\\" + key.replace( rmultiDash, \\\"-$&\\\" ).toLowerCase();\\n\\t\\tdata = elem.getAttribute( name );\\n\\n\\t\\tif ( typeof data === \\\"string\\\" ) {\\n\\t\\t\\ttry {\\n\\t\\t\\t\\tdata = getData( data );\\n\\t\\t\\t} catch ( e ) {}\\n\\n\\t\\t\\t// Make sure we set the data so it isn't changed later\\n\\t\\t\\tdataUser.set( elem, key, data );\\n\\t\\t} else {\\n\\t\\t\\tdata = undefined;\\n\\t\\t}\\n\\t}\\n\\treturn data;\\n}\\n\\njQuery.extend( {\\n\\thasData: function( elem ) {\\n\\t\\treturn dataUser.hasData( elem ) || dataPriv.hasData( elem );\\n\\t},\\n\\n\\tdata: function( elem, name, data ) {\\n\\t\\treturn dataUser.access( elem, name, data );\\n\\t},\\n\\n\\tremoveData: function( elem, name ) {\\n\\t\\tdataUser.remove( elem, name );\\n\\t},\\n\\n\\t// TODO: Now that all calls to _data and _removeData have been replaced\\n\\t// with direct calls to dataPriv methods, these can be deprecated.\\n\\t_data: function( elem, name, data ) {\\n\\t\\treturn dataPriv.access( elem, name, data );\\n\\t},\\n\\n\\t_removeData: function( elem, name ) {\\n\\t\\tdataPriv.remove( elem, name );\\n\\t}\\n} );\\n\\njQuery.fn.extend( {\\n\\tdata: function( key, value ) {\\n\\t\\tvar i, name, data,\\n\\t\\t\\telem = this[ 0 ],\\n\\t\\t\\tattrs = elem && elem.attributes;\\n\\n\\t\\t// Gets all values\\n\\t\\tif ( key === undefined ) {\\n\\t\\t\\tif ( this.length ) {\\n\\t\\t\\t\\tdata = dataUser.get( elem );\\n\\n\\t\\t\\t\\tif ( elem.nodeType === 1 && !dataPriv.get( elem, \\\"hasDataAttrs\\\" ) ) {\\n\\t\\t\\t\\t\\ti = attrs.length;\\n\\t\\t\\t\\t\\twhile ( i-- ) {\\n\\n\\t\\t\\t\\t\\t\\t// Support: IE 11 only\\n\\t\\t\\t\\t\\t\\t// The attrs elements can be null (#14894)\\n\\t\\t\\t\\t\\t\\tif ( attrs[ i ] ) {\\n\\t\\t\\t\\t\\t\\t\\tname = attrs[ i ].name;\\n\\t\\t\\t\\t\\t\\t\\tif ( name.indexOf( \\\"data-\\\" ) === 0 ) {\\n\\t\\t\\t\\t\\t\\t\\t\\tname = jQuery.camelCase( name.slice( 5 ) );\\n\\t\\t\\t\\t\\t\\t\\t\\tdataAttr( elem, name, data[ name ] );\\n\\t\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tdataPriv.set( elem, \\\"hasDataAttrs\\\", true );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\treturn data;\\n\\t\\t}\\n\\n\\t\\t// Sets multiple values\\n\\t\\tif ( typeof key === \\\"object\\\" ) {\\n\\t\\t\\treturn this.each( function() {\\n\\t\\t\\t\\tdataUser.set( this, key );\\n\\t\\t\\t} );\\n\\t\\t}\\n\\n\\t\\treturn access( this, function( value ) {\\n\\t\\t\\tvar data;\\n\\n\\t\\t\\t// The calling jQuery object (element matches) is not empty\\n\\t\\t\\t// (and therefore has an element appears at this[ 0 ]) and the\\n\\t\\t\\t// `value` parameter was not undefined. An empty jQuery object\\n\\t\\t\\t// will result in `undefined` for elem = this[ 0 ] which will\\n\\t\\t\\t// throw an exception if an attempt to read a data cache is made.\\n\\t\\t\\tif ( elem && value === undefined ) {\\n\\n\\t\\t\\t\\t// Attempt to get data from the cache\\n\\t\\t\\t\\t// The key will always be camelCased in Data\\n\\t\\t\\t\\tdata = dataUser.get( elem, key );\\n\\t\\t\\t\\tif ( data !== undefined ) {\\n\\t\\t\\t\\t\\treturn data;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Attempt to \\\"discover\\\" the data in\\n\\t\\t\\t\\t// HTML5 custom data-* attrs\\n\\t\\t\\t\\tdata = dataAttr( elem, key );\\n\\t\\t\\t\\tif ( data !== undefined ) {\\n\\t\\t\\t\\t\\treturn data;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// We tried really hard, but the data doesn't exist.\\n\\t\\t\\t\\treturn;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Set the data...\\n\\t\\t\\tthis.each( function() {\\n\\n\\t\\t\\t\\t// We always store the camelCased key\\n\\t\\t\\t\\tdataUser.set( this, key, value );\\n\\t\\t\\t} );\\n\\t\\t}, null, value, arguments.length > 1, null, true );\\n\\t},\\n\\n\\tremoveData: function( key ) {\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tdataUser.remove( this, key );\\n\\t\\t} );\\n\\t}\\n} );\\n\\n\\njQuery.extend( {\\n\\tqueue: function( elem, type, data ) {\\n\\t\\tvar queue;\\n\\n\\t\\tif ( elem ) {\\n\\t\\t\\ttype = ( type || \\\"fx\\\" ) + \\\"queue\\\";\\n\\t\\t\\tqueue = dataPriv.get( elem, type );\\n\\n\\t\\t\\t// Speed up dequeue by getting out quickly if this is just a lookup\\n\\t\\t\\tif ( data ) {\\n\\t\\t\\t\\tif ( !queue || Array.isArray( data ) ) {\\n\\t\\t\\t\\t\\tqueue = dataPriv.access( elem, type, jQuery.makeArray( data ) );\\n\\t\\t\\t\\t} else {\\n\\t\\t\\t\\t\\tqueue.push( data );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\treturn queue || [];\\n\\t\\t}\\n\\t},\\n\\n\\tdequeue: function( elem, type ) {\\n\\t\\ttype = type || \\\"fx\\\";\\n\\n\\t\\tvar queue = jQuery.queue( elem, type ),\\n\\t\\t\\tstartLength = queue.length,\\n\\t\\t\\tfn = queue.shift(),\\n\\t\\t\\thooks = jQuery._queueHooks( elem, type ),\\n\\t\\t\\tnext = function() {\\n\\t\\t\\t\\tjQuery.dequeue( elem, type );\\n\\t\\t\\t};\\n\\n\\t\\t// If the fx queue is dequeued, always remove the progress sentinel\\n\\t\\tif ( fn === \\\"inprogress\\\" ) {\\n\\t\\t\\tfn = queue.shift();\\n\\t\\t\\tstartLength--;\\n\\t\\t}\\n\\n\\t\\tif ( fn ) {\\n\\n\\t\\t\\t// Add a progress sentinel to prevent the fx queue from being\\n\\t\\t\\t// automatically dequeued\\n\\t\\t\\tif ( type === \\\"fx\\\" ) {\\n\\t\\t\\t\\tqueue.unshift( \\\"inprogress\\\" );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Clear up the last queue stop function\\n\\t\\t\\tdelete hooks.stop;\\n\\t\\t\\tfn.call( elem, next, hooks );\\n\\t\\t}\\n\\n\\t\\tif ( !startLength && hooks ) {\\n\\t\\t\\thooks.empty.fire();\\n\\t\\t}\\n\\t},\\n\\n\\t// Not public - generate a queueHooks object, or return the current one\\n\\t_queueHooks: function( elem, type ) {\\n\\t\\tvar key = type + \\\"queueHooks\\\";\\n\\t\\treturn dataPriv.get( elem, key ) || dataPriv.access( elem, key, {\\n\\t\\t\\tempty: jQuery.Callbacks( \\\"once memory\\\" ).add( function() {\\n\\t\\t\\t\\tdataPriv.remove( elem, [ type + \\\"queue\\\", key ] );\\n\\t\\t\\t} )\\n\\t\\t} );\\n\\t}\\n} );\\n\\njQuery.fn.extend( {\\n\\tqueue: function( type, data ) {\\n\\t\\tvar setter = 2;\\n\\n\\t\\tif ( typeof type !== \\\"string\\\" ) {\\n\\t\\t\\tdata = type;\\n\\t\\t\\ttype = \\\"fx\\\";\\n\\t\\t\\tsetter--;\\n\\t\\t}\\n\\n\\t\\tif ( arguments.length < setter ) {\\n\\t\\t\\treturn jQuery.queue( this[ 0 ], type );\\n\\t\\t}\\n\\n\\t\\treturn data === undefined ?\\n\\t\\t\\tthis :\\n\\t\\t\\tthis.each( function() {\\n\\t\\t\\t\\tvar queue = jQuery.queue( this, type, data );\\n\\n\\t\\t\\t\\t// Ensure a hooks for this queue\\n\\t\\t\\t\\tjQuery._queueHooks( this, type );\\n\\n\\t\\t\\t\\tif ( type === \\\"fx\\\" && queue[ 0 ] !== \\\"inprogress\\\" ) {\\n\\t\\t\\t\\t\\tjQuery.dequeue( this, type );\\n\\t\\t\\t\\t}\\n\\t\\t\\t} );\\n\\t},\\n\\tdequeue: function( type ) {\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tjQuery.dequeue( this, type );\\n\\t\\t} );\\n\\t},\\n\\tclearQueue: function( type ) {\\n\\t\\treturn this.queue( type || \\\"fx\\\", [] );\\n\\t},\\n\\n\\t// Get a promise resolved when queues of a certain type\\n\\t// are emptied (fx is the type by default)\\n\\tpromise: function( type, obj ) {\\n\\t\\tvar tmp,\\n\\t\\t\\tcount = 1,\\n\\t\\t\\tdefer = jQuery.Deferred(),\\n\\t\\t\\telements = this,\\n\\t\\t\\ti = this.length,\\n\\t\\t\\tresolve = function() {\\n\\t\\t\\t\\tif ( !( --count ) ) {\\n\\t\\t\\t\\t\\tdefer.resolveWith( elements, [ elements ] );\\n\\t\\t\\t\\t}\\n\\t\\t\\t};\\n\\n\\t\\tif ( typeof type !== \\\"string\\\" ) {\\n\\t\\t\\tobj = type;\\n\\t\\t\\ttype = undefined;\\n\\t\\t}\\n\\t\\ttype = type || \\\"fx\\\";\\n\\n\\t\\twhile ( i-- ) {\\n\\t\\t\\ttmp = dataPriv.get( elements[ i ], type + \\\"queueHooks\\\" );\\n\\t\\t\\tif ( tmp && tmp.empty ) {\\n\\t\\t\\t\\tcount++;\\n\\t\\t\\t\\ttmp.empty.add( resolve );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\tresolve();\\n\\t\\treturn defer.promise( obj );\\n\\t}\\n} );\\nvar pnum = ( /[+-]?(?:\\\\d*\\\\.|)\\\\d+(?:[eE][+-]?\\\\d+|)/ ).source;\\n\\nvar rcssNum = new RegExp( \\\"^(?:([+-])=|)(\\\" + pnum + \\\")([a-z%]*)$\\\", \\\"i\\\" );\\n\\n\\nvar cssExpand = [ \\\"Top\\\", \\\"Right\\\", \\\"Bottom\\\", \\\"Left\\\" ];\\n\\nvar isHiddenWithinTree = function( elem, el ) {\\n\\n\\t\\t// isHiddenWithinTree might be called from jQuery#filter function;\\n\\t\\t// in that case, element will be second argument\\n\\t\\telem = el || elem;\\n\\n\\t\\t// Inline style trumps all\\n\\t\\treturn elem.style.display === \\\"none\\\" ||\\n\\t\\t\\telem.style.display === \\\"\\\" &&\\n\\n\\t\\t\\t// Otherwise, check computed style\\n\\t\\t\\t// Support: Firefox <=43 - 45\\n\\t\\t\\t// Disconnected elements can have computed display: none, so first confirm that elem is\\n\\t\\t\\t// in the document.\\n\\t\\t\\tjQuery.contains( elem.ownerDocument, elem ) &&\\n\\n\\t\\t\\tjQuery.css( elem, \\\"display\\\" ) === \\\"none\\\";\\n\\t};\\n\\nvar swap = function( elem, options, callback, args ) {\\n\\tvar ret, name,\\n\\t\\told = {};\\n\\n\\t// Remember the old values, and insert the new ones\\n\\tfor ( name in options ) {\\n\\t\\told[ name ] = elem.style[ name ];\\n\\t\\telem.style[ name ] = options[ name ];\\n\\t}\\n\\n\\tret = callback.apply( elem, args || [] );\\n\\n\\t// Revert the old values\\n\\tfor ( name in options ) {\\n\\t\\telem.style[ name ] = old[ name ];\\n\\t}\\n\\n\\treturn ret;\\n};\\n\\n\\n\\n\\nfunction adjustCSS( elem, prop, valueParts, tween ) {\\n\\tvar adjusted,\\n\\t\\tscale = 1,\\n\\t\\tmaxIterations = 20,\\n\\t\\tcurrentValue = tween ?\\n\\t\\t\\tfunction() {\\n\\t\\t\\t\\treturn tween.cur();\\n\\t\\t\\t} :\\n\\t\\t\\tfunction() {\\n\\t\\t\\t\\treturn jQuery.css( elem, prop, \\\"\\\" );\\n\\t\\t\\t},\\n\\t\\tinitial = currentValue(),\\n\\t\\tunit = valueParts && valueParts[ 3 ] || ( jQuery.cssNumber[ prop ] ? \\\"\\\" : \\\"px\\\" ),\\n\\n\\t\\t// Starting value computation is required for potential unit mismatches\\n\\t\\tinitialInUnit = ( jQuery.cssNumber[ prop ] || unit !== \\\"px\\\" && +initial ) &&\\n\\t\\t\\trcssNum.exec( jQuery.css( elem, prop ) );\\n\\n\\tif ( initialInUnit && initialInUnit[ 3 ] !== unit ) {\\n\\n\\t\\t// Trust units reported by jQuery.css\\n\\t\\tunit = unit || initialInUnit[ 3 ];\\n\\n\\t\\t// Make sure we update the tween properties later on\\n\\t\\tvalueParts = valueParts || [];\\n\\n\\t\\t// Iteratively approximate from a nonzero starting point\\n\\t\\tinitialInUnit = +initial || 1;\\n\\n\\t\\tdo {\\n\\n\\t\\t\\t// If previous iteration zeroed out, double until we get *something*.\\n\\t\\t\\t// Use string for doubling so we don't accidentally see scale as unchanged below\\n\\t\\t\\tscale = scale || \\\".5\\\";\\n\\n\\t\\t\\t// Adjust and apply\\n\\t\\t\\tinitialInUnit = initialInUnit / scale;\\n\\t\\t\\tjQuery.style( elem, prop, initialInUnit + unit );\\n\\n\\t\\t// Update scale, tolerating zero or NaN from tween.cur()\\n\\t\\t// Break the loop if scale is unchanged or perfect, or if we've just had enough.\\n\\t\\t} while (\\n\\t\\t\\tscale !== ( scale = currentValue() / initial ) && scale !== 1 && --maxIterations\\n\\t\\t);\\n\\t}\\n\\n\\tif ( valueParts ) {\\n\\t\\tinitialInUnit = +initialInUnit || +initial || 0;\\n\\n\\t\\t// Apply relative offset (+=/-=) if specified\\n\\t\\tadjusted = valueParts[ 1 ] ?\\n\\t\\t\\tinitialInUnit + ( valueParts[ 1 ] + 1 ) * valueParts[ 2 ] :\\n\\t\\t\\t+valueParts[ 2 ];\\n\\t\\tif ( tween ) {\\n\\t\\t\\ttween.unit = unit;\\n\\t\\t\\ttween.start = initialInUnit;\\n\\t\\t\\ttween.end = adjusted;\\n\\t\\t}\\n\\t}\\n\\treturn adjusted;\\n}\\n\\n\\nvar defaultDisplayMap = {};\\n\\nfunction getDefaultDisplay( elem ) {\\n\\tvar temp,\\n\\t\\tdoc = elem.ownerDocument,\\n\\t\\tnodeName = elem.nodeName,\\n\\t\\tdisplay = defaultDisplayMap[ nodeName ];\\n\\n\\tif ( display ) {\\n\\t\\treturn display;\\n\\t}\\n\\n\\ttemp = doc.body.appendChild( doc.createElement( nodeName ) );\\n\\tdisplay = jQuery.css( temp, \\\"display\\\" );\\n\\n\\ttemp.parentNode.removeChild( temp );\\n\\n\\tif ( display === \\\"none\\\" ) {\\n\\t\\tdisplay = \\\"block\\\";\\n\\t}\\n\\tdefaultDisplayMap[ nodeName ] = display;\\n\\n\\treturn display;\\n}\\n\\nfunction showHide( elements, show ) {\\n\\tvar display, elem,\\n\\t\\tvalues = [],\\n\\t\\tindex = 0,\\n\\t\\tlength = elements.length;\\n\\n\\t// Determine new display value for elements that need to change\\n\\tfor ( ; index < length; index++ ) {\\n\\t\\telem = elements[ index ];\\n\\t\\tif ( !elem.style ) {\\n\\t\\t\\tcontinue;\\n\\t\\t}\\n\\n\\t\\tdisplay = elem.style.display;\\n\\t\\tif ( show ) {\\n\\n\\t\\t\\t// Since we force visibility upon cascade-hidden elements, an immediate (and slow)\\n\\t\\t\\t// check is required in this first loop unless we have a nonempty display value (either\\n\\t\\t\\t// inline or about-to-be-restored)\\n\\t\\t\\tif ( display === \\\"none\\\" ) {\\n\\t\\t\\t\\tvalues[ index ] = dataPriv.get( elem, \\\"display\\\" ) || null;\\n\\t\\t\\t\\tif ( !values[ index ] ) {\\n\\t\\t\\t\\t\\telem.style.display = \\\"\\\";\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t\\tif ( elem.style.display === \\\"\\\" && isHiddenWithinTree( elem ) ) {\\n\\t\\t\\t\\tvalues[ index ] = getDefaultDisplay( elem );\\n\\t\\t\\t}\\n\\t\\t} else {\\n\\t\\t\\tif ( display !== \\\"none\\\" ) {\\n\\t\\t\\t\\tvalues[ index ] = \\\"none\\\";\\n\\n\\t\\t\\t\\t// Remember what we're overwriting\\n\\t\\t\\t\\tdataPriv.set( elem, \\\"display\\\", display );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Set the display of the elements in a second loop to avoid constant reflow\\n\\tfor ( index = 0; index < length; index++ ) {\\n\\t\\tif ( values[ index ] != null ) {\\n\\t\\t\\telements[ index ].style.display = values[ index ];\\n\\t\\t}\\n\\t}\\n\\n\\treturn elements;\\n}\\n\\njQuery.fn.extend( {\\n\\tshow: function() {\\n\\t\\treturn showHide( this, true );\\n\\t},\\n\\thide: function() {\\n\\t\\treturn showHide( this );\\n\\t},\\n\\ttoggle: function( state ) {\\n\\t\\tif ( typeof state === \\\"boolean\\\" ) {\\n\\t\\t\\treturn state ? this.show() : this.hide();\\n\\t\\t}\\n\\n\\t\\treturn this.each( function() {\\n\\t\\t\\tif ( isHiddenWithinTree( this ) ) {\\n\\t\\t\\t\\tjQuery( this ).show();\\n\\t\\t\\t} else {\\n\\t\\t\\t\\tjQuery( this ).hide();\\n\\t\\t\\t}\\n\\t\\t} );\\n\\t}\\n} );\\nvar rcheckableType = ( /^(?:checkbox|radio)$/i );\\n\\nvar rtagName = ( /<([a-z][^\\\\/\\\\0>\\\\x20\\\\t\\\\r\\\\n\\\\f]+)/i );\\n\\nvar rscriptType = ( /^$|\\\\/(?:java|ecma)script/i );\\n\\n\\n\\n// We have to close these tags to support XHTML (#13200)\\nvar wrapMap = {\\n\\n\\t// Support: IE <=9 only\\n\\toption: [ 1, \\\"\\\" ],\\n\\n\\t// XHTML parsers do not magically insert elements in the\\n\\t// same way that tag soup parsers do. So we cannot shorten\\n\\t// this by omitting or other required elements.\\n\\tthead: [ 1, \\\"\\\" ],\\n\\tcol: [ 2, \\\"\\\" ],\\n\\ttr: [ 2, \\\"\\\" ],\\n\\ttd: [ 3, \\\"\\\" ],\\n\\n\\t_default: [ 0, \\\"\\\", \\\"\\\" ]\\n};\\n\\n// Support: IE <=9 only\\nwrapMap.optgroup = wrapMap.option;\\n\\nwrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;\\nwrapMap.th = wrapMap.td;\\n\\n\\nfunction getAll( context, tag ) {\\n\\n\\t// Support: IE <=9 - 11 only\\n\\t// Use typeof to avoid zero-argument method invocation on host objects (#15151)\\n\\tvar ret;\\n\\n\\tif ( typeof context.getElementsByTagName !== \\\"undefined\\\" ) {\\n\\t\\tret = context.getElementsByTagName( tag || \\\"*\\\" );\\n\\n\\t} else if ( typeof context.querySelectorAll !== \\\"undefined\\\" ) {\\n\\t\\tret = context.querySelectorAll( tag || \\\"*\\\" );\\n\\n\\t} else {\\n\\t\\tret = [];\\n\\t}\\n\\n\\tif ( tag === undefined || tag && nodeName( context, tag ) ) {\\n\\t\\treturn jQuery.merge( [ context ], ret );\\n\\t}\\n\\n\\treturn ret;\\n}\\n\\n\\n// Mark scripts as having already been evaluated\\nfunction setGlobalEval( elems, refElements ) {\\n\\tvar i = 0,\\n\\t\\tl = elems.length;\\n\\n\\tfor ( ; i < l; i++ ) {\\n\\t\\tdataPriv.set(\\n\\t\\t\\telems[ i ],\\n\\t\\t\\t\\\"globalEval\\\",\\n\\t\\t\\t!refElements || dataPriv.get( refElements[ i ], \\\"globalEval\\\" )\\n\\t\\t);\\n\\t}\\n}\\n\\n\\nvar rhtml = /<|?\\\\w+;/;\\n\\nfunction buildFragment( elems, context, scripts, selection, ignored ) {\\n\\tvar elem, tmp, tag, wrap, contains, j,\\n\\t\\tfragment = context.createDocumentFragment(),\\n\\t\\tnodes = [],\\n\\t\\ti = 0,\\n\\t\\tl = elems.length;\\n\\n\\tfor ( ; i < l; i++ ) {\\n\\t\\telem = elems[ i ];\\n\\n\\t\\tif ( elem || elem === 0 ) {\\n\\n\\t\\t\\t// Add nodes directly\\n\\t\\t\\tif ( jQuery.type( elem ) === \\\"object\\\" ) {\\n\\n\\t\\t\\t\\t// Support: Android <=4.0 only, PhantomJS 1 only\\n\\t\\t\\t\\t// push.apply(_, arraylike) throws on ancient WebKit\\n\\t\\t\\t\\tjQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );\\n\\n\\t\\t\\t// Convert non-html into a text node\\n\\t\\t\\t} else if ( !rhtml.test( elem ) ) {\\n\\t\\t\\t\\tnodes.push( context.createTextNode( elem ) );\\n\\n\\t\\t\\t// Convert html into DOM nodes\\n\\t\\t\\t} else {\\n\\t\\t\\t\\ttmp = tmp || fragment.appendChild( context.createElement( \\\"div\\\" ) );\\n\\n\\t\\t\\t\\t// Deserialize a standard representation\\n\\t\\t\\t\\ttag = ( rtagName.exec( elem ) || [ \\\"\\\", \\\"\\\" ] )[ 1 ].toLowerCase();\\n\\t\\t\\t\\twrap = wrapMap[ tag ] || wrapMap._default;\\n\\t\\t\\t\\ttmp.innerHTML = wrap[ 1 ] + jQuery.htmlPrefilter( elem ) + wrap[ 2 ];\\n\\n\\t\\t\\t\\t// Descend through wrappers to the right content\\n\\t\\t\\t\\tj = wrap[ 0 ];\\n\\t\\t\\t\\twhile ( j-- ) {\\n\\t\\t\\t\\t\\ttmp = tmp.lastChild;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t// Support: Android <=4.0 only, PhantomJS 1 only\\n\\t\\t\\t\\t// push.apply(_, arraylike) throws on ancient WebKit\\n\\t\\t\\t\\tjQuery.merge( nodes, tmp.childNodes );\\n\\n\\t\\t\\t\\t// Remember the top-level container\\n\\t\\t\\t\\ttmp = fragment.firstChild;\\n\\n\\t\\t\\t\\t// Ensure the created nodes are orphaned (#12392)\\n\\t\\t\\t\\ttmp.textContent = \\\"\\\";\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t// Remove wrapper from fragment\\n\\tfragment.textContent = \\\"\\\";\\n\\n\\ti = 0;\\n\\twhile ( ( elem = nodes[ i++ ] ) ) {\\n\\n\\t\\t// Skip elements already in the context collection (trac-4087)\\n\\t\\tif ( selection && jQuery.inArray( elem, selection ) > -1 ) {\\n\\t\\t\\tif ( ignored ) {\\n\\t\\t\\t\\tignored.push( elem );\\n\\t\\t\\t}\\n\\t\\t\\tcontinue;\\n\\t\\t}\\n\\n\\t\\tcontains = jQuery.contains( elem.ownerDocument, elem );\\n\\n\\t\\t// Append to fragment\\n\\t\\ttmp = getAll( fragment.appendChild( elem ), \\\"script\\\" );\\n\\n\\t\\t// Preserve script evaluation history\\n\\t\\tif ( contains ) {\\n\\t\\t\\tsetGlobalEval( tmp );\\n\\t\\t}\\n\\n\\t\\t// Capture executables\\n\\t\\tif ( scripts ) {\\n\\t\\t\\tj = 0;\\n\\t\\t\\twhile ( ( elem = tmp[ j++ ] ) ) {\\n\\t\\t\\t\\tif ( rscriptType.test( elem.type || \\\"\\\" ) ) {\\n\\t\\t\\t\\t\\tscripts.push( elem );\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\treturn fragment;\\n}\\n\\n\\n( function() {\\n\\tvar fragment = document.createDocumentFragment(),\\n\\t\\tdiv = fragment.appendChild( document.createElement( \\\"div\\\" ) ),\\n\\t\\tinput = document.createElement( \\\"input\\\" );\\n\\n\\t// Support: Android 4.0 - 4.3 only\\n\\t// Check state lost if the name is set (#11217)\\n\\t// Support: Windows Web Apps (WWA)\\n\\t// `name` and `type` must use .setAttribute for WWA (#14901)\\n\\tinput.setAttribute( \\\"type\\\", \\\"radio\\\" );\\n\\tinput.setAttribute( \\\"checked\\\", \\\"checked\\\" );\\n\\tinput.setAttribute( \\\"name\\\", \\\"t\\\" );\\n\\n\\tdiv.appendChild( input );\\n\\n\\t// Support: Android <=4.1 only\\n\\t// Older WebKit doesn't clone checked state correctly in fragments\\n\\tsupport.checkClone = div.cloneNode( true ).cloneNode( true ).lastChild.checked;\\n\\n\\t// Support: IE <=11 only\\n\\t// Make sure textarea (and checkbox) defaultValue is properly cloned\\n\\tdiv.innerHTML = \\\"\\\";\\n\\tsupport.noCloneChecked = !!div.cloneNode( true ).lastChild.defaultValue;\\n} )();\\nvar documentElement = document.documentElement;\\n\\n\\n\\nvar\\n\\trkeyEvent = /^key/,\\n\\trmouseEvent = /^(?:mouse|pointer|contextmenu|drag|drop)|click/,\\n\\trtypenamespace = /^([^.]*)(?:\\\\.(.+)|)/;\\n\\nfunction returnTrue() {\\n\\treturn true;\\n}\\n\\nfunction returnFalse() {\\n\\treturn false;\\n}\\n\\n// Support: IE <=9 only\\n// See #13393 for more info\\nfunction safeActiveElement() {\\n\\ttry {\\n\\t\\treturn document.activeElement;\\n\\t} catch ( err ) { }\\n}\\n\\nfunction on( elem, types, selector, data, fn, one ) {\\n\\tvar origFn, type;\\n\\n\\t// Types can be a map of types/handlers\\n\\tif ( typeof types === \\\"object\\\" ) {\\n\\n\\t\\t// ( types-Object, selector, data )\\n\\t\\tif ( typeof selector !== \\\"string\\\" ) {\\n\\n\\t\\t\\t// ( types-Object, data )\\n\\t\\t\\tdata = data || selector;\\n\\t\\t\\tselector = undefined;\\n\\t\\t}\\n\\t\\tfor ( type in types ) {\\n\\t\\t\\ton( elem, type, selector, data, types[ type ], one );\\n\\t\\t}\\n\\t\\treturn elem;\\n\\t}\\n\\n\\tif ( data == null && fn == null ) {\\n\\n\\t\\t// ( types, fn )\\n\\t\\tfn = selector;\\n\\t\\tdata = selector = undefined;\\n\\t} else if ( fn == null ) {\\n\\t\\tif ( typeof selector === \\\"string\\\" ) {\\n\\n\\t\\t\\t// ( types, selector, fn )\\n\\t\\t\\tfn = data;\\n\\t\\t\\tdata = undefined;\\n\\t\\t} else {\\n\\n\\t\\t\\t// ( types, data, fn )\\n\\t\\t\\tfn = data;\\n\\t\\t\\tdata = selector;\\n\\t\\t\\tselector = undefined;\\n\\t\\t}\\n\\t}\\n\\tif ( fn === false ) {\\n\\t\\tfn = returnFalse;\\n\\t} else if ( !fn ) {\\n\\t\\treturn elem;\\n\\t}\\n\\n\\tif ( one === 1 ) {\\n\\t\\torigFn = fn;\\n\\t\\tfn = function( event ) {\\n\\n\\t\\t\\t// Can use an empty set, since event contains the info\\n\\t\\t\\tjQuery().off( event );\\n\\t\\t\\treturn origFn.apply( this, arguments );\\n\\t\\t};\\n\\n\\t\\t// Use same guid so caller can remove using origFn\\n\\t\\tfn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ );\\n\\t}\\n\\treturn elem.each( function() {\\n\\t\\tjQuery.event.add( this, types, fn, data, selector );\\n\\t} );\\n}\\n\\n/*\\n * Helper functions for managing events -- not part of the public interface.\\n * Props to Dean Edwards' addEvent library for many of the ideas.\\n */\\njQuery.event = {\\n\\n\\tglobal: {},\\n\\n\\tadd: function( elem, types, handler, data, selector ) {\\n\\n\\t\\tvar handleObjIn, eventHandle, tmp,\\n\\t\\t\\tevents, t, handleObj,\\n\\t\\t\\tspecial, handlers, type, namespaces, origType,\\n\\t\\t\\telemData = dataPriv.get( elem );\\n\\n\\t\\t// Don't attach events to noData or text/comment nodes (but allow plain objects)\\n\\t\\tif ( !elemData ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Caller can pass in an object of custom data in lieu of the handler\\n\\t\\tif ( handler.handler ) {\\n\\t\\t\\thandleObjIn = handler;\\n\\t\\t\\thandler = handleObjIn.handler;\\n\\t\\t\\tselector = handleObjIn.selector;\\n\\t\\t}\\n\\n\\t\\t// Ensure that invalid selectors throw exceptions at attach time\\n\\t\\t// Evaluate against documentElement in case elem is a non-element node (e.g., document)\\n\\t\\tif ( selector ) {\\n\\t\\t\\tjQuery.find.matchesSelector( documentElement, selector );\\n\\t\\t}\\n\\n\\t\\t// Make sure that the handler has a unique ID, used to find/remove it later\\n\\t\\tif ( !handler.guid ) {\\n\\t\\t\\thandler.guid = jQuery.guid++;\\n\\t\\t}\\n\\n\\t\\t// Init the element's event structure and main handler, if this is the first\\n\\t\\tif ( !( events = elemData.events ) ) {\\n\\t\\t\\tevents = elemData.events = {};\\n\\t\\t}\\n\\t\\tif ( !( eventHandle = elemData.handle ) ) {\\n\\t\\t\\teventHandle = elemData.handle = function( e ) {\\n\\n\\t\\t\\t\\t// Discard the second event of a jQuery.event.trigger() and\\n\\t\\t\\t\\t// when an event is called after a page has unloaded\\n\\t\\t\\t\\treturn typeof jQuery !== \\\"undefined\\\" && jQuery.event.triggered !== e.type ?\\n\\t\\t\\t\\t\\tjQuery.event.dispatch.apply( elem, arguments ) : undefined;\\n\\t\\t\\t};\\n\\t\\t}\\n\\n\\t\\t// Handle multiple events separated by a space\\n\\t\\ttypes = ( types || \\\"\\\" ).match( rnothtmlwhite ) || [ \\\"\\\" ];\\n\\t\\tt = types.length;\\n\\t\\twhile ( t-- ) {\\n\\t\\t\\ttmp = rtypenamespace.exec( types[ t ] ) || [];\\n\\t\\t\\ttype = origType = tmp[ 1 ];\\n\\t\\t\\tnamespaces = ( tmp[ 2 ] || \\\"\\\" ).split( \\\".\\\" ).sort();\\n\\n\\t\\t\\t// There *must* be a type, no attaching namespace-only handlers\\n\\t\\t\\tif ( !type ) {\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\t// If event changes its type, use the special event handlers for the changed type\\n\\t\\t\\tspecial = jQuery.event.special[ type ] || {};\\n\\n\\t\\t\\t// If selector defined, determine special event api type, otherwise given type\\n\\t\\t\\ttype = ( selector ? special.delegateType : special.bindType ) || type;\\n\\n\\t\\t\\t// Update special based on newly reset type\\n\\t\\t\\tspecial = jQuery.event.special[ type ] || {};\\n\\n\\t\\t\\t// handleObj is passed to all event handlers\\n\\t\\t\\thandleObj = jQuery.extend( {\\n\\t\\t\\t\\ttype: type,\\n\\t\\t\\t\\torigType: origType,\\n\\t\\t\\t\\tdata: data,\\n\\t\\t\\t\\thandler: handler,\\n\\t\\t\\t\\tguid: handler.guid,\\n\\t\\t\\t\\tselector: selector,\\n\\t\\t\\t\\tneedsContext: selector && jQuery.expr.match.needsContext.test( selector ),\\n\\t\\t\\t\\tnamespace: namespaces.join( \\\".\\\" )\\n\\t\\t\\t}, handleObjIn );\\n\\n\\t\\t\\t// Init the event handler queue if we're the first\\n\\t\\t\\tif ( !( handlers = events[ type ] ) ) {\\n\\t\\t\\t\\thandlers = events[ type ] = [];\\n\\t\\t\\t\\thandlers.delegateCount = 0;\\n\\n\\t\\t\\t\\t// Only use addEventListener if the special events handler returns false\\n\\t\\t\\t\\tif ( !special.setup ||\\n\\t\\t\\t\\t\\tspecial.setup.call( elem, data, namespaces, eventHandle ) === false ) {\\n\\n\\t\\t\\t\\t\\tif ( elem.addEventListener ) {\\n\\t\\t\\t\\t\\t\\telem.addEventListener( type, eventHandle );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\tif ( special.add ) {\\n\\t\\t\\t\\tspecial.add.call( elem, handleObj );\\n\\n\\t\\t\\t\\tif ( !handleObj.handler.guid ) {\\n\\t\\t\\t\\t\\thandleObj.handler.guid = handler.guid;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Add to the element's handler list, delegates in front\\n\\t\\t\\tif ( selector ) {\\n\\t\\t\\t\\thandlers.splice( handlers.delegateCount++, 0, handleObj );\\n\\t\\t\\t} else {\\n\\t\\t\\t\\thandlers.push( handleObj );\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Keep track of which events have ever been used, for event optimization\\n\\t\\t\\tjQuery.event.global[ type ] = true;\\n\\t\\t}\\n\\n\\t},\\n\\n\\t// Detach an event or set of events from an element\\n\\tremove: function( elem, types, handler, selector, mappedTypes ) {\\n\\n\\t\\tvar j, origCount, tmp,\\n\\t\\t\\tevents, t, handleObj,\\n\\t\\t\\tspecial, handlers, type, namespaces, origType,\\n\\t\\t\\telemData = dataPriv.hasData( elem ) && dataPriv.get( elem );\\n\\n\\t\\tif ( !elemData || !( events = elemData.events ) ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Once for each type.namespace in types; type may be omitted\\n\\t\\ttypes = ( types || \\\"\\\" ).match( rnothtmlwhite ) || [ \\\"\\\" ];\\n\\t\\tt = types.length;\\n\\t\\twhile ( t-- ) {\\n\\t\\t\\ttmp = rtypenamespace.exec( types[ t ] ) || [];\\n\\t\\t\\ttype = origType = tmp[ 1 ];\\n\\t\\t\\tnamespaces = ( tmp[ 2 ] || \\\"\\\" ).split( \\\".\\\" ).sort();\\n\\n\\t\\t\\t// Unbind all events (on this namespace, if provided) for the element\\n\\t\\t\\tif ( !type ) {\\n\\t\\t\\t\\tfor ( type in events ) {\\n\\t\\t\\t\\t\\tjQuery.event.remove( elem, type + types[ t ], handler, selector, true );\\n\\t\\t\\t\\t}\\n\\t\\t\\t\\tcontinue;\\n\\t\\t\\t}\\n\\n\\t\\t\\tspecial = jQuery.event.special[ type ] || {};\\n\\t\\t\\ttype = ( selector ? special.delegateType : special.bindType ) || type;\\n\\t\\t\\thandlers = events[ type ] || [];\\n\\t\\t\\ttmp = tmp[ 2 ] &&\\n\\t\\t\\t\\tnew RegExp( \\\"(^|\\\\\\\\.)\\\" + namespaces.join( \\\"\\\\\\\\.(?:.*\\\\\\\\.|)\\\" ) + \\\"(\\\\\\\\.|$)\\\" );\\n\\n\\t\\t\\t// Remove matching events\\n\\t\\t\\torigCount = j = handlers.length;\\n\\t\\t\\twhile ( j-- ) {\\n\\t\\t\\t\\thandleObj = handlers[ j ];\\n\\n\\t\\t\\t\\tif ( ( mappedTypes || origType === handleObj.origType ) &&\\n\\t\\t\\t\\t\\t( !handler || handler.guid === handleObj.guid ) &&\\n\\t\\t\\t\\t\\t( !tmp || tmp.test( handleObj.namespace ) ) &&\\n\\t\\t\\t\\t\\t( !selector || selector === handleObj.selector ||\\n\\t\\t\\t\\t\\t\\tselector === \\\"**\\\" && handleObj.selector ) ) {\\n\\t\\t\\t\\t\\thandlers.splice( j, 1 );\\n\\n\\t\\t\\t\\t\\tif ( handleObj.selector ) {\\n\\t\\t\\t\\t\\t\\thandlers.delegateCount--;\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\tif ( special.remove ) {\\n\\t\\t\\t\\t\\t\\tspecial.remove.call( elem, handleObj );\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t// Remove generic event handler if we removed something and no more handlers exist\\n\\t\\t\\t// (avoids potential for endless recursion during removal of special event handlers)\\n\\t\\t\\tif ( origCount && !handlers.length ) {\\n\\t\\t\\t\\tif ( !special.teardown ||\\n\\t\\t\\t\\t\\tspecial.teardown.call( elem, namespaces, elemData.handle ) === false ) {\\n\\n\\t\\t\\t\\t\\tjQuery.removeEvent( elem, type, elemData.handle );\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\tdelete events[ type ];\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Remove data and the expando if it's no longer used\\n\\t\\tif ( jQuery.isEmptyObject( events ) ) {\\n\\t\\t\\tdataPriv.remove( elem, \\\"handle events\\\" );\\n\\t\\t}\\n\\t},\\n\\n\\tdispatch: function( nativeEvent ) {\\n\\n\\t\\t// Make a writable jQuery.Event from the native event object\\n\\t\\tvar event = jQuery.event.fix( nativeEvent );\\n\\n\\t\\tvar i, j, ret, matched, handleObj, handlerQueue,\\n\\t\\t\\targs = new Array( arguments.length ),\\n\\t\\t\\thandlers = ( dataPriv.get( this, \\\"events\\\" ) || {} )[ event.type ] || [],\\n\\t\\t\\tspecial = jQuery.event.special[ event.type ] || {};\\n\\n\\t\\t// Use the fix-ed jQuery.Event rather than the (read-only) native event\\n\\t\\targs[ 0 ] = event;\\n\\n\\t\\tfor ( i = 1; i < arguments.length; i++ ) {\\n\\t\\t\\targs[ i ] = arguments[ i ];\\n\\t\\t}\\n\\n\\t\\tevent.delegateTarget = this;\\n\\n\\t\\t// Call the preDispatch hook for the mapped type, and let it bail if desired\\n\\t\\tif ( special.preDispatch && special.preDispatch.call( this, event ) === false ) {\\n\\t\\t\\treturn;\\n\\t\\t}\\n\\n\\t\\t// Determine handlers\\n\\t\\thandlerQueue = jQuery.event.handlers.call( this, event, handlers );\\n\\n\\t\\t// Run delegates first; they may want to stop propagation beneath us\\n\\t\\ti = 0;\\n\\t\\twhile ( ( matched = handlerQueue[ i++ ] ) && !event.isPropagationStopped() ) {\\n\\t\\t\\tevent.currentTarget = matched.elem;\\n\\n\\t\\t\\tj = 0;\\n\\t\\t\\twhile ( ( handleObj = matched.handlers[ j++ ] ) &&\\n\\t\\t\\t\\t!event.isImmediatePropagationStopped() ) {\\n\\n\\t\\t\\t\\t// Triggered event must either 1) have no namespace, or 2) have namespace(s)\\n\\t\\t\\t\\t// a subset or equal to those in the bound event (both can have no namespace).\\n\\t\\t\\t\\tif ( !event.rnamespace || event.rnamespace.test( handleObj.namespace ) ) {\\n\\n\\t\\t\\t\\t\\tevent.handleObj = handleObj;\\n\\t\\t\\t\\t\\tevent.data = handleObj.data;\\n\\n\\t\\t\\t\\t\\tret = ( ( jQuery.event.special[ handleObj.origType ] || {} ).handle ||\\n\\t\\t\\t\\t\\t\\thandleObj.handler ).apply( matched.elem, args );\\n\\n\\t\\t\\t\\t\\tif ( ret !== undefined ) {\\n\\t\\t\\t\\t\\t\\tif ( ( event.result = ret ) === false ) {\\n\\t\\t\\t\\t\\t\\t\\tevent.preventDefault();\\n\\t\\t\\t\\t\\t\\t\\tevent.stopPropagation();\\n\\t\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t\\t}\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t// Call the postDispatch hook for the mapped type\\n\\t\\tif ( special.postDispatch ) {\\n\\t\\t\\tspecial.postDispatch.call( this, event );\\n\\t\\t}\\n\\n\\t\\treturn event.result;\\n\\t},\\n\\n\\thandlers: function( event, handlers ) {\\n\\t\\tvar i, handleObj, sel, matchedHandlers, matchedSelectors,\\n\\t\\t\\thandlerQueue = [],\\n\\t\\t\\tdelegateCount = handlers.delegateCount,\\n\\t\\t\\tcur = event.target;\\n\\n\\t\\t// Find delegate handlers\\n\\t\\tif ( delegateCount &&\\n\\n\\t\\t\\t// Support: IE <=9\\n\\t\\t\\t// Black-hole SVG