udt-itf-theme 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (639) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +124 -0
  3. data/_data/apis.yml +66 -0
  4. data/_data/calls.yml +6 -0
  5. data/_data/demos.yml +10 -0
  6. data/_data/features.yml +9 -0
  7. data/_data/institutions.yml +61 -0
  8. data/_data/pastevents.yml +146 -0
  9. data/_includes/api/acronyms.md +3 -0
  10. data/_includes/api/anchor_headings.html +152 -0
  11. data/_includes/api/beta.md +7 -0
  12. data/_includes/api/code_header.html +4 -0
  13. data/_includes/api/copyright.md +4 -0
  14. data/_includes/api/copyright2015.md +4 -0
  15. data/_includes/api/copyright2017.md +4 -0
  16. data/_includes/api/editors.md +3 -0
  17. data/_includes/api/links.md +235 -0
  18. data/_includes/api/sub-page_header.html +5 -0
  19. data/_includes/api/toc.html +182 -0
  20. data/_includes/blocks/api-cards.html +27 -0
  21. data/_includes/blocks/cards.html +21 -0
  22. data/_includes/blocks/carousel.html +14 -0
  23. data/_includes/blocks/demos.html +10 -0
  24. data/_includes/blocks/event-cards.html +26 -0
  25. data/_includes/blocks/features.html +9 -0
  26. data/_includes/blocks/hero.html +61 -0
  27. data/_includes/blocks/image-and-text.html +30 -0
  28. data/_includes/blocks/join-newsletter.html +0 -0
  29. data/_includes/blocks/logo-grid.html +14 -0
  30. data/_includes/blocks/news-cards.html +32 -0
  31. data/_includes/blocks/pullquote.html +22 -0
  32. data/_includes/blocks/related-cards.html +0 -0
  33. data/_includes/blocks/steps.html +0 -0
  34. data/_includes/blocks/tabs.html +21 -0
  35. data/_includes/blocks/text-and-text.html +14 -0
  36. data/_includes/content/full-width-image.html +10 -0
  37. data/_includes/content/inline-image.html +13 -0
  38. data/_includes/footer.html +28 -0
  39. data/_includes/head.html +36 -0
  40. data/_includes/misc/button.html +2 -0
  41. data/_includes/misc/community_calendar.html +4 -0
  42. data/_includes/misc/feedback.html +79 -0
  43. data/_includes/misc/google-analytics.html +9 -0
  44. data/_includes/misc/image.html +7 -0
  45. data/_includes/misc/notification.html +15 -0
  46. data/_includes/navbar.html +36 -0
  47. data/_layouts/default.html +35 -0
  48. data/_layouts/event.html +7 -0
  49. data/_layouts/page.html +8 -0
  50. data/_layouts/post.html +7 -0
  51. data/_layouts/spec.html +35 -0
  52. data/_sass/iiifc-theme/api-spec.scss +180 -0
  53. data/_sass/iiifc-theme/base.scss +317 -0
  54. data/_sass/iiifc-theme/bulma-base.scss +15 -0
  55. data/_sass/iiifc-theme/carousel.scss +47 -0
  56. data/_sass/iiifc-theme/fonts.scss +6 -0
  57. data/_sass/iiifc-theme/helpers.scss +43 -0
  58. data/_sass/iiifc-theme/syntax.scss +65 -0
  59. data/_sass/iiifc-theme/typography.scss +41 -0
  60. data/_sass/iiifc-theme/vars.scss +47 -0
  61. data/_sass/node_modules/.yarn-integrity +19 -0
  62. data/_sass/node_modules/bulma/CHANGELOG.md +1539 -0
  63. data/_sass/node_modules/bulma/LICENSE +21 -0
  64. data/_sass/node_modules/bulma/README.md +133 -0
  65. data/_sass/node_modules/bulma/bulma.sass +10 -0
  66. data/_sass/node_modules/bulma/css/bulma-rtl.css +11705 -0
  67. data/_sass/node_modules/bulma/css/bulma-rtl.css.map +1 -0
  68. data/_sass/node_modules/bulma/css/bulma-rtl.min.css +1 -0
  69. data/_sass/node_modules/bulma/css/bulma.css +11705 -0
  70. data/_sass/node_modules/bulma/css/bulma.css.map +1 -0
  71. data/_sass/node_modules/bulma/css/bulma.min.css +1 -0
  72. data/_sass/node_modules/bulma/package.json +56 -0
  73. data/_sass/node_modules/bulma/sass/base/_all.sass +6 -0
  74. data/_sass/node_modules/bulma/sass/base/animations.sass +5 -0
  75. data/_sass/node_modules/bulma/sass/base/generic.sass +145 -0
  76. data/_sass/node_modules/bulma/sass/base/helpers.sass +1 -0
  77. data/_sass/node_modules/bulma/sass/base/minireset.sass +79 -0
  78. data/_sass/node_modules/bulma/sass/components/_all.sass +15 -0
  79. data/_sass/node_modules/bulma/sass/components/breadcrumb.sass +77 -0
  80. data/_sass/node_modules/bulma/sass/components/card.sass +102 -0
  81. data/_sass/node_modules/bulma/sass/components/dropdown.sass +83 -0
  82. data/_sass/node_modules/bulma/sass/components/level.sass +79 -0
  83. data/_sass/node_modules/bulma/sass/components/media.sass +59 -0
  84. data/_sass/node_modules/bulma/sass/components/menu.sass +59 -0
  85. data/_sass/node_modules/bulma/sass/components/message.sass +101 -0
  86. data/_sass/node_modules/bulma/sass/components/modal.sass +117 -0
  87. data/_sass/node_modules/bulma/sass/components/navbar.sass +445 -0
  88. data/_sass/node_modules/bulma/sass/components/pagination.sass +158 -0
  89. data/_sass/node_modules/bulma/sass/components/panel.sass +121 -0
  90. data/_sass/node_modules/bulma/sass/components/tabs.sass +176 -0
  91. data/_sass/node_modules/bulma/sass/elements/_all.sass +16 -0
  92. data/_sass/node_modules/bulma/sass/elements/box.sass +26 -0
  93. data/_sass/node_modules/bulma/sass/elements/button.sass +345 -0
  94. data/_sass/node_modules/bulma/sass/elements/container.sass +29 -0
  95. data/_sass/node_modules/bulma/sass/elements/content.sass +157 -0
  96. data/_sass/node_modules/bulma/sass/elements/form.sass +1 -0
  97. data/_sass/node_modules/bulma/sass/elements/icon.sass +40 -0
  98. data/_sass/node_modules/bulma/sass/elements/image.sass +73 -0
  99. data/_sass/node_modules/bulma/sass/elements/notification.sass +52 -0
  100. data/_sass/node_modules/bulma/sass/elements/other.sass +41 -0
  101. data/_sass/node_modules/bulma/sass/elements/progress.sass +73 -0
  102. data/_sass/node_modules/bulma/sass/elements/table.sass +133 -0
  103. data/_sass/node_modules/bulma/sass/elements/tag.sass +140 -0
  104. data/_sass/node_modules/bulma/sass/elements/title.sass +72 -0
  105. data/_sass/node_modules/bulma/sass/form/_all.sass +9 -0
  106. data/_sass/node_modules/bulma/sass/form/checkbox-radio.sass +22 -0
  107. data/_sass/node_modules/bulma/sass/form/file.sass +182 -0
  108. data/_sass/node_modules/bulma/sass/form/input-textarea.sass +66 -0
  109. data/_sass/node_modules/bulma/sass/form/select.sass +87 -0
  110. data/_sass/node_modules/bulma/sass/form/shared.sass +60 -0
  111. data/_sass/node_modules/bulma/sass/form/tools.sass +215 -0
  112. data/_sass/node_modules/bulma/sass/grid/_all.sass +5 -0
  113. data/_sass/node_modules/bulma/sass/grid/columns.sass +513 -0
  114. data/_sass/node_modules/bulma/sass/grid/tiles.sass +36 -0
  115. data/_sass/node_modules/bulma/sass/helpers/_all.sass +12 -0
  116. data/_sass/node_modules/bulma/sass/helpers/color.sass +39 -0
  117. data/_sass/node_modules/bulma/sass/helpers/flexbox.sass +35 -0
  118. data/_sass/node_modules/bulma/sass/helpers/float.sass +10 -0
  119. data/_sass/node_modules/bulma/sass/helpers/other.sass +14 -0
  120. data/_sass/node_modules/bulma/sass/helpers/overflow.sass +2 -0
  121. data/_sass/node_modules/bulma/sass/helpers/position.sass +7 -0
  122. data/_sass/node_modules/bulma/sass/helpers/spacing.sass +31 -0
  123. data/_sass/node_modules/bulma/sass/helpers/typography.sass +100 -0
  124. data/_sass/node_modules/bulma/sass/helpers/visibility.sass +122 -0
  125. data/_sass/node_modules/bulma/sass/layout/_all.sass +6 -0
  126. data/_sass/node_modules/bulma/sass/layout/footer.sass +11 -0
  127. data/_sass/node_modules/bulma/sass/layout/hero.sass +149 -0
  128. data/_sass/node_modules/bulma/sass/layout/section.sass +15 -0
  129. data/_sass/node_modules/bulma/sass/utilities/_all.sass +9 -0
  130. data/_sass/node_modules/bulma/sass/utilities/animations.sass +1 -0
  131. data/_sass/node_modules/bulma/sass/utilities/controls.sass +49 -0
  132. data/_sass/node_modules/bulma/sass/utilities/derived-variables.sass +110 -0
  133. data/_sass/node_modules/bulma/sass/utilities/extends.sass +22 -0
  134. data/_sass/node_modules/bulma/sass/utilities/functions.sass +115 -0
  135. data/_sass/node_modules/bulma/sass/utilities/initial-variables.sass +78 -0
  136. data/_sass/node_modules/bulma/sass/utilities/mixins.sass +268 -0
  137. data/_sass/node_modules/jquery/AUTHORS.txt +331 -0
  138. data/_sass/node_modules/jquery/LICENSE.txt +20 -0
  139. data/_sass/node_modules/jquery/README.md +62 -0
  140. data/_sass/node_modules/jquery/bower.json +14 -0
  141. data/_sass/node_modules/jquery/dist/jquery.js +10881 -0
  142. data/_sass/node_modules/jquery/dist/jquery.min.js +2 -0
  143. data/_sass/node_modules/jquery/dist/jquery.min.map +1 -0
  144. data/_sass/node_modules/jquery/dist/jquery.slim.js +8782 -0
  145. data/_sass/node_modules/jquery/dist/jquery.slim.min.js +2 -0
  146. data/_sass/node_modules/jquery/dist/jquery.slim.min.map +1 -0
  147. data/_sass/node_modules/jquery/external/sizzle/LICENSE.txt +36 -0
  148. data/_sass/node_modules/jquery/external/sizzle/dist/sizzle.js +2478 -0
  149. data/_sass/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  150. data/_sass/node_modules/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  151. data/_sass/node_modules/jquery/package.json +116 -0
  152. data/_sass/node_modules/jquery/src/ajax/jsonp.js +103 -0
  153. data/_sass/node_modules/jquery/src/ajax/load.js +77 -0
  154. data/_sass/node_modules/jquery/src/ajax/script.js +74 -0
  155. data/_sass/node_modules/jquery/src/ajax/var/location.js +5 -0
  156. data/_sass/node_modules/jquery/src/ajax/var/nonce.js +5 -0
  157. data/_sass/node_modules/jquery/src/ajax/var/rquery.js +5 -0
  158. data/_sass/node_modules/jquery/src/ajax/xhr.js +170 -0
  159. data/_sass/node_modules/jquery/src/ajax.js +876 -0
  160. data/_sass/node_modules/jquery/src/attributes/attr.js +141 -0
  161. data/_sass/node_modules/jquery/src/attributes/classes.js +186 -0
  162. data/_sass/node_modules/jquery/src/attributes/prop.js +143 -0
  163. data/_sass/node_modules/jquery/src/attributes/support.js +33 -0
  164. data/_sass/node_modules/jquery/src/attributes/val.js +191 -0
  165. data/_sass/node_modules/jquery/src/attributes.js +13 -0
  166. data/_sass/node_modules/jquery/src/callbacks.js +236 -0
  167. data/_sass/node_modules/jquery/src/core/DOMEval.js +43 -0
  168. data/_sass/node_modules/jquery/src/core/access.js +72 -0
  169. data/_sass/node_modules/jquery/src/core/camelCase.js +23 -0
  170. data/_sass/node_modules/jquery/src/core/init.js +129 -0
  171. data/_sass/node_modules/jquery/src/core/isAttached.js +26 -0
  172. data/_sass/node_modules/jquery/src/core/nodeName.js +13 -0
  173. data/_sass/node_modules/jquery/src/core/parseHTML.js +65 -0
  174. data/_sass/node_modules/jquery/src/core/parseXML.js +35 -0
  175. data/_sass/node_modules/jquery/src/core/ready-no-deferred.js +97 -0
  176. data/_sass/node_modules/jquery/src/core/ready.js +86 -0
  177. data/_sass/node_modules/jquery/src/core/readyException.js +13 -0
  178. data/_sass/node_modules/jquery/src/core/stripAndCollapse.js +14 -0
  179. data/_sass/node_modules/jquery/src/core/support.js +20 -0
  180. data/_sass/node_modules/jquery/src/core/toType.js +20 -0
  181. data/_sass/node_modules/jquery/src/core/var/rsingleTag.js +7 -0
  182. data/_sass/node_modules/jquery/src/core.js +400 -0
  183. data/_sass/node_modules/jquery/src/css/addGetHookIf.js +26 -0
  184. data/_sass/node_modules/jquery/src/css/adjustCSS.js +74 -0
  185. data/_sass/node_modules/jquery/src/css/curCSS.js +65 -0
  186. data/_sass/node_modules/jquery/src/css/finalPropName.js +42 -0
  187. data/_sass/node_modules/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  188. data/_sass/node_modules/jquery/src/css/showHide.js +105 -0
  189. data/_sass/node_modules/jquery/src/css/support.js +152 -0
  190. data/_sass/node_modules/jquery/src/css/var/cssExpand.js +5 -0
  191. data/_sass/node_modules/jquery/src/css/var/getStyles.js +17 -0
  192. data/_sass/node_modules/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  193. data/_sass/node_modules/jquery/src/css/var/rboxStyle.js +7 -0
  194. data/_sass/node_modules/jquery/src/css/var/rnumnonpx.js +7 -0
  195. data/_sass/node_modules/jquery/src/css/var/swap.js +26 -0
  196. data/_sass/node_modules/jquery/src/css.js +494 -0
  197. data/_sass/node_modules/jquery/src/data/Data.js +162 -0
  198. data/_sass/node_modules/jquery/src/data/var/acceptData.js +19 -0
  199. data/_sass/node_modules/jquery/src/data/var/dataPriv.js +7 -0
  200. data/_sass/node_modules/jquery/src/data/var/dataUser.js +7 -0
  201. data/_sass/node_modules/jquery/src/data.js +180 -0
  202. data/_sass/node_modules/jquery/src/deferred/exceptionHook.js +21 -0
  203. data/_sass/node_modules/jquery/src/deferred.js +399 -0
  204. data/_sass/node_modules/jquery/src/deprecated/ajax-event-alias.js +22 -0
  205. data/_sass/node_modules/jquery/src/deprecated/event.js +50 -0
  206. data/_sass/node_modules/jquery/src/deprecated.js +87 -0
  207. data/_sass/node_modules/jquery/src/dimensions.js +60 -0
  208. data/_sass/node_modules/jquery/src/effects/Tween.js +125 -0
  209. data/_sass/node_modules/jquery/src/effects/animatedSelector.js +15 -0
  210. data/_sass/node_modules/jquery/src/effects.js +702 -0
  211. data/_sass/node_modules/jquery/src/event/focusin.js +58 -0
  212. data/_sass/node_modules/jquery/src/event/support.js +11 -0
  213. data/_sass/node_modules/jquery/src/event/trigger.js +199 -0
  214. data/_sass/node_modules/jquery/src/event.js +874 -0
  215. data/_sass/node_modules/jquery/src/exports/amd.js +26 -0
  216. data/_sass/node_modules/jquery/src/exports/global.js +34 -0
  217. data/_sass/node_modules/jquery/src/jquery.js +41 -0
  218. data/_sass/node_modules/jquery/src/manipulation/_evalUrl.js +32 -0
  219. data/_sass/node_modules/jquery/src/manipulation/buildFragment.js +106 -0
  220. data/_sass/node_modules/jquery/src/manipulation/getAll.js +32 -0
  221. data/_sass/node_modules/jquery/src/manipulation/setGlobalEval.js +22 -0
  222. data/_sass/node_modules/jquery/src/manipulation/support.js +41 -0
  223. data/_sass/node_modules/jquery/src/manipulation/var/rscriptType.js +5 -0
  224. data/_sass/node_modules/jquery/src/manipulation/var/rtagName.js +8 -0
  225. data/_sass/node_modules/jquery/src/manipulation/wrapMap.js +30 -0
  226. data/_sass/node_modules/jquery/src/manipulation.js +480 -0
  227. data/_sass/node_modules/jquery/src/offset.js +232 -0
  228. data/_sass/node_modules/jquery/src/queue/delay.js +24 -0
  229. data/_sass/node_modules/jquery/src/queue.js +145 -0
  230. data/_sass/node_modules/jquery/src/selector-native.js +241 -0
  231. data/_sass/node_modules/jquery/src/selector-sizzle.js +19 -0
  232. data/_sass/node_modules/jquery/src/selector.js +3 -0
  233. data/_sass/node_modules/jquery/src/serialize.js +134 -0
  234. data/_sass/node_modules/jquery/src/traversing/findFilter.js +97 -0
  235. data/_sass/node_modules/jquery/src/traversing/var/dir.js +22 -0
  236. data/_sass/node_modules/jquery/src/traversing/var/rneedsContext.js +8 -0
  237. data/_sass/node_modules/jquery/src/traversing/var/siblings.js +17 -0
  238. data/_sass/node_modules/jquery/src/traversing.js +198 -0
  239. data/_sass/node_modules/jquery/src/var/ObjectFunctionString.js +7 -0
  240. data/_sass/node_modules/jquery/src/var/arr.js +5 -0
  241. data/_sass/node_modules/jquery/src/var/class2type.js +6 -0
  242. data/_sass/node_modules/jquery/src/var/document.js +5 -0
  243. data/_sass/node_modules/jquery/src/var/documentElement.js +7 -0
  244. data/_sass/node_modules/jquery/src/var/flat.js +16 -0
  245. data/_sass/node_modules/jquery/src/var/fnToString.js +7 -0
  246. data/_sass/node_modules/jquery/src/var/getProto.js +5 -0
  247. data/_sass/node_modules/jquery/src/var/hasOwn.js +7 -0
  248. data/_sass/node_modules/jquery/src/var/indexOf.js +7 -0
  249. data/_sass/node_modules/jquery/src/var/isFunction.js +17 -0
  250. data/_sass/node_modules/jquery/src/var/isWindow.js +8 -0
  251. data/_sass/node_modules/jquery/src/var/pnum.js +5 -0
  252. data/_sass/node_modules/jquery/src/var/push.js +7 -0
  253. data/_sass/node_modules/jquery/src/var/rcheckableType.js +5 -0
  254. data/_sass/node_modules/jquery/src/var/rcssNum.js +9 -0
  255. data/_sass/node_modules/jquery/src/var/rnothtmlwhite.js +8 -0
  256. data/_sass/node_modules/jquery/src/var/slice.js +7 -0
  257. data/_sass/node_modules/jquery/src/var/support.js +6 -0
  258. data/_sass/node_modules/jquery/src/var/toString.js +7 -0
  259. data/_sass/node_modules/jquery/src/wrap.js +78 -0
  260. data/_sass/node_modules/slick-carousel-no-fonts/.npmignore +2 -0
  261. data/_sass/node_modules/slick-carousel-no-fonts/CONTRIBUTING.markdown +35 -0
  262. data/_sass/node_modules/slick-carousel-no-fonts/ISSUE_TEMPLATE.md +50 -0
  263. data/_sass/node_modules/slick-carousel-no-fonts/LICENSE +20 -0
  264. data/_sass/node_modules/slick-carousel-no-fonts/Makefile +8 -0
  265. data/_sass/node_modules/slick-carousel-no-fonts/README.markdown +287 -0
  266. data/_sass/node_modules/slick-carousel-no-fonts/bower.json +32 -0
  267. data/_sass/node_modules/slick-carousel-no-fonts/component.json +18 -0
  268. data/_sass/node_modules/slick-carousel-no-fonts/index.html +163 -0
  269. data/_sass/node_modules/slick-carousel-no-fonts/package.json +50 -0
  270. data/_sass/node_modules/slick-carousel-no-fonts/slick/ajax-loader.gif +0 -0
  271. data/_sass/node_modules/slick-carousel-no-fonts/slick/config.rb +10 -0
  272. data/_sass/node_modules/slick-carousel-no-fonts/slick/fonts/slick.eot +0 -0
  273. data/_sass/node_modules/slick-carousel-no-fonts/slick/fonts/slick.svg +14 -0
  274. data/_sass/node_modules/slick-carousel-no-fonts/slick/fonts/slick.ttf +0 -0
  275. data/_sass/node_modules/slick-carousel-no-fonts/slick/fonts/slick.woff +0 -0
  276. data/_sass/node_modules/slick-carousel-no-fonts/slick/slick-theme.css +194 -0
  277. data/_sass/node_modules/slick-carousel-no-fonts/slick/slick-theme.less +158 -0
  278. data/_sass/node_modules/slick-carousel-no-fonts/slick/slick-theme.scss +186 -0
  279. data/_sass/node_modules/slick-carousel-no-fonts/slick/slick.css +117 -0
  280. data/_sass/node_modules/slick-carousel-no-fonts/slick/slick.js +2936 -0
  281. data/_sass/node_modules/slick-carousel-no-fonts/slick/slick.less +98 -0
  282. data/_sass/node_modules/slick-carousel-no-fonts/slick/slick.min.js +18 -0
  283. data/_sass/node_modules/slick-carousel-no-fonts/slick/slick.scss +98 -0
  284. data/_sass/node_modules/slick-carousel-no-fonts/slick.jquery.json +34 -0
  285. data/assets/android-chrome-192x192.png +0 -0
  286. data/assets/android-chrome-512x512.png +0 -0
  287. data/assets/apple-touch-icon.png +0 -0
  288. data/assets/browserconfig.xml +9 -0
  289. data/assets/css/ajax-loader.gif +0 -0
  290. data/assets/css/style.scss +4 -0
  291. data/assets/favicon-16x16.png +0 -0
  292. data/assets/favicon-32x32.png +0 -0
  293. data/assets/favicon.ico +0 -0
  294. data/assets/images/defaults/blank-image.png +0 -0
  295. data/assets/images/defaults/just-a-square.png +0 -0
  296. data/assets/images/heroes/event.png +0 -0
  297. data/assets/images/heroes/event.webp +0 -0
  298. data/assets/images/heroes/event@2x.png +0 -0
  299. data/assets/images/heroes/event@2x.webp +0 -0
  300. data/assets/images/heroes/event@3x.png +0 -0
  301. data/assets/images/heroes/event@3x.webp +0 -0
  302. data/assets/images/heroes/event_2.png +0 -0
  303. data/assets/images/heroes/event_2.webp +0 -0
  304. data/assets/images/heroes/event_2@2x.png +0 -0
  305. data/assets/images/heroes/event_2@2x.webp +0 -0
  306. data/assets/images/heroes/hero-1.png +0 -0
  307. data/assets/images/heroes/hero-1.webp +0 -0
  308. data/assets/images/heroes/hero-1@2x.png +0 -0
  309. data/assets/images/heroes/hero-1@2x.webp +0 -0
  310. data/assets/images/heroes/hero-2.png +0 -0
  311. data/assets/images/heroes/hero-2.webp +0 -0
  312. data/assets/images/heroes/hero-2@2x.png +0 -0
  313. data/assets/images/heroes/hero-2@2x.webp +0 -0
  314. data/assets/images/heroes/hero-2@3x.png +0 -0
  315. data/assets/images/heroes/hero-2@3x.webp +0 -0
  316. data/assets/images/heroes/hero-3.png +0 -0
  317. data/assets/images/heroes/hero-3.webp +0 -0
  318. data/assets/images/heroes/hero-3@2x.png +0 -0
  319. data/assets/images/heroes/hero-3@2x.webp +0 -0
  320. data/assets/images/heroes/hero-3@3x.png +0 -0
  321. data/assets/images/heroes/hero-3@3x.webp +0 -0
  322. data/assets/images/heroes/smithsonian_cookbook.jpg +0 -0
  323. data/assets/images/heroes/smithsonian_cookbook.webp +0 -0
  324. data/assets/images/icons/auth-group.png +0 -0
  325. data/assets/images/icons/auth-group.webp +0 -0
  326. data/assets/images/icons/auth-group@2x.png +0 -0
  327. data/assets/images/icons/auth-group@2x.webp +0 -0
  328. data/assets/images/icons/auth-group@3x.png +0 -0
  329. data/assets/images/icons/auth-group@3x.webp +0 -0
  330. data/assets/images/icons/calendar.png +0 -0
  331. data/assets/images/icons/calendar.webp +0 -0
  332. data/assets/images/icons/calendar@2x.png +0 -0
  333. data/assets/images/icons/calendar@2x.webp +0 -0
  334. data/assets/images/icons/calendar@3x.png +0 -0
  335. data/assets/images/icons/calendar@3x.webp +0 -0
  336. data/assets/images/icons/developer.png +0 -0
  337. data/assets/images/icons/developer.webp +0 -0
  338. data/assets/images/icons/developer@2x.png +0 -0
  339. data/assets/images/icons/developer@2x.webp +0 -0
  340. data/assets/images/icons/developer@3x.png +0 -0
  341. data/assets/images/icons/developer@3x.webp +0 -0
  342. data/assets/images/icons/image.png +0 -0
  343. data/assets/images/icons/image.webp +0 -0
  344. data/assets/images/icons/image@2x.png +0 -0
  345. data/assets/images/icons/image@2x.webp +0 -0
  346. data/assets/images/icons/image@3x.png +0 -0
  347. data/assets/images/icons/image@3x.webp +0 -0
  348. data/assets/images/icons/info.png +0 -0
  349. data/assets/images/icons/info.webp +0 -0
  350. data/assets/images/icons/info@2x.png +0 -0
  351. data/assets/images/icons/info@2x.webp +0 -0
  352. data/assets/images/icons/info@3x.png +0 -0
  353. data/assets/images/icons/info@3x.webp +0 -0
  354. data/assets/images/icons/leader.png +0 -0
  355. data/assets/images/icons/leader.webp +0 -0
  356. data/assets/images/icons/leader@2x.png +0 -0
  357. data/assets/images/icons/leader@2x.webp +0 -0
  358. data/assets/images/icons/leader@3x.png +0 -0
  359. data/assets/images/icons/leader@3x.webp +0 -0
  360. data/assets/images/icons/left-arrow.png +0 -0
  361. data/assets/images/icons/left-arrow.webp +0 -0
  362. data/assets/images/icons/left-arrow@2x.png +0 -0
  363. data/assets/images/icons/left-arrow@2x.webp +0 -0
  364. data/assets/images/icons/left-arrow@3x.png +0 -0
  365. data/assets/images/icons/left-arrow@3x.webp +0 -0
  366. data/assets/images/icons/link-group.png +0 -0
  367. data/assets/images/icons/link-group.webp +0 -0
  368. data/assets/images/icons/link-group@2x.png +0 -0
  369. data/assets/images/icons/link-group@2x.webp +0 -0
  370. data/assets/images/icons/link-group@3x.png +0 -0
  371. data/assets/images/icons/link-group@3x.webp +0 -0
  372. data/assets/images/icons/link.png +0 -0
  373. data/assets/images/icons/link.webp +0 -0
  374. data/assets/images/icons/location-info.png +0 -0
  375. data/assets/images/icons/location-info.webp +0 -0
  376. data/assets/images/icons/location-info@2x.png +0 -0
  377. data/assets/images/icons/location-info@2x.webp +0 -0
  378. data/assets/images/icons/location-info@3x.png +0 -0
  379. data/assets/images/icons/location-info@3x.webp +0 -0
  380. data/assets/images/icons/map-pin.png +0 -0
  381. data/assets/images/icons/map-pin.webp +0 -0
  382. data/assets/images/icons/map-pin@2x.png +0 -0
  383. data/assets/images/icons/map-pin@2x.webp +0 -0
  384. data/assets/images/icons/map-pin@3x.png +0 -0
  385. data/assets/images/icons/map-pin@3x.webp +0 -0
  386. data/assets/images/icons/pagination-dots.png +0 -0
  387. data/assets/images/icons/pagination-dots.webp +0 -0
  388. data/assets/images/icons/pagination-dots@2x.png +0 -0
  389. data/assets/images/icons/pagination-dots@2x.webp +0 -0
  390. data/assets/images/icons/pagination-dots@3x.png +0 -0
  391. data/assets/images/icons/pagination-dots@3x.webp +0 -0
  392. data/assets/images/icons/quote.png +0 -0
  393. data/assets/images/icons/quote.webp +0 -0
  394. data/assets/images/icons/quote@2x.png +0 -0
  395. data/assets/images/icons/quote@2x.webp +0 -0
  396. data/assets/images/icons/quote@3x.png +0 -0
  397. data/assets/images/icons/quote@3x.webp +0 -0
  398. data/assets/images/icons/research.png +0 -0
  399. data/assets/images/icons/research.webp +0 -0
  400. data/assets/images/icons/research@2x.png +0 -0
  401. data/assets/images/icons/research@2x.webp +0 -0
  402. data/assets/images/icons/research@3x.png +0 -0
  403. data/assets/images/icons/research@3x.webp +0 -0
  404. data/assets/images/icons/right-arrow.png +0 -0
  405. data/assets/images/icons/right-arrow.webp +0 -0
  406. data/assets/images/icons/right-arrow@2x.png +0 -0
  407. data/assets/images/icons/right-arrow@2x.webp +0 -0
  408. data/assets/images/icons/right-arrow@3x.png +0 -0
  409. data/assets/images/icons/right-arrow@3x.webp +0 -0
  410. data/assets/images/icons/search-group.png +0 -0
  411. data/assets/images/icons/search-group.webp +0 -0
  412. data/assets/images/icons/search-group@2x.png +0 -0
  413. data/assets/images/icons/search-group@2x.webp +0 -0
  414. data/assets/images/icons/search-group@3x.png +0 -0
  415. data/assets/images/icons/search-group@3x.webp +0 -0
  416. data/assets/images/icons/shape.png +0 -0
  417. data/assets/images/icons/shape.webp +0 -0
  418. data/assets/images/icons/shape@2x.png +0 -0
  419. data/assets/images/icons/shape@2x.webp +0 -0
  420. data/assets/images/icons/shape@3x.png +0 -0
  421. data/assets/images/icons/shape@3x.webp +0 -0
  422. data/assets/images/logos/logo-blue.webp +0 -0
  423. data/assets/images/logos/logo-blue@2x.webp +0 -0
  424. data/assets/images/logos/logo-blue@3x.webp +0 -0
  425. data/assets/images/logos/logo-sm.png +0 -0
  426. data/assets/images/logos/logo-white.webp +0 -0
  427. data/assets/images/logos/logo-white@2x.webp +0 -0
  428. data/assets/images/logos/logo-white@3x.webp +0 -0
  429. data/assets/images/zeplin/delivery@3x.jpg +0 -0
  430. data/assets/images/zeplin/delivery@3x.png +0 -0
  431. data/assets/images/zeplin/delivery@3x.webp +0 -0
  432. data/assets/images/zeplin/jpg/delivery.jpg +0 -0
  433. data/assets/images/zeplin/jpg/delivery@2x.jpg +0 -0
  434. data/assets/images/zeplin/jpg/event.jpg +0 -0
  435. data/assets/images/zeplin/jpg/event@2x.jpg +0 -0
  436. data/assets/images/zeplin/jpg/event@3x.jpg +0 -0
  437. data/assets/images/zeplin/jpg/hero-1.jpg +0 -0
  438. data/assets/images/zeplin/jpg/hero-1@2x.jpg +0 -0
  439. data/assets/images/zeplin/jpg/hero-1@3x.jpg +0 -0
  440. data/assets/images/zeplin/jpg/hero-2.jpg +0 -0
  441. data/assets/images/zeplin/jpg/hero-2@2x.jpg +0 -0
  442. data/assets/images/zeplin/jpg/hero-2@3x.jpg +0 -0
  443. data/assets/images/zeplin/jpg/hero-3.jpg +0 -0
  444. data/assets/images/zeplin/jpg/hero-3@2x.jpg +0 -0
  445. data/assets/images/zeplin/jpg/hero-3@3x.jpg +0 -0
  446. data/assets/images/zeplin/jpg/logo-blue.jpg +0 -0
  447. data/assets/images/zeplin/jpg/logo-blue@2x.jpg +0 -0
  448. data/assets/images/zeplin/jpg/logo-blue@3x.jpg +0 -0
  449. data/assets/images/zeplin/jpg/logo-white.jpg +0 -0
  450. data/assets/images/zeplin/jpg/logo-white@2x.jpg +0 -0
  451. data/assets/images/zeplin/jpg/logo-white@3x.jpg +0 -0
  452. data/assets/images/zeplin/jpg/silos-1.jpg +0 -0
  453. data/assets/images/zeplin/jpg/silos-1@2x.jpg +0 -0
  454. data/assets/images/zeplin/jpg/silos-1@3x.jpg +0 -0
  455. data/assets/images/zeplin/jpg/silos-2.jpg +0 -0
  456. data/assets/images/zeplin/jpg/silos-2@2x.jpg +0 -0
  457. data/assets/images/zeplin/jpg/silos-2@3x.jpg +0 -0
  458. data/assets/images/zeplin/jpg/silos-3.jpg +0 -0
  459. data/assets/images/zeplin/jpg/silos-3@2x.jpg +0 -0
  460. data/assets/images/zeplin/jpg/silos-3@3x.jpg +0 -0
  461. data/assets/images/zeplin/png/delivery.png +0 -0
  462. data/assets/images/zeplin/png/delivery@2x.png +0 -0
  463. data/assets/images/zeplin/png/event.png +0 -0
  464. data/assets/images/zeplin/png/event@2x.png +0 -0
  465. data/assets/images/zeplin/png/event@3x.png +0 -0
  466. data/assets/images/zeplin/png/group-11-copy.png +0 -0
  467. data/assets/images/zeplin/png/group-11-copy@2x.png +0 -0
  468. data/assets/images/zeplin/png/group-11-copy@3x.png +0 -0
  469. data/assets/images/zeplin/png/group-19.png +0 -0
  470. data/assets/images/zeplin/png/group-19@2x.png +0 -0
  471. data/assets/images/zeplin/png/group-19@3x.png +0 -0
  472. data/assets/images/zeplin/png/group-24.png +0 -0
  473. data/assets/images/zeplin/png/group-24@2x.png +0 -0
  474. data/assets/images/zeplin/png/group-24@3x.png +0 -0
  475. data/assets/images/zeplin/png/hero-1.png +0 -0
  476. data/assets/images/zeplin/png/hero-1@2x.png +0 -0
  477. data/assets/images/zeplin/png/hero-2.png +0 -0
  478. data/assets/images/zeplin/png/hero-2@2x.png +0 -0
  479. data/assets/images/zeplin/png/hero-2@3x.png +0 -0
  480. data/assets/images/zeplin/png/hero-3.png +0 -0
  481. data/assets/images/zeplin/png/hero-3@2x.png +0 -0
  482. data/assets/images/zeplin/png/hero-3@3x.png +0 -0
  483. data/assets/images/zeplin/png/invalid-name.png +0 -0
  484. data/assets/images/zeplin/png/invalid-name@2x.png +0 -0
  485. data/assets/images/zeplin/png/invalid-name@3x.png +0 -0
  486. data/assets/images/zeplin/png/left-arrow.png +0 -0
  487. data/assets/images/zeplin/png/left-arrow@2x.png +0 -0
  488. data/assets/images/zeplin/png/left-arrow@3x.png +0 -0
  489. data/assets/images/zeplin/png/logo-blue.png +0 -0
  490. data/assets/images/zeplin/png/logo-blue@2x.png +0 -0
  491. data/assets/images/zeplin/png/logo-blue@3x.png +0 -0
  492. data/assets/images/zeplin/png/logo-white.png +0 -0
  493. data/assets/images/zeplin/png/logo-white@2x.png +0 -0
  494. data/assets/images/zeplin/png/logo-white@3x.png +0 -0
  495. data/assets/images/zeplin/png/noun-calendar-3896118.png +0 -0
  496. data/assets/images/zeplin/png/noun-calendar-3896118@2x.png +0 -0
  497. data/assets/images/zeplin/png/noun-calendar-3896118@3x.png +0 -0
  498. data/assets/images/zeplin/png/noun-developer-2549191.png +0 -0
  499. data/assets/images/zeplin/png/noun-developer-2549191@2x.png +0 -0
  500. data/assets/images/zeplin/png/noun-developer-2549191@3x.png +0 -0
  501. data/assets/images/zeplin/png/noun-image-3888103.png +0 -0
  502. data/assets/images/zeplin/png/noun-image-3888103@2x.png +0 -0
  503. data/assets/images/zeplin/png/noun-image-3888103@3x.png +0 -0
  504. data/assets/images/zeplin/png/noun-info-1585217.png +0 -0
  505. data/assets/images/zeplin/png/noun-info-1585217@2x.png +0 -0
  506. data/assets/images/zeplin/png/noun-info-1585217@3x.png +0 -0
  507. data/assets/images/zeplin/png/noun-leader-1478173.png +0 -0
  508. data/assets/images/zeplin/png/noun-leader-1478173@2x.png +0 -0
  509. data/assets/images/zeplin/png/noun-leader-1478173@3x.png +0 -0
  510. data/assets/images/zeplin/png/noun-location-info-261887.png +0 -0
  511. data/assets/images/zeplin/png/noun-location-info-261887@2x.png +0 -0
  512. data/assets/images/zeplin/png/noun-location-info-261887@3x.png +0 -0
  513. data/assets/images/zeplin/png/noun-map-pin-800374.png +0 -0
  514. data/assets/images/zeplin/png/noun-map-pin-800374@2x.png +0 -0
  515. data/assets/images/zeplin/png/noun-map-pin-800374@3x.png +0 -0
  516. data/assets/images/zeplin/png/noun-research-1796671.png +0 -0
  517. data/assets/images/zeplin/png/noun-research-1796671@2x.png +0 -0
  518. data/assets/images/zeplin/png/noun-research-1796671@3x.png +0 -0
  519. data/assets/images/zeplin/png/pagination-dots.png +0 -0
  520. data/assets/images/zeplin/png/pagination-dots@2x.png +0 -0
  521. data/assets/images/zeplin/png/pagination-dots@3x.png +0 -0
  522. data/assets/images/zeplin/png/right-arrow.png +0 -0
  523. data/assets/images/zeplin/png/right-arrow@2x.png +0 -0
  524. data/assets/images/zeplin/png/right-arrow@3x.png +0 -0
  525. data/assets/images/zeplin/png/shape.png +0 -0
  526. data/assets/images/zeplin/png/shape@2x.png +0 -0
  527. data/assets/images/zeplin/png/shape@3x.png +0 -0
  528. data/assets/images/zeplin/png/silos-1.png +0 -0
  529. data/assets/images/zeplin/png/silos-1@2x.png +0 -0
  530. data/assets/images/zeplin/png/silos-1@3x.png +0 -0
  531. data/assets/images/zeplin/png/silos-2.png +0 -0
  532. data/assets/images/zeplin/png/silos-2@2x.png +0 -0
  533. data/assets/images/zeplin/png/silos-2@3x.png +0 -0
  534. data/assets/images/zeplin/png/silos-3.png +0 -0
  535. data/assets/images/zeplin/png/silos-3@2x.png +0 -0
  536. data/assets/images/zeplin/png/silos-3@3x.png +0 -0
  537. data/assets/images/zeplin/svg/group-11-copy.svg +20 -0
  538. data/assets/images/zeplin/svg/group-19.svg +10 -0
  539. data/assets/images/zeplin/svg/group-24.svg +12 -0
  540. data/assets/images/zeplin/svg/invalid-name.svg +7 -0
  541. data/assets/images/zeplin/svg/left-arrow.svg +9 -0
  542. data/assets/images/zeplin/svg/noun-calendar-3896118.svg +9 -0
  543. data/assets/images/zeplin/svg/noun-developer-2549191.svg +11 -0
  544. data/assets/images/zeplin/svg/noun-image-3888103.svg +10 -0
  545. data/assets/images/zeplin/svg/noun-info-1585217.svg +9 -0
  546. data/assets/images/zeplin/svg/noun-leader-1478173.svg +12 -0
  547. data/assets/images/zeplin/svg/noun-location-info-261887.svg +12 -0
  548. data/assets/images/zeplin/svg/noun-map-pin-800374.svg +9 -0
  549. data/assets/images/zeplin/svg/noun-research-1796671.svg +13 -0
  550. data/assets/images/zeplin/svg/pagination-dots.svg +11 -0
  551. data/assets/images/zeplin/svg/right-arrow.svg +9 -0
  552. data/assets/images/zeplin/svg/shape.svg +7 -0
  553. data/assets/images/zeplin/webp/delivery.webp +0 -0
  554. data/assets/images/zeplin/webp/delivery@2x.webp +0 -0
  555. data/assets/images/zeplin/webp/event.webp +0 -0
  556. data/assets/images/zeplin/webp/event@2x.webp +0 -0
  557. data/assets/images/zeplin/webp/event@3x.webp +0 -0
  558. data/assets/images/zeplin/webp/group-11-copy.webp +0 -0
  559. data/assets/images/zeplin/webp/group-11-copy@2x.webp +0 -0
  560. data/assets/images/zeplin/webp/group-11-copy@3x.webp +0 -0
  561. data/assets/images/zeplin/webp/group-19.webp +0 -0
  562. data/assets/images/zeplin/webp/group-19@2x.webp +0 -0
  563. data/assets/images/zeplin/webp/group-19@3x.webp +0 -0
  564. data/assets/images/zeplin/webp/group-24.webp +0 -0
  565. data/assets/images/zeplin/webp/group-24@2x.webp +0 -0
  566. data/assets/images/zeplin/webp/group-24@3x.webp +0 -0
  567. data/assets/images/zeplin/webp/hero-1.webp +0 -0
  568. data/assets/images/zeplin/webp/hero-1@2x.webp +0 -0
  569. data/assets/images/zeplin/webp/hero-2.webp +0 -0
  570. data/assets/images/zeplin/webp/hero-2@2x.webp +0 -0
  571. data/assets/images/zeplin/webp/hero-2@3x.webp +0 -0
  572. data/assets/images/zeplin/webp/hero-3.webp +0 -0
  573. data/assets/images/zeplin/webp/hero-3@2x.webp +0 -0
  574. data/assets/images/zeplin/webp/hero-3@3x.webp +0 -0
  575. data/assets/images/zeplin/webp/invalid-name.webp +0 -0
  576. data/assets/images/zeplin/webp/invalid-name@2x.webp +0 -0
  577. data/assets/images/zeplin/webp/invalid-name@3x.webp +0 -0
  578. data/assets/images/zeplin/webp/left-arrow.webp +0 -0
  579. data/assets/images/zeplin/webp/left-arrow@2x.webp +0 -0
  580. data/assets/images/zeplin/webp/left-arrow@3x.webp +0 -0
  581. data/assets/images/zeplin/webp/logo-blue.webp +0 -0
  582. data/assets/images/zeplin/webp/logo-blue@2x.webp +0 -0
  583. data/assets/images/zeplin/webp/logo-blue@3x.webp +0 -0
  584. data/assets/images/zeplin/webp/logo-white.webp +0 -0
  585. data/assets/images/zeplin/webp/logo-white@2x.webp +0 -0
  586. data/assets/images/zeplin/webp/logo-white@3x.webp +0 -0
  587. data/assets/images/zeplin/webp/noun-calendar-3896118.webp +0 -0
  588. data/assets/images/zeplin/webp/noun-calendar-3896118@2x.webp +0 -0
  589. data/assets/images/zeplin/webp/noun-calendar-3896118@3x.webp +0 -0
  590. data/assets/images/zeplin/webp/noun-developer-2549191.webp +0 -0
  591. data/assets/images/zeplin/webp/noun-developer-2549191@2x.webp +0 -0
  592. data/assets/images/zeplin/webp/noun-developer-2549191@3x.webp +0 -0
  593. data/assets/images/zeplin/webp/noun-image-3888103.webp +0 -0
  594. data/assets/images/zeplin/webp/noun-image-3888103@2x.webp +0 -0
  595. data/assets/images/zeplin/webp/noun-image-3888103@3x.webp +0 -0
  596. data/assets/images/zeplin/webp/noun-info-1585217.webp +0 -0
  597. data/assets/images/zeplin/webp/noun-info-1585217@2x.webp +0 -0
  598. data/assets/images/zeplin/webp/noun-info-1585217@3x.webp +0 -0
  599. data/assets/images/zeplin/webp/noun-leader-1478173.webp +0 -0
  600. data/assets/images/zeplin/webp/noun-leader-1478173@2x.webp +0 -0
  601. data/assets/images/zeplin/webp/noun-leader-1478173@3x.webp +0 -0
  602. data/assets/images/zeplin/webp/noun-location-info-261887.webp +0 -0
  603. data/assets/images/zeplin/webp/noun-location-info-261887@2x.webp +0 -0
  604. data/assets/images/zeplin/webp/noun-location-info-261887@3x.webp +0 -0
  605. data/assets/images/zeplin/webp/noun-map-pin-800374.webp +0 -0
  606. data/assets/images/zeplin/webp/noun-map-pin-800374@2x.webp +0 -0
  607. data/assets/images/zeplin/webp/noun-map-pin-800374@3x.webp +0 -0
  608. data/assets/images/zeplin/webp/noun-research-1796671.webp +0 -0
  609. data/assets/images/zeplin/webp/noun-research-1796671@2x.webp +0 -0
  610. data/assets/images/zeplin/webp/noun-research-1796671@3x.webp +0 -0
  611. data/assets/images/zeplin/webp/pagination-dots.webp +0 -0
  612. data/assets/images/zeplin/webp/pagination-dots@2x.webp +0 -0
  613. data/assets/images/zeplin/webp/pagination-dots@3x.webp +0 -0
  614. data/assets/images/zeplin/webp/right-arrow.webp +0 -0
  615. data/assets/images/zeplin/webp/right-arrow@2x.webp +0 -0
  616. data/assets/images/zeplin/webp/right-arrow@3x.webp +0 -0
  617. data/assets/images/zeplin/webp/shape.webp +0 -0
  618. data/assets/images/zeplin/webp/shape@2x.webp +0 -0
  619. data/assets/images/zeplin/webp/shape@3x.webp +0 -0
  620. data/assets/images/zeplin/webp/silos-1.webp +0 -0
  621. data/assets/images/zeplin/webp/silos-1@2x.webp +0 -0
  622. data/assets/images/zeplin/webp/silos-1@3x.webp +0 -0
  623. data/assets/images/zeplin/webp/silos-2.webp +0 -0
  624. data/assets/images/zeplin/webp/silos-2@2x.webp +0 -0
  625. data/assets/images/zeplin/webp/silos-2@3x.webp +0 -0
  626. data/assets/images/zeplin/webp/silos-3.webp +0 -0
  627. data/assets/images/zeplin/webp/silos-3@2x.webp +0 -0
  628. data/assets/images/zeplin/webp/silos-3@3x.webp +0 -0
  629. data/assets/js/carouselInit.js +8 -0
  630. data/assets/js/copyCodeBlock.js +15 -0
  631. data/assets/js/deleteButton.js +9 -0
  632. data/assets/js/tabSwitch.js +24 -0
  633. data/assets/mstile-150x150.png +0 -0
  634. data/assets/safari-pinned-tab.svg +61 -0
  635. data/assets/site.webmanifest +19 -0
  636. data/lib/iiifc.rb +10 -0
  637. data/lib/tasks/build.rake +41 -0
  638. data/lib/tasks/test.rake +59 -0
  639. metadata +786 -0
@@ -0,0 +1,876 @@
1
+ define( [
2
+ "./core",
3
+ "./var/document",
4
+ "./var/isFunction",
5
+ "./var/rnothtmlwhite",
6
+ "./ajax/var/location",
7
+ "./ajax/var/nonce",
8
+ "./ajax/var/rquery",
9
+
10
+ "./core/init",
11
+ "./core/parseXML",
12
+ "./event/trigger",
13
+ "./deferred",
14
+ "./serialize" // jQuery.param
15
+ ], function( jQuery, document, isFunction, rnothtmlwhite, location, nonce, rquery ) {
16
+
17
+ "use strict";
18
+
19
+ var
20
+ r20 = /%20/g,
21
+ rhash = /#.*$/,
22
+ rantiCache = /([?&])_=[^&]*/,
23
+ rheaders = /^(.*?):[ \t]*([^\r\n]*)$/mg,
24
+
25
+ // #7653, #8125, #8152: local protocol detection
26
+ rlocalProtocol = /^(?:about|app|app-storage|.+-extension|file|res|widget):$/,
27
+ rnoContent = /^(?:GET|HEAD)$/,
28
+ rprotocol = /^\/\//,
29
+
30
+ /* Prefilters
31
+ * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example)
32
+ * 2) These are called:
33
+ * - BEFORE asking for a transport
34
+ * - AFTER param serialization (s.data is a string if s.processData is true)
35
+ * 3) key is the dataType
36
+ * 4) the catchall symbol "*" can be used
37
+ * 5) execution will start with transport dataType and THEN continue down to "*" if needed
38
+ */
39
+ prefilters = {},
40
+
41
+ /* Transports bindings
42
+ * 1) key is the dataType
43
+ * 2) the catchall symbol "*" can be used
44
+ * 3) selection will start with transport dataType and THEN go to "*" if needed
45
+ */
46
+ transports = {},
47
+
48
+ // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression
49
+ allTypes = "*/".concat( "*" ),
50
+
51
+ // Anchor tag for parsing the document origin
52
+ originAnchor = document.createElement( "a" );
53
+
54
+ originAnchor.href = location.href;
55
+
56
+ // Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport
57
+ function addToPrefiltersOrTransports( structure ) {
58
+
59
+ // dataTypeExpression is optional and defaults to "*"
60
+ return function( dataTypeExpression, func ) {
61
+
62
+ if ( typeof dataTypeExpression !== "string" ) {
63
+ func = dataTypeExpression;
64
+ dataTypeExpression = "*";
65
+ }
66
+
67
+ var dataType,
68
+ i = 0,
69
+ dataTypes = dataTypeExpression.toLowerCase().match( rnothtmlwhite ) || [];
70
+
71
+ if ( isFunction( func ) ) {
72
+
73
+ // For each dataType in the dataTypeExpression
74
+ while ( ( dataType = dataTypes[ i++ ] ) ) {
75
+
76
+ // Prepend if requested
77
+ if ( dataType[ 0 ] === "+" ) {
78
+ dataType = dataType.slice( 1 ) || "*";
79
+ ( structure[ dataType ] = structure[ dataType ] || [] ).unshift( func );
80
+
81
+ // Otherwise append
82
+ } else {
83
+ ( structure[ dataType ] = structure[ dataType ] || [] ).push( func );
84
+ }
85
+ }
86
+ }
87
+ };
88
+ }
89
+
90
+ // Base inspection function for prefilters and transports
91
+ function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR ) {
92
+
93
+ var inspected = {},
94
+ seekingTransport = ( structure === transports );
95
+
96
+ function inspect( dataType ) {
97
+ var selected;
98
+ inspected[ dataType ] = true;
99
+ jQuery.each( structure[ dataType ] || [], function( _, prefilterOrFactory ) {
100
+ var dataTypeOrTransport = prefilterOrFactory( options, originalOptions, jqXHR );
101
+ if ( typeof dataTypeOrTransport === "string" &&
102
+ !seekingTransport && !inspected[ dataTypeOrTransport ] ) {
103
+
104
+ options.dataTypes.unshift( dataTypeOrTransport );
105
+ inspect( dataTypeOrTransport );
106
+ return false;
107
+ } else if ( seekingTransport ) {
108
+ return !( selected = dataTypeOrTransport );
109
+ }
110
+ } );
111
+ return selected;
112
+ }
113
+
114
+ return inspect( options.dataTypes[ 0 ] ) || !inspected[ "*" ] && inspect( "*" );
115
+ }
116
+
117
+ // A special extend for ajax options
118
+ // that takes "flat" options (not to be deep extended)
119
+ // Fixes #9887
120
+ function ajaxExtend( target, src ) {
121
+ var key, deep,
122
+ flatOptions = jQuery.ajaxSettings.flatOptions || {};
123
+
124
+ for ( key in src ) {
125
+ if ( src[ key ] !== undefined ) {
126
+ ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ];
127
+ }
128
+ }
129
+ if ( deep ) {
130
+ jQuery.extend( true, target, deep );
131
+ }
132
+
133
+ return target;
134
+ }
135
+
136
+ /* Handles responses to an ajax request:
137
+ * - finds the right dataType (mediates between content-type and expected dataType)
138
+ * - returns the corresponding response
139
+ */
140
+ function ajaxHandleResponses( s, jqXHR, responses ) {
141
+
142
+ var ct, type, finalDataType, firstDataType,
143
+ contents = s.contents,
144
+ dataTypes = s.dataTypes;
145
+
146
+ // Remove auto dataType and get content-type in the process
147
+ while ( dataTypes[ 0 ] === "*" ) {
148
+ dataTypes.shift();
149
+ if ( ct === undefined ) {
150
+ ct = s.mimeType || jqXHR.getResponseHeader( "Content-Type" );
151
+ }
152
+ }
153
+
154
+ // Check if we're dealing with a known content-type
155
+ if ( ct ) {
156
+ for ( type in contents ) {
157
+ if ( contents[ type ] && contents[ type ].test( ct ) ) {
158
+ dataTypes.unshift( type );
159
+ break;
160
+ }
161
+ }
162
+ }
163
+
164
+ // Check to see if we have a response for the expected dataType
165
+ if ( dataTypes[ 0 ] in responses ) {
166
+ finalDataType = dataTypes[ 0 ];
167
+ } else {
168
+
169
+ // Try convertible dataTypes
170
+ for ( type in responses ) {
171
+ if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[ 0 ] ] ) {
172
+ finalDataType = type;
173
+ break;
174
+ }
175
+ if ( !firstDataType ) {
176
+ firstDataType = type;
177
+ }
178
+ }
179
+
180
+ // Or just use first one
181
+ finalDataType = finalDataType || firstDataType;
182
+ }
183
+
184
+ // If we found a dataType
185
+ // We add the dataType to the list if needed
186
+ // and return the corresponding response
187
+ if ( finalDataType ) {
188
+ if ( finalDataType !== dataTypes[ 0 ] ) {
189
+ dataTypes.unshift( finalDataType );
190
+ }
191
+ return responses[ finalDataType ];
192
+ }
193
+ }
194
+
195
+ /* Chain conversions given the request and the original response
196
+ * Also sets the responseXXX fields on the jqXHR instance
197
+ */
198
+ function ajaxConvert( s, response, jqXHR, isSuccess ) {
199
+ var conv2, current, conv, tmp, prev,
200
+ converters = {},
201
+
202
+ // Work with a copy of dataTypes in case we need to modify it for conversion
203
+ dataTypes = s.dataTypes.slice();
204
+
205
+ // Create converters map with lowercased keys
206
+ if ( dataTypes[ 1 ] ) {
207
+ for ( conv in s.converters ) {
208
+ converters[ conv.toLowerCase() ] = s.converters[ conv ];
209
+ }
210
+ }
211
+
212
+ current = dataTypes.shift();
213
+
214
+ // Convert to each sequential dataType
215
+ while ( current ) {
216
+
217
+ if ( s.responseFields[ current ] ) {
218
+ jqXHR[ s.responseFields[ current ] ] = response;
219
+ }
220
+
221
+ // Apply the dataFilter if provided
222
+ if ( !prev && isSuccess && s.dataFilter ) {
223
+ response = s.dataFilter( response, s.dataType );
224
+ }
225
+
226
+ prev = current;
227
+ current = dataTypes.shift();
228
+
229
+ if ( current ) {
230
+
231
+ // There's only work to do if current dataType is non-auto
232
+ if ( current === "*" ) {
233
+
234
+ current = prev;
235
+
236
+ // Convert response if prev dataType is non-auto and differs from current
237
+ } else if ( prev !== "*" && prev !== current ) {
238
+
239
+ // Seek a direct converter
240
+ conv = converters[ prev + " " + current ] || converters[ "* " + current ];
241
+
242
+ // If none found, seek a pair
243
+ if ( !conv ) {
244
+ for ( conv2 in converters ) {
245
+
246
+ // If conv2 outputs current
247
+ tmp = conv2.split( " " );
248
+ if ( tmp[ 1 ] === current ) {
249
+
250
+ // If prev can be converted to accepted input
251
+ conv = converters[ prev + " " + tmp[ 0 ] ] ||
252
+ converters[ "* " + tmp[ 0 ] ];
253
+ if ( conv ) {
254
+
255
+ // Condense equivalence converters
256
+ if ( conv === true ) {
257
+ conv = converters[ conv2 ];
258
+
259
+ // Otherwise, insert the intermediate dataType
260
+ } else if ( converters[ conv2 ] !== true ) {
261
+ current = tmp[ 0 ];
262
+ dataTypes.unshift( tmp[ 1 ] );
263
+ }
264
+ break;
265
+ }
266
+ }
267
+ }
268
+ }
269
+
270
+ // Apply converter (if not an equivalence)
271
+ if ( conv !== true ) {
272
+
273
+ // Unless errors are allowed to bubble, catch and return them
274
+ if ( conv && s.throws ) {
275
+ response = conv( response );
276
+ } else {
277
+ try {
278
+ response = conv( response );
279
+ } catch ( e ) {
280
+ return {
281
+ state: "parsererror",
282
+ error: conv ? e : "No conversion from " + prev + " to " + current
283
+ };
284
+ }
285
+ }
286
+ }
287
+ }
288
+ }
289
+ }
290
+
291
+ return { state: "success", data: response };
292
+ }
293
+
294
+ jQuery.extend( {
295
+
296
+ // Counter for holding the number of active queries
297
+ active: 0,
298
+
299
+ // Last-Modified header cache for next request
300
+ lastModified: {},
301
+ etag: {},
302
+
303
+ ajaxSettings: {
304
+ url: location.href,
305
+ type: "GET",
306
+ isLocal: rlocalProtocol.test( location.protocol ),
307
+ global: true,
308
+ processData: true,
309
+ async: true,
310
+ contentType: "application/x-www-form-urlencoded; charset=UTF-8",
311
+
312
+ /*
313
+ timeout: 0,
314
+ data: null,
315
+ dataType: null,
316
+ username: null,
317
+ password: null,
318
+ cache: null,
319
+ throws: false,
320
+ traditional: false,
321
+ headers: {},
322
+ */
323
+
324
+ accepts: {
325
+ "*": allTypes,
326
+ text: "text/plain",
327
+ html: "text/html",
328
+ xml: "application/xml, text/xml",
329
+ json: "application/json, text/javascript"
330
+ },
331
+
332
+ contents: {
333
+ xml: /\bxml\b/,
334
+ html: /\bhtml/,
335
+ json: /\bjson\b/
336
+ },
337
+
338
+ responseFields: {
339
+ xml: "responseXML",
340
+ text: "responseText",
341
+ json: "responseJSON"
342
+ },
343
+
344
+ // Data converters
345
+ // Keys separate source (or catchall "*") and destination types with a single space
346
+ converters: {
347
+
348
+ // Convert anything to text
349
+ "* text": String,
350
+
351
+ // Text to html (true = no transformation)
352
+ "text html": true,
353
+
354
+ // Evaluate text as a json expression
355
+ "text json": JSON.parse,
356
+
357
+ // Parse text as xml
358
+ "text xml": jQuery.parseXML
359
+ },
360
+
361
+ // For options that shouldn't be deep extended:
362
+ // you can add your own custom options here if
363
+ // and when you create one that shouldn't be
364
+ // deep extended (see ajaxExtend)
365
+ flatOptions: {
366
+ url: true,
367
+ context: true
368
+ }
369
+ },
370
+
371
+ // Creates a full fledged settings object into target
372
+ // with both ajaxSettings and settings fields.
373
+ // If target is omitted, writes into ajaxSettings.
374
+ ajaxSetup: function( target, settings ) {
375
+ return settings ?
376
+
377
+ // Building a settings object
378
+ ajaxExtend( ajaxExtend( target, jQuery.ajaxSettings ), settings ) :
379
+
380
+ // Extending ajaxSettings
381
+ ajaxExtend( jQuery.ajaxSettings, target );
382
+ },
383
+
384
+ ajaxPrefilter: addToPrefiltersOrTransports( prefilters ),
385
+ ajaxTransport: addToPrefiltersOrTransports( transports ),
386
+
387
+ // Main method
388
+ ajax: function( url, options ) {
389
+
390
+ // If url is an object, simulate pre-1.5 signature
391
+ if ( typeof url === "object" ) {
392
+ options = url;
393
+ url = undefined;
394
+ }
395
+
396
+ // Force options to be an object
397
+ options = options || {};
398
+
399
+ var transport,
400
+
401
+ // URL without anti-cache param
402
+ cacheURL,
403
+
404
+ // Response headers
405
+ responseHeadersString,
406
+ responseHeaders,
407
+
408
+ // timeout handle
409
+ timeoutTimer,
410
+
411
+ // Url cleanup var
412
+ urlAnchor,
413
+
414
+ // Request state (becomes false upon send and true upon completion)
415
+ completed,
416
+
417
+ // To know if global events are to be dispatched
418
+ fireGlobals,
419
+
420
+ // Loop variable
421
+ i,
422
+
423
+ // uncached part of the url
424
+ uncached,
425
+
426
+ // Create the final options object
427
+ s = jQuery.ajaxSetup( {}, options ),
428
+
429
+ // Callbacks context
430
+ callbackContext = s.context || s,
431
+
432
+ // Context for global events is callbackContext if it is a DOM node or jQuery collection
433
+ globalEventContext = s.context &&
434
+ ( callbackContext.nodeType || callbackContext.jquery ) ?
435
+ jQuery( callbackContext ) :
436
+ jQuery.event,
437
+
438
+ // Deferreds
439
+ deferred = jQuery.Deferred(),
440
+ completeDeferred = jQuery.Callbacks( "once memory" ),
441
+
442
+ // Status-dependent callbacks
443
+ statusCode = s.statusCode || {},
444
+
445
+ // Headers (they are sent all at once)
446
+ requestHeaders = {},
447
+ requestHeadersNames = {},
448
+
449
+ // Default abort message
450
+ strAbort = "canceled",
451
+
452
+ // Fake xhr
453
+ jqXHR = {
454
+ readyState: 0,
455
+
456
+ // Builds headers hashtable if needed
457
+ getResponseHeader: function( key ) {
458
+ var match;
459
+ if ( completed ) {
460
+ if ( !responseHeaders ) {
461
+ responseHeaders = {};
462
+ while ( ( match = rheaders.exec( responseHeadersString ) ) ) {
463
+ responseHeaders[ match[ 1 ].toLowerCase() + " " ] =
464
+ ( responseHeaders[ match[ 1 ].toLowerCase() + " " ] || [] )
465
+ .concat( match[ 2 ] );
466
+ }
467
+ }
468
+ match = responseHeaders[ key.toLowerCase() + " " ];
469
+ }
470
+ return match == null ? null : match.join( ", " );
471
+ },
472
+
473
+ // Raw string
474
+ getAllResponseHeaders: function() {
475
+ return completed ? responseHeadersString : null;
476
+ },
477
+
478
+ // Caches the header
479
+ setRequestHeader: function( name, value ) {
480
+ if ( completed == null ) {
481
+ name = requestHeadersNames[ name.toLowerCase() ] =
482
+ requestHeadersNames[ name.toLowerCase() ] || name;
483
+ requestHeaders[ name ] = value;
484
+ }
485
+ return this;
486
+ },
487
+
488
+ // Overrides response content-type header
489
+ overrideMimeType: function( type ) {
490
+ if ( completed == null ) {
491
+ s.mimeType = type;
492
+ }
493
+ return this;
494
+ },
495
+
496
+ // Status-dependent callbacks
497
+ statusCode: function( map ) {
498
+ var code;
499
+ if ( map ) {
500
+ if ( completed ) {
501
+
502
+ // Execute the appropriate callbacks
503
+ jqXHR.always( map[ jqXHR.status ] );
504
+ } else {
505
+
506
+ // Lazy-add the new callbacks in a way that preserves old ones
507
+ for ( code in map ) {
508
+ statusCode[ code ] = [ statusCode[ code ], map[ code ] ];
509
+ }
510
+ }
511
+ }
512
+ return this;
513
+ },
514
+
515
+ // Cancel the request
516
+ abort: function( statusText ) {
517
+ var finalText = statusText || strAbort;
518
+ if ( transport ) {
519
+ transport.abort( finalText );
520
+ }
521
+ done( 0, finalText );
522
+ return this;
523
+ }
524
+ };
525
+
526
+ // Attach deferreds
527
+ deferred.promise( jqXHR );
528
+
529
+ // Add protocol if not provided (prefilters might expect it)
530
+ // Handle falsy url in the settings object (#10093: consistency with old signature)
531
+ // We also use the url parameter if available
532
+ s.url = ( ( url || s.url || location.href ) + "" )
533
+ .replace( rprotocol, location.protocol + "//" );
534
+
535
+ // Alias method option to type as per ticket #12004
536
+ s.type = options.method || options.type || s.method || s.type;
537
+
538
+ // Extract dataTypes list
539
+ s.dataTypes = ( s.dataType || "*" ).toLowerCase().match( rnothtmlwhite ) || [ "" ];
540
+
541
+ // A cross-domain request is in order when the origin doesn't match the current origin.
542
+ if ( s.crossDomain == null ) {
543
+ urlAnchor = document.createElement( "a" );
544
+
545
+ // Support: IE <=8 - 11, Edge 12 - 15
546
+ // IE throws exception on accessing the href property if url is malformed,
547
+ // e.g. http://example.com:80x/
548
+ try {
549
+ urlAnchor.href = s.url;
550
+
551
+ // Support: IE <=8 - 11 only
552
+ // Anchor's host property isn't correctly set when s.url is relative
553
+ urlAnchor.href = urlAnchor.href;
554
+ s.crossDomain = originAnchor.protocol + "//" + originAnchor.host !==
555
+ urlAnchor.protocol + "//" + urlAnchor.host;
556
+ } catch ( e ) {
557
+
558
+ // If there is an error parsing the URL, assume it is crossDomain,
559
+ // it can be rejected by the transport if it is invalid
560
+ s.crossDomain = true;
561
+ }
562
+ }
563
+
564
+ // Convert data if not already a string
565
+ if ( s.data && s.processData && typeof s.data !== "string" ) {
566
+ s.data = jQuery.param( s.data, s.traditional );
567
+ }
568
+
569
+ // Apply prefilters
570
+ inspectPrefiltersOrTransports( prefilters, s, options, jqXHR );
571
+
572
+ // If request was aborted inside a prefilter, stop there
573
+ if ( completed ) {
574
+ return jqXHR;
575
+ }
576
+
577
+ // We can fire global events as of now if asked to
578
+ // Don't fire events if jQuery.event is undefined in an AMD-usage scenario (#15118)
579
+ fireGlobals = jQuery.event && s.global;
580
+
581
+ // Watch for a new set of requests
582
+ if ( fireGlobals && jQuery.active++ === 0 ) {
583
+ jQuery.event.trigger( "ajaxStart" );
584
+ }
585
+
586
+ // Uppercase the type
587
+ s.type = s.type.toUpperCase();
588
+
589
+ // Determine if request has content
590
+ s.hasContent = !rnoContent.test( s.type );
591
+
592
+ // Save the URL in case we're toying with the If-Modified-Since
593
+ // and/or If-None-Match header later on
594
+ // Remove hash to simplify url manipulation
595
+ cacheURL = s.url.replace( rhash, "" );
596
+
597
+ // More options handling for requests with no content
598
+ if ( !s.hasContent ) {
599
+
600
+ // Remember the hash so we can put it back
601
+ uncached = s.url.slice( cacheURL.length );
602
+
603
+ // If data is available and should be processed, append data to url
604
+ if ( s.data && ( s.processData || typeof s.data === "string" ) ) {
605
+ cacheURL += ( rquery.test( cacheURL ) ? "&" : "?" ) + s.data;
606
+
607
+ // #9682: remove data so that it's not used in an eventual retry
608
+ delete s.data;
609
+ }
610
+
611
+ // Add or update anti-cache param if needed
612
+ if ( s.cache === false ) {
613
+ cacheURL = cacheURL.replace( rantiCache, "$1" );
614
+ uncached = ( rquery.test( cacheURL ) ? "&" : "?" ) + "_=" + ( nonce.guid++ ) +
615
+ uncached;
616
+ }
617
+
618
+ // Put hash and anti-cache on the URL that will be requested (gh-1732)
619
+ s.url = cacheURL + uncached;
620
+
621
+ // Change '%20' to '+' if this is encoded form body content (gh-2658)
622
+ } else if ( s.data && s.processData &&
623
+ ( s.contentType || "" ).indexOf( "application/x-www-form-urlencoded" ) === 0 ) {
624
+ s.data = s.data.replace( r20, "+" );
625
+ }
626
+
627
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
628
+ if ( s.ifModified ) {
629
+ if ( jQuery.lastModified[ cacheURL ] ) {
630
+ jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ cacheURL ] );
631
+ }
632
+ if ( jQuery.etag[ cacheURL ] ) {
633
+ jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ cacheURL ] );
634
+ }
635
+ }
636
+
637
+ // Set the correct header, if data is being sent
638
+ if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
639
+ jqXHR.setRequestHeader( "Content-Type", s.contentType );
640
+ }
641
+
642
+ // Set the Accepts header for the server, depending on the dataType
643
+ jqXHR.setRequestHeader(
644
+ "Accept",
645
+ s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[ 0 ] ] ?
646
+ s.accepts[ s.dataTypes[ 0 ] ] +
647
+ ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) :
648
+ s.accepts[ "*" ]
649
+ );
650
+
651
+ // Check for headers option
652
+ for ( i in s.headers ) {
653
+ jqXHR.setRequestHeader( i, s.headers[ i ] );
654
+ }
655
+
656
+ // Allow custom headers/mimetypes and early abort
657
+ if ( s.beforeSend &&
658
+ ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || completed ) ) {
659
+
660
+ // Abort if not done already and return
661
+ return jqXHR.abort();
662
+ }
663
+
664
+ // Aborting is no longer a cancellation
665
+ strAbort = "abort";
666
+
667
+ // Install callbacks on deferreds
668
+ completeDeferred.add( s.complete );
669
+ jqXHR.done( s.success );
670
+ jqXHR.fail( s.error );
671
+
672
+ // Get transport
673
+ transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR );
674
+
675
+ // If no transport, we auto-abort
676
+ if ( !transport ) {
677
+ done( -1, "No Transport" );
678
+ } else {
679
+ jqXHR.readyState = 1;
680
+
681
+ // Send global event
682
+ if ( fireGlobals ) {
683
+ globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
684
+ }
685
+
686
+ // If request was aborted inside ajaxSend, stop there
687
+ if ( completed ) {
688
+ return jqXHR;
689
+ }
690
+
691
+ // Timeout
692
+ if ( s.async && s.timeout > 0 ) {
693
+ timeoutTimer = window.setTimeout( function() {
694
+ jqXHR.abort( "timeout" );
695
+ }, s.timeout );
696
+ }
697
+
698
+ try {
699
+ completed = false;
700
+ transport.send( requestHeaders, done );
701
+ } catch ( e ) {
702
+
703
+ // Rethrow post-completion exceptions
704
+ if ( completed ) {
705
+ throw e;
706
+ }
707
+
708
+ // Propagate others as results
709
+ done( -1, e );
710
+ }
711
+ }
712
+
713
+ // Callback for when everything is done
714
+ function done( status, nativeStatusText, responses, headers ) {
715
+ var isSuccess, success, error, response, modified,
716
+ statusText = nativeStatusText;
717
+
718
+ // Ignore repeat invocations
719
+ if ( completed ) {
720
+ return;
721
+ }
722
+
723
+ completed = true;
724
+
725
+ // Clear timeout if it exists
726
+ if ( timeoutTimer ) {
727
+ window.clearTimeout( timeoutTimer );
728
+ }
729
+
730
+ // Dereference transport for early garbage collection
731
+ // (no matter how long the jqXHR object will be used)
732
+ transport = undefined;
733
+
734
+ // Cache response headers
735
+ responseHeadersString = headers || "";
736
+
737
+ // Set readyState
738
+ jqXHR.readyState = status > 0 ? 4 : 0;
739
+
740
+ // Determine if successful
741
+ isSuccess = status >= 200 && status < 300 || status === 304;
742
+
743
+ // Get response data
744
+ if ( responses ) {
745
+ response = ajaxHandleResponses( s, jqXHR, responses );
746
+ }
747
+
748
+ // Use a noop converter for missing script but not if jsonp
749
+ if ( !isSuccess &&
750
+ jQuery.inArray( "script", s.dataTypes ) > -1 &&
751
+ jQuery.inArray( "json", s.dataTypes ) < 0 ) {
752
+ s.converters[ "text script" ] = function() {};
753
+ }
754
+
755
+ // Convert no matter what (that way responseXXX fields are always set)
756
+ response = ajaxConvert( s, response, jqXHR, isSuccess );
757
+
758
+ // If successful, handle type chaining
759
+ if ( isSuccess ) {
760
+
761
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
762
+ if ( s.ifModified ) {
763
+ modified = jqXHR.getResponseHeader( "Last-Modified" );
764
+ if ( modified ) {
765
+ jQuery.lastModified[ cacheURL ] = modified;
766
+ }
767
+ modified = jqXHR.getResponseHeader( "etag" );
768
+ if ( modified ) {
769
+ jQuery.etag[ cacheURL ] = modified;
770
+ }
771
+ }
772
+
773
+ // if no content
774
+ if ( status === 204 || s.type === "HEAD" ) {
775
+ statusText = "nocontent";
776
+
777
+ // if not modified
778
+ } else if ( status === 304 ) {
779
+ statusText = "notmodified";
780
+
781
+ // If we have data, let's convert it
782
+ } else {
783
+ statusText = response.state;
784
+ success = response.data;
785
+ error = response.error;
786
+ isSuccess = !error;
787
+ }
788
+ } else {
789
+
790
+ // Extract error from statusText and normalize for non-aborts
791
+ error = statusText;
792
+ if ( status || !statusText ) {
793
+ statusText = "error";
794
+ if ( status < 0 ) {
795
+ status = 0;
796
+ }
797
+ }
798
+ }
799
+
800
+ // Set data for the fake xhr object
801
+ jqXHR.status = status;
802
+ jqXHR.statusText = ( nativeStatusText || statusText ) + "";
803
+
804
+ // Success/Error
805
+ if ( isSuccess ) {
806
+ deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
807
+ } else {
808
+ deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
809
+ }
810
+
811
+ // Status-dependent callbacks
812
+ jqXHR.statusCode( statusCode );
813
+ statusCode = undefined;
814
+
815
+ if ( fireGlobals ) {
816
+ globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
817
+ [ jqXHR, s, isSuccess ? success : error ] );
818
+ }
819
+
820
+ // Complete
821
+ completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );
822
+
823
+ if ( fireGlobals ) {
824
+ globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
825
+
826
+ // Handle the global AJAX counter
827
+ if ( !( --jQuery.active ) ) {
828
+ jQuery.event.trigger( "ajaxStop" );
829
+ }
830
+ }
831
+ }
832
+
833
+ return jqXHR;
834
+ },
835
+
836
+ getJSON: function( url, data, callback ) {
837
+ return jQuery.get( url, data, callback, "json" );
838
+ },
839
+
840
+ getScript: function( url, callback ) {
841
+ return jQuery.get( url, undefined, callback, "script" );
842
+ }
843
+ } );
844
+
845
+ jQuery.each( [ "get", "post" ], function( _i, method ) {
846
+ jQuery[ method ] = function( url, data, callback, type ) {
847
+
848
+ // Shift arguments if data argument was omitted
849
+ if ( isFunction( data ) ) {
850
+ type = type || callback;
851
+ callback = data;
852
+ data = undefined;
853
+ }
854
+
855
+ // The url can be an options object (which then must have .url)
856
+ return jQuery.ajax( jQuery.extend( {
857
+ url: url,
858
+ type: method,
859
+ dataType: type,
860
+ data: data,
861
+ success: callback
862
+ }, jQuery.isPlainObject( url ) && url ) );
863
+ };
864
+ } );
865
+
866
+ jQuery.ajaxPrefilter( function( s ) {
867
+ var i;
868
+ for ( i in s.headers ) {
869
+ if ( i.toLowerCase() === "content-type" ) {
870
+ s.contentType = s.headers[ i ] || "";
871
+ }
872
+ }
873
+ } );
874
+
875
+ return jQuery;
876
+ } );