index.html 210 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639
  1. <!----><!-- Single document--><!--///////////////////////////////////////--><!DOCTYPE html><html><head><title>pako 0.2.8 API documentation</title><meta charset="utf-8"><meta name="generator" content="ndoc"><style rel="stylesheet">p {
  2. margin: 0 0 11px;
  3. font-family: Verdana, sans-serif;
  4. font-size: 14px;
  5. line-height: 22px;
  6. }
  7. p small {
  8. font-size: 12px;
  9. color: #999;
  10. }
  11. .lead {
  12. margin-bottom: 22px;
  13. font-size: 20px;
  14. font-weight: 200;
  15. line-height: 33px;
  16. }
  17. h1,
  18. h2,
  19. h3,
  20. h4,
  21. h5,
  22. h6 {
  23. margin: 0;
  24. font-weight: bold;
  25. color: #444;
  26. text-rendering: optimizelegibility;
  27. }
  28. h1 small,
  29. h2 small,
  30. h3 small,
  31. h4 small,
  32. h5 small,
  33. h6 small {
  34. font-weight: normal;
  35. color: #999;
  36. }
  37. h1 {
  38. font-size: 36px;
  39. line-height: 55px;
  40. }
  41. h1 small {
  42. font-size: 18px;
  43. }
  44. h2 {
  45. font-size: 30px;
  46. line-height: 44px;
  47. }
  48. h2 small {
  49. font-size: 18px;
  50. }
  51. h3 {
  52. line-height: 44px;
  53. font-size: 24px;
  54. }
  55. h3 small {
  56. font-size: 18px;
  57. }
  58. h4,
  59. h5,
  60. h6 {
  61. line-height: 22px;
  62. }
  63. h4 {
  64. line-height: 33px;
  65. font-size: 18px;
  66. }
  67. h4 small {
  68. font-size: 14px;
  69. }
  70. h5 {
  71. font-size: 14px;
  72. }
  73. h6 {
  74. font-size: 12px;
  75. color: #999;
  76. text-transform: uppercase;
  77. }
  78. .page-header {
  79. padding-bottom: 21px;
  80. margin: 22px 0;
  81. border-bottom: 1px solid #ccc;
  82. }
  83. .page-header h1 {
  84. line-height: 1;
  85. }
  86. ul,
  87. ol {
  88. padding: 0;
  89. margin: 0 0 11px 25px;
  90. }
  91. ul ul,
  92. ul ol,
  93. ol ol,
  94. ol ul {
  95. margin-bottom: 0;
  96. }
  97. ul {
  98. list-style: disc;
  99. }
  100. ol {
  101. list-style: decimal;
  102. }
  103. li {
  104. line-height: 22px;
  105. }
  106. ul.unstyled,
  107. ol.unstyled {
  108. margin-left: 0;
  109. list-style: none;
  110. }
  111. dl {
  112. margin-bottom: 22px;
  113. }
  114. dt,
  115. dd {
  116. line-height: 22px;
  117. }
  118. dt {
  119. font-weight: bold;
  120. }
  121. dd {
  122. margin-left: 11px;
  123. }
  124. hr {
  125. margin: 22px 0;
  126. border: 0;
  127. border-top: 1px solid hrBorder;
  128. border-bottom: 1px solid #fff;
  129. }
  130. strong {
  131. font-weight: bold;
  132. }
  133. em {
  134. font-style: italic;
  135. }
  136. .muted {
  137. color: #999;
  138. }
  139. abbr {
  140. font-size: 90%;
  141. text-transform: uppercase;
  142. border-bottom: 1px dotted #ddd;
  143. cursor: help;
  144. }
  145. blockquote {
  146. padding: 0 0 0 15px;
  147. margin: 0 0 22px;
  148. border-left: 5px solid #ccc;
  149. }
  150. blockquote p {
  151. margin-bottom: 0;
  152. }
  153. blockquote small {
  154. display: block;
  155. line-height: 22px;
  156. color: #999;
  157. }
  158. blockquote small:before {
  159. content: '\2014 \00A0';
  160. }
  161. blockquote.pull-right {
  162. float: right;
  163. padding-left: 0;
  164. padding-right: 15px;
  165. border-left: 0;
  166. border-right: 5px solid #ccc;
  167. }
  168. blockquote.pull-right p,
  169. blockquote.pull-right small {
  170. text-align: right;
  171. }
  172. q:before,
  173. q:after,
  174. blockquote:before,
  175. blockquote:after {
  176. content: "";
  177. }
  178. address {
  179. display: block;
  180. margin-bottom: 22px;
  181. line-height: 22px;
  182. font-style: normal;
  183. }
  184. small {
  185. font-size: 100%;
  186. }
  187. cite {
  188. font-style: normal;
  189. }
  190. body {
  191. margin: 0;
  192. font-family: Verdana, sans-serif;
  193. font-size: 14px;
  194. line-height: 22px;
  195. color: #444;
  196. background-color: #fff;
  197. overflow-x: hidden;
  198. }
  199. a {
  200. color: #036;
  201. text-decoration: none;
  202. border-bottom: 1px solid #999;
  203. }
  204. a:hover {
  205. color: #800;
  206. border-color: #800;
  207. }
  208. .main {
  209. padding-left: 390px;
  210. width: 600px;
  211. }
  212. .sidebar {
  213. background: #f8f8f8;
  214. position: fixed;
  215. top: 0;
  216. bottom: 0;
  217. left: 0;
  218. width: 240px;
  219. overflow: hidden;
  220. }
  221. #search {
  222. background-color: #eee;
  223. padding: 7px 0;
  224. height: 30px;
  225. -webkit-box-shadow: 0 0 5px #aaa;
  226. box-shadow: 0 0 5px #aaa;
  227. }
  228. #search input {
  229. width: 90%;
  230. margin: auto;
  231. margin-top: 3px;
  232. padding: 4px;
  233. display: block;
  234. background-color: #f8f8f8;
  235. border: 0px none;
  236. -webkit-border-radius: 3px;
  237. border-radius: 3px;
  238. -webkit-box-shadow: 0 0 2px #666 inset;
  239. box-shadow: 0 0 2px #666 inset;
  240. }
  241. #search-results {
  242. z-index: 1000;
  243. background-color: #f8fcf8;
  244. display: none;
  245. }
  246. .footer {
  247. border-top: 1px solid #eee;
  248. font-size: 10px;
  249. opacity: 0.5;
  250. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  251. filter: alpha(opacity=50);
  252. }
  253. .gh-ribbon {
  254. position: absolute;
  255. right: -60px;
  256. top: 44px;
  257. z-index: 10000;
  258. background-color: #686868;
  259. padding: 1px 0;
  260. -webkit-transform: rotate(45deg);
  261. -moz-transform: rotate(45deg);
  262. -o-transform: rotate(45deg);
  263. -ms-transform: rotate(45deg);
  264. transform: rotate(45deg);
  265. width: 230px;
  266. -webkit-box-shadow: 0 0 2px rgba(102,102,102,0.4);
  267. box-shadow: 0 0 2px rgba(102,102,102,0.4);
  268. font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  269. display: none;
  270. }
  271. .gh-ribbon a {
  272. display: block;
  273. color: #fff;
  274. text-decoration: none;
  275. border: 1px solid #ccc;
  276. font-size: 13px;
  277. font-weight: bold;
  278. padding: 4px 50px 2px;
  279. text-align: center;
  280. outline: none;
  281. }
  282. .gh-ribbon a:hover {
  283. text-decoration: none;
  284. }
  285. .csstransforms .gh-ribbon {
  286. display: block;
  287. }
  288. .menu {
  289. padding: 0;
  290. margin: 0;
  291. list-style: none;
  292. top: 45px;
  293. bottom: 0;
  294. position: absolute;
  295. overflow-x: hidden;
  296. overflow-y: auto;
  297. width: 240px;
  298. }
  299. .menu a {
  300. border: 0;
  301. padding: 3px 10px 3px 28px;
  302. background-position: 6px 50%;
  303. background-repeat: no-repeat;
  304. display: block;
  305. -webkit-transition: all 0.3s ease;
  306. -moz-transition: all 0.3s ease;
  307. -o-transition: all 0.3s ease;
  308. -ms-transition: all 0.3s ease;
  309. transition: all 0.3s ease;
  310. color: #333;
  311. display: block;
  312. text-align: left;
  313. text-decoration: none;
  314. white-space: nowrap;
  315. }
  316. .menu a.deprecated {
  317. opacity: 0.5;
  318. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  319. filter: alpha(opacity=50);
  320. }
  321. .menu a.current {
  322. background-color: #ddd;
  323. }
  324. .menu a.current-parent {
  325. background-color: #eee;
  326. }
  327. .menu a:hover {
  328. background-color: #ccc;
  329. }
  330. .menu a.section {
  331. background-color: #000;
  332. background: -webkit-gradient(linear, left top, left bottom, color-stop(0.7, #000), color-stop(1, #444)) repeat scroll 0 0 transparent;
  333. background: -webkit-linear-gradient(top, #000 70%, #444 100%) repeat scroll 0 0 transparent;
  334. background: -moz-linear-gradient(top, #000 70%, #444 100%) repeat scroll 0 0 transparent;
  335. background: -o-linear-gradient(top, #000 70%, #444 100%) repeat scroll 0 0 transparent;
  336. background: -ms-linear-gradient(top, #000 70%, #444 100%) repeat scroll 0 0 transparent;
  337. background: linear-gradient(top, #000 70%, #444 100%) repeat scroll 0 0 transparent;
  338. color: #ccc;
  339. font-weight: bold;
  340. padding: 6px 10px 6px 28px;
  341. }
  342. .menu a.class {
  343. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHhSURBVDjLpZI9SJVxFMZ/r2YFflw/kcQsiJt5b1ije0tDtbQ3GtFQYwVNFbQ1ujRFa1MUJKQ4VhYqd7K4gopK3UIly+57nnMaXjHjqotnOfDnnOd/nt85SURwkDi02+ODqbsldxUlD0mvHw09ubSXQF1t8512nGJ/Uz/5lnxi0tB+E9QI3D//+EfVqhtppGxUNzCzmf0Ekojg4fS9cBeSoyzHQNuZxNyYXp5ZM5Mk1ZkZT688b6thIBenG/N4OB5B4InciYBCVyGnEBHO+/LH3SFKQuF4OEs/51ndXMXC8Ajqknrcg1O5PGa2h4CJUqVES0OO7sYevv2qoFBmJ/4gF4boaOrg6rPLYWaYiVfDo0my8w5uj12PQleB0vcp5I6HsHAUoqUhR29zH+5B4IxNTvDmxljy3x2YCYUwZVlbzXJh9UKeQY6t2m0Lt94Oh5loPdqK3EkjzZi4MM/Y9Db3MTv/mYWVxaqkw9IOATNR7B5ABHPrZQrtg9sb8XDKa1+QOwsri4zeHD9SAzE1wxBTXz9xtvMc5ZU5lirLSKIz18nJnhOZjb22YKkhd4odg5icpcoyL669TAAujlyIvmPHSWXY1ti1AmZ8mJ3ElP1ips1/YM3H300g+W+51nc95YPEX8fEbdA2ReVYAAAAAElFTkSuQmCC");
  344. }
  345. .menu a.class-method {
  346. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXRQTFRFvLXSuLHQwrzWsKjKxb/YrKTIq6PHr6fKta7OnpS+tKzN/v7+pp3EpZzD2tbmurPRh3uvx8HZzsneopnBjIGx3NnoxL7Y0czgjoO09fT4iHyw0Mvf4d7r0s7hoZjBmI67xsDZy8bcrqbJ3t3hdGmcZ1uQ7evzt7DMysXcqqW7in+xqJ/FtK3Nm5G9lou5nJK99/b6urbHUUlnyMLaTUNvwrzX5OHtgHyMXVhx5uTut6/PubLQ0s/d3tvpNS5LgnmjTkZlTUZmVU1vUklu7Ovv1dLgWU1/fG+o9PT2r6jGY1aObGaAn5uwVk5xkIW129fnvbfT/Pv9TEJsrqfJc2aeRDtgf3WhwLrVi3+ynZW2mo+819Tlp57Ea2CRvbbTin6x7+7yb2OV+fn72dXlTkRw2NTllIm4q6LHfG+mT0Vx29jnZ2J4k4m4mY+8VEp19fX31NDj////npup4+Hpgnas3droXlKIsa661NHfpqG1s6vM////z9cmxgAAAHx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAFq2jEAAADzSURBVHjaYqgGAzMFplIIiwGIJQMLrbP45LmT1CAC0QwMBlWy4nKSuVpVIAEZaUuhYB5BlrQcRltOdaCAqJI0i6KQIIsiE6OOmyZISwELP4ewewlrFRunJ1CLqRW7BgOvvU2FiBIrQ4hKGAO7jCBHnIBrdbWoH7twlXgQg3YqUxWDXnJ1NV8EK2c6UyiDboZAQBV/lD+fCBuvnLORBdBQMWY2Zi6JeLYYfQkfkDuMBRSYGcM5uPiZeRhTKoECYryyUqpe7KwmeVJMZUUgd0Rm+iYkMnI5uTjYmUM8V5zPHcsj78jtoQz1LRAYemeXQ1gAAQYAJT9BfVti1ekAAAAASUVORK5CYII=");
  347. }
  348. .menu a.class-property {
  349. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHpSURBVDjLhZNbbxJhEIb3T/RWw78g2fjLvLE2ppe1TYNtvGuNRo6BcA4kIBBOgXCU3QXploCAmNQE/VY55PWbj7CWcPBibuab95l3ZmelZrOJRqOBWq2GarWKSqWCcrmMUqmEYrF4BEA6FFK9XsdyudyKfr8vILlc7iBEos4k6PV6orOu6yaEctwF0un0XohElqmYulGiUCiUptMp5vO5yBMwm80ikUjshEjUdV3IxX+45Z5hGPj29RcykbF463a7SKVSiMfjWxCJOq8tLxYLkPj72MCbEw3nz1WkwytIp9MhF4hEIhsQic/IJpOJKJrNZqKz7aWGm7Mu3l/quDppmxBN08gFAoGACZHy+fwzPiMbj1dFSvVBdL49v8PHq/stiKqq5AJer1dABCWTych8RjYajURRu/EDtmMV7y7+QWzHGj4FV++tVotcwO12H5mzJJNJmc/IhsPhFuSDTcfb0w6uTz/zr7MQLkKhEJxO59ONjfL55FgsxgaDgQm5fKHg+lUbtxdt/Jwaj8UWc4THEY1G5XA4zOgSxeLqD7h5/QW/jbkpdjgcFnOJu44jGAzKfr+f0SWuPzGJeX5DvBdA4fP5rHzTjA5MUZSd4oMACo/HY3W5XIzEdrvdsvOU//e78q5WLn6y7/0viZYv/mL7AwwAAAAASUVORK5CYII=");
  350. }
  351. .menu a.constant {
  352. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAAZ9pQ0NQSUNDIFByb2ZpbGUAAHiclZG/SxthGMc/72kJFM3S09aCcIOYDFGCWSIUwWSwokMaBJMMwuXujIHz8nL3auviZmehm3SwLbSLiFNxjIuTuBSKoAjF/gGFlC5FzuFtyaKIDzzw+X7h4fkFRtuW0jeA1UCF5ZmCVanWrMQZvfQDgO1EcrpUmufO+PMdAfBtzJbSP2qljn8Pvd39sjS2ebpzdX53HQB9YaVaA2ECZkNzGjDrml8A5mslFYgSYDortgvCBTLhQrkIYhtINjTvAsm65gMgue40FIg2kA3cZgDiF5B3vcgBIw0oR4YKjPfASKVas/Roag6mhqHnpOvVItj7DE9Hu176GQwswmGu63VeIQAxeBIt5yYAEH0FeHQZx51RSLyD6+04/vsxjq8/Qc8FtANnLVz/dxdhTMJ9Wu+mtf4B6L63s94fgCx8eAmLj2FuC3Z+QGofnnyFUj8sTGLkf/5PfSsAnhdtv1kPbeW5VnmmYBVbfiuMpO149zz6oaG8Nwqg2JIbYbOxoqxpKX0vY80GznjGmshm89wA0tx3Ck/ZLb8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAHMSURBVDiNpVMxb1JhFL0PSOgAeTCYQALiXzBxcmNz07B2IoYwdGrq0IGUgaUDxYXHaElIOqtxUBYZm2BiUhjqVBUb06QJxADv3Xvux+eCxsY+Bj3rOd+5957vXqL/hBNGDIfD58aYMgBS1eNisbh7my4SZqCqZQAHAA5EpBymi4URAMgY80NVCUCYLNyAmaGqxwAIwHWY7q8MBoPBBwD3AVA6nY6QJbr4fLECQCLysVKpPNjYgaq+BsAiQrPZ7KFRQyJyKiKkqu9CZ7kNJycnttvt2k2a0AyIiJh5Y4C/Dfr9/g4z7wE4KpVK3i9SREhEbjyo1Wo7APYAHLVaLS+2rtTeim+R40TavV6vvVwuC9Vq9eufHdTr9bvGmC+5XI5i0Ridjc7aRORFiIhWq1VmOpuSMSti5n1rbdzzvAwzUxAEVK/XM8aYuKruEzl0/umcgiC4Q7TeRGZe+L6/e3X1feK67qHv+6PFYtHMZrOUz+dJVZvMPCoU7h2Ox6PJfD5/eiOD6XTKzPwiGo2+mUwmzUQi8dh13e1UKkXWWnIcZ/vy2yWNx6NX1tpnQRBcJ5NJnyjkmBqNxiMAT0SkuD6m9wBedjqdtxu/5F/wE3qEI6X0xsv2AAAAAElFTkSuQmCC");
  353. }
  354. .menu a.constructor {
  355. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHaSURBVDjLlZO7a1NRHMfzfzhIKQ5OHR1ddRRBLA6lg4iTd5PSas37YR56Y2JiHgg21uoFxSatCVFjbl5iNBBiMmUJgWwZhCB4pR9/V4QKfSQdDufF5/v7nu85xwJYprV0Oq0kk8luIpEw4vG48f/eVDiVSikCTobDIePxmGg0yokEBO4OBgNGoxH5fJ5wOHwygVgsZpjVW60WqqqWzbVgMIjf78fn8xlTBcTy736/T7VaJRQKfQoEArqmafR6Pdxu9/ECkUjkglje63Q6NBoNisUihUKBcrlMpVLB6XR2D4df3VQnmRstsWzU63WazSZmX6vV0HWdUqmEw+GY2Gw25SC8dV1l1wrZNX5s3qLdbpPL5fB6vXumZalq2O32rtVqVQ6GuGnCd+HbFnx9AZrC+MkSHo/np8vlmj/M7f4ks6yysyawgB8fwPv70HgKG8v8cp/7fFRO/+AllewqNJ/DhyBsi9A7J1QTkF4E69mXRws8u6ayvSJwRqoG4K2Md+ygxyF5FdbPaMfdlIXUZfiyAUWx/OY25O4JHBP4CtyZ16a9EwuRi1CXs+5K1ew6lB9DXERX517P8tEsPDzfNIP6C5YeQewSrJyeCd4P0bnwXYISy3MCn5oZNtsf3pH46e7XBJcAAAAASUVORK5CYII=");
  356. }
  357. .menu a.event {
  358. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIxSURBVDjLpdNdSFNhGAfww0Cri+gyKLowpMC+LsooEy+SgqJuKqRIiIQKkryoi4zaUmbWSHKdPkYz05xdnKNobmwW6Vi6tbk2TDYl82PTTSr3PXe2s2T+O+dgYwV54S7+vBcvz4/neXleAgCRTf570UXdLda9ORUytW1LDbbkp1TK8h8PLu1rvn92C7houBxfEbA/E+Hn4C6wAQMYTxO8vbkwvMjBYiKED3X7BUQAaFqao6XLgxZyDaxyAp9JArYnBCLjd5CM2bDIupCI6MEEtRjQtWK2rx7t13fzQMUfYHNfx7H4wtQ9xFwPEZuuR+I7jWSgH9H5FrBRI4KeGgTcN6CoKoT3YyMaL+TxwCYBoOi6M5+6i37xgM9YICQ8elnAmKCai4YDJHCPnEDnrUJMdFfxxUg/Ik2JlSPq7anYtAw+0x74zXs54AqYGRLxMN9FK/yem5hySpcMDYfh6hX/DXRR15yhcclS2FEBv+Ugl0OIjFWCmVUgGR9FzE8h6mvGF7MMY21lMJNHecCZBrRUWXhhcrn9ga0IOy4Kxey8BoGZWnwbKsCkbSOGX+cJwFtJEQ9I04C+o5SNTojBuOXc3I8Qn1Nh7v062BUiWHXnWLtD+1TVTxt7anPhfHUayqs7eKAkDajbz3tN5HpYH4swJBfBQq7Fu6aSROZOcAWlLyt3Ch1kzr/iIv0DyHpqirMCvloVJ7MChGJ9w5H0Cq8K6Lx9gAeqVwM8X/6F/Lkh8+43zznRPkqpYfEAAAAASUVORK5CYII=");
  359. }
  360. .menu a.instance-method {
  361. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXFQTFRFwNCxyda8y9i/ucqow9K1tsiku8yrtcejuMqnqb6Ur8OcwtGz/v7+vs6uvM2s3ubWzdnBsMSdla97oLiJ1d/Lm7SDy9i+1uDMlrB81+HO9vj04OjZvMyrmbGB0dzG097JrMGYt8mm3OXUzNnApLuOrcGZpbyP5OveWnBE3+HdvsywpbCbormLPEsuco5Wx9W6ztrCW3FF5+3hwNCy0NzFxNO2praVv8+vq7Wh3+fXWW9Dkax2v8e2tMeiVmVGVWZGi6hvl7F+p72RssWfYHVKgpxpt8ao4unb5enh4ejai6F1uMmn2ePQp72SXm9N6e7kjqN52N/Ryde8sLulgp5mbYhS3+fYfJVjWGdJ/P37+Pr2ZHFYmLJ/eJFgTWA7xdO31t3P9vf18PLu7/Pr3eXV////nbWFZn9N9fb0X3FOiqZvbXhi7e/rhIx8scSe+vv5vc2txNK12eDSl7F/tLquW25Joqmbc4BmV2xCdZBb////Xx6j1gAAAHt0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ak8Oo6gAAAPNJREFUeNpiqAIDI2VGTwiLAYilIlONw/hVePKTIQJKLIVRMpLiClJqxTIgAXURf3lvQQEmYWEGd04toIC0ogiTnLwAkxwjQ0F6MEiLDxM3r6qDNSsbO6cbUEuQOYcJC1dAQqCsIitLiKsXA4e6AK+pUFFVlXQahyqbeAWDsxIjG4tOSlUVfwwrpy1jHINTllA8G7eaJb8sO5dCaUQ00FAxZnZmPlFH9jxfUW2QOwyElJkZ9Hn5uJkFGTQsgAJiXJISlXocrFYuEoyhZSB3mBlmJoUz8Pnl2OnmQjznkcgTK6hiz5OhCfUtENiUZ5dAWAABBgDCVz8yTkvDFQAAAABJRU5ErkJggg==");
  362. }
  363. .menu a.instance-property {
  364. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH3SURBVDjLhZNJjxJhEIb7T8xVw78g6fh75mJGY/SqTjRGTXTcbu7xxtItPew2YxMgbGkCNMgSQkgDAiHRKNpkWPL61ZfQGcLioS5V9T711tfVQrVaRaVSQblcRqlUQrFYRKFQgK7ryOfzBwCEfSEYhoHlcrkRvV6PQzKZzF6IQJNJYJomn9zpdGwI5ZgLJJPJnRCBLFMzTaNELpfTJ5MJ5vM5zxMwnU5D07StEIGmrhqZ+JxZNqfTKUY/u4gbMq+1220kEgnEYrENiECTV5YXiwVIPP71Hc9Or+ORdAjNkHit1WqRC0QikTWIwHa0xuMxb5rNZhj+6OLk9Bpef7mN92f38JyBVpBms0kuEAgEbIiQzWavsB2t0WjEm76ZOTyWD/FWvYtP2kN8OLu/Bmk0GuQCPp+PQzgllUqJbEdrOBzypnq3gKe+I7xTj23IiXKEWMnF67VajVxAkqQDe5d4PC6yHa3BYLAB+fj1AV4Fb+KlcgvzxYy7CIVC8Hg8l9delO0nqqpq9ft9G/Lk81W88N/Am+gx/vz9fVHssFe4GNFoVAyHwxZdIrdr6kx8B9Nzyxa73W6H/YjbjiMYDIp+v9+iS1x9YhKz/Jp4J4BCURQne2mLDqxer28V7wVQyLLs9Hq9FoldLpdj6yn/73dlU51MfGlX/R/5GCirExPTUwAAAABJRU5ErkJggg==");
  365. }
  366. .menu a.method {
  367. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAAyBpQ0NQSUNDIFByb2ZpbGUAAHicjZRPaBxVHMc/bzqhIIkgrjUGlIeHGCQJayu6RajJJuk2btgu02z+UZDN7NvdMS+z45vZrS1FJCDebPUoXqpFPFQRD5KDgid7KBJore0hCOKpilAs9CJlPcz+mRCL/mDg836/3/v+/gw8GPiqHATakrDpR8bJZeXK6po8eJ0BhhgEKLthMF0sLgCUg0Czz+7/jAC4MVEOAp1fOnn9t5ee+uL9r/O3h78rif35e2zIrKyugZBAqhbzi0BqPeYTQOpMFEQgTgMpt16ugAiAcbPozID4GHi0luD1BFdU6MLAFNBwAxOBlQIyLbcWgbgCpP2K54PYBTKV0N0EawGsv1ZW12TcZpSHY0/DgWt931oIVz6DJ0f7vrFheGIZto/0ffccBCAO7YTVI4cBEINZGPil3b43Cgc/hAcftNt/f9JuP/gUDuzC99ptmlZnR0L8CHG/8Rm2nS49jOOZAMjApROw/Ajk34WPfoXnvoTHv4HiECwexXqH7heptyKAmUZw1ni1eiQPp9Mvy+kg0ErO++7kuCxrLY1Xq0ehNCpUpqUqk2zqptup9xgwqPzSKWAUrLdVONdhsVUpz+aBSRC/V9TsHDAO4vOqd3weGAN2q+Z4KWbxvBfNL8ZsLfm6sNDhYX+9cLKjaQdR1unqh61Tc13/G+XXisAICGejkXeAQ2BNnasvLscs9Ln6TKHDP5mmUwKeBetyoIsLcW/WD6yiUXj4KHwkDjmyTBBgaFDFw0PjkUPhozB4hGz8a6ammGBJjjv43MHg8SZNFBKHJbIFtsZ7CjJ9K/1n+mb6Uvpy+o+LI82xfmTLvO65OxfuUkRherqdaKenWN+lwTQaTQ3FZm+mMNFporuqf3Gkr+TuXLir3ivcT0ypEpUmWEcRsoHBo4VCE6KYTlR72PYU+ur5b4f7tW7a26dvDF49v2dXjX1Tqd5Ue8/9vOR9ZT9jv2DP2xn7KNJ+1Z6yj9mzdsZ+xV7o3Sjh43EGhSGkjMbnLHLP/+vmEr8tAKRyylfGc6WTy8qiaVQ9rRLP3H+E/6f9AwGFFQ3Juvv5AAAACXBIWXMAAAsTAAALEwEAmpwYAAADBklEQVQ4jXVTT0gbeRT+JhPzZ5IQG8WQncTTpLIUYbOXRMSDF4+CV6GXbT304G0v7eIiFFrQk/GYuJd69B7CRkVXtARs9VAXKygoG5z4byCTmd/8fm8mezFS2e47vQfv4+N97/sk/E9tbW294Jw/JyIIIT5MTk6ufG9P+nbY29v7UZKkf/L5vFmr1XRN0/o7nQ42NjauLy4uktlsNmrbtjozM/N3F+PrNru7u2Ui+mJZ1tdqtZrknLuMMTDGEAqFXE3Tkoyxr0T0ZWlpqdzFyffMv8Xj8V8zmYwEIGoYxishxBNFUcA5h67rUSHEK03TnuTzeckwjJ81TaOdnZ2//ADgOI7v/PwcAMAYQzqdVnw+HzjnAIBcLgfGmGLbNk5OTrC+vg7GmO+RBpVK5V1/f/9r27ZBRLi7u8Pp6SkCgQCy2Sx6enrAOYdpmtjf33+/sLDwBgCkWq32SQgxQESRTCbT22q1cH19jc3NzY+2bc+FQiHE4/G3o6OjhU6ng1gshkqlYjiO0yaipp+IfhoeHpZ0Xcft7S0CgQAajQZ8Pt9cqVSqAcDi4iIajcafqqqi2WxifHy8V1XV3vn5+R98nHMwxkBEcF0XXZZ4PP7wXsYYhBDwPA9EBMdx0Gq1YFkWpGKx+KnZbA4kEolIPp/vtSwLwWAQ9Xr9oxBi7h7wdmRkpMA5h+u6WF1dNUzTbAshmg8ilsvld5lM5jURwe/3Q5ZlnJ2dgYgwODgIIoJlWTBNE9Vq9f3a2tqbBx+USqU5zvnv2WwWjuMgGAwiHA4jFoshkUhAUZSHc1RVxcHBwdjQ0JB3dHS07b+/0Uun04hEIqjX6zg+PrZkWVYmJibgeR5WVlYAwBobG1NSqRT6+vpweHjoPfLB7Oxs+ebm5pd2u91MJpO5cDj8eWpqKklEKBaLuuM4Oc/zPluWNSCE+KNer798lIXl5eWXsiw/i0ajT1OplO55nmwYBi4vL+E4jlwoFHS/3//Udd1nXfB/0vhtTU9Pv7i6unrOGIMkSR+2t7e/G+d/AQoXpOKikHZKAAAAAElFTkSuQmCC");
  368. }
  369. .menu a.mixin {
  370. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAAZ9pQ0NQSUNDIFByb2ZpbGUAAHiclZG/SxthGMc/72kJFM3S09aCcIOYDFGCWSIUwWSwokMaBJMMwuXujIHz8nL3auviZmehm3SwLbSLiFNxjIuTuBSKoAjF/gGFlC5FzuFtyaKIDzzw+X7h4fkFRtuW0jeA1UCF5ZmCVanWrMQZvfQDgO1EcrpUmufO+PMdAfBtzJbSP2qljn8Pvd39sjS2ebpzdX53HQB9YaVaA2ECZkNzGjDrml8A5mslFYgSYDortgvCBTLhQrkIYhtINjTvAsm65gMgue40FIg2kA3cZgDiF5B3vcgBIw0oR4YKjPfASKVas/Roag6mhqHnpOvVItj7DE9Hu176GQwswmGu63VeIQAxeBIt5yYAEH0FeHQZx51RSLyD6+04/vsxjq8/Qc8FtANnLVz/dxdhTMJ9Wu+mtf4B6L63s94fgCx8eAmLj2FuC3Z+QGofnnyFUj8sTGLkf/5PfSsAnhdtv1kPbeW5VnmmYBVbfiuMpO149zz6oaG8Nwqg2JIbYbOxoqxpKX0vY80GznjGmshm89wA0tx3Ck/ZLb8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAJhSURBVDiNZZPNi85RFMc/9+d5npmwQF4aYUzIzPAMJe9SSNl4+w+wIbKQhQ0rGwtLZqGUhZUslAWRZjBNkiJvWVAUYpRnDGZ+9+WcY3GfGTKnTud263zO95xzrwPYfeLKCovpukED3EbDMAPMyMEmXCUSy+H3D66e6QCoAGiMh3Gus97dztC3H5iNJ0GGKaYw/OM3Y95QqotpWqUZt9a7F7GtZyGL2upYJqCmuarm6nNmTGVqa4XNe4/wP2BmfUU7t568pdEYxVQB0HEVZpgawyOjlD7wr+UWFFepVVi2sp2l82YhAmaKqiFiiCpJjbEycu16/2SAYYgoH4ZGqBVVyrIk+kDSfJ+YQqVaY/a0FtRsMgBARUkS8d6zf93SLD8vAjPjSt8bYmuV//KbCsyIokhMJCm42v8aHxNJDElKwlGt1QgpD3UyQI2UlBAjQcGKFly1CoWhTlFVgjiCTAYUNGXGJKQy4aNQJqGMgo8JnwQfBD86yKeP5+lYfpv69iF2naqf/rsFM5Io0Ud8lNyOGEGUJIqMDTB/3mvWdK1nwaxl9L26waOXD8+uO9o2sxifQUpKDBkQkjIWhRAFn5TRn/dY3bkKKYRVbTsRF9lQ3wSOY0VWoIQkJJ/wUSmjEKNm+V5o/PpK1U1nT9dxAE7uuMSSuT04aJmYgYghQfAxexkT3ishKN9HGrz6PMi5uwcBOHfnIO+GnmPg8zswg6Jg7foezDlEjCSGNqPz+3j0/DaberZw80UvNVdh4Nl9MC46gK0HLlw2OJR/3j/vH4Pmmdb70PIUXMDgF2a9j3u/nPoDgNPEfbFn4CQAAAAASUVORK5CYII=");
  371. }
  372. .menu a.namespace {
  373. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAACpUlEQVQ4ET2TS2sTURTHZ+7cySTpI9q0mwgqobsoarGlUBfZCCJKV0Wx+MCvIOK2n6NLcaFk4VIRwYqKoFBX2YVUYppgapKW5jWZuTP+TpQOnLnnnvM///O499qWZdkbGxuqUCg46DqVSslqDYdD0263jejZbNYZDAYT++Hhoel2uyFmUyqVIr21tWWzcQj00un0vDFmLQzDLPt9At8KQRRF17XWZ+M47kxNTX3Bf3B8fOzjijU/hdEFlBmPx98gEBIL0Ht876jCwv8Y/y1sQtZJJpOXgyDoFIvFSDUaDZsAbdv2DYzzkOz6vr9MyXd7vZ7xPM+Q7dFoNLoqCZA5/DfZ64WFBaVzuZzDxnUc5zzsknmXwCZrQAXSq0XfAURN2viOfYVE59DdZrPpSwsaViGYEQKqCdGDer1+QgBGJRKJABzxoSSZocLE7OysqynHIyAJ6xXpnXWPkk+mLBVwSgZcyBB//p/PEroHia/Ieg/nS9jXWH8jXwFF1Wo1lmD5RIc4IkBm0ERW2b/C9VCjrBOwQlkx6wuc+/1+/yR4wsCPs7fou0Hm58hT8MvgfcXA7hO0SWZhfoJcg9TO5/NyPyYfQ7YJsKl2lfUZ2Ba2B+h3FIgBm08EisgMLnCkDsRCMBECbESBKwiGzJ/B7VDpQHMUwfT09BjwHowy4VMAdKvVkqs7OcZMJuNAqrFnWDFbVaXUmOGPNQEG5hBHCEAIUrwD2tV6cXFRLlIsOn27YNISjS4nEh4dHRlVq9XQY0Npf6Q8Sr0EyRw2l7ehyeKKTtwcsiQEfAdg/5FzHSNumlyeDwyph1xEfnBx3pBxU9AUsI2+jupANkB2mEFYLpcjaUhRqsvL8wCdobci62lAvyjxtRBw425jy6N2aPMja51H5lcqleAvPBAtoRoK3h4AAAAASUVORK5CYII=");
  374. }
  375. .menu a.property {
  376. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHpSURBVDjLhZNbbxJhEIb3T/RWw78g2fjLvLE2ppe1TYNtvGuNRo6BcA4kIBBOgXCU3QXploCAmNQE/VY55PWbj7CWcPBibuab95l3ZmelZrOJRqOBWq2GarWKSqWCcrmMUqmEYrF4BEA6FFK9XsdyudyKfr8vILlc7iBEos4k6PV6orOu6yaEctwF0un0XohElqmYulGiUCiUptMp5vO5yBMwm80ikUjshEjUdV3IxX+45Z5hGPj29RcykbF463a7SKVSiMfjWxCJOq8tLxYLkPj72MCbEw3nz1WkwytIp9MhF4hEIhsQic/IJpOJKJrNZqKz7aWGm7Mu3l/quDppmxBN08gFAoGACZHy+fwzPiMbj1dFSvVBdL49v8PHq/stiKqq5AJer1dABCWTych8RjYajURRu/EDtmMV7y7+QWzHGj4FV++tVotcwO12H5mzJJNJmc/IhsPhFuSDTcfb0w6uTz/zr7MQLkKhEJxO59ONjfL55FgsxgaDgQm5fKHg+lUbtxdt/Jwaj8UWc4THEY1G5XA4zOgSxeLqD7h5/QW/jbkpdjgcFnOJu44jGAzKfr+f0SWuPzGJeX5DvBdA4fP5rHzTjA5MUZSd4oMACo/HY3W5XIzEdrvdsvOU//e78q5WLn6y7/0viZYv/mL7AwwAAAAASUVORK5CYII=");
  377. }
  378. .menu a.utility {
  379. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIISURBVDjLlZPRT1JxFMf5E+6fwL9Ri8lsI5cSV7swL82w0SZTB6zWXOuB0cLU8HKhuAooTNrFupcAsYWjh1sRIaDgTLGXxmubD2w+9Prth29tXMWH83J+Z5/vOd9zfhoAml7h+mg3ReuhUxIdR37CrVanUXvgvvsOtk4kbJ+kEaos/bkSYCZv0wcri7/zrTS2f32AUOX+2nPWACvd1V4KmM7fnxQP1pE+2kSuJUM+EpFpvUOS5MJVHgQSuBCwWuU72eP3EA8TWCx523NFl+Iv+zrxRgRr+wKeFJ1NVYA9y+o3mjFskbkj9SDGpTGqm2dSJmosZfRYZXPClLxNqQJsGYt2bS+MbEtCF2SVmQCTukOPikaqbxPnik4l3ohC+ilivbGKcC0Af/klXAVHczhuoC8FmDdpyl2YUrjyAlmfHytklATpJronwP9jAYbYIN3XHXTDuDGkJ6qeRzsz7XCNh1AjvshmRRXQnZWVmIQxOfTf5RFV/fw3LyJkC+6d2U5PwOjbEe3Tz4/bQp0/b92WY5VbsZtuQ3SQfpC71+R3/eAqr2ASR7I9AUSVepibUHhSFCVKQv31uXm+0nPwVQ5dgOfLM+jeXNdf6AFRnZz9NNVeKs8jtr+CCDHvRcmL8bSlqQtdo/v+TBaZ+RrcXUaQqLMZy+GVf+OAcGPaWXCckW7OBgTdslrdPxtwvK6n/CCRAAAAAElFTkSuQmCC");
  380. }
  381. .menu ul {
  382. padding: 0;
  383. margin: 0;
  384. list-style: none;
  385. }
  386. .menu ul a {
  387. padding-left: 38px;
  388. background-position: 16px 50%;
  389. }
  390. .menu ul ul a {
  391. padding-left: 48px;
  392. background-position: 26px 50%;
  393. }
  394. .menu ul ul ul a {
  395. padding-left: 58px;
  396. background-position: 36px 50%;
  397. }
  398. .menu ul ul ul ul a {
  399. padding-left: 68px;
  400. background-position: 46px 50%;
  401. }
  402. .docblock {
  403. margin-bottom: 70px;
  404. }
  405. .docblock header {
  406. margin-bottom: 22px;
  407. }
  408. .breadcrumbs {
  409. font-size: 12px;
  410. font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  411. white-space: nowrap;
  412. margin-left: 0;
  413. color: #ccc;
  414. }
  415. .breadcrumbs a {
  416. color: #999;
  417. border: 0;
  418. }
  419. .breadcrumbs a:hover {
  420. text-decoration: underline;
  421. }
  422. .breadcrumbs li {
  423. display: inline;
  424. margin-right: 4px;
  425. }
  426. .breadcrumbs li + li:before {
  427. content: "»";
  428. margin-right: 4px;
  429. }
  430. header > .type {
  431. color: #999;
  432. text-transform: lowercase;
  433. font-weight: bold;
  434. font-style: italic;
  435. font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  436. }
  437. header .name_prefix {
  438. opacity: 0.5;
  439. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  440. filter: alpha(opacity=50);
  441. }
  442. header > .source {
  443. line-height: 1em;
  444. margin-bottom: 5.5px;
  445. }
  446. header > .source a {
  447. font-size: 10px;
  448. color: #ccc;
  449. margin-left: 10px;
  450. text-decoration: none;
  451. border: 0;
  452. }
  453. header > .source a:hover {
  454. text-decoration: underline;
  455. }
  456. .labels span {
  457. -webkit-border-radius: 3px 3px 3px 3px;
  458. border-radius: 3px 3px 3px 3px;
  459. color: #fff;
  460. font-size: 12px;
  461. font-weight: bold;
  462. padding: 2px 5px 3px;
  463. text-transform: lower;
  464. white-space: nowrap;
  465. margin-right: 10px;
  466. }
  467. .labels span.read-only {
  468. background-color: #999;
  469. }
  470. .labels span.internal {
  471. background-color: #999;
  472. }
  473. .labels span.chainable {
  474. background-color: #999;
  475. }
  476. .deprecated-note {
  477. color: #f00;
  478. }
  479. .section {
  480. position: relative;
  481. }
  482. .section h3 {
  483. font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  484. background-position: right 3px;
  485. background-repeat: no-repeat;
  486. display: block;
  487. position: absolute;
  488. left: -145px;
  489. top: 0;
  490. width: 110px;
  491. line-height: 14px;
  492. padding-right: 20px;
  493. padding-top: 4px;
  494. padding-bottom: 4px;
  495. margin: 0;
  496. text-align: right;
  497. font-weight: normal;
  498. font-size: 14px;
  499. color: #888;
  500. }
  501. .section.classes h3 {
  502. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHhSURBVDjLpZI9SJVxFMZ/r2YFflw/kcQsiJt5b1ije0tDtbQ3GtFQYwVNFbQ1ujRFa1MUJKQ4VhYqd7K4gopK3UIly+57nnMaXjHjqotnOfDnnOd/nt85SURwkDi02+ODqbsldxUlD0mvHw09ubSXQF1t8512nGJ/Uz/5lnxi0tB+E9QI3D//+EfVqhtppGxUNzCzmf0Ekojg4fS9cBeSoyzHQNuZxNyYXp5ZM5Mk1ZkZT688b6thIBenG/N4OB5B4InciYBCVyGnEBHO+/LH3SFKQuF4OEs/51ndXMXC8Ajqknrcg1O5PGa2h4CJUqVES0OO7sYevv2qoFBmJ/4gF4boaOrg6rPLYWaYiVfDo0my8w5uj12PQleB0vcp5I6HsHAUoqUhR29zH+5B4IxNTvDmxljy3x2YCYUwZVlbzXJh9UKeQY6t2m0Lt94Oh5loPdqK3EkjzZi4MM/Y9Db3MTv/mYWVxaqkw9IOATNR7B5ABHPrZQrtg9sb8XDKa1+QOwsri4zeHD9SAzE1wxBTXz9xtvMc5ZU5lirLSKIz18nJnhOZjb22YKkhd4odg5icpcoyL669TAAujlyIvmPHSWXY1ti1AmZ8mJ3ElP1ips1/YM3H300g+W+51nc95YPEX8fEbdA2ReVYAAAAAElFTkSuQmCC");
  503. line-height: 25px;
  504. background-position: right 8px;
  505. }
  506. .section.class_methods h3 {
  507. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXRQTFRFvLXSuLHQwrzWsKjKxb/YrKTIq6PHr6fKta7OnpS+tKzN/v7+pp3EpZzD2tbmurPRh3uvx8HZzsneopnBjIGx3NnoxL7Y0czgjoO09fT4iHyw0Mvf4d7r0s7hoZjBmI67xsDZy8bcrqbJ3t3hdGmcZ1uQ7evzt7DMysXcqqW7in+xqJ/FtK3Nm5G9lou5nJK99/b6urbHUUlnyMLaTUNvwrzX5OHtgHyMXVhx5uTut6/PubLQ0s/d3tvpNS5LgnmjTkZlTUZmVU1vUklu7Ovv1dLgWU1/fG+o9PT2r6jGY1aObGaAn5uwVk5xkIW129fnvbfT/Pv9TEJsrqfJc2aeRDtgf3WhwLrVi3+ynZW2mo+819Tlp57Ea2CRvbbTin6x7+7yb2OV+fn72dXlTkRw2NTllIm4q6LHfG+mT0Vx29jnZ2J4k4m4mY+8VEp19fX31NDj////npup4+Hpgnas3droXlKIsa661NHfpqG1s6vM////z9cmxgAAAHx0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AAFq2jEAAADzSURBVHjaYqgGAzMFplIIiwGIJQMLrbP45LmT1CAC0QwMBlWy4nKSuVpVIAEZaUuhYB5BlrQcRltOdaCAqJI0i6KQIIsiE6OOmyZISwELP4ewewlrFRunJ1CLqRW7BgOvvU2FiBIrQ4hKGAO7jCBHnIBrdbWoH7twlXgQg3YqUxWDXnJ1NV8EK2c6UyiDboZAQBV/lD+fCBuvnLORBdBQMWY2Zi6JeLYYfQkfkDuMBRSYGcM5uPiZeRhTKoECYryyUqpe7KwmeVJMZUUgd0Rm+iYkMnI5uTjYmUM8V5zPHcsj78jtoQz1LRAYemeXQ1gAAQYAJT9BfVti1ekAAAAASUVORK5CYII=");
  508. }
  509. .section.class_properties h3 {
  510. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHpSURBVDjLhZNbbxJhEIb3T/RWw78g2fjLvLE2ppe1TYNtvGuNRo6BcA4kIBBOgXCU3QXploCAmNQE/VY55PWbj7CWcPBibuab95l3ZmelZrOJRqOBWq2GarWKSqWCcrmMUqmEYrF4BEA6FFK9XsdyudyKfr8vILlc7iBEos4k6PV6orOu6yaEctwF0un0XohElqmYulGiUCiUptMp5vO5yBMwm80ikUjshEjUdV3IxX+45Z5hGPj29RcykbF463a7SKVSiMfjWxCJOq8tLxYLkPj72MCbEw3nz1WkwytIp9MhF4hEIhsQic/IJpOJKJrNZqKz7aWGm7Mu3l/quDppmxBN08gFAoGACZHy+fwzPiMbj1dFSvVBdL49v8PHq/stiKqq5AJer1dABCWTych8RjYajURRu/EDtmMV7y7+QWzHGj4FV++tVotcwO12H5mzJJNJmc/IhsPhFuSDTcfb0w6uTz/zr7MQLkKhEJxO59ONjfL55FgsxgaDgQm5fKHg+lUbtxdt/Jwaj8UWc4THEY1G5XA4zOgSxeLqD7h5/QW/jbkpdjgcFnOJu44jGAzKfr+f0SWuPzGJeX5DvBdA4fP5rHzTjA5MUZSd4oMACo/HY3W5XIzEdrvdsvOU//e78q5WLn6y7/0viZYv/mL7AwwAAAAASUVORK5CYII=");
  511. }
  512. .section.constants h3 {
  513. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAAZ9pQ0NQSUNDIFByb2ZpbGUAAHiclZG/SxthGMc/72kJFM3S09aCcIOYDFGCWSIUwWSwokMaBJMMwuXujIHz8nL3auviZmehm3SwLbSLiFNxjIuTuBSKoAjF/gGFlC5FzuFtyaKIDzzw+X7h4fkFRtuW0jeA1UCF5ZmCVanWrMQZvfQDgO1EcrpUmufO+PMdAfBtzJbSP2qljn8Pvd39sjS2ebpzdX53HQB9YaVaA2ECZkNzGjDrml8A5mslFYgSYDortgvCBTLhQrkIYhtINjTvAsm65gMgue40FIg2kA3cZgDiF5B3vcgBIw0oR4YKjPfASKVas/Roag6mhqHnpOvVItj7DE9Hu176GQwswmGu63VeIQAxeBIt5yYAEH0FeHQZx51RSLyD6+04/vsxjq8/Qc8FtANnLVz/dxdhTMJ9Wu+mtf4B6L63s94fgCx8eAmLj2FuC3Z+QGofnnyFUj8sTGLkf/5PfSsAnhdtv1kPbeW5VnmmYBVbfiuMpO149zz6oaG8Nwqg2JIbYbOxoqxpKX0vY80GznjGmshm89wA0tx3Ck/ZLb8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAHMSURBVDiNpVMxb1JhFL0PSOgAeTCYQALiXzBxcmNz07B2IoYwdGrq0IGUgaUDxYXHaElIOqtxUBYZm2BiUhjqVBUb06QJxADv3Xvux+eCxsY+Bj3rOd+5957vXqL/hBNGDIfD58aYMgBS1eNisbh7my4SZqCqZQAHAA5EpBymi4URAMgY80NVCUCYLNyAmaGqxwAIwHWY7q8MBoPBBwD3AVA6nY6QJbr4fLECQCLysVKpPNjYgaq+BsAiQrPZ7KFRQyJyKiKkqu9CZ7kNJycnttvt2k2a0AyIiJh5Y4C/Dfr9/g4z7wE4KpVK3i9SREhEbjyo1Wo7APYAHLVaLS+2rtTeim+R40TavV6vvVwuC9Vq9eufHdTr9bvGmC+5XI5i0Ridjc7aRORFiIhWq1VmOpuSMSti5n1rbdzzvAwzUxAEVK/XM8aYuKruEzl0/umcgiC4Q7TeRGZe+L6/e3X1feK67qHv+6PFYtHMZrOUz+dJVZvMPCoU7h2Ox6PJfD5/eiOD6XTKzPwiGo2+mUwmzUQi8dh13e1UKkXWWnIcZ/vy2yWNx6NX1tpnQRBcJ5NJnyjkmBqNxiMAT0SkuD6m9wBedjqdtxu/5F/wE3qEI6X0xsv2AAAAAElFTkSuQmCC");
  514. }
  515. .section.constructor h3 {
  516. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHaSURBVDjLlZO7a1NRHMfzfzhIKQ5OHR1ddRRBLA6lg4iTd5PSas37YR56Y2JiHgg21uoFxSatCVFjbl5iNBBiMmUJgWwZhCB4pR9/V4QKfSQdDufF5/v7nu85xwJYprV0Oq0kk8luIpEw4vG48f/eVDiVSikCTobDIePxmGg0yokEBO4OBgNGoxH5fJ5wOHwygVgsZpjVW60WqqqWzbVgMIjf78fn8xlTBcTy736/T7VaJRQKfQoEArqmafR6Pdxu9/ECkUjkglje63Q6NBoNisUihUKBcrlMpVLB6XR2D4df3VQnmRstsWzU63WazSZmX6vV0HWdUqmEw+GY2Gw25SC8dV1l1wrZNX5s3qLdbpPL5fB6vXumZalq2O32rtVqVQ6GuGnCd+HbFnx9AZrC+MkSHo/np8vlmj/M7f4ks6yysyawgB8fwPv70HgKG8v8cp/7fFRO/+AllewqNJ/DhyBsi9A7J1QTkF4E69mXRws8u6ayvSJwRqoG4K2Md+ygxyF5FdbPaMfdlIXUZfiyAUWx/OY25O4JHBP4CtyZ16a9EwuRi1CXs+5K1ew6lB9DXERX517P8tEsPDzfNIP6C5YeQewSrJyeCd4P0bnwXYISy3MCn5oZNtsf3pH46e7XBJcAAAAASUVORK5CYII=");
  517. }
  518. .section.description h3 {
  519. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKkSURBVDjLpZPdT5JhGMb9W+BPaK3matVqndXWOOigA6fmJ9DUcrUMlrN0mNMsKTUznQpq6pyKAm8CIogmypcg8GIiX8rHRHjhVbPt6o01nMvZWge/k3vP9duuZ/edAyDnf/hjoCMP2Vr3gUDj3CdV6zT1xZ6iFDaKnLEkBFOmPfaZArWT5sw60iFP+BAbOzTcQSqDZzsNRyCNkcVoaGghzDlVQKylOHJrMrUZ2Yf52y6kc36IxpyoH1lHF7EBgyMKV4jCJ5U/1UVscU4IZOYEa3I1HtwI01hwxlDLhDoJD/wxGr5YGmOLAdRIrVCuhmD3JdA6SQabx12srGB0KSpc86ew4olDOGjH4x4z0gdHDD9+c4TaQQtq+k2Yt0egXYugTmoVZgV9cyHSxXTtJjZR3WNCVfcK/NE0ppYDUNu2QTMCtS0IbrsOrVMOWL27eNJtJLOCDoWXdgeTEEosqPxoBK/TwDzWY9rowy51gJ1dGr2zLpS2aVH5QQ+Hbw88sZ7OClrGXbQrkMTTAQu4HXqUv9eh7J0OSfo7tiIU+GItilpUuM/AF2tg98eR36Q+FryQ2kjbVhximQu8dgPKxPMoeTuH4tfqDIWvCBQ2KlDQKEe9dBlGTwR36+THFZg+QoUxAL0jgsoOQzYYS+wjskcjTzSToVAkA7Hqg4Spc6tm4vgT+eIFVvmb+eCSMwLlih/cNg0KmpRoGzdl+BXOb5jAsMYNjSWAm9VjwesPR1knFilPNMu510CkdPZtqK1BvJQsoaRZjqLGaTzv1UNp9EJl9uNqxefU5QdDnFNX+Y5Qxrn9bDLUR6zjqzsMizeWYdG5gy6ZDbk8aehiuYRz5jHdeDTKvlY1IrhSMUxe4g9SuVwpdaFsgDxf2i84V9zH/us1/is/AdevBaK9Tb3EAAAAAElFTkSuQmCC");
  520. }
  521. .section.events h3 {
  522. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIxSURBVDjLpdNdSFNhGAfww0Cri+gyKLowpMC+LsooEy+SgqJuKqRIiIQKkryoi4zaUmbWSHKdPkYz05xdnKNobmwW6Vi6tbk2TDYl82PTTSr3PXe2s2T+O+dgYwV54S7+vBcvz4/neXleAgCRTf570UXdLda9ORUytW1LDbbkp1TK8h8PLu1rvn92C7houBxfEbA/E+Hn4C6wAQMYTxO8vbkwvMjBYiKED3X7BUQAaFqao6XLgxZyDaxyAp9JArYnBCLjd5CM2bDIupCI6MEEtRjQtWK2rx7t13fzQMUfYHNfx7H4wtQ9xFwPEZuuR+I7jWSgH9H5FrBRI4KeGgTcN6CoKoT3YyMaL+TxwCYBoOi6M5+6i37xgM9YICQ8elnAmKCai4YDJHCPnEDnrUJMdFfxxUg/Ik2JlSPq7anYtAw+0x74zXs54AqYGRLxMN9FK/yem5hySpcMDYfh6hX/DXRR15yhcclS2FEBv+Ugl0OIjFWCmVUgGR9FzE8h6mvGF7MMY21lMJNHecCZBrRUWXhhcrn9ga0IOy4Kxey8BoGZWnwbKsCkbSOGX+cJwFtJEQ9I04C+o5SNTojBuOXc3I8Qn1Nh7v062BUiWHXnWLtD+1TVTxt7anPhfHUayqs7eKAkDajbz3tN5HpYH4swJBfBQq7Fu6aSROZOcAWlLyt3Ch1kzr/iIv0DyHpqirMCvloVJ7MChGJ9w5H0Cq8K6Lx9gAeqVwM8X/6F/Lkh8+43zznRPkqpYfEAAAAASUVORK5CYII=");
  523. }
  524. .section.instance_methods h3 {
  525. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAXFQTFRFwNCxyda8y9i/ucqow9K1tsiku8yrtcejuMqnqb6Ur8OcwtGz/v7+vs6uvM2s3ubWzdnBsMSdla97oLiJ1d/Lm7SDy9i+1uDMlrB81+HO9vj04OjZvMyrmbGB0dzG097JrMGYt8mm3OXUzNnApLuOrcGZpbyP5OveWnBE3+HdvsywpbCbormLPEsuco5Wx9W6ztrCW3FF5+3hwNCy0NzFxNO2praVv8+vq7Wh3+fXWW9Dkax2v8e2tMeiVmVGVWZGi6hvl7F+p72RssWfYHVKgpxpt8ao4unb5enh4ejai6F1uMmn2ePQp72SXm9N6e7kjqN52N/Ryde8sLulgp5mbYhS3+fYfJVjWGdJ/P37+Pr2ZHFYmLJ/eJFgTWA7xdO31t3P9vf18PLu7/Pr3eXV////nbWFZn9N9fb0X3FOiqZvbXhi7e/rhIx8scSe+vv5vc2txNK12eDSl7F/tLquW25Joqmbc4BmV2xCdZBb////Xx6j1gAAAHt0Uk5T//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8Ak8Oo6gAAAPNJREFUeNpiqAIDI2VGTwiLAYilIlONw/hVePKTIQJKLIVRMpLiClJqxTIgAXURf3lvQQEmYWEGd04toIC0ogiTnLwAkxwjQ0F6MEiLDxM3r6qDNSsbO6cbUEuQOYcJC1dAQqCsIitLiKsXA4e6AK+pUFFVlXQahyqbeAWDsxIjG4tOSlUVfwwrpy1jHINTllA8G7eaJb8sO5dCaUQ00FAxZnZmPlFH9jxfUW2QOwyElJkZ9Hn5uJkFGTQsgAJiXJISlXocrFYuEoyhZSB3mBlmJoUz8Pnl2OnmQjznkcgTK6hiz5OhCfUtENiUZ5dAWAABBgDCVz8yTkvDFQAAAABJRU5ErkJggg==");
  526. }
  527. .section.instance_properties h3 {
  528. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH3SURBVDjLhZNJjxJhEIb7T8xVw78g6fh75mJGY/SqTjRGTXTcbu7xxtItPew2YxMgbGkCNMgSQkgDAiHRKNpkWPL61ZfQGcLioS5V9T711tfVQrVaRaVSQblcRqlUQrFYRKFQgK7ryOfzBwCEfSEYhoHlcrkRvV6PQzKZzF6IQJNJYJomn9zpdGwI5ZgLJJPJnRCBLFMzTaNELpfTJ5MJ5vM5zxMwnU5D07StEIGmrhqZ+JxZNqfTKUY/u4gbMq+1220kEgnEYrENiECTV5YXiwVIPP71Hc9Or+ORdAjNkHit1WqRC0QikTWIwHa0xuMxb5rNZhj+6OLk9Bpef7mN92f38JyBVpBms0kuEAgEbIiQzWavsB2t0WjEm76ZOTyWD/FWvYtP2kN8OLu/Bmk0GuQCPp+PQzgllUqJbEdrOBzypnq3gKe+I7xTj23IiXKEWMnF67VajVxAkqQDe5d4PC6yHa3BYLAB+fj1AV4Fb+KlcgvzxYy7CIVC8Hg8l9delO0nqqpq9ft9G/Lk81W88N/Am+gx/vz9fVHssFe4GNFoVAyHwxZdIrdr6kx8B9Nzyxa73W6H/YjbjiMYDIp+v9+iS1x9YhKz/Jp4J4BCURQne2mLDqxer28V7wVQyLLs9Hq9FoldLpdj6yn/73dlU51MfGlX/R/5GCirExPTUwAAAABJRU5ErkJggg==");
  529. }
  530. .section.mixins h3 {
  531. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAAZ9pQ0NQSUNDIFByb2ZpbGUAAHiclZG/SxthGMc/72kJFM3S09aCcIOYDFGCWSIUwWSwokMaBJMMwuXujIHz8nL3auviZmehm3SwLbSLiFNxjIuTuBSKoAjF/gGFlC5FzuFtyaKIDzzw+X7h4fkFRtuW0jeA1UCF5ZmCVanWrMQZvfQDgO1EcrpUmufO+PMdAfBtzJbSP2qljn8Pvd39sjS2ebpzdX53HQB9YaVaA2ECZkNzGjDrml8A5mslFYgSYDortgvCBTLhQrkIYhtINjTvAsm65gMgue40FIg2kA3cZgDiF5B3vcgBIw0oR4YKjPfASKVas/Roag6mhqHnpOvVItj7DE9Hu176GQwswmGu63VeIQAxeBIt5yYAEH0FeHQZx51RSLyD6+04/vsxjq8/Qc8FtANnLVz/dxdhTMJ9Wu+mtf4B6L63s94fgCx8eAmLj2FuC3Z+QGofnnyFUj8sTGLkf/5PfSsAnhdtv1kPbeW5VnmmYBVbfiuMpO149zz6oaG8Nwqg2JIbYbOxoqxpKX0vY80GznjGmshm89wA0tx3Ck/ZLb8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAJhSURBVDiNZZPNi85RFMc/9+d5npmwQF4aYUzIzPAMJe9SSNl4+w+wIbKQhQ0rGwtLZqGUhZUslAWRZjBNkiJvWVAUYpRnDGZ+9+WcY3GfGTKnTud263zO95xzrwPYfeLKCovpukED3EbDMAPMyMEmXCUSy+H3D66e6QCoAGiMh3Gus97dztC3H5iNJ0GGKaYw/OM3Y95QqotpWqUZt9a7F7GtZyGL2upYJqCmuarm6nNmTGVqa4XNe4/wP2BmfUU7t568pdEYxVQB0HEVZpgawyOjlD7wr+UWFFepVVi2sp2l82YhAmaKqiFiiCpJjbEycu16/2SAYYgoH4ZGqBVVyrIk+kDSfJ+YQqVaY/a0FtRsMgBARUkS8d6zf93SLD8vAjPjSt8bYmuV//KbCsyIokhMJCm42v8aHxNJDElKwlGt1QgpD3UyQI2UlBAjQcGKFly1CoWhTlFVgjiCTAYUNGXGJKQy4aNQJqGMgo8JnwQfBD86yKeP5+lYfpv69iF2naqf/rsFM5Io0Ud8lNyOGEGUJIqMDTB/3mvWdK1nwaxl9L26waOXD8+uO9o2sxifQUpKDBkQkjIWhRAFn5TRn/dY3bkKKYRVbTsRF9lQ3wSOY0VWoIQkJJ/wUSmjEKNm+V5o/PpK1U1nT9dxAE7uuMSSuT04aJmYgYghQfAxexkT3ishKN9HGrz6PMi5uwcBOHfnIO+GnmPg8zswg6Jg7foezDlEjCSGNqPz+3j0/DaberZw80UvNVdh4Nl9MC46gK0HLlw2OJR/3j/vH4Pmmdb70PIUXMDgF2a9j3u/nPoDgNPEfbFn4CQAAAAASUVORK5CYII=");
  532. }
  533. .section.namespaces h3 {
  534. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAACpUlEQVQ4ET2TS2sTURTHZ+7cySTpI9q0mwgqobsoarGlUBfZCCJKV0Wx+MCvIOK2n6NLcaFk4VIRwYqKoFBX2YVUYppgapKW5jWZuTP+TpQOnLnnnvM///O499qWZdkbGxuqUCg46DqVSslqDYdD0263jejZbNYZDAYT++Hhoel2uyFmUyqVIr21tWWzcQj00un0vDFmLQzDLPt9At8KQRRF17XWZ+M47kxNTX3Bf3B8fOzjijU/hdEFlBmPx98gEBIL0Ht876jCwv8Y/y1sQtZJJpOXgyDoFIvFSDUaDZsAbdv2DYzzkOz6vr9MyXd7vZ7xPM+Q7dFoNLoqCZA5/DfZ64WFBaVzuZzDxnUc5zzsknmXwCZrQAXSq0XfAURN2viOfYVE59DdZrPpSwsaViGYEQKqCdGDer1+QgBGJRKJABzxoSSZocLE7OysqynHIyAJ6xXpnXWPkk+mLBVwSgZcyBB//p/PEroHia/Ieg/nS9jXWH8jXwFF1Wo1lmD5RIc4IkBm0ERW2b/C9VCjrBOwQlkx6wuc+/1+/yR4wsCPs7fou0Hm58hT8MvgfcXA7hO0SWZhfoJcg9TO5/NyPyYfQ7YJsKl2lfUZ2Ba2B+h3FIgBm08EisgMLnCkDsRCMBECbESBKwiGzJ/B7VDpQHMUwfT09BjwHowy4VMAdKvVkqs7OcZMJuNAqrFnWDFbVaXUmOGPNQEG5hBHCEAIUrwD2tV6cXFRLlIsOn27YNISjS4nEh4dHRlVq9XQY0Npf6Q8Sr0EyRw2l7ehyeKKTtwcsiQEfAdg/5FzHSNumlyeDwyph1xEfnBx3pBxU9AUsI2+jupANkB2mEFYLpcjaUhRqsvL8wCdobci62lAvyjxtRBw425jy6N2aPMja51H5lcqleAvPBAtoRoK3h4AAAAASUVORK5CYII=");
  535. line-height: 25px;
  536. background-position: right 8px;
  537. }
  538. .section.subclasses h3 {
  539. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKJSURBVDjLpZLfT1JhGMfduqu7/giv+wsk5mKGB53UBHHiDzjQkQjhmJyT6OiQBhommKJLaVrLZcPWpi3To0KspiSYv8AL160XOVy5uVrz23lPV0225rp49j77Ps/zed5937cIQNH/REFRyHBb3rXb6FhlT+58bJk5E0DIuC8Kaxwmd0cxkRtGW9L+9cw38Ky4jiZyEUQ2gnAtM4v/BPjWedxNt6Ez1Yr2FSe4D46T8WwEY9sDuLVAHza/bTqwztbnTa9r8wUBXmn4+e5jPMuNYCI7jPHsEKLbgxjdGsDw54cYXH+AR5keGGM6FAR0pFg8lYbJ1vspHu73DNgEDWfcLJ1WOJctEqAXhhfXCgMkp+FO2tG14pG3uuI0HMtNuLlYD0asg2XegP6MH/ZZC7TjFCrGyqAeuYJTJjpEC0Y2+mFfakCzaMSNhVqY52vQ+K4ajiUavZ98CKwK8K96oRpSngbY5kwIp3rADJngCwiIRqPgfW40TOphmzWhs7tD1roCXbju1aKkpOSCPCg5DclpcGIL7H4GoVAI+/v72NvbQzweh8ffjs4+D3ZyO7KWTCblHoqiemQAGR6UTGp94gDLuZDe3ISVp0FpKNA0jXA4DJ7n5by8vPyXXq9/QyAsyx7KAHrGiJBkUllLKYR7ggzQRilcLlVAFEWk02kkEgnEYjEoFIrvlZWV5wlAEIRjGdD4yoC+tW7QvQ1g7MwfgFY7p1Qqf6pUKlRVVclBcqKRGgFYrda8DKh7WY2aSS0q+q+iwqBBoC9wMjU1dTA9PY1IJAKnU/qdHCfnRCO1YDCY12g02b9eobi4+Jx0xUtqtfqL2Ww+stlsx1L80Ol0RilKpfwb0UiN9JDe3w8qq6SmnYkEAAAAAElFTkSuQmCC");
  540. }
  541. .section.superclass h3 {
  542. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKJSURBVDjLpZLfT1JhGMfduqu7/giv+wsk5mKGB53UBHHiDzjQkQjhmJyT6OiQBhommKJLaVrLZcPWpi3To0KspiSYv8AL160XOVy5uVrz23lPV0225rp49j77Ps/zed5937cIQNH/REFRyHBb3rXb6FhlT+58bJk5E0DIuC8Kaxwmd0cxkRtGW9L+9cw38Ky4jiZyEUQ2gnAtM4v/BPjWedxNt6Ez1Yr2FSe4D46T8WwEY9sDuLVAHza/bTqwztbnTa9r8wUBXmn4+e5jPMuNYCI7jPHsEKLbgxjdGsDw54cYXH+AR5keGGM6FAR0pFg8lYbJ1vspHu73DNgEDWfcLJ1WOJctEqAXhhfXCgMkp+FO2tG14pG3uuI0HMtNuLlYD0asg2XegP6MH/ZZC7TjFCrGyqAeuYJTJjpEC0Y2+mFfakCzaMSNhVqY52vQ+K4ajiUavZ98CKwK8K96oRpSngbY5kwIp3rADJngCwiIRqPgfW40TOphmzWhs7tD1roCXbju1aKkpOSCPCg5DclpcGIL7H4GoVAI+/v72NvbQzweh8ffjs4+D3ZyO7KWTCblHoqiemQAGR6UTGp94gDLuZDe3ISVp0FpKNA0jXA4DJ7n5by8vPyXXq9/QyAsyx7KAHrGiJBkUllLKYR7ggzQRilcLlVAFEWk02kkEgnEYjEoFIrvlZWV5wlAEIRjGdD4yoC+tW7QvQ1g7MwfgFY7p1Qqf6pUKlRVVclBcqKRGgFYrda8DKh7WY2aSS0q+q+iwqBBoC9wMjU1dTA9PY1IJAKnU/qdHCfnRCO1YDCY12g02b9eobi4+Jx0xUtqtfqL2Ww+stlsx1L80Ol0RilKpfwb0UiN9JDe3w8qq6SmnYkEAAAAAElFTkSuQmCC");
  543. }
  544. .section.utilities h3 {
  545. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIISURBVDjLlZPRT1JxFMf5E+6fwL9Ri8lsI5cSV7swL82w0SZTB6zWXOuB0cLU8HKhuAooTNrFupcAsYWjh1sRIaDgTLGXxmubD2w+9Prth29tXMWH83J+Z5/vOd9zfhoAml7h+mg3ReuhUxIdR37CrVanUXvgvvsOtk4kbJ+kEaos/bkSYCZv0wcri7/zrTS2f32AUOX+2nPWACvd1V4KmM7fnxQP1pE+2kSuJUM+EpFpvUOS5MJVHgQSuBCwWuU72eP3EA8TWCx523NFl+Iv+zrxRgRr+wKeFJ1NVYA9y+o3mjFskbkj9SDGpTGqm2dSJmosZfRYZXPClLxNqQJsGYt2bS+MbEtCF2SVmQCTukOPikaqbxPnik4l3ohC+ilivbGKcC0Af/klXAVHczhuoC8FmDdpyl2YUrjyAlmfHytklATpJronwP9jAYbYIN3XHXTDuDGkJ6qeRzsz7XCNh1AjvshmRRXQnZWVmIQxOfTf5RFV/fw3LyJkC+6d2U5PwOjbEe3Tz4/bQp0/b92WY5VbsZtuQ3SQfpC71+R3/eAqr2ASR7I9AUSVepibUHhSFCVKQv31uXm+0nPwVQ5dgOfLM+jeXNdf6AFRnZz9NNVeKs8jtr+CCDHvRcmL8bSlqQtdo/v+TBaZ+RrcXUaQqLMZy+GVf+OAcGPaWXCckW7OBgTdslrdPxtwvK6n/CCRAAAAAElFTkSuQmCC");
  546. }
  547. .section.sections h3 {
  548. background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAAZ9pQ0NQSUNDIFByb2ZpbGUAAHiclZG/SxthGMc/72kJFM3S09aCcIOYDFGCWSIUwWSwokMaBJMMwuXujIHz8nL3auviZmehm3SwLbSLiFNxjIuTuBSKoAjF/gGFlC5FzuFtyaKIDzzw+X7h4fkFRtuW0jeA1UCF5ZmCVanWrMQZvfQDgO1EcrpUmufO+PMdAfBtzJbSP2qljn8Pvd39sjS2ebpzdX53HQB9YaVaA2ECZkNzGjDrml8A5mslFYgSYDortgvCBTLhQrkIYhtINjTvAsm65gMgue40FIg2kA3cZgDiF5B3vcgBIw0oR4YKjPfASKVas/Roag6mhqHnpOvVItj7DE9Hu176GQwswmGu63VeIQAxeBIt5yYAEH0FeHQZx51RSLyD6+04/vsxjq8/Qc8FtANnLVz/dxdhTMJ9Wu+mtf4B6L63s94fgCx8eAmLj2FuC3Z+QGofnnyFUj8sTGLkf/5PfSsAnhdtv1kPbeW5VnmmYBVbfiuMpO149zz6oaG8Nwqg2JIbYbOxoqxpKX0vY80GznjGmshm89wA0tx3Ck/ZLb8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAGpSURBVDiN1ZK/ihRBEMZ/NTtzjMosJ4p4KorZ3qUGZ3LBoU/gC5j4CIKBgab6AoKRYGYmpoIXmItGYqBwKpx74v6/nenp7s9gxt01uVCwkm6q6/vVV0XDfx8G8PHVtfd5d2vLLFl5EtXk89ekGl83n1V/qU7DflrMdnf3fApg6vQu7zxLzQzUiDHDlz+vHrx7+E3WZAE6WVfR1/2N/pu7wIsUQF4l0a1VB08IrgNJF7OC/MINLm4/zpCACIot/NT5Ty93HiwAVpMoOoJbQ1HE+T717AfT/h5ZvgGqITokD3iK3r3MiFcAUgAS8ujnuCOQm1FPxhS92+RnNts1/XEgQFi6DtHSJaBOSE+cY33zzqJQRKL7jh++RmGE/Aj5MQpT8kv3oWzW0gCcpFASjz40xWGC/JBYD1AYgR+2+TEKM1AFNasApOiJ9WHTKYyQH7b3Qdt5vABIHqpVQBVlBOR/tcLh0nYYIT9ZimPZjOlXAHIauOnhyXqyVpgKkzKIBegsClVjMWlOSwJ+Pic6VSsOykdfnt7aVuSmJVYc+3cFsrfOQnx+bN0/i9+QGxia3x5r7AAAAABJRU5ErkJggg==");
  549. line-height: 25px;
  550. background-position: right 8px;
  551. }
  552. .method-list {
  553. margin-left: 0;
  554. list-style: none;
  555. }
  556. .method-list > li {
  557. display: inline-block;
  558. }
  559. .method-list > li:after {
  560. content: ",";
  561. margin: 0 10px 0 2px;
  562. }
  563. .method-list > li:last-child:after {
  564. content: '';
  565. }
  566. .method-list > li > a {
  567. border-bottom: 1px solid #888;
  568. text-decoration: none;
  569. }
  570. .method-details-list {
  571. margin-left: 0;
  572. list-style: none;
  573. }
  574. .method-description > h4 > a {
  575. border-style: none none solid;
  576. }
  577. .section a,
  578. .readme a {
  579. border-style: none none dashed;
  580. }
  581. a.link-short,
  582. .superclass a {
  583. border-style: none none solid;
  584. }
  585. p code,
  586. li code {
  587. background-color: #f8f8f8;
  588. border: 1px solid #ddd;
  589. -webkit-border-radius: 3px;
  590. border-radius: 3px;
  591. -webkit-box-shadow: 0 0 2px #eee;
  592. box-shadow: 0 0 2px #eee;
  593. padding: 0 3px;
  594. font-size: 13px;
  595. }
  596. .note {
  597. background-color: #eef;
  598. border: 1px solid #69c;
  599. -webkit-box-shadow: 0 0 3px #eef;
  600. box-shadow: 0 0 3px #eef;
  601. }
  602. .related-to {
  603. background-color: #fff6de;
  604. border: 1px solid #cc9;
  605. -webkit-box-shadow: 0 0 3px #fff6de;
  606. box-shadow: 0 0 3px #fff6de;
  607. }
  608. .related-to > a {
  609. margin-left: 25px;
  610. }
  611. .alias {
  612. background-color: #fff6de;
  613. border: 1px solid #cc9;
  614. -webkit-box-shadow: 0 0 3px #fff6de;
  615. box-shadow: 0 0 3px #fff6de;
  616. }
  617. .alias > ul {
  618. display: inline;
  619. padding: 0;
  620. }
  621. .alias > ul > li {
  622. display: inline;
  623. }
  624. .alias > ul > li:after {
  625. content: ",";
  626. margin: 0 5px 0 2px;
  627. }
  628. .alias > ul > li:last-child:after {
  629. content: "";
  630. margin: 0;
  631. }
  632. .note,
  633. .related-to,
  634. .alias {
  635. -webkit-border-radius: 3px;
  636. border-radius: 3px;
  637. font-size: 12px;
  638. padding: 3px 30px;
  639. margin-bottom: 11px;
  640. }
  641. .note a,
  642. .related-to a,
  643. .alias a {
  644. border-style: none none solid;
  645. }
  646. .signatures {
  647. background-color: #e0e8e0;
  648. border: 1px solid #ccc;
  649. -webkit-box-shadow: 0 0 3px #eee;
  650. box-shadow: 0 0 3px #eee;
  651. -webkit-border-radius: 3px;
  652. border-radius: 3px;
  653. padding: 3px 5px;
  654. margin-left: 0;
  655. list-style: none;
  656. }
  657. .signature {
  658. list-style: none;
  659. display: inline;
  660. margin-left: 0;
  661. }
  662. .signature > li {
  663. display: inline;
  664. }
  665. .signature-values {
  666. list-style: none;
  667. display: inline;
  668. margin-left: 0;
  669. }
  670. .signature-values:before {
  671. content: '→';
  672. margin: 0 5px;
  673. }
  674. .signature-values > li {
  675. display: inline;
  676. }
  677. .signature-values > li:after {
  678. content: "|";
  679. margin: 0 2px;
  680. }
  681. .signature-values > li:last-child:after {
  682. content: "";
  683. margin: 0;
  684. }
  685. .argument {
  686. margin-left: 0;
  687. display: inline;
  688. }
  689. .argument > li {
  690. display: inline;
  691. }
  692. .argument-name {
  693. color: #060;
  694. font-weight: bold;
  695. font-size: 13px;
  696. }
  697. .argument-types {
  698. display: inline;
  699. margin-left: 5px;
  700. font-style: italic;
  701. font-size: 11px;
  702. }
  703. .argument-types:before {
  704. content: '(';
  705. margin-right: 2px;
  706. }
  707. .argument-types:after {
  708. content: ')';
  709. margin-left: 2px;
  710. }
  711. .argument-types > li {
  712. display: inline;
  713. }
  714. .argument-types > li:after {
  715. content: "|";
  716. margin: 0 2px;
  717. }
  718. .argument-types > li:last-child:after {
  719. content: "";
  720. margin: 0;
  721. }
  722. .argument-description p {
  723. display: inline;
  724. }
  725. .argument-description:before {
  726. content: '—';
  727. margin-left: 5px;
  728. margin-right: 5px;
  729. }
  730. pre code {
  731. display: block;
  732. padding: 0.5em;
  733. color: #000;
  734. background: #f8f8ff;
  735. }
  736. pre .comment,
  737. pre .template_comment,
  738. pre .diff .header,
  739. pre .javadoc {
  740. color: #998;
  741. font-style: italic;
  742. }
  743. pre .keyword,
  744. pre .css .rule .keyword,
  745. pre .winutils,
  746. pre .javascript .title,
  747. pre .nginx .title,
  748. pre .subst,
  749. pre .request,
  750. pre .status {
  751. color: #000;
  752. font-weight: bold;
  753. }
  754. pre .number,
  755. pre .hexcolor {
  756. color: #40a070;
  757. }
  758. pre .string,
  759. pre .tag .value,
  760. pre .phpdoc,
  761. pre .tex .formula {
  762. color: #d14;
  763. }
  764. pre .title,
  765. pre .id {
  766. color: #900;
  767. font-weight: bold;
  768. }
  769. pre .javascript .title,
  770. pre .lisp .title,
  771. pre .clojure .title,
  772. pre .subst {
  773. font-weight: normal;
  774. }
  775. pre .class .title,
  776. pre .haskell .type,
  777. pre .vhdl .literal,
  778. pre .tex .command {
  779. color: #458;
  780. font-weight: bold;
  781. }
  782. pre .tag,
  783. pre .tag .title,
  784. pre .rules .property,
  785. pre .django .tag .keyword {
  786. color: #000080;
  787. font-weight: normal;
  788. }
  789. pre .attribute,
  790. pre .variable,
  791. pre .instancevar,
  792. pre .lisp .body {
  793. color: #008080;
  794. }
  795. pre .regexp {
  796. color: #009926;
  797. }
  798. pre .class {
  799. color: #458;
  800. font-weight: bold;
  801. }
  802. pre .symbol,
  803. pre .ruby .symbol .string,
  804. pre .ruby .symbol .keyword,
  805. pre .ruby .symbol .keymethods,
  806. pre .lisp .keyword,
  807. pre .tex .special,
  808. pre .input_number {
  809. color: #990073;
  810. }
  811. pre .built_in,
  812. pre .lisp .title,
  813. pre .clojure .built_in {
  814. color: #0086b3;
  815. }
  816. pre .preprocessor,
  817. pre .pi,
  818. pre .doctype,
  819. pre .shebang,
  820. pre .cdata {
  821. color: #999;
  822. font-weight: bold;
  823. }
  824. pre .deletion {
  825. background: #fdd;
  826. }
  827. pre .addition {
  828. background: #dfd;
  829. }
  830. pre .diff .change {
  831. background: #0086b3;
  832. }
  833. pre .chunk {
  834. color: #aaa;
  835. }
  836. pre .tex .formula {
  837. opacity: 0.5;
  838. -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  839. filter: alpha(opacity=50);
  840. }
  841. pre {
  842. white-space: wrap;
  843. }
  844. pre code {
  845. overflow: auto;
  846. border: 1px solid #ccc !important;
  847. -webkit-box-shadow: 0 0 5px #eee;
  848. box-shadow: 0 0 5px #eee;
  849. -webkit-border-radius: 5px;
  850. border-radius: 5px;
  851. }
  852. </style><script type="text/javascript">
  853. /* Modernizr 2.5.3 (Custom Build) | MIT & BSD
  854. * Build: http://modernizr.com/download/#-csstransforms-shiv-cssclasses-testprop-testallprops-domprefixes-load
  855. */
  856. ;window.Modernizr=function(a,b,c){function x(a){j.cssText=a}function y(a,b){return x(prefixes.join(a+";")+(b||""))}function z(a,b){return typeof a===b}function A(a,b){return!!~(""+a).indexOf(b)}function B(a,b){for(var d in a)if(j[a[d]]!==c)return b=="pfx"?a[d]:!0;return!1}function C(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:z(f,"function")?f.bind(d||b):f}return!1}function D(a,b,c){var d=a.charAt(0).toUpperCase()+a.substr(1),e=(a+" "+n.join(d+" ")+d).split(" ");return z(b,"string")||z(b,"undefined")?B(e,b):(e=(a+" "+o.join(d+" ")+d).split(" "),C(e,b,c))}var d="2.5.3",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k,l={}.toString,m="Webkit Moz O ms",n=m.split(" "),o=m.toLowerCase().split(" "),p={},q={},r={},s=[],t=s.slice,u,v={}.hasOwnProperty,w;!z(v,"undefined")&&!z(v.call,"undefined")?w=function(a,b){return v.call(a,b)}:w=function(a,b){return b in a&&z(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=t.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(t.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(t.call(arguments)))};return e}),p.csstransforms=function(){return!!D("transform")};for(var E in p)w(p,E)&&(u=E.toLowerCase(),e[u]=p[E](),s.push((e[u]?"":"no-")+u));return x(""),i=k=null,function(a,b){function g(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function h(){var a=k.elements;return typeof a=="string"?a.split(" "):a}function i(a){var b={},c=a.createElement,e=a.createDocumentFragment,f=e();a.createElement=function(a){var e=(b[a]||(b[a]=c(a))).cloneNode();return k.shivMethods&&e.canHaveChildren&&!d.test(a)?f.appendChild(e):e},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+h().join().replace(/\w+/g,function(a){return b[a]=c(a),f.createElement(a),'c("'+a+'")'})+");return n}")(k,f)}function j(a){var b;return a.documentShived?a:(k.shivCSS&&!e&&(b=!!g(a,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")),f||(b=!i(a)),b&&(a.documentShived=b),a)}var c=a.html5||{},d=/^<|^(?:button|form|map|select|textarea)$/i,e,f;(function(){var a=b.createElement("a");a.innerHTML="<xyz></xyz>",e="hidden"in a,f=a.childNodes.length==1||function(){try{b.createElement("a")}catch(a){return!0}var c=b.createDocumentFragment();return typeof c.cloneNode=="undefined"||typeof c.createDocumentFragment=="undefined"||typeof c.createElement=="undefined"}()})();var k={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:j};a.html5=k,j(b)}(this,b),e._version=d,e._domPrefixes=o,e._cssomPrefixes=n,e.testProp=function(a){return B([a])},e.testAllProps=D,g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+s.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return o.call(a)=="[object Function]"}function e(a){return typeof a=="string"}function f(){}function g(a){return!a||a=="loaded"||a=="complete"||a=="uninitialized"}function h(){var a=p.shift();q=1,a?a.t?m(function(){(a.t=="c"?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){a!="img"&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l={},o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};y[c]===1&&(r=1,y[c]=[],l=b.createElement(a)),a=="object"?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),a!="img"&&(r||y[c]===2?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i(b=="c"?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),p.length==1&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&o.call(a.opera)=="[object Opera]",l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return o.call(a)=="[object Array]"},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,i){var j=b(a),l=j.autoCallback;j.url.split(".").pop().split("?").shift(),j.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]||h),j.instead?j.instead(a,e,f,g,i):(y[j.url]?j.noexec=!0:y[j.url]=1,f.load(j.url,j.forceCSS||!j.forceJS&&"css"==j.url.split(".").pop().split("?").shift()?"c":c,j.noexec,j.attrs,j.timeout),(d(e)||d(l))&&f.load(function(){k(),e&&e(j.origUrl,i,g),l&&l(j.origUrl,i,g),y[j.url]=2})))}function i(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var j,l,m=this.yepnope.loader;if(e(a))g(a,0,m,0);else if(w(a))for(j=0;j<a.length;j++)l=a[j],e(l)?g(l,0,m,0):w(l)?B(l):Object(l)===l&&i(l,m);else Object(a)===a&&i(a,m)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,b.readyState==null&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};</script><script type="text/javascript">
  857. /*! jQuery v1.10.1 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license
  858. //@ sourceMappingURL=jquery-1.10.1.min.map
  859. */
  860. (function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.1",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=lt(),k=lt(),E=lt(),S=!1,A=function(){return 0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=bt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+xt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return At(e.replace(z,"$1"),t,n,i)}function st(e){return K.test(e+"")}function lt(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function ut(e){return e[b]=!0,e}function ct(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function pt(e,t,n){e=e.split("|");var r,i=e.length,a=n?null:t;while(i--)(r=o.attrHandle[e[i]])&&r!==t||(o.attrHandle[e[i]]=a)}function ft(e,t){var n=e.getAttributeNode(t);return n&&n.specified?n.value:e[t]===!0?t.toLowerCase():null}function dt(e,t){return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}function ht(e){return"input"===e.nodeName.toLowerCase()?e.defaultValue:t}function gt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function mt(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function yt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function vt(e){return ut(function(t){return t=+t,ut(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.parentWindow;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.frameElement&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ct(function(e){return e.innerHTML="<a href='#'></a>",pt("type|href|height|width",dt,"#"===e.firstChild.getAttribute("href")),pt(B,ft,null==e.getAttribute("disabled")),e.className="i",!e.getAttribute("className")}),r.input=ct(function(e){return e.innerHTML="<input>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}),pt("value",ht,r.attributes&&r.input),r.getElementsByTagName=ct(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ct(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ct(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=st(n.querySelectorAll))&&(ct(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ct(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=st(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ct(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=st(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},r.sortDetached=ct(function(e){return 1&e.compareDocumentPosition(n.createElement("div"))}),A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return gt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?gt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:ut,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=bt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?ut(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:ut(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?ut(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:ut(function(e){return function(t){return at(e,t).length>0}}),contains:ut(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:ut(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:vt(function(){return[0]}),last:vt(function(e,t){return[t-1]}),eq:vt(function(e,t,n){return[0>n?n+t:n]}),even:vt(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:vt(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:vt(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:vt(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}};for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=mt(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=yt(n);function bt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function xt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function wt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function Tt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Ct(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function Nt(e,t,n,r,i,o){return r&&!r[b]&&(r=Nt(r)),i&&!i[b]&&(i=Nt(i,o)),ut(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||St(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:Ct(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=Ct(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=Ct(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function kt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=wt(function(e){return e===t},s,!0),p=wt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[wt(Tt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return Nt(l>1&&Tt(f),l>1&&xt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&kt(e.slice(l,r)),i>r&&kt(e=e.slice(r)),i>r&&xt(e))}f.push(n)}return Tt(f)}function Et(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=Ct(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?ut(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=bt(e)),n=t.length;while(n--)o=kt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Et(i,r))}return o};function St(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function At(e,t,n,i){var a,s,u,c,p,f=bt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&xt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}o.pseudos.nth=o.pseudos.eq;function jt(){}jt.prototype=o.filters=o.pseudos,o.setFilters=new jt,r.sortStable=b.split("").sort(A).join("")===b,p(),[0,0].sort(A),r.detectDuplicates=S,x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],!l||i&&!u||(n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)
  861. }),n=s=l=u=r=o=null,t}({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e,r="boolean"==typeof t;return x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var o,a=0,s=x(this),l=t,u=e.match(T)||[];while(o=u[a++])l=r?l:!s.hasClass(o),s[l?"addClass":"removeClass"](o)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);
  862. u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){var t="boolean"==typeof e;return this.each(function(){(t?e:nn(this))?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
  863. </script><script type="text/javascript">
  864. /*!
  865. * jQuery throttle / debounce - v1.1 - 3/7/2010
  866. * http://benalman.com/projects/jquery-throttle-debounce-plugin/
  867. *
  868. * Copyright (c) 2010 "Cowboy" Ben Alman
  869. * Dual licensed under the MIT and GPL licenses.
  870. * http://benalman.com/about/license/
  871. */
  872. // Script: jQuery throttle / debounce: Sometimes, less is more!
  873. //
  874. // *Version: 1.1, Last updated: 3/7/2010*
  875. //
  876. // Project Home - http://benalman.com/projects/jquery-throttle-debounce-plugin/
  877. // GitHub - http://github.com/cowboy/jquery-throttle-debounce/
  878. // Source - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.js
  879. // (Minified) - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.min.js (0.7kb)
  880. //
  881. // About: License
  882. //
  883. // Copyright (c) 2010 "Cowboy" Ben Alman,
  884. // Dual licensed under the MIT and GPL licenses.
  885. // http://benalman.com/about/license/
  886. //
  887. // About: Examples
  888. //
  889. // These working examples, complete with fully commented code, illustrate a few
  890. // ways in which this plugin can be used.
  891. //
  892. // Throttle - http://benalman.com/code/projects/jquery-throttle-debounce/examples/throttle/
  893. // Debounce - http://benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/
  894. //
  895. // About: Support and Testing
  896. //
  897. // Information about what version or versions of jQuery this plugin has been
  898. // tested with, what browsers it has been tested in, and where the unit tests
  899. // reside (so you can test it yourself).
  900. //
  901. // jQuery Versions - none, 1.3.2, 1.4.2
  902. // Browsers Tested - Internet Explorer 6-8, Firefox 2-3.6, Safari 3-4, Chrome 4-5, Opera 9.6-10.1.
  903. // Unit Tests - http://benalman.com/code/projects/jquery-throttle-debounce/unit/
  904. //
  905. // About: Release History
  906. //
  907. // 1.1 - (3/7/2010) Fixed a bug in <jQuery.throttle> where trailing callbacks
  908. // executed later than they should. Reworked a fair amount of internal
  909. // logic as well.
  910. // 1.0 - (3/6/2010) Initial release as a stand-alone project. Migrated over
  911. // from jquery-misc repo v0.4 to jquery-throttle repo v1.0, added the
  912. // no_trailing throttle parameter and debounce functionality.
  913. //
  914. // Topic: Note for non-jQuery users
  915. //
  916. // jQuery isn't actually required for this plugin, because nothing internal
  917. // uses any jQuery methods or properties. jQuery is just used as a namespace
  918. // under which these methods can exist.
  919. //
  920. // Since jQuery isn't actually required for this plugin, if jQuery doesn't exist
  921. // when this plugin is loaded, the method described below will be created in
  922. // the `Cowboy` namespace. Usage will be exactly the same, but instead of
  923. // $.method() or jQuery.method(), you'll need to use Cowboy.method().
  924. (function(window,undefined){
  925. '$:nomunge'; // Used by YUI compressor.
  926. // Since jQuery really isn't required for this plugin, use `jQuery` as the
  927. // namespace only if it already exists, otherwise use the `Cowboy` namespace,
  928. // creating it if necessary.
  929. var $ = window.jQuery || window.Cowboy || ( window.Cowboy = {} ),
  930. // Internal method reference.
  931. jq_throttle;
  932. // Method: jQuery.throttle
  933. //
  934. // Throttle execution of a function. Especially useful for rate limiting
  935. // execution of handlers on events like resize and scroll. If you want to
  936. // rate-limit execution of a function to a single time, see the
  937. // <jQuery.debounce> method.
  938. //
  939. // In this visualization, | is a throttled-function call and X is the actual
  940. // callback execution:
  941. //
  942. // > Throttled with `no_trailing` specified as false or unspecified:
  943. // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
  944. // > X X X X X X X X X X X X
  945. // >
  946. // > Throttled with `no_trailing` specified as true:
  947. // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
  948. // > X X X X X X X X X X
  949. //
  950. // Usage:
  951. //
  952. // > var throttled = jQuery.throttle( delay, [ no_trailing, ] callback );
  953. // >
  954. // > jQuery('selector').bind( 'someevent', throttled );
  955. // > jQuery('selector').unbind( 'someevent', throttled );
  956. //
  957. // This also works in jQuery 1.4+:
  958. //
  959. // > jQuery('selector').bind( 'someevent', jQuery.throttle( delay, [ no_trailing, ] callback ) );
  960. // > jQuery('selector').unbind( 'someevent', callback );
  961. //
  962. // Arguments:
  963. //
  964. // delay - (Number) A zero-or-greater delay in milliseconds. For event
  965. // callbacks, values around 100 or 250 (or even higher) are most useful.
  966. // no_trailing - (Boolean) Optional, defaults to false. If no_trailing is
  967. // true, callback will only execute every `delay` milliseconds while the
  968. // throttled-function is being called. If no_trailing is false or
  969. // unspecified, callback will be executed one final time after the last
  970. // throttled-function call. (After the throttled-function has not been
  971. // called for `delay` milliseconds, the internal counter is reset)
  972. // callback - (Function) A function to be executed after delay milliseconds.
  973. // The `this` context and all arguments are passed through, as-is, to
  974. // `callback` when the throttled-function is executed.
  975. //
  976. // Returns:
  977. //
  978. // (Function) A new, throttled, function.
  979. $.throttle = jq_throttle = function( delay, no_trailing, callback, debounce_mode ) {
  980. // After wrapper has stopped being called, this timeout ensures that
  981. // `callback` is executed at the proper times in `throttle` and `end`
  982. // debounce modes.
  983. var timeout_id,
  984. // Keep track of the last time `callback` was executed.
  985. last_exec = 0;
  986. // `no_trailing` defaults to falsy.
  987. if ( typeof no_trailing !== 'boolean' ) {
  988. debounce_mode = callback;
  989. callback = no_trailing;
  990. no_trailing = undefined;
  991. }
  992. // The `wrapper` function encapsulates all of the throttling / debouncing
  993. // functionality and when executed will limit the rate at which `callback`
  994. // is executed.
  995. function wrapper() {
  996. var that = this,
  997. elapsed = +new Date() - last_exec,
  998. args = arguments;
  999. // Execute `callback` and update the `last_exec` timestamp.
  1000. function exec() {
  1001. last_exec = +new Date();
  1002. callback.apply( that, args );
  1003. };
  1004. // If `debounce_mode` is true (at_begin) this is used to clear the flag
  1005. // to allow future `callback` executions.
  1006. function clear() {
  1007. timeout_id = undefined;
  1008. };
  1009. if ( debounce_mode && !timeout_id ) {
  1010. // Since `wrapper` is being called for the first time and
  1011. // `debounce_mode` is true (at_begin), execute `callback`.
  1012. exec();
  1013. }
  1014. // Clear any existing timeout.
  1015. timeout_id && clearTimeout( timeout_id );
  1016. if ( debounce_mode === undefined && elapsed > delay ) {
  1017. // In throttle mode, if `delay` time has been exceeded, execute
  1018. // `callback`.
  1019. exec();
  1020. } else if ( no_trailing !== true ) {
  1021. // In trailing throttle mode, since `delay` time has not been
  1022. // exceeded, schedule `callback` to execute `delay` ms after most
  1023. // recent execution.
  1024. //
  1025. // If `debounce_mode` is true (at_begin), schedule `clear` to execute
  1026. // after `delay` ms.
  1027. //
  1028. // If `debounce_mode` is false (at end), schedule `callback` to
  1029. // execute after `delay` ms.
  1030. timeout_id = setTimeout( debounce_mode ? clear : exec, debounce_mode === undefined ? delay - elapsed : delay );
  1031. }
  1032. };
  1033. // Set the guid of `wrapper` function to the same of original callback, so
  1034. // it can be removed in jQuery 1.4+ .unbind or .die by using the original
  1035. // callback as a reference.
  1036. if ( $.guid ) {
  1037. wrapper.guid = callback.guid = callback.guid || $.guid++;
  1038. }
  1039. // Return the wrapper function.
  1040. return wrapper;
  1041. };
  1042. // Method: jQuery.debounce
  1043. //
  1044. // Debounce execution of a function. Debouncing, unlike throttling,
  1045. // guarantees that a function is only executed a single time, either at the
  1046. // very beginning of a series of calls, or at the very end. If you want to
  1047. // simply rate-limit execution of a function, see the <jQuery.throttle>
  1048. // method.
  1049. //
  1050. // In this visualization, | is a debounced-function call and X is the actual
  1051. // callback execution:
  1052. //
  1053. // > Debounced with `at_begin` specified as false or unspecified:
  1054. // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
  1055. // > X X
  1056. // >
  1057. // > Debounced with `at_begin` specified as true:
  1058. // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
  1059. // > X X
  1060. //
  1061. // Usage:
  1062. //
  1063. // > var debounced = jQuery.debounce( delay, [ at_begin, ] callback );
  1064. // >
  1065. // > jQuery('selector').bind( 'someevent', debounced );
  1066. // > jQuery('selector').unbind( 'someevent', debounced );
  1067. //
  1068. // This also works in jQuery 1.4+:
  1069. //
  1070. // > jQuery('selector').bind( 'someevent', jQuery.debounce( delay, [ at_begin, ] callback ) );
  1071. // > jQuery('selector').unbind( 'someevent', callback );
  1072. //
  1073. // Arguments:
  1074. //
  1075. // delay - (Number) A zero-or-greater delay in milliseconds. For event
  1076. // callbacks, values around 100 or 250 (or even higher) are most useful.
  1077. // at_begin - (Boolean) Optional, defaults to false. If at_begin is false or
  1078. // unspecified, callback will only be executed `delay` milliseconds after
  1079. // the last debounced-function call. If at_begin is true, callback will be
  1080. // executed only at the first debounced-function call. (After the
  1081. // throttled-function has not been called for `delay` milliseconds, the
  1082. // internal counter is reset)
  1083. // callback - (Function) A function to be executed after delay milliseconds.
  1084. // The `this` context and all arguments are passed through, as-is, to
  1085. // `callback` when the debounced-function is executed.
  1086. //
  1087. // Returns:
  1088. //
  1089. // (Function) A new, debounced, function.
  1090. $.debounce = function( delay, at_begin, callback ) {
  1091. return callback === undefined
  1092. ? jq_throttle( delay, at_begin, false )
  1093. : jq_throttle( delay, callback, at_begin !== false );
  1094. };
  1095. })(this);
  1096. </script><script type="text/javascript">
  1097. //= require modernizr.custom
  1098. //= require jquery
  1099. //= require jquery.throttle
  1100. $(function () {
  1101. 'use strict';
  1102. var $empty = $(), // empty set used upon activtion
  1103. $window = $(window),
  1104. $items = $('.menu-item > a'),
  1105. $results = $('#search-results'), // search results
  1106. targets = [], // items and corresponding article offset
  1107. $active = null, // active article
  1108. baseTitle = document.title; // base (general) part of title
  1109. function getTitle($article) {
  1110. var title = [baseTitle];
  1111. if ($article.data('title')) {
  1112. title.push($article.data('title'));
  1113. }
  1114. return title.join(' | ');
  1115. }
  1116. function eachParent($item, callback) {
  1117. var $parent = $item.data('ndoc.parent');
  1118. if ($parent && $parent.length) {
  1119. eachParent($parent, callback);
  1120. callback($parent);
  1121. }
  1122. }
  1123. // activates item (used upon scrolling)
  1124. function activate($article, expandParents) {
  1125. var $item;
  1126. if ($active) {
  1127. $item = $active.data('ndoc.item') || $empty;
  1128. $item.removeClass('current');
  1129. eachParent($item, function ($parent) {
  1130. $parent.removeClass('current-parent');
  1131. });
  1132. }
  1133. // set new active article
  1134. $active = $article;
  1135. // update title
  1136. document.title = getTitle($article);
  1137. $item = $active.data('ndoc.item') || $empty;
  1138. $item.addClass('current');
  1139. eachParent($item, function ($parent) {
  1140. $parent.addClass('current-parent');
  1141. if (expandParents) {
  1142. $parent.data('ndoc.childs')
  1143. .data('ndoc.collapsed', false)
  1144. .animate({
  1145. height: 'show',
  1146. opacity: 'show'
  1147. });
  1148. }
  1149. });
  1150. }
  1151. function processScroll(evt, expandParents) {
  1152. var scrollTop = $window.scrollTop() + 10, i = targets.length;
  1153. while (i--) {
  1154. if ($active !== targets[i].article && scrollTop >= targets[i].offset
  1155. && (!targets[i + 1] || scrollTop <= targets[i + 1].offset)) {
  1156. activate(targets[i].article, expandParents);
  1157. return;
  1158. }
  1159. }
  1160. }
  1161. // init articles
  1162. $('article.docblock').each(function () {
  1163. var $article = $(this);
  1164. targets.push({
  1165. article: $article,
  1166. offset: $article.offset().top
  1167. });
  1168. });
  1169. // init menu items
  1170. $items.each(function () {
  1171. var $item = $(this),
  1172. $childs = $item.next(),
  1173. $parent = $item.parents('ul').eq(0).prev().children(),
  1174. $article = $('[id="' + $item.attr('href').slice(1) + '"]');
  1175. // cross-refs
  1176. $item.data('ndoc.parent', $parent);
  1177. $item.data('ndoc.childs', $childs);
  1178. $article.data('ndoc.item', $item);
  1179. // bind activator
  1180. $item.on('click', function () {
  1181. if ($item.hasClass('current') && !$childs.data('ndoc.collapsed')) {
  1182. $childs.data('ndoc.collapsed', true).animate({
  1183. height: 'hide',
  1184. opacity: 'hide'
  1185. });
  1186. return false;
  1187. }
  1188. activate($article);
  1189. $childs.data('ndoc.collapsed', false).animate({
  1190. height: 'show',
  1191. opacity: 'show'
  1192. });
  1193. });
  1194. // collapse all 2nd levels
  1195. if (0 != $parent.length) {
  1196. $childs.data('ndoc.collapsed', true).hide();
  1197. }
  1198. });
  1199. function updateSearchResults() {
  1200. $results.empty();
  1201. if ('' == this.value) {
  1202. $results.hide();
  1203. return;
  1204. }
  1205. $results.show();
  1206. $items.filter('[data-id*="' + this.value.toLowerCase() + '"]').each(function () {
  1207. var $item = $(this);
  1208. $('<li class="menu-item">').append(
  1209. $item.clone(false)
  1210. .text($item.text())
  1211. .on('click', function () {
  1212. $item.trigger('click');
  1213. })
  1214. ).appendTo($results);
  1215. });
  1216. }
  1217. // init search
  1218. $('#search')
  1219. // prevent from form submit
  1220. .on('submit', function () { return false; })
  1221. .find('input')
  1222. .on('keyup', $.throttle(250, updateSearchResults))
  1223. // click - cuz i don't know what event fired on input clear in Chrome
  1224. .on('change click', updateSearchResults);
  1225. // init scrollspy
  1226. $window.on('scroll', $.throttle(250, processScroll));
  1227. // initial jump (required for FF only - Chrome don't need it)
  1228. processScroll(null, true);
  1229. });
  1230. </script></head><body><div class="gh-ribbon"><a href="https://github.com/nodeca/pako">Fork me on GitHub</a></div><nav class="sidebar"><form id="search"><input type="search" size="20" title="Search" placeholder="Search"></form><ul id="search-results" class="menu"></ul><ul class="menu"><li class="menu-item"><a href="#Deflate" class="class" title="Deflate (class)" data-id="deflate">Deflate</a><ul><li class="menu-item"><a href="#Deflate.new" class="constructor" title="new Deflate (constructor)" data-id="new deflate">new</a></li><li class="menu-item"><a href="#Deflate.err" class="class-property" title="Deflate.err (class property)" data-id="deflate.err">err</a></li><li class="menu-item"><a href="#Deflate.msg" class="class-property" title="Deflate.msg (class property)" data-id="deflate.msg">msg</a></li><li class="menu-item"><a href="#Deflate.result" class="class-property" title="Deflate.result (class property)" data-id="deflate.result">result</a></li><li class="menu-item"><a href="#Deflate.prototype.onData" class="instance-method" title="Deflate#onData (instance method)" data-id="deflate#ondata">onData</a></li><li class="menu-item"><a href="#Deflate.prototype.onEnd" class="instance-method" title="Deflate#onEnd (instance method)" data-id="deflate#onend">onEnd</a></li><li class="menu-item"><a href="#Deflate.prototype.push" class="instance-method" title="Deflate#push (instance method)" data-id="deflate#push">push</a></li></ul></li><li class="menu-item"><a href="#deflate" class="method" title="deflate (method)" data-id="deflate">deflate</a></li><li class="menu-item"><a href="#deflateRaw" class="method" title="deflateRaw (method)" data-id="deflateraw">deflateRaw</a></li><li class="menu-item"><a href="#gzip" class="method" title="gzip (method)" data-id="gzip">gzip</a></li><li class="menu-item"><a href="#Inflate" class="class" title="Inflate (class)" data-id="inflate">Inflate</a><ul><li class="menu-item"><a href="#Inflate.new" class="constructor" title="new Inflate (constructor)" data-id="new inflate">new</a></li><li class="menu-item"><a href="#Inflate.err" class="class-property" title="Inflate.err (class property)" data-id="inflate.err">err</a></li><li class="menu-item"><a href="#Inflate.msg" class="class-property" title="Inflate.msg (class property)" data-id="inflate.msg">msg</a></li><li class="menu-item"><a href="#Inflate.result" class="class-property" title="Inflate.result (class property)" data-id="inflate.result">result</a></li><li class="menu-item"><a href="#Inflate.prototype.onData" class="instance-method" title="Inflate#onData (instance method)" data-id="inflate#ondata">onData</a></li><li class="menu-item"><a href="#Inflate.prototype.onEnd" class="instance-method" title="Inflate#onEnd (instance method)" data-id="inflate#onend">onEnd</a></li><li class="menu-item"><a href="#Inflate.prototype.push" class="instance-method" title="Inflate#push (instance method)" data-id="inflate#push">push</a></li></ul></li><li class="menu-item"><a href="#inflate" class="method" title="inflate (method)" data-id="inflate">inflate</a></li><li class="menu-item"><a href="#inflateRaw" class="method" title="inflateRaw (method)" data-id="inflateraw">inflateRaw</a></li><li class="menu-item"><a href="#ungzip" class="method" title="ungzip (method)" data-id="ungzip">ungzip</a></li></ul></nav><div id="home" data-title="Home" class="main"><article class="docblock"><div class="readme"><h1 id="pako-zlib-port-to-javascript-very-fast-">pako - zlib port to javascript, very fast!</h1>
  1231. <p><a href="https://travis-ci.org/nodeca/pako"><img src="https://travis-ci.org/nodeca/pako.svg?branch=master" alt="Build Status"></a>
  1232. <a href="https://www.npmjs.org/package/pako"><img src="https://img.shields.io/npm/v/pako.svg" alt="NPM version"></a></p>
  1233. <p><strong>Why pako is cool:</strong></p>
  1234. <ul>
  1235. <li>Almost as fast in modern JS engines as C implementation (see benchmarks).</li>
  1236. <li>Works in browsers, you can browserify any separate component.</li>
  1237. <li>Chunking support for big blobs.</li>
  1238. <li>Results are binary equal to well known <a href="http://www.zlib.net/">zlib</a> (now v1.2.8 ported).</li>
  1239. </ul>
  1240. <p>This project was done to understand how fast JS can be and is it necessary to
  1241. develop native C modules for CPU-intensive tasks. Enjoy the result!</p>
  1242. <p><strong>Famous projects, using pako:</strong></p>
  1243. <ul>
  1244. <li><a href="http://browserify.org/">browserify</a> (via <a href="https://github.com/devongovett/browserify-zlib">browserify-zlib</a>)</li>
  1245. <li><a href="http://stuk.github.io/jszip/">JSZip</a></li>
  1246. <li><a href="https://github.com/nodeca/mincer">mincer</a></li>
  1247. <li><a href="https://github.com/creationix/js-git">JS-Git</a> and
  1248. <a href="https://chrome.google.com/webstore/detail/tedit-development-environ/ooekdijbnbbjdfjocaiflnjgoohnblgf">Tedit</a>
  1249. by <a href="https://github.com/creationix">@creatronix</a></li>
  1250. </ul>
  1251. <p><strong>Benchmarks:</strong></p>
  1252. <pre><code>node <span class="transposed_variable">v0.</span><span class="number">10.26</span>, <span class="number">1</span>mb sample:
  1253. deflate-dankogai x <span class="number">4.73</span> ops/<span class="built_in">sec</span> ±<span class="number">0.82</span><span class="comment">% (15 runs sampled)</span>
  1254. deflate-gildas x <span class="number">4.58</span> ops/<span class="built_in">sec</span> ±<span class="number">2.33</span><span class="comment">% (15 runs sampled)</span>
  1255. deflate-imaya x <span class="number">3.22</span> ops/<span class="built_in">sec</span> ±<span class="number">3.95</span><span class="comment">% (12 runs sampled)</span>
  1256. ! deflate-pako x <span class="number">6.99</span> ops/<span class="built_in">sec</span> ±<span class="number">0.51</span><span class="comment">% (21 runs sampled)</span>
  1257. deflate-pako-string x <span class="number">5.89</span> ops/<span class="built_in">sec</span> ±<span class="number">0.77</span><span class="comment">% (18 runs sampled)</span>
  1258. deflate-pako-untyped x <span class="number">4.39</span> ops/<span class="built_in">sec</span> ±<span class="number">1.58</span><span class="comment">% (14 runs sampled)</span>
  1259. * deflate-zlib x <span class="number">14.71</span> ops/<span class="built_in">sec</span> ±<span class="number">4.23</span><span class="comment">% (59 runs sampled)</span>
  1260. inflate-dankogai x <span class="number">32.16</span> ops/<span class="built_in">sec</span> ±<span class="number">0.13</span><span class="comment">% (56 runs sampled)</span>
  1261. inflate-imaya x <span class="number">30.35</span> ops/<span class="built_in">sec</span> ±<span class="number">0.92</span><span class="comment">% (53 runs sampled)</span>
  1262. ! inflate-pako x <span class="number">69.89</span> ops/<span class="built_in">sec</span> ±<span class="number">1.46</span><span class="comment">% (71 runs sampled)</span>
  1263. inflate-pako-string x <span class="number">19.22</span> ops/<span class="built_in">sec</span> ±<span class="number">1.86</span><span class="comment">% (49 runs sampled)</span>
  1264. inflate-pako-untyped x <span class="number">17.19</span> ops/<span class="built_in">sec</span> ±<span class="number">0.85</span><span class="comment">% (32 runs sampled)</span>
  1265. * inflate-zlib x <span class="number">70.03</span> ops/<span class="built_in">sec</span> ±<span class="number">1.64</span><span class="comment">% (81 runs sampled)</span>
  1266. node <span class="transposed_variable">v0.</span><span class="number">11.12</span>, <span class="number">1</span>mb sample:
  1267. deflate-dankogai x <span class="number">5.60</span> ops/<span class="built_in">sec</span> ±<span class="number">0.49</span><span class="comment">% (17 runs sampled)</span>
  1268. deflate-gildas x <span class="number">5.06</span> ops/<span class="built_in">sec</span> ±<span class="number">6.00</span><span class="comment">% (16 runs sampled)</span>
  1269. deflate-imaya x <span class="number">3.52</span> ops/<span class="built_in">sec</span> ±<span class="number">3.71</span><span class="comment">% (13 runs sampled)</span>
  1270. ! deflate-pako x <span class="number">11.52</span> ops/<span class="built_in">sec</span> ±<span class="number">0.22</span><span class="comment">% (32 runs sampled)</span>
  1271. deflate-pako-string x <span class="number">9.53</span> ops/<span class="built_in">sec</span> ±<span class="number">1.12</span><span class="comment">% (27 runs sampled)</span>
  1272. deflate-pako-untyped x <span class="number">5.44</span> ops/<span class="built_in">sec</span> ±<span class="number">0.72</span><span class="comment">% (17 runs sampled)</span>
  1273. * deflate-zlib x <span class="number">14.05</span> ops/<span class="built_in">sec</span> ±<span class="number">3.34</span><span class="comment">% (63 runs sampled)</span>
  1274. inflate-dankogai x <span class="number">42.19</span> ops/<span class="built_in">sec</span> ±<span class="number">0.09</span><span class="comment">% (56 runs sampled)</span>
  1275. inflate-imaya x <span class="number">79.68</span> ops/<span class="built_in">sec</span> ±<span class="number">1.07</span><span class="comment">% (68 runs sampled)</span>
  1276. ! inflate-pako x <span class="number">97.52</span> ops/<span class="built_in">sec</span> ±<span class="number">0.83</span><span class="comment">% (80 runs sampled)</span>
  1277. inflate-pako-string x <span class="number">45.19</span> ops/<span class="built_in">sec</span> ±<span class="number">1.69</span><span class="comment">% (57 runs sampled)</span>
  1278. inflate-pako-untyped x <span class="number">24.35</span> ops/<span class="built_in">sec</span> ±<span class="number">2.59</span><span class="comment">% (40 runs sampled)</span>
  1279. * inflate-zlib x <span class="number">60.32</span> ops/<span class="built_in">sec</span> ±<span class="number">1.36</span><span class="comment">% (69 runs sampled)</span></code></pre>
  1280. <p>zlib&#39;s test is partialy afferted by marshling (that make sense for inflate only).
  1281. You can change deflate level to 0 in benchmark source, to investigate details.
  1282. For deflate level 6 results can be considered as correct.</p>
  1283. <p><strong>Install:</strong></p>
  1284. <p>node.js:</p>
  1285. <pre><code><span class="title">npm</span> install pako</code></pre>
  1286. <p>browser:</p>
  1287. <pre><code><span class="title">bower</span> install pako</code></pre>
  1288. <h2 id="example-api">Example &amp; API</h2>
  1289. <p>Full docs - <a href="http://nodeca.github.io/pako/">http://nodeca.github.io/pako/</a></p>
  1290. <pre><code class="lang-javascript"><span class="keyword">var</span> pako = require(<span class="string">'pako'</span>);
  1291. <span class="comment">// Deflate</span>
  1292. <span class="comment">//</span>
  1293. <span class="keyword">var</span> input = <span class="keyword">new</span> Uint8Array();
  1294. <span class="comment">//... fill input data here</span>
  1295. <span class="keyword">var</span> output = pako.deflate(input);
  1296. <span class="comment">// Inflate (simple wrapper can throw exception on broken stream)</span>
  1297. <span class="comment">//</span>
  1298. <span class="keyword">var</span> compressed = <span class="keyword">new</span> Uint8Array();
  1299. <span class="comment">//... fill data to uncompress here</span>
  1300. <span class="keyword">try</span> {
  1301. <span class="keyword">var</span> result = pako.inflate(compressed);
  1302. } <span class="keyword">catch</span> (err) {
  1303. console.log(err);
  1304. }
  1305. <span class="comment">//</span>
  1306. <span class="comment">// Alternate interface for chunking &amp; without exceptions</span>
  1307. <span class="comment">//</span>
  1308. <span class="keyword">var</span> inflator = <span class="keyword">new</span> pako.Inflate();
  1309. inflator.push(chunk1, <span class="literal">false</span>);
  1310. inflator.push(chunk2, <span class="literal">false</span>);
  1311. ...
  1312. inflator.push(chunkN, <span class="literal">true</span>); <span class="comment">// true -&gt; last chunk</span>
  1313. <span class="keyword">if</span> (inflator.err) {
  1314. console.log(inflator.msg);
  1315. }
  1316. <span class="keyword">var</span> output = inflator.result;</code></pre>
  1317. <p>Sometime you can wish to work with strings. For example, to send
  1318. big objects as json to server. Pako detects input data type. You can
  1319. force output to be string with option <code>{ to: &#39;string&#39; }</code>.</p>
  1320. <pre><code class="lang-javascript"><span class="keyword">var</span> pako = require(<span class="string">'pako'</span>);
  1321. <span class="keyword">var</span> test = { my: <span class="string">'super'</span>, puper: [<span class="number">456</span>, <span class="number">567</span>], awesome: <span class="string">'pako'</span> };
  1322. <span class="keyword">var</span> binaryString = pako.deflate(JSON.stringify(test), { to: <span class="string">'string'</span> });
  1323. <span class="comment">//</span>
  1324. <span class="comment">// Here you can do base64 encode, make xhr requests and so on.</span>
  1325. <span class="comment">//</span>
  1326. <span class="keyword">var</span> restored = JSON.parse(pako.inflate(binaryString, { to: <span class="string">'string'</span> }));</code></pre>
  1327. <h2 id="notes">Notes</h2>
  1328. <p>Pako does not contain some specific zlib functions:</p>
  1329. <ul>
  1330. <li><strong>deflate</strong> - methods <code>deflateCopy</code>, <code>deflateBound</code>, <code>deflateParams</code>,
  1331. <code>deflatePending</code>, <code>deflatePrime</code>, <code>deflateSetDictionary</code>, <code>deflateTune</code>.</li>
  1332. <li><strong>inflate</strong> - <code>inflateGetDictionary</code>, <code>inflateCopy</code>, <code>inflateMark</code>,
  1333. <code>inflatePrime</code>, <code>inflateSetDictionary</code>, <code>inflateSync</code>, <code>inflateSyncPoint</code>,
  1334. <code>inflateUndermine</code>.</li>
  1335. </ul>
  1336. <h2 id="authors">Authors</h2>
  1337. <ul>
  1338. <li>Andrey Tupitsin <a href="https://github.com/andr83">@anrd83</a></li>
  1339. <li>Vitaly Puzrin <a href="https://github.com/puzrin">@puzrin</a></li>
  1340. </ul>
  1341. <p>Personal thanks to:</p>
  1342. <ul>
  1343. <li>Vyacheslav Egorov (<a href="https://github.com/mraleph">@mraleph</a>) for his awesome
  1344. tutoruals about optimising JS code for v8, <a href="http://mrale.ph/irhydra/">IRHydra</a>
  1345. tool and his advices.</li>
  1346. <li>David Duponchel (<a href="https://github.com/dduponchel">@dduponchel</a>) for help with
  1347. testing.</li>
  1348. </ul>
  1349. <h2 id="license">License</h2>
  1350. <p>MIT</p>
  1351. </div></article><article id="Deflate" data-title="Deflate (class)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Deflate" class="" title="Deflate (class)" data-id="deflate">Deflate</a></li></ul><div class="type">class</div><h2>Deflate</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L38">View source</a></div></header><div class="section description"><h3>Description</h3><div class="content"><p>Generic JS-style wrapper for zlib calls. If you don&#39;t need
  1352. streaming behaviour - use more simple functions: <a href="#deflate" class="link-short" title="deflate (method)" data-id="deflate">deflate</a>,
  1353. <a href="#deflateRaw" class="link-short" title="deflateRaw (method)" data-id="deflateraw">deflateRaw</a> and <a href="#gzip" class="link-short" title="gzip (method)" data-id="gzip">gzip</a>.</p>
  1354. </div></div><div class="section constructor"><h3>Constructor</h3><div class="content"></div><ul class="method-list"><li><a href="#Deflate.new" class="" title="new Deflate (constructor)" data-id="new deflate">new Deflate</a></li></ul></div><div class="section class_properties"><h3>Class properties</h3><div class="content"><ul class="method-list"><li><a href="#Deflate.err" class="" title="Deflate.err (class property)" data-id="deflate.err">err</a></li><li><a href="#Deflate.msg" class="" title="Deflate.msg (class property)" data-id="deflate.msg">msg</a></li><li><a href="#Deflate.result" class="" title="Deflate.result (class property)" data-id="deflate.result">result</a></li></ul></div></div><div class="section instance_methods"><h3>Instance methods</h3><div class="content"><ul class="method-list"><li><a href="#Deflate.prototype.onData" class="" title="Deflate#onData (instance method)" data-id="deflate#ondata">onData</a></li><li><a href="#Deflate.prototype.onEnd" class="" title="Deflate#onEnd (instance method)" data-id="deflate#onend">onEnd</a></li><li><a href="#Deflate.prototype.push" class="" title="Deflate#push (instance method)" data-id="deflate#push">push</a></li></ul></div></div></article><article id="Deflate.new" data-title="new Deflate (constructor)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Deflate" class="" title="Deflate (class)" data-id="deflate">Deflate</a></li><li><a href="#Deflate.new" class="" title="new Deflate (constructor)" data-id="new deflate">new</a></li></ul><div class="type">constructor</div><h2><span class="name_prefix">Deflate.</span>new</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L119">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">new Deflate(options)</li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">options</li><li><ul class="argument-types"><li class="argument-type">Object</li></ul></li><li class="argument-description"><p>zlib deflate options.</p>
  1355. </li></ul></li></ul><p>Creates new deflator instance with specified params. Throws exception
  1356. on bad params. Supported options:</p>
  1357. <ul>
  1358. <li><code>level</code></li>
  1359. <li><code>windowBits</code></li>
  1360. <li><code>memLevel</code></li>
  1361. <li><code>strategy</code></li>
  1362. </ul>
  1363. <p><a href="http://zlib.net/manual.html#Advanced"><a href="http://zlib.net/manual.html#Advanced">http://zlib.net/manual.html#Advanced</a></a>
  1364. for more information on these.</p>
  1365. <p>Additional options, for internal needs:</p>
  1366. <ul>
  1367. <li><code>chunkSize</code> - size of generated data chunks (16K by default)</li>
  1368. <li><code>raw</code> (Boolean) - do raw deflate</li>
  1369. <li><code>gzip</code> (Boolean) - create gzip wrapper</li>
  1370. <li><code>to</code> (String) - if equal to &#39;string&#39;, then result will be &quot;binary string&quot;
  1371. (each char code [0..255])</li>
  1372. <li><code>header</code> (Object) - custom header for gzip<ul>
  1373. <li><code>text</code> (Boolean) - true if compressed data believed to be text</li>
  1374. <li><code>time</code> (Number) - modification time, unix timestamp</li>
  1375. <li><code>os</code> (Number) - operation system code</li>
  1376. <li><code>extra</code> (Array) - array of bytes with extra data (max 65536)</li>
  1377. <li><code>name</code> (String) - file name (binary string)</li>
  1378. <li><code>comment</code> (String) - comment (binary string)</li>
  1379. <li><code>hcrc</code> (Boolean) - true if header crc should be added</li>
  1380. </ul>
  1381. </li>
  1382. </ul>
  1383. <h5 id="example-">Example:</h5>
  1384. <pre><code class="lang-javascript"><span class="keyword">var</span> pako = require(<span class="string">'pako'</span>)
  1385. , chunk1 = Uint8Array([<span class="number">1</span>,<span class="number">2</span>,<span class="number">3</span>,<span class="number">4</span>,<span class="number">5</span>,<span class="number">6</span>,<span class="number">7</span>,<span class="number">8</span>,<span class="number">9</span>])
  1386. , chunk2 = Uint8Array([<span class="number">10</span>,<span class="number">11</span>,<span class="number">12</span>,<span class="number">13</span>,<span class="number">14</span>,<span class="number">15</span>,<span class="number">16</span>,<span class="number">17</span>,<span class="number">18</span>,<span class="number">19</span>]);
  1387. <span class="keyword">var</span> deflate = <span class="keyword">new</span> pako.Deflate({ level: <span class="number">3</span>});
  1388. deflate.push(chunk1, <span class="literal">false</span>);
  1389. deflate.push(chunk2, <span class="literal">true</span>); <span class="comment">// true -&gt; last chunk</span>
  1390. <span class="keyword">if</span> (deflate.err) { <span class="keyword">throw</span> <span class="keyword">new</span> Error(deflate.err); }
  1391. console.log(deflate.result);</code></pre>
  1392. </div></div></article><article id="Deflate.err" data-title="Deflate.err (class property)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Deflate" class="" title="Deflate (class)" data-id="deflate">Deflate</a></li><li><a href="#Deflate.err" class="" title="Deflate.err (class property)" data-id="deflate.err">err</a></li></ul><div class="type">class property</div><h2><span class="name_prefix">Deflate.</span>err</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L63">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Deflate.err</li><li><ul class="signature-values"><li>Number</li></ul></li></ul></li></ul><p>Error code after deflate finished. 0 (Z_OK) on success.
  1393. You will not need it in real life, because deflate errors
  1394. are possible only on wrong options or bad <code>onData</code> / <code>onEnd</code>
  1395. custom handlers.</p>
  1396. </div></div></article><article id="Deflate.msg" data-title="Deflate.msg (class property)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Deflate" class="" title="Deflate (class)" data-id="deflate">Deflate</a></li><li><a href="#Deflate.msg" class="" title="Deflate.msg (class property)" data-id="deflate.msg">msg</a></li></ul><div class="type">class property</div><h2><span class="name_prefix">Deflate.</span>msg</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L69">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Deflate.msg</li><li><ul class="signature-values"><li>String</li></ul></li></ul></li></ul><p>Error message, if <a href="#Deflate.err" class="link-short" title="Deflate.err (class property)" data-id="deflate.err">Deflate.err</a> != 0</p>
  1397. </div></div></article><article id="Deflate.result" data-title="Deflate.result (class property)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Deflate" class="" title="Deflate (class)" data-id="deflate">Deflate</a></li><li><a href="#Deflate.result" class="" title="Deflate.result (class property)" data-id="deflate.result">result</a></li></ul><div class="type">class property</div><h2><span class="name_prefix">Deflate.</span>result</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L54">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Deflate.result</li><li><ul class="signature-values"><li>Uint8Array</li><li>Array</li></ul></li></ul></li></ul><p>Compressed result, generated by default <a href="#Deflate.prototype.onData" class="link-short" title="Deflate#onData (instance method)" data-id="deflate#ondata">Deflate#onData</a>
  1398. and <a href="#Deflate.prototype.onEnd" class="link-short" title="Deflate#onEnd (instance method)" data-id="deflate#onend">Deflate#onEnd</a> handlers. Filled after you push last chunk
  1399. (call <a href="#Deflate.prototype.push" class="link-short" title="Deflate#push (instance method)" data-id="deflate#push">Deflate#push</a> with <code>Z_FINISH</code> / <code>true</code> param) or if you
  1400. push a chunk with explicit flush (call <a href="#Deflate.prototype.push" class="link-short" title="Deflate#push (instance method)" data-id="deflate#push">Deflate#push</a> with
  1401. <code>Z_SYNC_FLUSH</code> param).</p>
  1402. </div></div></article><article id="Deflate.prototype.onData" data-title="Deflate#onData (instance method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Deflate" class="" title="Deflate (class)" data-id="deflate">Deflate</a></li><li><a href="#Deflate.prototype.onData" class="" title="Deflate#onData (instance method)" data-id="deflate#ondata">onData</a></li></ul><div class="type">instance method</div><h2><span class="name_prefix">Deflate#</span>onData</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L268">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Deflate#onData(chunk)</li><li><ul class="signature-values"><li>Void</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">chunk</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>ouput data. Type of array depends
  1403. on js engine support. When string output requested, each chunk
  1404. will be string.</p>
  1405. </li></ul></li></ul><p>By default, stores data blocks in <code>chunks[]</code> property and glue
  1406. those in <code>onEnd</code>. Override this handler, if you need another behaviour.</p>
  1407. </div></div></article><article id="Deflate.prototype.onEnd" data-title="Deflate#onEnd (instance method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Deflate" class="" title="Deflate (class)" data-id="deflate">Deflate</a></li><li><a href="#Deflate.prototype.onEnd" class="" title="Deflate#onEnd (instance method)" data-id="deflate#onend">onEnd</a></li></ul><div class="type">instance method</div><h2><span class="name_prefix">Deflate#</span>onEnd</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L283">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Deflate#onEnd(status)</li><li><ul class="signature-values"><li>Void</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">status</li><li><ul class="argument-types"><li class="argument-type">Number</li></ul></li><li class="argument-description"><p>deflate status. 0 (Z_OK) on success,
  1408. other if not.</p>
  1409. </li></ul></li></ul><p>Called once after you tell deflate that the input stream is
  1410. complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)
  1411. or if an error happened. By default - join collected chunks,
  1412. free memory and fill <code>results</code> / <code>err</code> properties.</p>
  1413. </div></div></article><article id="Deflate.prototype.push" data-title="Deflate#push (instance method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Deflate" class="" title="Deflate (class)" data-id="deflate">Deflate</a></li><li><a href="#Deflate.prototype.push" class="" title="Deflate#push (instance method)" data-id="deflate#push">push</a></li></ul><div class="type">instance method</div><h2><span class="name_prefix">Deflate#</span>push</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L196">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Deflate#push(data[, mode])</li><li><ul class="signature-values"><li>Boolean</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">data</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">ArrayBuffer</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>input data. Strings will be
  1414. converted to utf8 byte sequence.</p>
  1415. </li></ul></li><li><ul class="argument"><li class="argument-name">mode</li><li><ul class="argument-types"><li class="argument-type">Number</li><li class="argument-type">Boolean</li></ul></li><li class="argument-description"><p>0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.
  1416. See constants. Skipped or <code>false</code> means Z_NO_FLUSH, <code>true</code> meansh Z_FINISH.</p>
  1417. </li></ul></li></ul><p>Sends input data to deflate pipe, generating <a href="#Deflate.prototype.onData" class="link-short" title="Deflate#onData (instance method)" data-id="deflate#ondata">Deflate#onData</a> calls with
  1418. new compressed chunks. Returns <code>true</code> on success. The last data block must have
  1419. mode Z_FINISH (or <code>true</code>). That will flush internal pending buffers and call
  1420. <a href="#Deflate.prototype.onEnd" class="link-short" title="Deflate#onEnd (instance method)" data-id="deflate#onend">Deflate#onEnd</a>. For interim explicit flushes (without ending the stream) you
  1421. can use mode Z_SYNC_FLUSH, keeping the compression context.</p>
  1422. <p>On fail call <a href="#Deflate.prototype.onEnd" class="link-short" title="Deflate#onEnd (instance method)" data-id="deflate#onend">Deflate#onEnd</a> with error code and return false.</p>
  1423. <p>We strongly recommend to use <code>Uint8Array</code> on input for best speed (output
  1424. array format is detected automatically). Also, don&#39;t skip last param and always
  1425. use the same type in your code (boolean or number). That will improve JS speed.</p>
  1426. <p>For regular <code>Array</code>-s make sure all elements are [0..255].</p>
  1427. <h5 id="example">Example</h5>
  1428. <pre><code class="lang-javascript">push(chunk, <span class="literal">false</span>); <span class="comment">// push one of data chunks</span>
  1429. ...
  1430. push(chunk, <span class="literal">true</span>); <span class="comment">// push last chunk</span></code></pre>
  1431. </div></div></article><article id="deflate" data-title="deflate (method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#deflate" class="" title="deflate (method)" data-id="deflate">deflate</a></li></ul><div class="type">method</div><h2>deflate</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L331">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">deflate(data[, options])</li><li><ul class="signature-values"><li>Uint8Array</li><li>Array</li><li>String</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">data</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>input data to compress.</p>
  1432. </li></ul></li><li><ul class="argument"><li class="argument-name">options</li><li><ul class="argument-types"><li class="argument-type">Object</li></ul></li><li class="argument-description"><p>zlib deflate options.</p>
  1433. </li></ul></li></ul><p>Compress <code>data</code> with deflate alrorythm and <code>options</code>.</p>
  1434. <p>Supported options are:</p>
  1435. <ul>
  1436. <li>level</li>
  1437. <li>windowBits</li>
  1438. <li>memLevel</li>
  1439. <li>strategy</li>
  1440. </ul>
  1441. <p><a href="http://zlib.net/manual.html#Advanced"><a href="http://zlib.net/manual.html#Advanced">http://zlib.net/manual.html#Advanced</a></a>
  1442. for more information on these.</p>
  1443. <p>Sugar (options):</p>
  1444. <ul>
  1445. <li><code>raw</code> (Boolean) - say that we work with raw stream, if you don&#39;t wish to specify
  1446. negative windowBits implicitly.</li>
  1447. <li><code>to</code> (String) - if equal to &#39;string&#39;, then result will be &quot;binary string&quot;
  1448. (each char code [0..255])</li>
  1449. </ul>
  1450. <h5 id="example-">Example:</h5>
  1451. <pre><code class="lang-javascript"><span class="keyword">var</span> pako = require(<span class="string">'pako'</span>)
  1452. , data = Uint8Array([<span class="number">1</span>,<span class="number">2</span>,<span class="number">3</span>,<span class="number">4</span>,<span class="number">5</span>,<span class="number">6</span>,<span class="number">7</span>,<span class="number">8</span>,<span class="number">9</span>]);
  1453. console.log(pako.deflate(data));</code></pre>
  1454. </div></div></article><article id="deflateRaw" data-title="deflateRaw (method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#deflateRaw" class="" title="deflateRaw (method)" data-id="deflateraw">deflateRaw</a></li></ul><div class="type">method</div><h2>deflateRaw</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L351">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">deflateRaw(data[, options])</li><li><ul class="signature-values"><li>Uint8Array</li><li>Array</li><li>String</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">data</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>input data to compress.</p>
  1455. </li></ul></li><li><ul class="argument"><li class="argument-name">options</li><li><ul class="argument-types"><li class="argument-type">Object</li></ul></li><li class="argument-description"><p>zlib deflate options.</p>
  1456. </li></ul></li></ul><p>The same as <a href="#deflate" class="link-short" title="deflate (method)" data-id="deflate">deflate</a>, but creates raw data, without wrapper
  1457. (header and adler32 crc).</p>
  1458. </div></div></article><article id="gzip" data-title="gzip (method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#gzip" class="" title="gzip (method)" data-id="gzip">gzip</a></li></ul><div class="type">method</div><h2>gzip</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/deflate.js#L366">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">gzip(data[, options])</li><li><ul class="signature-values"><li>Uint8Array</li><li>Array</li><li>String</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">data</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>input data to compress.</p>
  1459. </li></ul></li><li><ul class="argument"><li class="argument-name">options</li><li><ul class="argument-types"><li class="argument-type">Object</li></ul></li><li class="argument-description"><p>zlib deflate options.</p>
  1460. </li></ul></li></ul><p>The same as <a href="#deflate" class="link-short" title="deflate (method)" data-id="deflate">deflate</a>, but create gzip wrapper instead of
  1461. deflate one.</p>
  1462. </div></div></article><article id="Inflate" data-title="Inflate (class)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Inflate" class="" title="Inflate (class)" data-id="inflate">Inflate</a></li></ul><div class="type">class</div><h2>Inflate</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L21">View source</a></div></header><div class="section description"><h3>Description</h3><div class="content"><p>Generic JS-style wrapper for zlib calls. If you don&#39;t need
  1463. streaming behaviour - use more simple functions: <a href="#inflate" class="link-short" title="inflate (method)" data-id="inflate">inflate</a>
  1464. and <a href="#inflateRaw" class="link-short" title="inflateRaw (method)" data-id="inflateraw">inflateRaw</a>.</p>
  1465. </div></div><div class="section constructor"><h3>Constructor</h3><div class="content"></div><ul class="method-list"><li><a href="#Inflate.new" class="" title="new Inflate (constructor)" data-id="new inflate">new Inflate</a></li></ul></div><div class="section class_properties"><h3>Class properties</h3><div class="content"><ul class="method-list"><li><a href="#Inflate.err" class="" title="Inflate.err (class property)" data-id="inflate.err">err</a></li><li><a href="#Inflate.msg" class="" title="Inflate.msg (class property)" data-id="inflate.msg">msg</a></li><li><a href="#Inflate.result" class="" title="Inflate.result (class property)" data-id="inflate.result">result</a></li></ul></div></div><div class="section instance_methods"><h3>Instance methods</h3><div class="content"><ul class="method-list"><li><a href="#Inflate.prototype.onData" class="" title="Inflate#onData (instance method)" data-id="inflate#ondata">onData</a></li><li><a href="#Inflate.prototype.onEnd" class="" title="Inflate#onEnd (instance method)" data-id="inflate#onend">onEnd</a></li><li><a href="#Inflate.prototype.push" class="" title="Inflate#push (instance method)" data-id="inflate#push">push</a></li></ul></div></div></article><article id="Inflate.new" data-title="new Inflate (constructor)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Inflate" class="" title="Inflate (class)" data-id="inflate">Inflate</a></li><li><a href="#Inflate.new" class="" title="new Inflate (constructor)" data-id="new inflate">new</a></li></ul><div class="type">constructor</div><h2><span class="name_prefix">Inflate.</span>new</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L92">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">new Inflate(options)</li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">options</li><li><ul class="argument-types"><li class="argument-type">Object</li></ul></li><li class="argument-description"><p>zlib inflate options.</p>
  1466. </li></ul></li></ul><p>Creates new inflator instance with specified params. Throws exception
  1467. on bad params. Supported options:</p>
  1468. <ul>
  1469. <li><code>windowBits</code></li>
  1470. </ul>
  1471. <p><a href="http://zlib.net/manual.html#Advanced"><a href="http://zlib.net/manual.html#Advanced">http://zlib.net/manual.html#Advanced</a></a>
  1472. for more information on these.</p>
  1473. <p>Additional options, for internal needs:</p>
  1474. <ul>
  1475. <li><code>chunkSize</code> - size of generated data chunks (16K by default)</li>
  1476. <li><code>raw</code> (Boolean) - do raw inflate</li>
  1477. <li><code>to</code> (String) - if equal to &#39;string&#39;, then result will be converted
  1478. from utf8 to utf16 (javascript) string. When string output requested,
  1479. chunk length can differ from <code>chunkSize</code>, depending on content.</li>
  1480. </ul>
  1481. <p>By default, when no options set, autodetect deflate/gzip data format via
  1482. wrapper header.</p>
  1483. <h5 id="example-">Example:</h5>
  1484. <pre><code class="lang-javascript"><span class="keyword">var</span> pako = require(<span class="string">'pako'</span>)
  1485. , chunk1 = Uint8Array([<span class="number">1</span>,<span class="number">2</span>,<span class="number">3</span>,<span class="number">4</span>,<span class="number">5</span>,<span class="number">6</span>,<span class="number">7</span>,<span class="number">8</span>,<span class="number">9</span>])
  1486. , chunk2 = Uint8Array([<span class="number">10</span>,<span class="number">11</span>,<span class="number">12</span>,<span class="number">13</span>,<span class="number">14</span>,<span class="number">15</span>,<span class="number">16</span>,<span class="number">17</span>,<span class="number">18</span>,<span class="number">19</span>]);
  1487. <span class="keyword">var</span> inflate = <span class="keyword">new</span> pako.Inflate({ level: <span class="number">3</span>});
  1488. inflate.push(chunk1, <span class="literal">false</span>);
  1489. inflate.push(chunk2, <span class="literal">true</span>); <span class="comment">// true -&gt; last chunk</span>
  1490. <span class="keyword">if</span> (inflate.err) { <span class="keyword">throw</span> <span class="keyword">new</span> Error(inflate.err); }
  1491. console.log(inflate.result);</code></pre>
  1492. </div></div></article><article id="Inflate.err" data-title="Inflate.err (class property)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Inflate" class="" title="Inflate (class)" data-id="inflate">Inflate</a></li><li><a href="#Inflate.err" class="" title="Inflate.err (class property)" data-id="inflate.err">err</a></li></ul><div class="type">class property</div><h2><span class="name_prefix">Inflate.</span>err</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L44">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Inflate.err</li><li><ul class="signature-values"><li>Number</li></ul></li></ul></li></ul><p>Error code after inflate finished. 0 (Z_OK) on success.
  1493. Should be checked if broken data possible.</p>
  1494. </div></div></article><article id="Inflate.msg" data-title="Inflate.msg (class property)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Inflate" class="" title="Inflate (class)" data-id="inflate">Inflate</a></li><li><a href="#Inflate.msg" class="" title="Inflate.msg (class property)" data-id="inflate.msg">msg</a></li></ul><div class="type">class property</div><h2><span class="name_prefix">Inflate.</span>msg</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L50">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Inflate.msg</li><li><ul class="signature-values"><li>String</li></ul></li></ul></li></ul><p>Error message, if <a href="#Inflate.err" class="link-short" title="Inflate.err (class property)" data-id="inflate.err">Inflate.err</a> != 0</p>
  1495. </div></div></article><article id="Inflate.result" data-title="Inflate.result (class property)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Inflate" class="" title="Inflate (class)" data-id="inflate">Inflate</a></li><li><a href="#Inflate.result" class="" title="Inflate.result (class property)" data-id="inflate.result">result</a></li></ul><div class="type">class property</div><h2><span class="name_prefix">Inflate.</span>result</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L37">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Inflate.result</li><li><ul class="signature-values"><li>Uint8Array</li><li>Array</li><li>String</li></ul></li></ul></li></ul><p>Uncompressed result, generated by default <a href="#Inflate.prototype.onData" class="link-short" title="Inflate#onData (instance method)" data-id="inflate#ondata">Inflate#onData</a>
  1496. and <a href="#Inflate.prototype.onEnd" class="link-short" title="Inflate#onEnd (instance method)" data-id="inflate#onend">Inflate#onEnd</a> handlers. Filled after you push last chunk
  1497. (call <a href="#Inflate.prototype.push" class="link-short" title="Inflate#push (instance method)" data-id="inflate#push">Inflate#push</a> with <code>Z_FINISH</code> / <code>true</code> param) or if you
  1498. push a chunk with explicit flush (call <a href="#Inflate.prototype.push" class="link-short" title="Inflate#push (instance method)" data-id="inflate#push">Inflate#push</a> with
  1499. <code>Z_SYNC_FLUSH</code> param).</p>
  1500. </div></div></article><article id="Inflate.prototype.onData" data-title="Inflate#onData (instance method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Inflate" class="" title="Inflate (class)" data-id="inflate">Inflate</a></li><li><a href="#Inflate.prototype.onData" class="" title="Inflate#onData (instance method)" data-id="inflate#ondata">onData</a></li></ul><div class="type">instance method</div><h2><span class="name_prefix">Inflate#</span>onData</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L289">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Inflate#onData(chunk)</li><li><ul class="signature-values"><li>Void</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">chunk</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>ouput data. Type of array depends
  1501. on js engine support. When string output requested, each chunk
  1502. will be string.</p>
  1503. </li></ul></li></ul><p>By default, stores data blocks in <code>chunks[]</code> property and glue
  1504. those in <code>onEnd</code>. Override this handler, if you need another behaviour.</p>
  1505. </div></div></article><article id="Inflate.prototype.onEnd" data-title="Inflate#onEnd (instance method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Inflate" class="" title="Inflate (class)" data-id="inflate">Inflate</a></li><li><a href="#Inflate.prototype.onEnd" class="" title="Inflate#onEnd (instance method)" data-id="inflate#onend">onEnd</a></li></ul><div class="type">instance method</div><h2><span class="name_prefix">Inflate#</span>onEnd</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L304">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Inflate#onEnd(status)</li><li><ul class="signature-values"><li>Void</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">status</li><li><ul class="argument-types"><li class="argument-type">Number</li></ul></li><li class="argument-description"><p>inflate status. 0 (Z_OK) on success,
  1506. other if not.</p>
  1507. </li></ul></li></ul><p>Called either after you tell inflate that the input stream is
  1508. complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)
  1509. or if an error happened. By default - join collected chunks,
  1510. free memory and fill <code>results</code> / <code>err</code> properties.</p>
  1511. </div></div></article><article id="Inflate.prototype.push" data-title="Inflate#push (instance method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#Inflate" class="" title="Inflate (class)" data-id="inflate">Inflate</a></li><li><a href="#Inflate.prototype.push" class="" title="Inflate#push (instance method)" data-id="inflate#push">push</a></li></ul><div class="type">instance method</div><h2><span class="name_prefix">Inflate#</span>push</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L175">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">Inflate#push(data[, mode])</li><li><ul class="signature-values"><li>Boolean</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">data</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">ArrayBuffer</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>input data</p>
  1512. </li></ul></li><li><ul class="argument"><li class="argument-name">mode</li><li><ul class="argument-types"><li class="argument-type">Number</li><li class="argument-type">Boolean</li></ul></li><li class="argument-description"><p>0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.
  1513. See constants. Skipped or <code>false</code> means Z_NO_FLUSH, <code>true</code> meansh Z_FINISH.</p>
  1514. </li></ul></li></ul><p>Sends input data to inflate pipe, generating <a href="#Inflate.prototype.onData" class="link-short" title="Inflate#onData (instance method)" data-id="inflate#ondata">Inflate#onData</a> calls with
  1515. new output chunks. Returns <code>true</code> on success. The last data block must have
  1516. mode Z_FINISH (or <code>true</code>). That will flush internal pending buffers and call
  1517. <a href="#Inflate.prototype.onEnd" class="link-short" title="Inflate#onEnd (instance method)" data-id="inflate#onend">Inflate#onEnd</a>. For interim explicit flushes (without ending the stream) you
  1518. can use mode Z_SYNC_FLUSH, keeping the decompression context.</p>
  1519. <p>On fail call <a href="#Inflate.prototype.onEnd" class="link-short" title="Inflate#onEnd (instance method)" data-id="inflate#onend">Inflate#onEnd</a> with error code and return false.</p>
  1520. <p>We strongly recommend to use <code>Uint8Array</code> on input for best speed (output
  1521. format is detected automatically). Also, don&#39;t skip last param and always
  1522. use the same type in your code (boolean or number). That will improve JS speed.</p>
  1523. <p>For regular <code>Array</code>-s make sure all elements are [0..255].</p>
  1524. <h5 id="example">Example</h5>
  1525. <pre><code class="lang-javascript">push(chunk, <span class="literal">false</span>); <span class="comment">// push one of data chunks</span>
  1526. ...
  1527. push(chunk, <span class="literal">true</span>); <span class="comment">// push last chunk</span></code></pre>
  1528. </div></div></article><article id="inflate" data-title="inflate (method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#inflate" class="" title="inflate (method)" data-id="inflate">inflate</a></li></ul><div class="type">method</div><h2>inflate</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L360">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">inflate(data[, options])</li><li><ul class="signature-values"><li>Uint8Array</li><li>Array</li><li>String</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">data</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>input data to decompress.</p>
  1529. </li></ul></li><li><ul class="argument"><li class="argument-name">options</li><li><ul class="argument-types"><li class="argument-type">Object</li></ul></li><li class="argument-description"><p>zlib inflate options.</p>
  1530. </li></ul></li></ul><p>Decompress <code>data</code> with inflate/ungzip and <code>options</code>. Autodetect
  1531. format via wrapper header by default. That&#39;s why we don&#39;t provide
  1532. separate <code>ungzip</code> method.</p>
  1533. <p>Supported options are:</p>
  1534. <ul>
  1535. <li>windowBits</li>
  1536. </ul>
  1537. <p><a href="http://zlib.net/manual.html#Advanced"><a href="http://zlib.net/manual.html#Advanced">http://zlib.net/manual.html#Advanced</a></a>
  1538. for more information.</p>
  1539. <p>Sugar (options):</p>
  1540. <ul>
  1541. <li><code>raw</code> (Boolean) - say that we work with raw stream, if you don&#39;t wish to specify
  1542. negative windowBits implicitly.</li>
  1543. <li><code>to</code> (String) - if equal to &#39;string&#39;, then result will be converted
  1544. from utf8 to utf16 (javascript) string. When string output requested,
  1545. chunk length can differ from <code>chunkSize</code>, depending on content.</li>
  1546. </ul>
  1547. <h5 id="example-">Example:</h5>
  1548. <pre><code class="lang-javascript"><span class="keyword">var</span> pako = require(<span class="string">'pako'</span>)
  1549. , input = pako.deflate([<span class="number">1</span>,<span class="number">2</span>,<span class="number">3</span>,<span class="number">4</span>,<span class="number">5</span>,<span class="number">6</span>,<span class="number">7</span>,<span class="number">8</span>,<span class="number">9</span>])
  1550. , output;
  1551. <span class="keyword">try</span> {
  1552. output = pako.inflate(input);
  1553. } <span class="keyword">catch</span> (err)
  1554. console.log(err);
  1555. }</code></pre>
  1556. </div></div></article><article id="inflateRaw" data-title="inflateRaw (method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#inflateRaw" class="" title="inflateRaw (method)" data-id="inflateraw">inflateRaw</a></li></ul><div class="type">method</div><h2>inflateRaw</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L380">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">inflateRaw(data[, options])</li><li><ul class="signature-values"><li>Uint8Array</li><li>Array</li><li>String</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">data</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>input data to decompress.</p>
  1557. </li></ul></li><li><ul class="argument"><li class="argument-name">options</li><li><ul class="argument-types"><li class="argument-type">Object</li></ul></li><li class="argument-description"><p>zlib inflate options.</p>
  1558. </li></ul></li></ul><p>The same as <a href="#inflate" class="link-short" title="inflate (method)" data-id="inflate">inflate</a>, but creates raw data, without wrapper
  1559. (header and adler32 crc).</p>
  1560. </div></div></article><article id="ungzip" data-title="ungzip (method)" class="docblock"><header><ul class="breadcrumbs"><li><a href="#home">Home</a></li><li><a href="#ungzip" class="" title="ungzip (method)" data-id="ungzip">ungzip</a></li></ul><div class="type">method</div><h2>ungzip</h2><div class="source"><a href="https://github.com/nodeca/pako/blob/08c5cf/lib/inflate.js#L395">View source</a></div></header><div class="section method"><div class="content"><ul class="signatures"><li><ul class="signature"><li class="signature-call">ungzip(data[, options])</li><li><ul class="signature-values"><li>Uint8Array</li><li>Array</li><li>String</li></ul></li></ul></li></ul><ul class="arguments"><li><ul class="argument"><li class="argument-name">data</li><li><ul class="argument-types"><li class="argument-type">Uint8Array</li><li class="argument-type">Array</li><li class="argument-type">String</li></ul></li><li class="argument-description"><p>input data to decompress.</p>
  1561. </li></ul></li><li><ul class="argument"><li class="argument-name">options</li><li><ul class="argument-types"><li class="argument-type">Object</li></ul></li><li class="argument-description"><p>zlib inflate options.</p>
  1562. </li></ul></li></ul><p>Just shortcut to <a href="#inflate" class="link-short" title="inflate (method)" data-id="inflate">inflate</a>, because it autodetects format
  1563. by header.content. Done for convenience.</p>
  1564. </div></div></article><footer class="footer"><p>Last updated on Mon, 14 Sep 2015 12:20:55 GMT. Generated by <a href="http://github.com/nodeca/ndoc">ndoc</a></p></footer></div></body></html>