select_all-rails 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1873) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -0
  3. data/README.md +8 -7
  4. data/lib/select_all/rails/version.rb +1 -1
  5. data/node_modules/.bin/acorn +71 -0
  6. data/node_modules/.bin/escodegen +77 -0
  7. data/node_modules/.bin/esgenerate +64 -0
  8. data/node_modules/.bin/esparse +126 -0
  9. data/node_modules/.bin/esvalidate +199 -0
  10. data/node_modules/.bin/har-validator +56 -0
  11. data/node_modules/.bin/sshpk-conv +201 -0
  12. data/node_modules/.bin/sshpk-sign +191 -0
  13. data/node_modules/.bin/sshpk-verify +166 -0
  14. data/node_modules/.bin/uuid +26 -0
  15. data/node_modules/abab/CHANGELOG.md +11 -0
  16. data/node_modules/abab/README.md +52 -0
  17. data/node_modules/abab/index.js +9 -0
  18. data/node_modules/abab/lib/atob.js +109 -0
  19. data/node_modules/abab/lib/btoa.js +65 -0
  20. data/node_modules/abab/package.json +106 -0
  21. data/node_modules/acorn-globals/LICENSE +19 -0
  22. data/node_modules/acorn-globals/README.md +76 -0
  23. data/node_modules/acorn-globals/index.js +180 -0
  24. data/node_modules/acorn-globals/package.json +100 -0
  25. data/node_modules/acorn/.editorconfig +7 -0
  26. data/node_modules/acorn/.gitattributes +1 -0
  27. data/node_modules/acorn/.npmignore +3 -0
  28. data/node_modules/acorn/.tern-project +6 -0
  29. data/node_modules/acorn/.travis.yml +6 -0
  30. data/node_modules/acorn/AUTHORS +43 -0
  31. data/node_modules/acorn/LICENSE +19 -0
  32. data/node_modules/acorn/README.md +396 -0
  33. data/node_modules/acorn/bin/acorn +71 -0
  34. data/node_modules/acorn/bin/build-acorn.js +82 -0
  35. data/node_modules/acorn/bin/generate-identifier-regex.js +47 -0
  36. data/node_modules/acorn/bin/update_authors.sh +6 -0
  37. data/node_modules/acorn/dist/.keep +0 -0
  38. data/node_modules/acorn/dist/acorn.js +3340 -0
  39. data/node_modules/acorn/dist/acorn_loose.js +1300 -0
  40. data/node_modules/acorn/dist/walk.js +377 -0
  41. data/node_modules/acorn/package.json +222 -0
  42. data/node_modules/acorn/src/bin/acorn.js +59 -0
  43. data/node_modules/acorn/src/expression.js +707 -0
  44. data/node_modules/acorn/src/identifier.js +90 -0
  45. data/node_modules/acorn/src/index.js +67 -0
  46. data/node_modules/acorn/src/location.js +24 -0
  47. data/node_modules/acorn/src/locutil.js +42 -0
  48. data/node_modules/acorn/src/loose/acorn_loose.js +0 -0
  49. data/node_modules/acorn/src/loose/expression.js +501 -0
  50. data/node_modules/acorn/src/loose/index.js +50 -0
  51. data/node_modules/acorn/src/loose/parseutil.js +1 -0
  52. data/node_modules/acorn/src/loose/state.js +160 -0
  53. data/node_modules/acorn/src/loose/statement.js +420 -0
  54. data/node_modules/acorn/src/loose/tokenize.js +108 -0
  55. data/node_modules/acorn/src/lval.js +215 -0
  56. data/node_modules/acorn/src/node.js +50 -0
  57. data/node_modules/acorn/src/options.js +121 -0
  58. data/node_modules/acorn/src/parseutil.js +102 -0
  59. data/node_modules/acorn/src/state.js +104 -0
  60. data/node_modules/acorn/src/statement.js +626 -0
  61. data/node_modules/acorn/src/tokencontext.js +109 -0
  62. data/node_modules/acorn/src/tokenize.js +682 -0
  63. data/node_modules/acorn/src/tokentype.js +147 -0
  64. data/node_modules/acorn/src/util.js +9 -0
  65. data/node_modules/acorn/src/walk/index.js +340 -0
  66. data/node_modules/acorn/src/whitespace.js +12 -0
  67. data/node_modules/amdefine/LICENSE +58 -0
  68. data/node_modules/amdefine/README.md +171 -0
  69. data/node_modules/amdefine/amdefine.js +301 -0
  70. data/node_modules/amdefine/intercept.js +36 -0
  71. data/node_modules/amdefine/package.json +86 -0
  72. data/node_modules/ansi-regex/index.js +4 -0
  73. data/node_modules/ansi-regex/license +21 -0
  74. data/node_modules/ansi-regex/package.json +121 -0
  75. data/node_modules/ansi-regex/readme.md +31 -0
  76. data/node_modules/ansi-styles/index.js +65 -0
  77. data/node_modules/ansi-styles/license +21 -0
  78. data/node_modules/ansi-styles/package.json +114 -0
  79. data/node_modules/ansi-styles/readme.md +86 -0
  80. data/node_modules/array-equal/.npmignore +1 -0
  81. data/node_modules/array-equal/LICENSE +22 -0
  82. data/node_modules/array-equal/README.md +11 -0
  83. data/node_modules/array-equal/component.json +10 -0
  84. data/node_modules/array-equal/index.js +9 -0
  85. data/node_modules/array-equal/package.json +75 -0
  86. data/node_modules/asn1/.npmignore +2 -0
  87. data/node_modules/asn1/.travis.yml +4 -0
  88. data/node_modules/asn1/LICENSE +19 -0
  89. data/node_modules/asn1/README.md +50 -0
  90. data/node_modules/asn1/lib/ber/errors.js +13 -0
  91. data/node_modules/asn1/lib/ber/index.js +27 -0
  92. data/node_modules/asn1/lib/ber/reader.js +261 -0
  93. data/node_modules/asn1/lib/ber/types.js +36 -0
  94. data/node_modules/asn1/lib/ber/writer.js +316 -0
  95. data/node_modules/asn1/lib/index.js +20 -0
  96. data/node_modules/asn1/package.json +98 -0
  97. data/node_modules/asn1/tst/ber/reader.test.js +208 -0
  98. data/node_modules/asn1/tst/ber/writer.test.js +370 -0
  99. data/node_modules/assert-plus/AUTHORS +6 -0
  100. data/node_modules/assert-plus/CHANGES.md +8 -0
  101. data/node_modules/assert-plus/README.md +155 -0
  102. data/node_modules/assert-plus/assert.js +206 -0
  103. data/node_modules/assert-plus/package.json +115 -0
  104. data/node_modules/assertion-error/.npmignore +11 -0
  105. data/node_modules/assertion-error/History.md +19 -0
  106. data/node_modules/assertion-error/README.md +41 -0
  107. data/node_modules/assertion-error/index.js +116 -0
  108. data/node_modules/assertion-error/package.json +95 -0
  109. data/node_modules/asynckit/LICENSE +21 -0
  110. data/node_modules/asynckit/README.md +233 -0
  111. data/node_modules/asynckit/bench.js +76 -0
  112. data/node_modules/asynckit/index.js +6 -0
  113. data/node_modules/asynckit/lib/abort.js +29 -0
  114. data/node_modules/asynckit/lib/async.js +34 -0
  115. data/node_modules/asynckit/lib/defer.js +26 -0
  116. data/node_modules/asynckit/lib/iterate.js +75 -0
  117. data/node_modules/asynckit/lib/readable_asynckit.js +91 -0
  118. data/node_modules/asynckit/lib/readable_parallel.js +25 -0
  119. data/node_modules/asynckit/lib/readable_serial.js +25 -0
  120. data/node_modules/asynckit/lib/readable_serial_ordered.js +29 -0
  121. data/node_modules/asynckit/lib/state.js +37 -0
  122. data/node_modules/asynckit/lib/streamify.js +141 -0
  123. data/node_modules/asynckit/lib/terminator.js +29 -0
  124. data/node_modules/asynckit/package.json +126 -0
  125. data/node_modules/asynckit/parallel.js +43 -0
  126. data/node_modules/asynckit/serial.js +17 -0
  127. data/node_modules/asynckit/serialOrdered.js +75 -0
  128. data/node_modules/asynckit/stream.js +21 -0
  129. data/node_modules/aws-sign2/LICENSE +55 -0
  130. data/node_modules/aws-sign2/README.md +4 -0
  131. data/node_modules/aws-sign2/index.js +212 -0
  132. data/node_modules/aws-sign2/package.json +81 -0
  133. data/node_modules/aws4/.npmignore +4 -0
  134. data/node_modules/aws4/.tern-port +1 -0
  135. data/node_modules/aws4/.travis.yml +5 -0
  136. data/node_modules/aws4/LICENSE +19 -0
  137. data/node_modules/aws4/README.md +523 -0
  138. data/node_modules/aws4/aws4.js +323 -0
  139. data/node_modules/aws4/lru.js +96 -0
  140. data/node_modules/aws4/package.json +140 -0
  141. data/node_modules/bcrypt-pbkdf/README.md +39 -0
  142. data/node_modules/bcrypt-pbkdf/index.js +559 -0
  143. data/node_modules/bcrypt-pbkdf/package.json +72 -0
  144. data/node_modules/boom/.npmignore +18 -0
  145. data/node_modules/boom/.travis.yml +8 -0
  146. data/node_modules/boom/CONTRIBUTING.md +1 -0
  147. data/node_modules/boom/LICENSE +28 -0
  148. data/node_modules/boom/README.md +652 -0
  149. data/node_modules/boom/images/boom.png +0 -0
  150. data/node_modules/boom/lib/index.js +318 -0
  151. data/node_modules/boom/package.json +98 -0
  152. data/node_modules/boom/test/index.js +654 -0
  153. data/node_modules/caseless/LICENSE +28 -0
  154. data/node_modules/caseless/README.md +45 -0
  155. data/node_modules/caseless/index.js +66 -0
  156. data/node_modules/caseless/package.json +96 -0
  157. data/node_modules/caseless/test.js +40 -0
  158. data/node_modules/chai/.npmignore +14 -0
  159. data/node_modules/chai/CODE_OF_CONDUCT.md +58 -0
  160. data/node_modules/chai/CONTRIBUTING.md +214 -0
  161. data/node_modules/chai/History.md +1059 -0
  162. data/node_modules/chai/README.md +83 -0
  163. data/node_modules/chai/ReleaseNotes.md +737 -0
  164. data/node_modules/chai/bower.json +26 -0
  165. data/node_modules/chai/chai.js +6142 -0
  166. data/node_modules/chai/index.js +1 -0
  167. data/node_modules/chai/karma.conf.js +28 -0
  168. data/node_modules/chai/karma.sauce.js +41 -0
  169. data/node_modules/chai/lib/chai.js +93 -0
  170. data/node_modules/chai/lib/chai/assertion.js +131 -0
  171. data/node_modules/chai/lib/chai/config.js +55 -0
  172. data/node_modules/chai/lib/chai/core/assertions.js +1860 -0
  173. data/node_modules/chai/lib/chai/interface/assert.js +1645 -0
  174. data/node_modules/chai/lib/chai/interface/expect.js +34 -0
  175. data/node_modules/chai/lib/chai/interface/should.js +201 -0
  176. data/node_modules/chai/lib/chai/utils/addChainableMethod.js +112 -0
  177. data/node_modules/chai/lib/chai/utils/addMethod.js +44 -0
  178. data/node_modules/chai/lib/chai/utils/addProperty.js +48 -0
  179. data/node_modules/chai/lib/chai/utils/expectTypes.js +42 -0
  180. data/node_modules/chai/lib/chai/utils/flag.js +33 -0
  181. data/node_modules/chai/lib/chai/utils/getActual.js +20 -0
  182. data/node_modules/chai/lib/chai/utils/getEnumerableProperties.js +26 -0
  183. data/node_modules/chai/lib/chai/utils/getMessage.js +51 -0
  184. data/node_modules/chai/lib/chai/utils/getName.js +22 -0
  185. data/node_modules/chai/lib/chai/utils/getPathInfo.js +111 -0
  186. data/node_modules/chai/lib/chai/utils/getPathValue.js +43 -0
  187. data/node_modules/chai/lib/chai/utils/getProperties.js +36 -0
  188. data/node_modules/chai/lib/chai/utils/hasProperty.js +64 -0
  189. data/node_modules/chai/lib/chai/utils/index.js +130 -0
  190. data/node_modules/chai/lib/chai/utils/inspect.js +335 -0
  191. data/node_modules/chai/lib/chai/utils/objDisplay.js +50 -0
  192. data/node_modules/chai/lib/chai/utils/overwriteChainableMethod.js +54 -0
  193. data/node_modules/chai/lib/chai/utils/overwriteMethod.js +52 -0
  194. data/node_modules/chai/lib/chai/utils/overwriteProperty.js +55 -0
  195. data/node_modules/chai/lib/chai/utils/test.js +28 -0
  196. data/node_modules/chai/lib/chai/utils/transferFlags.js +45 -0
  197. data/node_modules/chai/package.json +128 -0
  198. data/node_modules/chai/sauce.browsers.js +128 -0
  199. data/node_modules/chalk/index.js +116 -0
  200. data/node_modules/chalk/license +21 -0
  201. data/node_modules/chalk/package.json +140 -0
  202. data/node_modules/chalk/readme.md +213 -0
  203. data/node_modules/combined-stream/License +19 -0
  204. data/node_modules/combined-stream/Readme.md +138 -0
  205. data/node_modules/combined-stream/lib/combined_stream.js +188 -0
  206. data/node_modules/combined-stream/package.json +101 -0
  207. data/node_modules/commander/History.md +261 -0
  208. data/node_modules/commander/LICENSE +22 -0
  209. data/node_modules/commander/Readme.md +351 -0
  210. data/node_modules/commander/index.js +1110 -0
  211. data/node_modules/commander/package.json +104 -0
  212. data/node_modules/content-type-parser/LICENSE.txt +19 -0
  213. data/node_modules/content-type-parser/README.md +60 -0
  214. data/node_modules/content-type-parser/lib/content-type-parser.js +103 -0
  215. data/node_modules/content-type-parser/package.json +96 -0
  216. data/node_modules/cryptiles/.npmignore +18 -0
  217. data/node_modules/cryptiles/.travis.yml +8 -0
  218. data/node_modules/cryptiles/LICENSE +28 -0
  219. data/node_modules/cryptiles/README.md +16 -0
  220. data/node_modules/cryptiles/lib/index.js +68 -0
  221. data/node_modules/cryptiles/package.json +94 -0
  222. data/node_modules/cryptiles/test/index.js +102 -0
  223. data/node_modules/cssom/LICENSE.txt +20 -0
  224. data/node_modules/cssom/README.mdown +69 -0
  225. data/node_modules/cssom/lib/CSSDocumentRule.js +39 -0
  226. data/node_modules/cssom/lib/CSSFontFaceRule.js +36 -0
  227. data/node_modules/cssom/lib/CSSImportRule.js +132 -0
  228. data/node_modules/cssom/lib/CSSKeyframeRule.js +37 -0
  229. data/node_modules/cssom/lib/CSSKeyframesRule.js +39 -0
  230. data/node_modules/cssom/lib/CSSMediaRule.js +41 -0
  231. data/node_modules/cssom/lib/CSSRule.js +43 -0
  232. data/node_modules/cssom/lib/CSSStyleDeclaration.js +148 -0
  233. data/node_modules/cssom/lib/CSSStyleRule.js +190 -0
  234. data/node_modules/cssom/lib/CSSStyleSheet.js +88 -0
  235. data/node_modules/cssom/lib/CSSValue.js +43 -0
  236. data/node_modules/cssom/lib/CSSValueExpression.js +344 -0
  237. data/node_modules/cssom/lib/MatcherList.js +62 -0
  238. data/node_modules/cssom/lib/MediaList.js +61 -0
  239. data/node_modules/cssom/lib/StyleSheet.js +17 -0
  240. data/node_modules/cssom/lib/clone.js +76 -0
  241. data/node_modules/cssom/lib/index.js +19 -0
  242. data/node_modules/cssom/lib/parse.js +381 -0
  243. data/node_modules/cssom/package.json +96 -0
  244. data/node_modules/cssstyle/.npmignore +1 -0
  245. data/node_modules/cssstyle/MIT-LICENSE.txt +20 -0
  246. data/node_modules/cssstyle/README.md +27 -0
  247. data/node_modules/cssstyle/lib/CSSStyleDeclaration.js +233 -0
  248. data/node_modules/cssstyle/lib/parsers.js +670 -0
  249. data/node_modules/cssstyle/lib/properties.js +5858 -0
  250. data/node_modules/cssstyle/lib/properties/alignmentBaseline.js +12 -0
  251. data/node_modules/cssstyle/lib/properties/azimuth.js +65 -0
  252. data/node_modules/cssstyle/lib/properties/background.js +24 -0
  253. data/node_modules/cssstyle/lib/properties/backgroundAttachment.js +22 -0
  254. data/node_modules/cssstyle/lib/properties/backgroundClip.js +12 -0
  255. data/node_modules/cssstyle/lib/properties/backgroundColor.js +33 -0
  256. data/node_modules/cssstyle/lib/properties/backgroundImage.js +29 -0
  257. data/node_modules/cssstyle/lib/properties/backgroundOrigin.js +12 -0
  258. data/node_modules/cssstyle/lib/properties/backgroundPosition.js +56 -0
  259. data/node_modules/cssstyle/lib/properties/backgroundPositionX.js +12 -0
  260. data/node_modules/cssstyle/lib/properties/backgroundPositionY.js +12 -0
  261. data/node_modules/cssstyle/lib/properties/backgroundRepeat.js +25 -0
  262. data/node_modules/cssstyle/lib/properties/backgroundRepeatX.js +12 -0
  263. data/node_modules/cssstyle/lib/properties/backgroundRepeatY.js +12 -0
  264. data/node_modules/cssstyle/lib/properties/backgroundSize.js +12 -0
  265. data/node_modules/cssstyle/lib/properties/baselineShift.js +12 -0
  266. data/node_modules/cssstyle/lib/properties/border.js +49 -0
  267. data/node_modules/cssstyle/lib/properties/borderBottom.js +23 -0
  268. data/node_modules/cssstyle/lib/properties/borderBottomColor.js +16 -0
  269. data/node_modules/cssstyle/lib/properties/borderBottomLeftRadius.js +12 -0
  270. data/node_modules/cssstyle/lib/properties/borderBottomRightRadius.js +12 -0
  271. data/node_modules/cssstyle/lib/properties/borderBottomStyle.js +21 -0
  272. data/node_modules/cssstyle/lib/properties/borderBottomWidth.js +16 -0
  273. data/node_modules/cssstyle/lib/properties/borderCollapse.js +25 -0
  274. data/node_modules/cssstyle/lib/properties/borderColor.js +28 -0
  275. data/node_modules/cssstyle/lib/properties/borderImage.js +12 -0
  276. data/node_modules/cssstyle/lib/properties/borderImageOutset.js +12 -0
  277. data/node_modules/cssstyle/lib/properties/borderImageRepeat.js +12 -0
  278. data/node_modules/cssstyle/lib/properties/borderImageSlice.js +12 -0
  279. data/node_modules/cssstyle/lib/properties/borderImageSource.js +12 -0
  280. data/node_modules/cssstyle/lib/properties/borderImageWidth.js +12 -0
  281. data/node_modules/cssstyle/lib/properties/borderLeft.js +23 -0
  282. data/node_modules/cssstyle/lib/properties/borderLeftColor.js +16 -0
  283. data/node_modules/cssstyle/lib/properties/borderLeftStyle.js +21 -0
  284. data/node_modules/cssstyle/lib/properties/borderLeftWidth.js +16 -0
  285. data/node_modules/cssstyle/lib/properties/borderRadius.js +12 -0
  286. data/node_modules/cssstyle/lib/properties/borderRight.js +23 -0
  287. data/node_modules/cssstyle/lib/properties/borderRightColor.js +16 -0
  288. data/node_modules/cssstyle/lib/properties/borderRightStyle.js +21 -0
  289. data/node_modules/cssstyle/lib/properties/borderRightWidth.js +16 -0
  290. data/node_modules/cssstyle/lib/properties/borderSpacing.js +42 -0
  291. data/node_modules/cssstyle/lib/properties/borderStyle.js +27 -0
  292. data/node_modules/cssstyle/lib/properties/borderTop.js +22 -0
  293. data/node_modules/cssstyle/lib/properties/borderTopColor.js +16 -0
  294. data/node_modules/cssstyle/lib/properties/borderTopLeftRadius.js +12 -0
  295. data/node_modules/cssstyle/lib/properties/borderTopRightRadius.js +12 -0
  296. data/node_modules/cssstyle/lib/properties/borderTopStyle.js +21 -0
  297. data/node_modules/cssstyle/lib/properties/borderTopWidth.js +17 -0
  298. data/node_modules/cssstyle/lib/properties/borderWidth.js +47 -0
  299. data/node_modules/cssstyle/lib/properties/bottom.js +14 -0
  300. data/node_modules/cssstyle/lib/properties/boxShadow.js +12 -0
  301. data/node_modules/cssstyle/lib/properties/boxSizing.js +12 -0
  302. data/node_modules/cssstyle/lib/properties/captionSide.js +12 -0
  303. data/node_modules/cssstyle/lib/properties/clear.js +16 -0
  304. data/node_modules/cssstyle/lib/properties/clip.js +49 -0
  305. data/node_modules/cssstyle/lib/properties/color.js +14 -0
  306. data/node_modules/cssstyle/lib/properties/colorInterpolation.js +12 -0
  307. data/node_modules/cssstyle/lib/properties/colorInterpolationFilters.js +12 -0
  308. data/node_modules/cssstyle/lib/properties/colorProfile.js +12 -0
  309. data/node_modules/cssstyle/lib/properties/colorRendering.js +12 -0
  310. data/node_modules/cssstyle/lib/properties/content.js +12 -0
  311. data/node_modules/cssstyle/lib/properties/counterIncrement.js +12 -0
  312. data/node_modules/cssstyle/lib/properties/counterReset.js +12 -0
  313. data/node_modules/cssstyle/lib/properties/cssFloat.js +12 -0
  314. data/node_modules/cssstyle/lib/properties/cue.js +12 -0
  315. data/node_modules/cssstyle/lib/properties/cueAfter.js +12 -0
  316. data/node_modules/cssstyle/lib/properties/cueBefore.js +12 -0
  317. data/node_modules/cssstyle/lib/properties/cursor.js +12 -0
  318. data/node_modules/cssstyle/lib/properties/direction.js +12 -0
  319. data/node_modules/cssstyle/lib/properties/display.js +12 -0
  320. data/node_modules/cssstyle/lib/properties/dominantBaseline.js +12 -0
  321. data/node_modules/cssstyle/lib/properties/elevation.js +12 -0
  322. data/node_modules/cssstyle/lib/properties/emptyCells.js +12 -0
  323. data/node_modules/cssstyle/lib/properties/enableBackground.js +12 -0
  324. data/node_modules/cssstyle/lib/properties/fill.js +12 -0
  325. data/node_modules/cssstyle/lib/properties/fillOpacity.js +12 -0
  326. data/node_modules/cssstyle/lib/properties/fillRule.js +12 -0
  327. data/node_modules/cssstyle/lib/properties/filter.js +12 -0
  328. data/node_modules/cssstyle/lib/properties/floodColor.js +14 -0
  329. data/node_modules/cssstyle/lib/properties/floodOpacity.js +12 -0
  330. data/node_modules/cssstyle/lib/properties/font.js +40 -0
  331. data/node_modules/cssstyle/lib/properties/fontFamily.js +33 -0
  332. data/node_modules/cssstyle/lib/properties/fontSize.js +25 -0
  333. data/node_modules/cssstyle/lib/properties/fontSizeAdjust.js +12 -0
  334. data/node_modules/cssstyle/lib/properties/fontStretch.js +12 -0
  335. data/node_modules/cssstyle/lib/properties/fontStyle.js +18 -0
  336. data/node_modules/cssstyle/lib/properties/fontVariant.js +18 -0
  337. data/node_modules/cssstyle/lib/properties/fontWeight.js +18 -0
  338. data/node_modules/cssstyle/lib/properties/glyphOrientationHorizontal.js +12 -0
  339. data/node_modules/cssstyle/lib/properties/glyphOrientationVertical.js +12 -0
  340. data/node_modules/cssstyle/lib/properties/height.js +24 -0
  341. data/node_modules/cssstyle/lib/properties/imageRendering.js +12 -0
  342. data/node_modules/cssstyle/lib/properties/kerning.js +12 -0
  343. data/node_modules/cssstyle/lib/properties/left.js +14 -0
  344. data/node_modules/cssstyle/lib/properties/letterSpacing.js +12 -0
  345. data/node_modules/cssstyle/lib/properties/lightingColor.js +14 -0
  346. data/node_modules/cssstyle/lib/properties/lineHeight.js +21 -0
  347. data/node_modules/cssstyle/lib/properties/listStyle.js +12 -0
  348. data/node_modules/cssstyle/lib/properties/listStyleImage.js +12 -0
  349. data/node_modules/cssstyle/lib/properties/listStylePosition.js +12 -0
  350. data/node_modules/cssstyle/lib/properties/listStyleType.js +12 -0
  351. data/node_modules/cssstyle/lib/properties/margin.js +59 -0
  352. data/node_modules/cssstyle/lib/properties/marginBottom.js +13 -0
  353. data/node_modules/cssstyle/lib/properties/marginLeft.js +13 -0
  354. data/node_modules/cssstyle/lib/properties/marginRight.js +13 -0
  355. data/node_modules/cssstyle/lib/properties/marginTop.js +13 -0
  356. data/node_modules/cssstyle/lib/properties/marker.js +12 -0
  357. data/node_modules/cssstyle/lib/properties/markerEnd.js +12 -0
  358. data/node_modules/cssstyle/lib/properties/markerMid.js +12 -0
  359. data/node_modules/cssstyle/lib/properties/markerOffset.js +12 -0
  360. data/node_modules/cssstyle/lib/properties/markerStart.js +12 -0
  361. data/node_modules/cssstyle/lib/properties/marks.js +12 -0
  362. data/node_modules/cssstyle/lib/properties/mask.js +12 -0
  363. data/node_modules/cssstyle/lib/properties/maxHeight.js +12 -0
  364. data/node_modules/cssstyle/lib/properties/maxWidth.js +12 -0
  365. data/node_modules/cssstyle/lib/properties/minHeight.js +12 -0
  366. data/node_modules/cssstyle/lib/properties/minWidth.js +12 -0
  367. data/node_modules/cssstyle/lib/properties/opacity.js +14 -0
  368. data/node_modules/cssstyle/lib/properties/orphans.js +12 -0
  369. data/node_modules/cssstyle/lib/properties/outline.js +12 -0
  370. data/node_modules/cssstyle/lib/properties/outlineColor.js +14 -0
  371. data/node_modules/cssstyle/lib/properties/outlineOffset.js +12 -0
  372. data/node_modules/cssstyle/lib/properties/outlineStyle.js +12 -0
  373. data/node_modules/cssstyle/lib/properties/outlineWidth.js +12 -0
  374. data/node_modules/cssstyle/lib/properties/overflow.js +12 -0
  375. data/node_modules/cssstyle/lib/properties/overflowX.js +12 -0
  376. data/node_modules/cssstyle/lib/properties/overflowY.js +12 -0
  377. data/node_modules/cssstyle/lib/properties/padding.js +52 -0
  378. data/node_modules/cssstyle/lib/properties/paddingBottom.js +13 -0
  379. data/node_modules/cssstyle/lib/properties/paddingLeft.js +13 -0
  380. data/node_modules/cssstyle/lib/properties/paddingRight.js +13 -0
  381. data/node_modules/cssstyle/lib/properties/paddingTop.js +13 -0
  382. data/node_modules/cssstyle/lib/properties/page.js +12 -0
  383. data/node_modules/cssstyle/lib/properties/pageBreakAfter.js +12 -0
  384. data/node_modules/cssstyle/lib/properties/pageBreakBefore.js +12 -0
  385. data/node_modules/cssstyle/lib/properties/pageBreakInside.js +12 -0
  386. data/node_modules/cssstyle/lib/properties/pause.js +12 -0
  387. data/node_modules/cssstyle/lib/properties/pauseAfter.js +12 -0
  388. data/node_modules/cssstyle/lib/properties/pauseBefore.js +12 -0
  389. data/node_modules/cssstyle/lib/properties/pitch.js +12 -0
  390. data/node_modules/cssstyle/lib/properties/pitchRange.js +12 -0
  391. data/node_modules/cssstyle/lib/properties/playDuring.js +12 -0
  392. data/node_modules/cssstyle/lib/properties/pointerEvents.js +12 -0
  393. data/node_modules/cssstyle/lib/properties/position.js +12 -0
  394. data/node_modules/cssstyle/lib/properties/quotes.js +12 -0
  395. data/node_modules/cssstyle/lib/properties/resize.js +12 -0
  396. data/node_modules/cssstyle/lib/properties/richness.js +12 -0
  397. data/node_modules/cssstyle/lib/properties/right.js +14 -0
  398. data/node_modules/cssstyle/lib/properties/shapeRendering.js +12 -0
  399. data/node_modules/cssstyle/lib/properties/size.js +12 -0
  400. data/node_modules/cssstyle/lib/properties/speak.js +12 -0
  401. data/node_modules/cssstyle/lib/properties/speakHeader.js +12 -0
  402. data/node_modules/cssstyle/lib/properties/speakNumeral.js +12 -0
  403. data/node_modules/cssstyle/lib/properties/speakPunctuation.js +12 -0
  404. data/node_modules/cssstyle/lib/properties/speechRate.js +12 -0
  405. data/node_modules/cssstyle/lib/properties/src.js +12 -0
  406. data/node_modules/cssstyle/lib/properties/stopColor.js +14 -0
  407. data/node_modules/cssstyle/lib/properties/stopOpacity.js +12 -0
  408. data/node_modules/cssstyle/lib/properties/stress.js +12 -0
  409. data/node_modules/cssstyle/lib/properties/stroke.js +12 -0
  410. data/node_modules/cssstyle/lib/properties/strokeDasharray.js +12 -0
  411. data/node_modules/cssstyle/lib/properties/strokeDashoffset.js +12 -0
  412. data/node_modules/cssstyle/lib/properties/strokeLinecap.js +12 -0
  413. data/node_modules/cssstyle/lib/properties/strokeLinejoin.js +12 -0
  414. data/node_modules/cssstyle/lib/properties/strokeMiterlimit.js +12 -0
  415. data/node_modules/cssstyle/lib/properties/strokeOpacity.js +12 -0
  416. data/node_modules/cssstyle/lib/properties/strokeWidth.js +12 -0
  417. data/node_modules/cssstyle/lib/properties/tableLayout.js +12 -0
  418. data/node_modules/cssstyle/lib/properties/textAlign.js +12 -0
  419. data/node_modules/cssstyle/lib/properties/textAnchor.js +12 -0
  420. data/node_modules/cssstyle/lib/properties/textDecoration.js +12 -0
  421. data/node_modules/cssstyle/lib/properties/textIndent.js +12 -0
  422. data/node_modules/cssstyle/lib/properties/textLineThrough.js +12 -0
  423. data/node_modules/cssstyle/lib/properties/textLineThroughColor.js +14 -0
  424. data/node_modules/cssstyle/lib/properties/textLineThroughMode.js +12 -0
  425. data/node_modules/cssstyle/lib/properties/textLineThroughStyle.js +12 -0
  426. data/node_modules/cssstyle/lib/properties/textLineThroughWidth.js +12 -0
  427. data/node_modules/cssstyle/lib/properties/textOverflow.js +12 -0
  428. data/node_modules/cssstyle/lib/properties/textOverline.js +12 -0
  429. data/node_modules/cssstyle/lib/properties/textOverlineColor.js +14 -0
  430. data/node_modules/cssstyle/lib/properties/textOverlineMode.js +12 -0
  431. data/node_modules/cssstyle/lib/properties/textOverlineStyle.js +12 -0
  432. data/node_modules/cssstyle/lib/properties/textOverlineWidth.js +12 -0
  433. data/node_modules/cssstyle/lib/properties/textRendering.js +12 -0
  434. data/node_modules/cssstyle/lib/properties/textShadow.js +12 -0
  435. data/node_modules/cssstyle/lib/properties/textTransform.js +12 -0
  436. data/node_modules/cssstyle/lib/properties/textUnderline.js +12 -0
  437. data/node_modules/cssstyle/lib/properties/textUnderlineColor.js +14 -0
  438. data/node_modules/cssstyle/lib/properties/textUnderlineMode.js +12 -0
  439. data/node_modules/cssstyle/lib/properties/textUnderlineStyle.js +12 -0
  440. data/node_modules/cssstyle/lib/properties/textUnderlineWidth.js +12 -0
  441. data/node_modules/cssstyle/lib/properties/top.js +14 -0
  442. data/node_modules/cssstyle/lib/properties/unicodeBidi.js +12 -0
  443. data/node_modules/cssstyle/lib/properties/unicodeRange.js +12 -0
  444. data/node_modules/cssstyle/lib/properties/vectorEffect.js +12 -0
  445. data/node_modules/cssstyle/lib/properties/verticalAlign.js +12 -0
  446. data/node_modules/cssstyle/lib/properties/visibility.js +12 -0
  447. data/node_modules/cssstyle/lib/properties/voiceFamily.js +12 -0
  448. data/node_modules/cssstyle/lib/properties/volume.js +12 -0
  449. data/node_modules/cssstyle/lib/properties/webkitAnimation.js +12 -0
  450. data/node_modules/cssstyle/lib/properties/webkitAnimationDelay.js +12 -0
  451. data/node_modules/cssstyle/lib/properties/webkitAnimationDirection.js +12 -0
  452. data/node_modules/cssstyle/lib/properties/webkitAnimationDuration.js +12 -0
  453. data/node_modules/cssstyle/lib/properties/webkitAnimationFillMode.js +12 -0
  454. data/node_modules/cssstyle/lib/properties/webkitAnimationIterationCount.js +12 -0
  455. data/node_modules/cssstyle/lib/properties/webkitAnimationName.js +12 -0
  456. data/node_modules/cssstyle/lib/properties/webkitAnimationPlayState.js +12 -0
  457. data/node_modules/cssstyle/lib/properties/webkitAnimationTimingFunction.js +12 -0
  458. data/node_modules/cssstyle/lib/properties/webkitAppearance.js +12 -0
  459. data/node_modules/cssstyle/lib/properties/webkitAspectRatio.js +12 -0
  460. data/node_modules/cssstyle/lib/properties/webkitBackfaceVisibility.js +12 -0
  461. data/node_modules/cssstyle/lib/properties/webkitBackgroundClip.js +12 -0
  462. data/node_modules/cssstyle/lib/properties/webkitBackgroundComposite.js +12 -0
  463. data/node_modules/cssstyle/lib/properties/webkitBackgroundOrigin.js +12 -0
  464. data/node_modules/cssstyle/lib/properties/webkitBackgroundSize.js +12 -0
  465. data/node_modules/cssstyle/lib/properties/webkitBorderAfter.js +12 -0
  466. data/node_modules/cssstyle/lib/properties/webkitBorderAfterColor.js +14 -0
  467. data/node_modules/cssstyle/lib/properties/webkitBorderAfterStyle.js +12 -0
  468. data/node_modules/cssstyle/lib/properties/webkitBorderAfterWidth.js +12 -0
  469. data/node_modules/cssstyle/lib/properties/webkitBorderBefore.js +12 -0
  470. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeColor.js +14 -0
  471. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeStyle.js +12 -0
  472. data/node_modules/cssstyle/lib/properties/webkitBorderBeforeWidth.js +12 -0
  473. data/node_modules/cssstyle/lib/properties/webkitBorderEnd.js +12 -0
  474. data/node_modules/cssstyle/lib/properties/webkitBorderEndColor.js +14 -0
  475. data/node_modules/cssstyle/lib/properties/webkitBorderEndStyle.js +12 -0
  476. data/node_modules/cssstyle/lib/properties/webkitBorderEndWidth.js +12 -0
  477. data/node_modules/cssstyle/lib/properties/webkitBorderFit.js +12 -0
  478. data/node_modules/cssstyle/lib/properties/webkitBorderHorizontalSpacing.js +12 -0
  479. data/node_modules/cssstyle/lib/properties/webkitBorderImage.js +12 -0
  480. data/node_modules/cssstyle/lib/properties/webkitBorderRadius.js +12 -0
  481. data/node_modules/cssstyle/lib/properties/webkitBorderStart.js +12 -0
  482. data/node_modules/cssstyle/lib/properties/webkitBorderStartColor.js +14 -0
  483. data/node_modules/cssstyle/lib/properties/webkitBorderStartStyle.js +12 -0
  484. data/node_modules/cssstyle/lib/properties/webkitBorderStartWidth.js +12 -0
  485. data/node_modules/cssstyle/lib/properties/webkitBorderVerticalSpacing.js +12 -0
  486. data/node_modules/cssstyle/lib/properties/webkitBoxAlign.js +12 -0
  487. data/node_modules/cssstyle/lib/properties/webkitBoxDirection.js +12 -0
  488. data/node_modules/cssstyle/lib/properties/webkitBoxFlex.js +12 -0
  489. data/node_modules/cssstyle/lib/properties/webkitBoxFlexGroup.js +12 -0
  490. data/node_modules/cssstyle/lib/properties/webkitBoxLines.js +12 -0
  491. data/node_modules/cssstyle/lib/properties/webkitBoxOrdinalGroup.js +12 -0
  492. data/node_modules/cssstyle/lib/properties/webkitBoxOrient.js +12 -0
  493. data/node_modules/cssstyle/lib/properties/webkitBoxPack.js +12 -0
  494. data/node_modules/cssstyle/lib/properties/webkitBoxReflect.js +12 -0
  495. data/node_modules/cssstyle/lib/properties/webkitBoxShadow.js +12 -0
  496. data/node_modules/cssstyle/lib/properties/webkitColorCorrection.js +12 -0
  497. data/node_modules/cssstyle/lib/properties/webkitColumnAxis.js +12 -0
  498. data/node_modules/cssstyle/lib/properties/webkitColumnBreakAfter.js +12 -0
  499. data/node_modules/cssstyle/lib/properties/webkitColumnBreakBefore.js +12 -0
  500. data/node_modules/cssstyle/lib/properties/webkitColumnBreakInside.js +12 -0
  501. data/node_modules/cssstyle/lib/properties/webkitColumnCount.js +12 -0
  502. data/node_modules/cssstyle/lib/properties/webkitColumnGap.js +12 -0
  503. data/node_modules/cssstyle/lib/properties/webkitColumnRule.js +12 -0
  504. data/node_modules/cssstyle/lib/properties/webkitColumnRuleColor.js +14 -0
  505. data/node_modules/cssstyle/lib/properties/webkitColumnRuleStyle.js +12 -0
  506. data/node_modules/cssstyle/lib/properties/webkitColumnRuleWidth.js +12 -0
  507. data/node_modules/cssstyle/lib/properties/webkitColumnSpan.js +12 -0
  508. data/node_modules/cssstyle/lib/properties/webkitColumnWidth.js +12 -0
  509. data/node_modules/cssstyle/lib/properties/webkitColumns.js +12 -0
  510. data/node_modules/cssstyle/lib/properties/webkitFilter.js +12 -0
  511. data/node_modules/cssstyle/lib/properties/webkitFlexAlign.js +12 -0
  512. data/node_modules/cssstyle/lib/properties/webkitFlexDirection.js +12 -0
  513. data/node_modules/cssstyle/lib/properties/webkitFlexFlow.js +12 -0
  514. data/node_modules/cssstyle/lib/properties/webkitFlexItemAlign.js +12 -0
  515. data/node_modules/cssstyle/lib/properties/webkitFlexLinePack.js +12 -0
  516. data/node_modules/cssstyle/lib/properties/webkitFlexOrder.js +12 -0
  517. data/node_modules/cssstyle/lib/properties/webkitFlexPack.js +12 -0
  518. data/node_modules/cssstyle/lib/properties/webkitFlexWrap.js +12 -0
  519. data/node_modules/cssstyle/lib/properties/webkitFlowFrom.js +12 -0
  520. data/node_modules/cssstyle/lib/properties/webkitFlowInto.js +12 -0
  521. data/node_modules/cssstyle/lib/properties/webkitFontFeatureSettings.js +12 -0
  522. data/node_modules/cssstyle/lib/properties/webkitFontKerning.js +12 -0
  523. data/node_modules/cssstyle/lib/properties/webkitFontSizeDelta.js +12 -0
  524. data/node_modules/cssstyle/lib/properties/webkitFontSmoothing.js +12 -0
  525. data/node_modules/cssstyle/lib/properties/webkitFontVariantLigatures.js +12 -0
  526. data/node_modules/cssstyle/lib/properties/webkitHighlight.js +12 -0
  527. data/node_modules/cssstyle/lib/properties/webkitHyphenateCharacter.js +12 -0
  528. data/node_modules/cssstyle/lib/properties/webkitHyphenateLimitAfter.js +12 -0
  529. data/node_modules/cssstyle/lib/properties/webkitHyphenateLimitBefore.js +12 -0
  530. data/node_modules/cssstyle/lib/properties/webkitHyphenateLimitLines.js +12 -0
  531. data/node_modules/cssstyle/lib/properties/webkitHyphens.js +12 -0
  532. data/node_modules/cssstyle/lib/properties/webkitLineAlign.js +12 -0
  533. data/node_modules/cssstyle/lib/properties/webkitLineBoxContain.js +12 -0
  534. data/node_modules/cssstyle/lib/properties/webkitLineBreak.js +12 -0
  535. data/node_modules/cssstyle/lib/properties/webkitLineClamp.js +12 -0
  536. data/node_modules/cssstyle/lib/properties/webkitLineGrid.js +12 -0
  537. data/node_modules/cssstyle/lib/properties/webkitLineSnap.js +12 -0
  538. data/node_modules/cssstyle/lib/properties/webkitLocale.js +12 -0
  539. data/node_modules/cssstyle/lib/properties/webkitLogicalHeight.js +12 -0
  540. data/node_modules/cssstyle/lib/properties/webkitLogicalWidth.js +12 -0
  541. data/node_modules/cssstyle/lib/properties/webkitMarginAfter.js +12 -0
  542. data/node_modules/cssstyle/lib/properties/webkitMarginAfterCollapse.js +12 -0
  543. data/node_modules/cssstyle/lib/properties/webkitMarginBefore.js +12 -0
  544. data/node_modules/cssstyle/lib/properties/webkitMarginBeforeCollapse.js +12 -0
  545. data/node_modules/cssstyle/lib/properties/webkitMarginBottomCollapse.js +12 -0
  546. data/node_modules/cssstyle/lib/properties/webkitMarginCollapse.js +12 -0
  547. data/node_modules/cssstyle/lib/properties/webkitMarginEnd.js +12 -0
  548. data/node_modules/cssstyle/lib/properties/webkitMarginStart.js +12 -0
  549. data/node_modules/cssstyle/lib/properties/webkitMarginTopCollapse.js +12 -0
  550. data/node_modules/cssstyle/lib/properties/webkitMarquee.js +12 -0
  551. data/node_modules/cssstyle/lib/properties/webkitMarqueeDirection.js +12 -0
  552. data/node_modules/cssstyle/lib/properties/webkitMarqueeIncrement.js +12 -0
  553. data/node_modules/cssstyle/lib/properties/webkitMarqueeRepetition.js +12 -0
  554. data/node_modules/cssstyle/lib/properties/webkitMarqueeSpeed.js +12 -0
  555. data/node_modules/cssstyle/lib/properties/webkitMarqueeStyle.js +12 -0
  556. data/node_modules/cssstyle/lib/properties/webkitMask.js +12 -0
  557. data/node_modules/cssstyle/lib/properties/webkitMaskAttachment.js +12 -0
  558. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImage.js +12 -0
  559. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageOutset.js +12 -0
  560. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageRepeat.js +12 -0
  561. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSlice.js +12 -0
  562. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageSource.js +12 -0
  563. data/node_modules/cssstyle/lib/properties/webkitMaskBoxImageWidth.js +12 -0
  564. data/node_modules/cssstyle/lib/properties/webkitMaskClip.js +12 -0
  565. data/node_modules/cssstyle/lib/properties/webkitMaskComposite.js +12 -0
  566. data/node_modules/cssstyle/lib/properties/webkitMaskImage.js +12 -0
  567. data/node_modules/cssstyle/lib/properties/webkitMaskOrigin.js +12 -0
  568. data/node_modules/cssstyle/lib/properties/webkitMaskPosition.js +12 -0
  569. data/node_modules/cssstyle/lib/properties/webkitMaskPositionX.js +12 -0
  570. data/node_modules/cssstyle/lib/properties/webkitMaskPositionY.js +12 -0
  571. data/node_modules/cssstyle/lib/properties/webkitMaskRepeat.js +12 -0
  572. data/node_modules/cssstyle/lib/properties/webkitMaskRepeatX.js +12 -0
  573. data/node_modules/cssstyle/lib/properties/webkitMaskRepeatY.js +12 -0
  574. data/node_modules/cssstyle/lib/properties/webkitMaskSize.js +12 -0
  575. data/node_modules/cssstyle/lib/properties/webkitMatchNearestMailBlockquoteColor.js +14 -0
  576. data/node_modules/cssstyle/lib/properties/webkitMaxLogicalHeight.js +12 -0
  577. data/node_modules/cssstyle/lib/properties/webkitMaxLogicalWidth.js +12 -0
  578. data/node_modules/cssstyle/lib/properties/webkitMinLogicalHeight.js +12 -0
  579. data/node_modules/cssstyle/lib/properties/webkitMinLogicalWidth.js +12 -0
  580. data/node_modules/cssstyle/lib/properties/webkitNbspMode.js +12 -0
  581. data/node_modules/cssstyle/lib/properties/webkitOverflowScrolling.js +12 -0
  582. data/node_modules/cssstyle/lib/properties/webkitPaddingAfter.js +12 -0
  583. data/node_modules/cssstyle/lib/properties/webkitPaddingBefore.js +12 -0
  584. data/node_modules/cssstyle/lib/properties/webkitPaddingEnd.js +12 -0
  585. data/node_modules/cssstyle/lib/properties/webkitPaddingStart.js +12 -0
  586. data/node_modules/cssstyle/lib/properties/webkitPerspective.js +12 -0
  587. data/node_modules/cssstyle/lib/properties/webkitPerspectiveOrigin.js +12 -0
  588. data/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginX.js +12 -0
  589. data/node_modules/cssstyle/lib/properties/webkitPerspectiveOriginY.js +12 -0
  590. data/node_modules/cssstyle/lib/properties/webkitPrintColorAdjust.js +12 -0
  591. data/node_modules/cssstyle/lib/properties/webkitRegionBreakAfter.js +12 -0
  592. data/node_modules/cssstyle/lib/properties/webkitRegionBreakBefore.js +12 -0
  593. data/node_modules/cssstyle/lib/properties/webkitRegionBreakInside.js +12 -0
  594. data/node_modules/cssstyle/lib/properties/webkitRegionOverflow.js +12 -0
  595. data/node_modules/cssstyle/lib/properties/webkitRtlOrdering.js +12 -0
  596. data/node_modules/cssstyle/lib/properties/webkitSvgShadow.js +12 -0
  597. data/node_modules/cssstyle/lib/properties/webkitTapHighlightColor.js +14 -0
  598. data/node_modules/cssstyle/lib/properties/webkitTextCombine.js +12 -0
  599. data/node_modules/cssstyle/lib/properties/webkitTextDecorationsInEffect.js +12 -0
  600. data/node_modules/cssstyle/lib/properties/webkitTextEmphasis.js +12 -0
  601. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisColor.js +14 -0
  602. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisPosition.js +12 -0
  603. data/node_modules/cssstyle/lib/properties/webkitTextEmphasisStyle.js +12 -0
  604. data/node_modules/cssstyle/lib/properties/webkitTextFillColor.js +14 -0
  605. data/node_modules/cssstyle/lib/properties/webkitTextOrientation.js +12 -0
  606. data/node_modules/cssstyle/lib/properties/webkitTextSecurity.js +12 -0
  607. data/node_modules/cssstyle/lib/properties/webkitTextSizeAdjust.js +12 -0
  608. data/node_modules/cssstyle/lib/properties/webkitTextStroke.js +12 -0
  609. data/node_modules/cssstyle/lib/properties/webkitTextStrokeColor.js +14 -0
  610. data/node_modules/cssstyle/lib/properties/webkitTextStrokeWidth.js +12 -0
  611. data/node_modules/cssstyle/lib/properties/webkitTransform.js +12 -0
  612. data/node_modules/cssstyle/lib/properties/webkitTransformOrigin.js +12 -0
  613. data/node_modules/cssstyle/lib/properties/webkitTransformOriginX.js +12 -0
  614. data/node_modules/cssstyle/lib/properties/webkitTransformOriginY.js +12 -0
  615. data/node_modules/cssstyle/lib/properties/webkitTransformOriginZ.js +12 -0
  616. data/node_modules/cssstyle/lib/properties/webkitTransformStyle.js +12 -0
  617. data/node_modules/cssstyle/lib/properties/webkitTransition.js +12 -0
  618. data/node_modules/cssstyle/lib/properties/webkitTransitionDelay.js +12 -0
  619. data/node_modules/cssstyle/lib/properties/webkitTransitionDuration.js +12 -0
  620. data/node_modules/cssstyle/lib/properties/webkitTransitionProperty.js +12 -0
  621. data/node_modules/cssstyle/lib/properties/webkitTransitionTimingFunction.js +12 -0
  622. data/node_modules/cssstyle/lib/properties/webkitUserDrag.js +12 -0
  623. data/node_modules/cssstyle/lib/properties/webkitUserModify.js +12 -0
  624. data/node_modules/cssstyle/lib/properties/webkitUserSelect.js +12 -0
  625. data/node_modules/cssstyle/lib/properties/webkitWrap.js +12 -0
  626. data/node_modules/cssstyle/lib/properties/webkitWrapFlow.js +12 -0
  627. data/node_modules/cssstyle/lib/properties/webkitWrapMargin.js +12 -0
  628. data/node_modules/cssstyle/lib/properties/webkitWrapPadding.js +12 -0
  629. data/node_modules/cssstyle/lib/properties/webkitWrapShapeInside.js +12 -0
  630. data/node_modules/cssstyle/lib/properties/webkitWrapShapeOutside.js +12 -0
  631. data/node_modules/cssstyle/lib/properties/webkitWrapThrough.js +12 -0
  632. data/node_modules/cssstyle/lib/properties/webkitWritingMode.js +12 -0
  633. data/node_modules/cssstyle/lib/properties/whiteSpace.js +12 -0
  634. data/node_modules/cssstyle/lib/properties/widows.js +12 -0
  635. data/node_modules/cssstyle/lib/properties/width.js +24 -0
  636. data/node_modules/cssstyle/lib/properties/wordBreak.js +12 -0
  637. data/node_modules/cssstyle/lib/properties/wordSpacing.js +12 -0
  638. data/node_modules/cssstyle/lib/properties/wordWrap.js +12 -0
  639. data/node_modules/cssstyle/lib/properties/writingMode.js +12 -0
  640. data/node_modules/cssstyle/lib/properties/zIndex.js +12 -0
  641. data/node_modules/cssstyle/lib/properties/zoom.js +12 -0
  642. data/node_modules/cssstyle/package.json +109 -0
  643. data/node_modules/cssstyle/scripts/generate_properties.js +302 -0
  644. data/node_modules/cssstyle/scripts/run_tests.sh +4 -0
  645. data/node_modules/cssstyle/tests/tests.js +405 -0
  646. data/node_modules/dashdash/CHANGES.md +364 -0
  647. data/node_modules/dashdash/LICENSE.txt +24 -0
  648. data/node_modules/dashdash/README.md +574 -0
  649. data/node_modules/dashdash/etc/dashdash.bash_completion.in +389 -0
  650. data/node_modules/dashdash/lib/dashdash.js +1055 -0
  651. data/node_modules/dashdash/node_modules/assert-plus/AUTHORS +6 -0
  652. data/node_modules/dashdash/node_modules/assert-plus/CHANGES.md +14 -0
  653. data/node_modules/dashdash/node_modules/assert-plus/README.md +162 -0
  654. data/node_modules/dashdash/node_modules/assert-plus/assert.js +211 -0
  655. data/node_modules/dashdash/node_modules/assert-plus/package.json +115 -0
  656. data/node_modules/dashdash/package.json +125 -0
  657. data/node_modules/deep-eql/.npmignore +11 -0
  658. data/node_modules/deep-eql/History.md +28 -0
  659. data/node_modules/deep-eql/README.md +52 -0
  660. data/node_modules/deep-eql/index.js +1 -0
  661. data/node_modules/deep-eql/karma.conf.js +20 -0
  662. data/node_modules/deep-eql/lib/eql.js +257 -0
  663. data/node_modules/deep-eql/node_modules/type-detect/.npmignore +11 -0
  664. data/node_modules/deep-eql/node_modules/type-detect/History.md +18 -0
  665. data/node_modules/deep-eql/node_modules/type-detect/README.md +193 -0
  666. data/node_modules/deep-eql/node_modules/type-detect/index.js +1 -0
  667. data/node_modules/deep-eql/node_modules/type-detect/lib/type.js +142 -0
  668. data/node_modules/deep-eql/node_modules/type-detect/package.json +91 -0
  669. data/node_modules/deep-eql/package.json +98 -0
  670. data/node_modules/deep-is/.npmignore +1 -0
  671. data/node_modules/deep-is/.travis.yml +6 -0
  672. data/node_modules/deep-is/LICENSE +22 -0
  673. data/node_modules/deep-is/README.markdown +70 -0
  674. data/node_modules/deep-is/example/cmp.js +11 -0
  675. data/node_modules/deep-is/index.js +102 -0
  676. data/node_modules/deep-is/package.json +120 -0
  677. data/node_modules/deep-is/test/NaN.js +16 -0
  678. data/node_modules/deep-is/test/cmp.js +23 -0
  679. data/node_modules/deep-is/test/neg-vs-pos-0.js +15 -0
  680. data/node_modules/delayed-stream/.npmignore +1 -0
  681. data/node_modules/delayed-stream/License +19 -0
  682. data/node_modules/delayed-stream/Makefile +7 -0
  683. data/node_modules/delayed-stream/Readme.md +141 -0
  684. data/node_modules/delayed-stream/lib/delayed_stream.js +107 -0
  685. data/node_modules/delayed-stream/package.json +97 -0
  686. data/node_modules/ecc-jsbn/.npmignore +15 -0
  687. data/node_modules/ecc-jsbn/LICENSE +21 -0
  688. data/node_modules/ecc-jsbn/README.md +8 -0
  689. data/node_modules/ecc-jsbn/index.js +57 -0
  690. data/node_modules/ecc-jsbn/lib/LICENSE-jsbn +40 -0
  691. data/node_modules/ecc-jsbn/lib/ec.js +561 -0
  692. data/node_modules/ecc-jsbn/lib/sec.js +170 -0
  693. data/node_modules/ecc-jsbn/package.json +90 -0
  694. data/node_modules/ecc-jsbn/test.js +14 -0
  695. data/node_modules/escape-string-regexp/index.js +11 -0
  696. data/node_modules/escape-string-regexp/license +21 -0
  697. data/node_modules/escape-string-regexp/package.json +109 -0
  698. data/node_modules/escape-string-regexp/readme.md +27 -0
  699. data/node_modules/escodegen/LICENSE.BSD +19 -0
  700. data/node_modules/escodegen/LICENSE.source-map +27 -0
  701. data/node_modules/escodegen/README.md +116 -0
  702. data/node_modules/escodegen/bin/escodegen.js +77 -0
  703. data/node_modules/escodegen/bin/esgenerate.js +64 -0
  704. data/node_modules/escodegen/escodegen.js +2607 -0
  705. data/node_modules/escodegen/package.json +122 -0
  706. data/node_modules/esprima/ChangeLog +174 -0
  707. data/node_modules/esprima/LICENSE.BSD +21 -0
  708. data/node_modules/esprima/README.md +27 -0
  709. data/node_modules/esprima/bin/esparse.js +126 -0
  710. data/node_modules/esprima/bin/esvalidate.js +199 -0
  711. data/node_modules/esprima/esprima.js +5740 -0
  712. data/node_modules/esprima/package.json +153 -0
  713. data/node_modules/estraverse/.editorconfig +10 -0
  714. data/node_modules/estraverse/.jshintrc +16 -0
  715. data/node_modules/estraverse/LICENSE.BSD +19 -0
  716. data/node_modules/estraverse/README.md +124 -0
  717. data/node_modules/estraverse/estraverse.js +845 -0
  718. data/node_modules/estraverse/gulpfile.js +70 -0
  719. data/node_modules/estraverse/package.json +95 -0
  720. data/node_modules/esutils/LICENSE.BSD +19 -0
  721. data/node_modules/esutils/README.md +169 -0
  722. data/node_modules/esutils/lib/ast.js +144 -0
  723. data/node_modules/esutils/lib/code.js +135 -0
  724. data/node_modules/esutils/lib/keyword.js +165 -0
  725. data/node_modules/esutils/lib/utils.js +33 -0
  726. data/node_modules/esutils/package.json +105 -0
  727. data/node_modules/extend/.eslintrc +192 -0
  728. data/node_modules/extend/.jscs.json +104 -0
  729. data/node_modules/extend/.npmignore +1 -0
  730. data/node_modules/extend/.travis.yml +44 -0
  731. data/node_modules/extend/CHANGELOG.md +69 -0
  732. data/node_modules/extend/LICENSE +23 -0
  733. data/node_modules/extend/README.md +62 -0
  734. data/node_modules/extend/component.json +32 -0
  735. data/node_modules/extend/index.js +86 -0
  736. data/node_modules/extend/package.json +106 -0
  737. data/node_modules/extsprintf/.gitmodules +6 -0
  738. data/node_modules/extsprintf/LICENSE +19 -0
  739. data/node_modules/extsprintf/Makefile +23 -0
  740. data/node_modules/extsprintf/Makefile.deps +39 -0
  741. data/node_modules/extsprintf/Makefile.targ +285 -0
  742. data/node_modules/extsprintf/README.md +39 -0
  743. data/node_modules/extsprintf/examples/simple.js +2 -0
  744. data/node_modules/extsprintf/jsl.node.conf +137 -0
  745. data/node_modules/extsprintf/lib/extsprintf.js +166 -0
  746. data/node_modules/extsprintf/package.json +74 -0
  747. data/node_modules/fast-levenshtein/LICENSE.md +25 -0
  748. data/node_modules/fast-levenshtein/README.md +104 -0
  749. data/node_modules/fast-levenshtein/levenshtein.js +102 -0
  750. data/node_modules/fast-levenshtein/package.json +108 -0
  751. data/node_modules/forever-agent/LICENSE +55 -0
  752. data/node_modules/forever-agent/README.md +4 -0
  753. data/node_modules/forever-agent/index.js +138 -0
  754. data/node_modules/forever-agent/package.json +88 -0
  755. data/node_modules/form-data/License +19 -0
  756. data/node_modules/form-data/README.md +217 -0
  757. data/node_modules/form-data/lib/browser.js +2 -0
  758. data/node_modules/form-data/lib/form_data.js +440 -0
  759. data/node_modules/form-data/lib/populate.js +10 -0
  760. data/node_modules/form-data/package.json +145 -0
  761. data/node_modules/generate-function/.npmignore +1 -0
  762. data/node_modules/generate-function/.travis.yml +3 -0
  763. data/node_modules/generate-function/README.md +72 -0
  764. data/node_modules/generate-function/example.js +27 -0
  765. data/node_modules/generate-function/index.js +61 -0
  766. data/node_modules/generate-function/package.json +87 -0
  767. data/node_modules/generate-function/test.js +33 -0
  768. data/node_modules/generate-object-property/.npmignore +1 -0
  769. data/node_modules/generate-object-property/.travis.yml +3 -0
  770. data/node_modules/generate-object-property/LICENSE +21 -0
  771. data/node_modules/generate-object-property/README.md +19 -0
  772. data/node_modules/generate-object-property/index.js +12 -0
  773. data/node_modules/generate-object-property/package.json +84 -0
  774. data/node_modules/generate-object-property/test.js +12 -0
  775. data/node_modules/getpass/.npmignore +8 -0
  776. data/node_modules/getpass/.travis.yml +9 -0
  777. data/node_modules/getpass/LICENSE +18 -0
  778. data/node_modules/getpass/README.md +32 -0
  779. data/node_modules/getpass/lib/index.js +123 -0
  780. data/node_modules/getpass/node_modules/assert-plus/AUTHORS +6 -0
  781. data/node_modules/getpass/node_modules/assert-plus/CHANGES.md +14 -0
  782. data/node_modules/getpass/node_modules/assert-plus/README.md +162 -0
  783. data/node_modules/getpass/node_modules/assert-plus/assert.js +211 -0
  784. data/node_modules/getpass/node_modules/assert-plus/package.json +115 -0
  785. data/node_modules/getpass/package.json +90 -0
  786. data/node_modules/graceful-readlink/.npmignore +3 -0
  787. data/node_modules/graceful-readlink/.travis.yml +5 -0
  788. data/node_modules/graceful-readlink/LICENSE +22 -0
  789. data/node_modules/graceful-readlink/README.md +17 -0
  790. data/node_modules/graceful-readlink/index.js +12 -0
  791. data/node_modules/graceful-readlink/package.json +83 -0
  792. data/node_modules/har-validator/LICENSE +13 -0
  793. data/node_modules/har-validator/README.md +309 -0
  794. data/node_modules/har-validator/bin/har-validator +56 -0
  795. data/node_modules/har-validator/lib/async.js +14 -0
  796. data/node_modules/har-validator/lib/error.js +10 -0
  797. data/node_modules/har-validator/lib/index.js +22 -0
  798. data/node_modules/har-validator/lib/runner.js +29 -0
  799. data/node_modules/har-validator/lib/schemas/cache.json +13 -0
  800. data/node_modules/har-validator/lib/schemas/cacheEntry.json +31 -0
  801. data/node_modules/har-validator/lib/schemas/content.json +27 -0
  802. data/node_modules/har-validator/lib/schemas/cookie.json +34 -0
  803. data/node_modules/har-validator/lib/schemas/creator.json +18 -0
  804. data/node_modules/har-validator/lib/schemas/entry.json +51 -0
  805. data/node_modules/har-validator/lib/schemas/har.json +11 -0
  806. data/node_modules/har-validator/lib/schemas/index.js +49 -0
  807. data/node_modules/har-validator/lib/schemas/log.json +34 -0
  808. data/node_modules/har-validator/lib/schemas/page.json +30 -0
  809. data/node_modules/har-validator/lib/schemas/pageTimings.json +16 -0
  810. data/node_modules/har-validator/lib/schemas/postData.json +41 -0
  811. data/node_modules/har-validator/lib/schemas/record.json +18 -0
  812. data/node_modules/har-validator/lib/schemas/request.json +55 -0
  813. data/node_modules/har-validator/lib/schemas/response.json +52 -0
  814. data/node_modules/har-validator/lib/schemas/timings.json +40 -0
  815. data/node_modules/har-validator/package.json +120 -0
  816. data/node_modules/has-ansi/index.js +4 -0
  817. data/node_modules/has-ansi/license +21 -0
  818. data/node_modules/has-ansi/package.json +118 -0
  819. data/node_modules/has-ansi/readme.md +36 -0
  820. data/node_modules/hawk/.npmignore +20 -0
  821. data/node_modules/hawk/.travis.yml +5 -0
  822. data/node_modules/hawk/LICENSE +28 -0
  823. data/node_modules/hawk/README.md +634 -0
  824. data/node_modules/hawk/bower.json +24 -0
  825. data/node_modules/hawk/component.json +19 -0
  826. data/node_modules/hawk/dist/client.js +343 -0
  827. data/node_modules/hawk/example/usage.js +78 -0
  828. data/node_modules/hawk/images/hawk.png +0 -0
  829. data/node_modules/hawk/images/logo.png +0 -0
  830. data/node_modules/hawk/lib/browser.js +637 -0
  831. data/node_modules/hawk/lib/client.js +369 -0
  832. data/node_modules/hawk/lib/crypto.js +126 -0
  833. data/node_modules/hawk/lib/index.js +15 -0
  834. data/node_modules/hawk/lib/server.js +548 -0
  835. data/node_modules/hawk/lib/utils.js +184 -0
  836. data/node_modules/hawk/package.json +101 -0
  837. data/node_modules/hawk/test/browser.js +1492 -0
  838. data/node_modules/hawk/test/client.js +440 -0
  839. data/node_modules/hawk/test/crypto.js +70 -0
  840. data/node_modules/hawk/test/index.js +378 -0
  841. data/node_modules/hawk/test/readme.js +95 -0
  842. data/node_modules/hawk/test/server.js +1329 -0
  843. data/node_modules/hawk/test/uri.js +838 -0
  844. data/node_modules/hawk/test/utils.js +149 -0
  845. data/node_modules/hoek/.npmignore +18 -0
  846. data/node_modules/hoek/.travis.yml +7 -0
  847. data/node_modules/hoek/CONTRIBUTING.md +1 -0
  848. data/node_modules/hoek/LICENSE +31 -0
  849. data/node_modules/hoek/README.md +584 -0
  850. data/node_modules/hoek/images/hoek.png +0 -0
  851. data/node_modules/hoek/lib/escape.js +132 -0
  852. data/node_modules/hoek/lib/index.js +993 -0
  853. data/node_modules/hoek/package.json +96 -0
  854. data/node_modules/hoek/test/escaper.js +88 -0
  855. data/node_modules/hoek/test/index.js +2513 -0
  856. data/node_modules/hoek/test/modules/ignore.txt +0 -0
  857. data/node_modules/hoek/test/modules/test1.js +1 -0
  858. data/node_modules/hoek/test/modules/test2.js +1 -0
  859. data/node_modules/hoek/test/modules/test3.js +1 -0
  860. data/node_modules/html-encoding-sniffer/LICENSE.txt +19 -0
  861. data/node_modules/html-encoding-sniffer/README.md +38 -0
  862. data/node_modules/html-encoding-sniffer/lib/html-encoding-sniffer.js +302 -0
  863. data/node_modules/html-encoding-sniffer/package.json +98 -0
  864. data/node_modules/http-signature/.dir-locals.el +6 -0
  865. data/node_modules/http-signature/.npmignore +7 -0
  866. data/node_modules/http-signature/CHANGES.md +46 -0
  867. data/node_modules/http-signature/LICENSE +18 -0
  868. data/node_modules/http-signature/README.md +79 -0
  869. data/node_modules/http-signature/http_signing.md +363 -0
  870. data/node_modules/http-signature/lib/index.js +29 -0
  871. data/node_modules/http-signature/lib/parser.js +318 -0
  872. data/node_modules/http-signature/lib/signer.js +399 -0
  873. data/node_modules/http-signature/lib/utils.js +112 -0
  874. data/node_modules/http-signature/lib/verify.js +88 -0
  875. data/node_modules/http-signature/package.json +116 -0
  876. data/node_modules/iconv-lite/.npmignore +6 -0
  877. data/node_modules/iconv-lite/.travis.yml +22 -0
  878. data/node_modules/iconv-lite/Changelog.md +108 -0
  879. data/node_modules/iconv-lite/LICENSE +21 -0
  880. data/node_modules/iconv-lite/README.md +159 -0
  881. data/node_modules/iconv-lite/encodings/dbcs-codec.js +554 -0
  882. data/node_modules/iconv-lite/encodings/dbcs-data.js +176 -0
  883. data/node_modules/iconv-lite/encodings/index.js +22 -0
  884. data/node_modules/iconv-lite/encodings/internal.js +187 -0
  885. data/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  886. data/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  887. data/node_modules/iconv-lite/encodings/sbcs-data.js +169 -0
  888. data/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  889. data/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  890. data/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  891. data/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  892. data/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  893. data/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  894. data/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  895. data/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  896. data/node_modules/iconv-lite/encodings/utf16.js +176 -0
  897. data/node_modules/iconv-lite/encodings/utf7.js +289 -0
  898. data/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  899. data/node_modules/iconv-lite/lib/extend-node.js +214 -0
  900. data/node_modules/iconv-lite/lib/index.d.ts +31 -0
  901. data/node_modules/iconv-lite/lib/index.js +141 -0
  902. data/node_modules/iconv-lite/lib/streams.js +120 -0
  903. data/node_modules/iconv-lite/package.json +158 -0
  904. data/node_modules/is-my-json-valid/.npmignore +2 -0
  905. data/node_modules/is-my-json-valid/.travis.yml +3 -0
  906. data/node_modules/is-my-json-valid/LICENSE +21 -0
  907. data/node_modules/is-my-json-valid/README.md +173 -0
  908. data/node_modules/is-my-json-valid/example.js +18 -0
  909. data/node_modules/is-my-json-valid/formats.js +14 -0
  910. data/node_modules/is-my-json-valid/index.js +594 -0
  911. data/node_modules/is-my-json-valid/package.json +116 -0
  912. data/node_modules/is-my-json-valid/require.js +12 -0
  913. data/node_modules/is-my-json-valid/test/fixtures/cosmic.js +84 -0
  914. data/node_modules/is-my-json-valid/test/json-schema-draft4/additionalItems.json +82 -0
  915. data/node_modules/is-my-json-valid/test/json-schema-draft4/additionalProperties.json +88 -0
  916. data/node_modules/is-my-json-valid/test/json-schema-draft4/allOf.json +112 -0
  917. data/node_modules/is-my-json-valid/test/json-schema-draft4/anyOf.json +68 -0
  918. data/node_modules/is-my-json-valid/test/json-schema-draft4/bignum.json +107 -0
  919. data/node_modules/is-my-json-valid/test/json-schema-draft4/default.json +49 -0
  920. data/node_modules/is-my-json-valid/test/json-schema-draft4/definitions.json +32 -0
  921. data/node_modules/is-my-json-valid/test/json-schema-draft4/dependencies.json +113 -0
  922. data/node_modules/is-my-json-valid/test/json-schema-draft4/enum.json +72 -0
  923. data/node_modules/is-my-json-valid/test/json-schema-draft4/format.json +143 -0
  924. data/node_modules/is-my-json-valid/test/json-schema-draft4/items.json +46 -0
  925. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxItems.json +28 -0
  926. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxLength.json +28 -0
  927. data/node_modules/is-my-json-valid/test/json-schema-draft4/maxProperties.json +28 -0
  928. data/node_modules/is-my-json-valid/test/json-schema-draft4/maximum.json +42 -0
  929. data/node_modules/is-my-json-valid/test/json-schema-draft4/minItems.json +28 -0
  930. data/node_modules/is-my-json-valid/test/json-schema-draft4/minLength.json +28 -0
  931. data/node_modules/is-my-json-valid/test/json-schema-draft4/minProperties.json +28 -0
  932. data/node_modules/is-my-json-valid/test/json-schema-draft4/minimum.json +42 -0
  933. data/node_modules/is-my-json-valid/test/json-schema-draft4/multipleOf.json +96 -0
  934. data/node_modules/is-my-json-valid/test/json-schema-draft4/not.json +96 -0
  935. data/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndFormat.json +18 -0
  936. data/node_modules/is-my-json-valid/test/json-schema-draft4/nullAndObject.json +18 -0
  937. data/node_modules/is-my-json-valid/test/json-schema-draft4/oneOf.json +68 -0
  938. data/node_modules/is-my-json-valid/test/json-schema-draft4/pattern.json +23 -0
  939. data/node_modules/is-my-json-valid/test/json-schema-draft4/patternProperties.json +110 -0
  940. data/node_modules/is-my-json-valid/test/json-schema-draft4/properties.json +92 -0
  941. data/node_modules/is-my-json-valid/test/json-schema-draft4/ref.json +128 -0
  942. data/node_modules/is-my-json-valid/test/json-schema-draft4/refRemote.json +74 -0
  943. data/node_modules/is-my-json-valid/test/json-schema-draft4/required.json +39 -0
  944. data/node_modules/is-my-json-valid/test/json-schema-draft4/type.json +330 -0
  945. data/node_modules/is-my-json-valid/test/json-schema-draft4/uniqueItems.json +79 -0
  946. data/node_modules/is-my-json-valid/test/json-schema.js +23 -0
  947. data/node_modules/is-my-json-valid/test/misc.js +471 -0
  948. data/node_modules/is-property/.npmignore +17 -0
  949. data/node_modules/is-property/LICENSE +22 -0
  950. data/node_modules/is-property/README.md +28 -0
  951. data/node_modules/is-property/is-property.js +5 -0
  952. data/node_modules/is-property/package.json +92 -0
  953. data/node_modules/is-typedarray/LICENSE.md +18 -0
  954. data/node_modules/is-typedarray/README.md +16 -0
  955. data/node_modules/is-typedarray/index.js +41 -0
  956. data/node_modules/is-typedarray/package.json +90 -0
  957. data/node_modules/is-typedarray/test.js +34 -0
  958. data/node_modules/isstream/.jshintrc +59 -0
  959. data/node_modules/isstream/.npmignore +1 -0
  960. data/node_modules/isstream/.travis.yml +12 -0
  961. data/node_modules/isstream/LICENSE.md +11 -0
  962. data/node_modules/isstream/README.md +66 -0
  963. data/node_modules/isstream/isstream.js +27 -0
  964. data/node_modules/isstream/package.json +93 -0
  965. data/node_modules/isstream/test.js +168 -0
  966. data/node_modules/jodid25519/.npmignore +11 -0
  967. data/node_modules/jodid25519/.travis.yml +7 -0
  968. data/node_modules/jodid25519/AUTHORS.md +3 -0
  969. data/node_modules/jodid25519/LICENSE +23 -0
  970. data/node_modules/jodid25519/README.md +51 -0
  971. data/node_modules/jodid25519/almond.0 +42 -0
  972. data/node_modules/jodid25519/almond.1 +13 -0
  973. data/node_modules/jodid25519/index.js +35 -0
  974. data/node_modules/jodid25519/jsdoc.json +19 -0
  975. data/node_modules/jodid25519/lib/core.js +481 -0
  976. data/node_modules/jodid25519/lib/curve255.js +221 -0
  977. data/node_modules/jodid25519/lib/dh.js +111 -0
  978. data/node_modules/jodid25519/lib/eddsa.js +573 -0
  979. data/node_modules/jodid25519/lib/utils.js +198 -0
  980. data/node_modules/jodid25519/package.json +104 -0
  981. data/node_modules/jquery/AUTHORS.txt +295 -0
  982. data/node_modules/jquery/LICENSE.txt +36 -0
  983. data/node_modules/jquery/README.md +65 -0
  984. data/node_modules/jquery/bower.json +14 -0
  985. data/node_modules/jquery/dist/core.js +482 -0
  986. data/node_modules/jquery/dist/jquery.js +10220 -0
  987. data/node_modules/jquery/dist/jquery.min.js +4 -0
  988. data/node_modules/jquery/dist/jquery.min.map +1 -0
  989. data/node_modules/jquery/dist/jquery.slim.js +8107 -0
  990. data/node_modules/jquery/dist/jquery.slim.min.js +4 -0
  991. data/node_modules/jquery/dist/jquery.slim.min.map +1 -0
  992. data/node_modules/jquery/external/sizzle/LICENSE.txt +36 -0
  993. data/node_modules/jquery/external/sizzle/dist/sizzle.js +2272 -0
  994. data/node_modules/jquery/external/sizzle/dist/sizzle.min.js +3 -0
  995. data/node_modules/jquery/external/sizzle/dist/sizzle.min.map +1 -0
  996. data/node_modules/jquery/package.json +169 -0
  997. data/node_modules/jquery/src/.eslintrc.json +18 -0
  998. data/node_modules/jquery/src/ajax.js +855 -0
  999. data/node_modules/jquery/src/ajax/jsonp.js +102 -0
  1000. data/node_modules/jquery/src/ajax/load.js +76 -0
  1001. data/node_modules/jquery/src/ajax/parseXML.js +30 -0
  1002. data/node_modules/jquery/src/ajax/script.js +77 -0
  1003. data/node_modules/jquery/src/ajax/var/location.js +5 -0
  1004. data/node_modules/jquery/src/ajax/var/nonce.js +7 -0
  1005. data/node_modules/jquery/src/ajax/var/rquery.js +5 -0
  1006. data/node_modules/jquery/src/ajax/xhr.js +169 -0
  1007. data/node_modules/jquery/src/attributes.js +13 -0
  1008. data/node_modules/jquery/src/attributes/attr.js +140 -0
  1009. data/node_modules/jquery/src/attributes/classes.js +174 -0
  1010. data/node_modules/jquery/src/attributes/prop.js +143 -0
  1011. data/node_modules/jquery/src/attributes/support.js +33 -0
  1012. data/node_modules/jquery/src/attributes/val.js +188 -0
  1013. data/node_modules/jquery/src/callbacks.js +234 -0
  1014. data/node_modules/jquery/src/core.js +482 -0
  1015. data/node_modules/jquery/src/core/DOMEval.js +16 -0
  1016. data/node_modules/jquery/src/core/access.js +70 -0
  1017. data/node_modules/jquery/src/core/init.js +127 -0
  1018. data/node_modules/jquery/src/core/parseHTML.js +65 -0
  1019. data/node_modules/jquery/src/core/ready-no-deferred.js +105 -0
  1020. data/node_modules/jquery/src/core/ready.js +95 -0
  1021. data/node_modules/jquery/src/core/readyException.js +13 -0
  1022. data/node_modules/jquery/src/core/stripAndCollapse.js +14 -0
  1023. data/node_modules/jquery/src/core/support.js +20 -0
  1024. data/node_modules/jquery/src/core/var/rsingleTag.js +6 -0
  1025. data/node_modules/jquery/src/css.js +426 -0
  1026. data/node_modules/jquery/src/css/addGetHookIf.js +26 -0
  1027. data/node_modules/jquery/src/css/adjustCSS.js +71 -0
  1028. data/node_modules/jquery/src/css/curCSS.js +59 -0
  1029. data/node_modules/jquery/src/css/hiddenVisibleSelectors.js +15 -0
  1030. data/node_modules/jquery/src/css/showHide.js +105 -0
  1031. data/node_modules/jquery/src/css/support.js +89 -0
  1032. data/node_modules/jquery/src/css/var/cssExpand.js +5 -0
  1033. data/node_modules/jquery/src/css/var/getStyles.js +17 -0
  1034. data/node_modules/jquery/src/css/var/isHiddenWithinTree.js +34 -0
  1035. data/node_modules/jquery/src/css/var/rmargin.js +5 -0
  1036. data/node_modules/jquery/src/css/var/rnumnonpx.js +7 -0
  1037. data/node_modules/jquery/src/css/var/swap.js +26 -0
  1038. data/node_modules/jquery/src/data.js +179 -0
  1039. data/node_modules/jquery/src/data/Data.js +161 -0
  1040. data/node_modules/jquery/src/data/var/acceptData.js +19 -0
  1041. data/node_modules/jquery/src/data/var/dataPriv.js +7 -0
  1042. data/node_modules/jquery/src/data/var/dataUser.js +7 -0
  1043. data/node_modules/jquery/src/deferred.js +389 -0
  1044. data/node_modules/jquery/src/deferred/exceptionHook.js +21 -0
  1045. data/node_modules/jquery/src/deprecated.js +30 -0
  1046. data/node_modules/jquery/src/dimensions.js +56 -0
  1047. data/node_modules/jquery/src/effects.js +693 -0
  1048. data/node_modules/jquery/src/effects/Tween.js +123 -0
  1049. data/node_modules/jquery/src/effects/animatedSelector.js +15 -0
  1050. data/node_modules/jquery/src/event.js +745 -0
  1051. data/node_modules/jquery/src/event/ajax.js +22 -0
  1052. data/node_modules/jquery/src/event/alias.js +29 -0
  1053. data/node_modules/jquery/src/event/focusin.js +55 -0
  1054. data/node_modules/jquery/src/event/support.js +11 -0
  1055. data/node_modules/jquery/src/event/trigger.js +185 -0
  1056. data/node_modules/jquery/src/exports/amd.js +26 -0
  1057. data/node_modules/jquery/src/exports/global.js +34 -0
  1058. data/node_modules/jquery/src/jquery.js +41 -0
  1059. data/node_modules/jquery/src/manipulation.js +486 -0
  1060. data/node_modules/jquery/src/manipulation/_evalUrl.js +23 -0
  1061. data/node_modules/jquery/src/manipulation/buildFragment.js +104 -0
  1062. data/node_modules/jquery/src/manipulation/getAll.js +31 -0
  1063. data/node_modules/jquery/src/manipulation/setGlobalEval.js +22 -0
  1064. data/node_modules/jquery/src/manipulation/support.js +35 -0
  1065. data/node_modules/jquery/src/manipulation/var/rcheckableType.js +5 -0
  1066. data/node_modules/jquery/src/manipulation/var/rscriptType.js +5 -0
  1067. data/node_modules/jquery/src/manipulation/var/rtagName.js +5 -0
  1068. data/node_modules/jquery/src/manipulation/wrapMap.js +29 -0
  1069. data/node_modules/jquery/src/offset.js +232 -0
  1070. data/node_modules/jquery/src/queue.js +145 -0
  1071. data/node_modules/jquery/src/queue/delay.js +24 -0
  1072. data/node_modules/jquery/src/selector-native.js +237 -0
  1073. data/node_modules/jquery/src/selector-sizzle.js +19 -0
  1074. data/node_modules/jquery/src/selector.js +3 -0
  1075. data/node_modules/jquery/src/serialize.js +130 -0
  1076. data/node_modules/jquery/src/traversing.js +178 -0
  1077. data/node_modules/jquery/src/traversing/findFilter.js +106 -0
  1078. data/node_modules/jquery/src/traversing/var/dir.js +22 -0
  1079. data/node_modules/jquery/src/traversing/var/rneedsContext.js +8 -0
  1080. data/node_modules/jquery/src/traversing/var/siblings.js +17 -0
  1081. data/node_modules/jquery/src/var/ObjectFunctionString.js +7 -0
  1082. data/node_modules/jquery/src/var/arr.js +5 -0
  1083. data/node_modules/jquery/src/var/class2type.js +6 -0
  1084. data/node_modules/jquery/src/var/concat.js +7 -0
  1085. data/node_modules/jquery/src/var/document.js +5 -0
  1086. data/node_modules/jquery/src/var/documentElement.js +7 -0
  1087. data/node_modules/jquery/src/var/fnToString.js +7 -0
  1088. data/node_modules/jquery/src/var/getProto.js +5 -0
  1089. data/node_modules/jquery/src/var/hasOwn.js +7 -0
  1090. data/node_modules/jquery/src/var/indexOf.js +7 -0
  1091. data/node_modules/jquery/src/var/pnum.js +5 -0
  1092. data/node_modules/jquery/src/var/push.js +7 -0
  1093. data/node_modules/jquery/src/var/rcssNum.js +9 -0
  1094. data/node_modules/jquery/src/var/rnothtmlwhite.js +8 -0
  1095. data/node_modules/jquery/src/var/slice.js +7 -0
  1096. data/node_modules/jquery/src/var/support.js +6 -0
  1097. data/node_modules/jquery/src/var/toString.js +7 -0
  1098. data/node_modules/jquery/src/wrap.js +77 -0
  1099. data/node_modules/jsbn/.npmignore +2 -0
  1100. data/node_modules/jsbn/LICENSE +40 -0
  1101. data/node_modules/jsbn/README.md +175 -0
  1102. data/node_modules/jsbn/example.html +12 -0
  1103. data/node_modules/jsbn/example.js +3 -0
  1104. data/node_modules/jsbn/index.js +1358 -0
  1105. data/node_modules/jsbn/package.json +87 -0
  1106. data/node_modules/jsdom-global/.npmignore +1 -0
  1107. data/node_modules/jsdom-global/.travis.yml +6 -0
  1108. data/node_modules/jsdom-global/HISTORY.md +85 -0
  1109. data/node_modules/jsdom-global/README.md +137 -0
  1110. data/node_modules/jsdom-global/browser.js +10 -0
  1111. data/node_modules/jsdom-global/index.js +46 -0
  1112. data/node_modules/jsdom-global/keys.js +187 -0
  1113. data/node_modules/jsdom-global/package.json +95 -0
  1114. data/node_modules/jsdom-global/register.js +1 -0
  1115. data/node_modules/jsdom-global/test.js +22 -0
  1116. data/node_modules/jsdom/Changelog.md +1254 -0
  1117. data/node_modules/jsdom/LICENSE.txt +22 -0
  1118. data/node_modules/jsdom/README.md +592 -0
  1119. data/node_modules/jsdom/lib/jsdom.js +456 -0
  1120. data/node_modules/jsdom/lib/jsdom/browser/Window.js +502 -0
  1121. data/node_modules/jsdom/lib/jsdom/browser/default-stylesheet.js +1129 -0
  1122. data/node_modules/jsdom/lib/jsdom/browser/documentAdapter.js +73 -0
  1123. data/node_modules/jsdom/lib/jsdom/browser/documentfeatures.js +47 -0
  1124. data/node_modules/jsdom/lib/jsdom/browser/domtohtml.js +19 -0
  1125. data/node_modules/jsdom/lib/jsdom/browser/htmltodom.js +323 -0
  1126. data/node_modules/jsdom/lib/jsdom/browser/not-implemented.js +13 -0
  1127. data/node_modules/jsdom/lib/jsdom/browser/resource-loader.js +275 -0
  1128. data/node_modules/jsdom/lib/jsdom/level2/style.js +69 -0
  1129. data/node_modules/jsdom/lib/jsdom/level3/xpath.js +1874 -0
  1130. data/node_modules/jsdom/lib/jsdom/living/attributes.js +468 -0
  1131. data/node_modules/jsdom/lib/jsdom/living/attributes/Attr-impl.js +87 -0
  1132. data/node_modules/jsdom/lib/jsdom/living/blob-symbols.js +6 -0
  1133. data/node_modules/jsdom/lib/jsdom/living/blob.js +73 -0
  1134. data/node_modules/jsdom/lib/jsdom/living/dom-token-list.js +222 -0
  1135. data/node_modules/jsdom/lib/jsdom/living/domparsing/DOMParser-impl.js +61 -0
  1136. data/node_modules/jsdom/lib/jsdom/living/events/CustomEvent-impl.js +18 -0
  1137. data/node_modules/jsdom/lib/jsdom/living/events/ErrorEvent-impl.js +11 -0
  1138. data/node_modules/jsdom/lib/jsdom/living/events/Event-impl.js +77 -0
  1139. data/node_modules/jsdom/lib/jsdom/living/events/EventTarget-impl.js +303 -0
  1140. data/node_modules/jsdom/lib/jsdom/living/events/FocusEvent-impl.js +4 -0
  1141. data/node_modules/jsdom/lib/jsdom/living/events/HashChangeEvent-impl.js +11 -0
  1142. data/node_modules/jsdom/lib/jsdom/living/events/KeyboardEvent-impl.js +21 -0
  1143. data/node_modules/jsdom/lib/jsdom/living/events/MessageEvent-impl.js +22 -0
  1144. data/node_modules/jsdom/lib/jsdom/living/events/MouseEvent-impl.js +28 -0
  1145. data/node_modules/jsdom/lib/jsdom/living/events/PopStateEvent-impl.js +4 -0
  1146. data/node_modules/jsdom/lib/jsdom/living/events/ProgressEvent-impl.js +11 -0
  1147. data/node_modules/jsdom/lib/jsdom/living/events/TouchEvent-impl.js +11 -0
  1148. data/node_modules/jsdom/lib/jsdom/living/events/UIEvent-impl.js +19 -0
  1149. data/node_modules/jsdom/lib/jsdom/living/file-reader.js +133 -0
  1150. data/node_modules/jsdom/lib/jsdom/living/file-symbols.js +4 -0
  1151. data/node_modules/jsdom/lib/jsdom/living/file.js +22 -0
  1152. data/node_modules/jsdom/lib/jsdom/living/filelist-symbols.js +3 -0
  1153. data/node_modules/jsdom/lib/jsdom/living/filelist.js +21 -0
  1154. data/node_modules/jsdom/lib/jsdom/living/form-data-symbols.js +3 -0
  1155. data/node_modules/jsdom/lib/jsdom/living/generated/.gitkeep +0 -0
  1156. data/node_modules/jsdom/lib/jsdom/living/generated/AddEventListenerOptions.js +34 -0
  1157. data/node_modules/jsdom/lib/jsdom/living/generated/Attr.js +169 -0
  1158. data/node_modules/jsdom/lib/jsdom/living/generated/CharacterData.js +189 -0
  1159. data/node_modules/jsdom/lib/jsdom/living/generated/ChildNode.js +92 -0
  1160. data/node_modules/jsdom/lib/jsdom/living/generated/Comment.js +92 -0
  1161. data/node_modules/jsdom/lib/jsdom/living/generated/CustomEvent.js +122 -0
  1162. data/node_modules/jsdom/lib/jsdom/living/generated/CustomEventInit.js +34 -0
  1163. data/node_modules/jsdom/lib/jsdom/living/generated/DOMImplementation.js +143 -0
  1164. data/node_modules/jsdom/lib/jsdom/living/generated/DOMParser.js +97 -0
  1165. data/node_modules/jsdom/lib/jsdom/living/generated/Document.js +712 -0
  1166. data/node_modules/jsdom/lib/jsdom/living/generated/DocumentFragment.js +91 -0
  1167. data/node_modules/jsdom/lib/jsdom/living/generated/DocumentType.js +110 -0
  1168. data/node_modules/jsdom/lib/jsdom/living/generated/Element.js +552 -0
  1169. data/node_modules/jsdom/lib/jsdom/living/generated/ElementCSSInlineStyle.js +88 -0
  1170. data/node_modules/jsdom/lib/jsdom/living/generated/ElementContentEditable.js +77 -0
  1171. data/node_modules/jsdom/lib/jsdom/living/generated/ErrorEvent.js +137 -0
  1172. data/node_modules/jsdom/lib/jsdom/living/generated/ErrorEventInit.js +56 -0
  1173. data/node_modules/jsdom/lib/jsdom/living/generated/Event.js +251 -0
  1174. data/node_modules/jsdom/lib/jsdom/living/generated/EventInit.js +40 -0
  1175. data/node_modules/jsdom/lib/jsdom/living/generated/EventListenerOptions.js +32 -0
  1176. data/node_modules/jsdom/lib/jsdom/living/generated/EventModifierInit.js +146 -0
  1177. data/node_modules/jsdom/lib/jsdom/living/generated/EventTarget.js +130 -0
  1178. data/node_modules/jsdom/lib/jsdom/living/generated/FocusEvent.js +104 -0
  1179. data/node_modules/jsdom/lib/jsdom/living/generated/FocusEventInit.js +34 -0
  1180. data/node_modules/jsdom/lib/jsdom/living/generated/FormData.js +179 -0
  1181. data/node_modules/jsdom/lib/jsdom/living/generated/GlobalEventHandlers.js +770 -0
  1182. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAnchorElement.js +228 -0
  1183. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAppletElement.js +225 -0
  1184. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAreaElement.js +167 -0
  1185. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLAudioElement.js +82 -0
  1186. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBRElement.js +95 -0
  1187. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBaseElement.js +107 -0
  1188. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLBodyElement.js +164 -0
  1189. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLButtonElement.js +189 -0
  1190. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLCanvasElement.js +181 -0
  1191. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDListElement.js +98 -0
  1192. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataElement.js +95 -0
  1193. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDataListElement.js +82 -0
  1194. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDialogElement.js +98 -0
  1195. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDirectoryElement.js +98 -0
  1196. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLDivElement.js +95 -0
  1197. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLElement.js +205 -0
  1198. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLEmbedElement.js +159 -0
  1199. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFieldSetElement.js +119 -0
  1200. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFontElement.js +121 -0
  1201. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFormElement.js +211 -0
  1202. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameElement.js +203 -0
  1203. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLFrameSetElement.js +112 -0
  1204. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHRElement.js +150 -0
  1205. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadElement.js +82 -0
  1206. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHeadingElement.js +95 -0
  1207. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHtmlElement.js +95 -0
  1208. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLHyperlinkElementUtils.js +205 -0
  1209. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLIFrameElement.js +278 -0
  1210. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLImageElement.js +326 -0
  1211. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLInputElement.js +583 -0
  1212. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLIElement.js +108 -0
  1213. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLabelElement.js +103 -0
  1214. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLegendElement.js +103 -0
  1215. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLLinkElement.js +206 -0
  1216. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMapElement.js +103 -0
  1217. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMediaElement.js +505 -0
  1218. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMenuElement.js +124 -0
  1219. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMetaElement.js +134 -0
  1220. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLMeterElement.js +82 -0
  1221. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLModElement.js +108 -0
  1222. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOListElement.js +140 -0
  1223. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLObjectElement.js +309 -0
  1224. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptGroupElement.js +111 -0
  1225. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOptionElement.js +178 -0
  1226. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLOutputElement.js +95 -0
  1227. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLParagraphElement.js +95 -0
  1228. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLParamElement.js +134 -0
  1229. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLPreElement.js +95 -0
  1230. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLProgressElement.js +82 -0
  1231. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLQuoteElement.js +95 -0
  1232. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLScriptElement.js +204 -0
  1233. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSelectElement.js +260 -0
  1234. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSourceElement.js +146 -0
  1235. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLSpanElement.js +82 -0
  1236. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLStyleElement.js +125 -0
  1237. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCaptionElement.js +95 -0
  1238. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableCellElement.js +245 -0
  1239. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableColElement.js +161 -0
  1240. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableDataCellElement.js +95 -0
  1241. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableElement.js +357 -0
  1242. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableHeaderCellElement.js +121 -0
  1243. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableRowElement.js +202 -0
  1244. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTableSectionElement.js +173 -0
  1245. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTemplateElement.js +90 -0
  1246. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTextAreaElement.js +415 -0
  1247. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTimeElement.js +95 -0
  1248. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTitleElement.js +94 -0
  1249. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLTrackElement.js +193 -0
  1250. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLUListElement.js +111 -0
  1251. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLUnknownElement.js +82 -0
  1252. data/node_modules/jsdom/lib/jsdom/living/generated/HTMLVideoElement.js +138 -0
  1253. data/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEvent.js +113 -0
  1254. data/node_modules/jsdom/lib/jsdom/living/generated/HashChangeEventInit.js +38 -0
  1255. data/node_modules/jsdom/lib/jsdom/living/generated/History.js +179 -0
  1256. data/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEvent.js +269 -0
  1257. data/node_modules/jsdom/lib/jsdom/living/generated/KeyboardEventInit.js +90 -0
  1258. data/node_modules/jsdom/lib/jsdom/living/generated/LinkStyle.js +85 -0
  1259. data/node_modules/jsdom/lib/jsdom/living/generated/Location.js +227 -0
  1260. data/node_modules/jsdom/lib/jsdom/living/generated/MessageEvent.js +164 -0
  1261. data/node_modules/jsdom/lib/jsdom/living/generated/MessageEventInit.js +56 -0
  1262. data/node_modules/jsdom/lib/jsdom/living/generated/MouseEvent.js +234 -0
  1263. data/node_modules/jsdom/lib/jsdom/living/generated/MouseEventInit.js +82 -0
  1264. data/node_modules/jsdom/lib/jsdom/living/generated/Navigator.js +96 -0
  1265. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorConcurrentHardware.js +85 -0
  1266. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorCookies.js +85 -0
  1267. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorID.js +149 -0
  1268. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorLanguage.js +93 -0
  1269. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorOnLine.js +85 -0
  1270. data/node_modules/jsdom/lib/jsdom/living/generated/NavigatorPlugins.js +88 -0
  1271. data/node_modules/jsdom/lib/jsdom/living/generated/Node.js +512 -0
  1272. data/node_modules/jsdom/lib/jsdom/living/generated/NonDocumentTypeChildNode.js +93 -0
  1273. data/node_modules/jsdom/lib/jsdom/living/generated/NonElementParentNode.js +92 -0
  1274. data/node_modules/jsdom/lib/jsdom/living/generated/ParentNode.js +139 -0
  1275. data/node_modules/jsdom/lib/jsdom/living/generated/PopStateEvent.js +105 -0
  1276. data/node_modules/jsdom/lib/jsdom/living/generated/PopStateEventInit.js +32 -0
  1277. data/node_modules/jsdom/lib/jsdom/living/generated/ProcessingInstruction.js +90 -0
  1278. data/node_modules/jsdom/lib/jsdom/living/generated/ProgressEvent.js +122 -0
  1279. data/node_modules/jsdom/lib/jsdom/living/generated/ProgressEventInit.js +50 -0
  1280. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollIntoViewOptions.js +42 -0
  1281. data/node_modules/jsdom/lib/jsdom/living/generated/ScrollOptions.js +32 -0
  1282. data/node_modules/jsdom/lib/jsdom/living/generated/Text.js +107 -0
  1283. data/node_modules/jsdom/lib/jsdom/living/generated/TouchEvent.js +138 -0
  1284. data/node_modules/jsdom/lib/jsdom/living/generated/TreeWalker.js +189 -0
  1285. data/node_modules/jsdom/lib/jsdom/living/generated/UIEvent.js +134 -0
  1286. data/node_modules/jsdom/lib/jsdom/living/generated/UIEventInit.js +42 -0
  1287. data/node_modules/jsdom/lib/jsdom/living/generated/Window.js +1 -0
  1288. data/node_modules/jsdom/lib/jsdom/living/generated/WindowEventHandlers.js +242 -0
  1289. data/node_modules/jsdom/lib/jsdom/living/generated/XMLDocument.js +82 -0
  1290. data/node_modules/jsdom/lib/jsdom/living/generated/utils.js +40 -0
  1291. data/node_modules/jsdom/lib/jsdom/living/helpers/document-base-url.js +53 -0
  1292. data/node_modules/jsdom/lib/jsdom/living/helpers/focusing.js +74 -0
  1293. data/node_modules/jsdom/lib/jsdom/living/helpers/form-controls.js +43 -0
  1294. data/node_modules/jsdom/lib/jsdom/living/helpers/internal-constants.js +13 -0
  1295. data/node_modules/jsdom/lib/jsdom/living/helpers/ordered-set-parser.js +5 -0
  1296. data/node_modules/jsdom/lib/jsdom/living/helpers/proxied-window-event-handlers.js +11 -0
  1297. data/node_modules/jsdom/lib/jsdom/living/helpers/runtime-script-errors.js +68 -0
  1298. data/node_modules/jsdom/lib/jsdom/living/helpers/selectors.js +30 -0
  1299. data/node_modules/jsdom/lib/jsdom/living/helpers/stylesheets.js +78 -0
  1300. data/node_modules/jsdom/lib/jsdom/living/helpers/traversal.js +51 -0
  1301. data/node_modules/jsdom/lib/jsdom/living/helpers/validate-names.js +62 -0
  1302. data/node_modules/jsdom/lib/jsdom/living/html-collection.js +109 -0
  1303. data/node_modules/jsdom/lib/jsdom/living/index.js +57 -0
  1304. data/node_modules/jsdom/lib/jsdom/living/named-properties-window.js +139 -0
  1305. data/node_modules/jsdom/lib/jsdom/living/navigator/Navigator-impl.js +24 -0
  1306. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorConcurrentHardware-impl.js +8 -0
  1307. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorCookies-impl.js +7 -0
  1308. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorID-impl.js +37 -0
  1309. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorLanguage-impl.js +9 -0
  1310. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorOnLine-impl.js +7 -0
  1311. data/node_modules/jsdom/lib/jsdom/living/navigator/NavigatorPlugins-impl.js +7 -0
  1312. data/node_modules/jsdom/lib/jsdom/living/node-document-position.js +10 -0
  1313. data/node_modules/jsdom/lib/jsdom/living/node-filter.js +47 -0
  1314. data/node_modules/jsdom/lib/jsdom/living/node-iterator.js +232 -0
  1315. data/node_modules/jsdom/lib/jsdom/living/node-list.js +85 -0
  1316. data/node_modules/jsdom/lib/jsdom/living/node-type.js +16 -0
  1317. data/node_modules/jsdom/lib/jsdom/living/node.js +189 -0
  1318. data/node_modules/jsdom/lib/jsdom/living/nodes/CharacterData-impl.js +78 -0
  1319. data/node_modules/jsdom/lib/jsdom/living/nodes/ChildNode-impl.js +15 -0
  1320. data/node_modules/jsdom/lib/jsdom/living/nodes/Comment-impl.js +17 -0
  1321. data/node_modules/jsdom/lib/jsdom/living/nodes/DOMImplementation-impl.js +176 -0
  1322. data/node_modules/jsdom/lib/jsdom/living/nodes/Document-impl.js +777 -0
  1323. data/node_modules/jsdom/lib/jsdom/living/nodes/DocumentFragment-impl.js +21 -0
  1324. data/node_modules/jsdom/lib/jsdom/living/nodes/DocumentType-impl.js +26 -0
  1325. data/node_modules/jsdom/lib/jsdom/living/nodes/Element-impl.js +491 -0
  1326. data/node_modules/jsdom/lib/jsdom/living/nodes/ElementCSSInlineStyle-impl.js +7 -0
  1327. data/node_modules/jsdom/lib/jsdom/living/nodes/ElementContentEditable-impl.js +7 -0
  1328. data/node_modules/jsdom/lib/jsdom/living/nodes/GlobalEventHandlers-impl.js +7 -0
  1329. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAnchorElement-impl.js +25 -0
  1330. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAppletElement-impl.js +26 -0
  1331. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAreaElement-impl.js +18 -0
  1332. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLAudioElement-impl.js +9 -0
  1333. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBRElement-impl.js +9 -0
  1334. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBaseElement-impl.js +27 -0
  1335. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLBodyElement-impl.js +30 -0
  1336. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLButtonElement-impl.js +58 -0
  1337. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLCanvasElement-impl.js +134 -0
  1338. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDListElement-impl.js +9 -0
  1339. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataElement-impl.js +9 -0
  1340. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDataListElement-impl.js +9 -0
  1341. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDialogElement-impl.js +9 -0
  1342. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDirectoryElement-impl.js +9 -0
  1343. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLDivElement-impl.js +9 -0
  1344. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLElement-impl.js +144 -0
  1345. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLEmbedElement-impl.js +18 -0
  1346. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFieldSetElement-impl.js +14 -0
  1347. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFontElement-impl.js +9 -0
  1348. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFormElement-impl.js +125 -0
  1349. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameElement-impl.js +181 -0
  1350. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLFrameSetElement-impl.js +9 -0
  1351. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHRElement-impl.js +9 -0
  1352. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadElement-impl.js +9 -0
  1353. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHeadingElement-impl.js +9 -0
  1354. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHtmlElement-impl.js +9 -0
  1355. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLHyperlinkElementUtils-impl.js +275 -0
  1356. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLIFrameElement-impl.js +9 -0
  1357. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLImageElement-impl.js +93 -0
  1358. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLInputElement-impl.js +396 -0
  1359. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLIElement-impl.js +9 -0
  1360. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLabelElement-impl.js +72 -0
  1361. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLegendElement-impl.js +14 -0
  1362. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLLinkElement-impl.js +76 -0
  1363. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMapElement-impl.js +13 -0
  1364. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMediaElement-impl.js +140 -0
  1365. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMenuElement-impl.js +9 -0
  1366. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMetaElement-impl.js +9 -0
  1367. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLMeterElement-impl.js +9 -0
  1368. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLModElement-impl.js +9 -0
  1369. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOListElement-impl.js +9 -0
  1370. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLObjectElement-impl.js +35 -0
  1371. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptGroupElement-impl.js +9 -0
  1372. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOptionElement-impl.js +122 -0
  1373. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLOutputElement-impl.js +9 -0
  1374. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParagraphElement-impl.js +9 -0
  1375. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLParamElement-impl.js +9 -0
  1376. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLPreElement-impl.js +9 -0
  1377. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLProgressElement-impl.js +9 -0
  1378. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLQuoteElement-impl.js +9 -0
  1379. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLScriptElement-impl.js +139 -0
  1380. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSelectElement-impl.js +174 -0
  1381. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSourceElement-impl.js +18 -0
  1382. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLSpanElement-impl.js +9 -0
  1383. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLStyleElement-impl.js +33 -0
  1384. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCaptionElement-impl.js +9 -0
  1385. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableCellElement-impl.js +56 -0
  1386. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableColElement-impl.js +9 -0
  1387. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableDataCellElement-impl.js +9 -0
  1388. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableElement-impl.js +148 -0
  1389. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableHeaderCellElement-impl.js +9 -0
  1390. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableRowElement-impl.js +70 -0
  1391. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTableSectionElement-impl.js +54 -0
  1392. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTemplateElement-impl.js +33 -0
  1393. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTextAreaElement-impl.js +184 -0
  1394. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTimeElement-impl.js +9 -0
  1395. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTitleElement-impl.js +18 -0
  1396. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLTrackElement-impl.js +21 -0
  1397. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUListElement-impl.js +9 -0
  1398. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLUnknownElement-impl.js +9 -0
  1399. data/node_modules/jsdom/lib/jsdom/living/nodes/HTMLVideoElement-impl.js +26 -0
  1400. data/node_modules/jsdom/lib/jsdom/living/nodes/LinkStyle-impl.js +16 -0
  1401. data/node_modules/jsdom/lib/jsdom/living/nodes/Node-impl.js +475 -0
  1402. data/node_modules/jsdom/lib/jsdom/living/nodes/NonDocumentTypeChildNode-impl.js +28 -0
  1403. data/node_modules/jsdom/lib/jsdom/living/nodes/NonElementParentNode-impl.js +9 -0
  1404. data/node_modules/jsdom/lib/jsdom/living/nodes/ParentNode-impl.js +91 -0
  1405. data/node_modules/jsdom/lib/jsdom/living/nodes/ProcessingInstruction-impl.js +22 -0
  1406. data/node_modules/jsdom/lib/jsdom/living/nodes/Text-impl.js +48 -0
  1407. data/node_modules/jsdom/lib/jsdom/living/nodes/WindowEventHandlers-impl.js +9 -0
  1408. data/node_modules/jsdom/lib/jsdom/living/nodes/XMLDocument-impl.js +4 -0
  1409. data/node_modules/jsdom/lib/jsdom/living/post-message.js +36 -0
  1410. data/node_modules/jsdom/lib/jsdom/living/register-elements.js +306 -0
  1411. data/node_modules/jsdom/lib/jsdom/living/traversal/TreeWalker-impl.js +257 -0
  1412. data/node_modules/jsdom/lib/jsdom/living/window/History-impl.js +145 -0
  1413. data/node_modules/jsdom/lib/jsdom/living/window/History.idl +12 -0
  1414. data/node_modules/jsdom/lib/jsdom/living/window/Location-impl.js +235 -0
  1415. data/node_modules/jsdom/lib/jsdom/living/window/navigation.js +103 -0
  1416. data/node_modules/jsdom/lib/jsdom/living/xhr-sync-worker.js +50 -0
  1417. data/node_modules/jsdom/lib/jsdom/living/xhr-utils.js +327 -0
  1418. data/node_modules/jsdom/lib/jsdom/living/xhr/FormData-impl.js +182 -0
  1419. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-event-target.js +23 -0
  1420. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-symbols.js +4 -0
  1421. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest-upload.js +17 -0
  1422. data/node_modules/jsdom/lib/jsdom/living/xmlhttprequest.js +1016 -0
  1423. data/node_modules/jsdom/lib/jsdom/named-properties-tracker.js +156 -0
  1424. data/node_modules/jsdom/lib/jsdom/utils.js +242 -0
  1425. data/node_modules/jsdom/lib/jsdom/virtual-console.js +34 -0
  1426. data/node_modules/jsdom/lib/jsdom/vm-shim.js +106 -0
  1427. data/node_modules/jsdom/lib/jsdom/web-idl/DOMException.js +41 -0
  1428. data/node_modules/jsdom/lib/jsdom/web-idl/dom-exception-table.json +134 -0
  1429. data/node_modules/jsdom/node_modules/request/CHANGELOG.md +662 -0
  1430. data/node_modules/jsdom/node_modules/request/LICENSE +55 -0
  1431. data/node_modules/jsdom/node_modules/request/README.md +1098 -0
  1432. data/node_modules/jsdom/node_modules/request/index.js +156 -0
  1433. data/node_modules/jsdom/node_modules/request/lib/auth.js +168 -0
  1434. data/node_modules/jsdom/node_modules/request/lib/cookies.js +39 -0
  1435. data/node_modules/jsdom/node_modules/request/lib/getProxyFromURI.js +79 -0
  1436. data/node_modules/jsdom/node_modules/request/lib/har.js +215 -0
  1437. data/node_modules/jsdom/node_modules/request/lib/helpers.js +65 -0
  1438. data/node_modules/jsdom/node_modules/request/lib/multipart.js +112 -0
  1439. data/node_modules/jsdom/node_modules/request/lib/oauth.js +147 -0
  1440. data/node_modules/jsdom/node_modules/request/lib/querystring.js +51 -0
  1441. data/node_modules/jsdom/node_modules/request/lib/redirect.js +157 -0
  1442. data/node_modules/jsdom/node_modules/request/lib/tunnel.js +176 -0
  1443. data/node_modules/jsdom/node_modules/request/package.json +163 -0
  1444. data/node_modules/jsdom/node_modules/request/request.js +1475 -0
  1445. data/node_modules/jsdom/package.json +184 -0
  1446. data/node_modules/json-schema/README.md +5 -0
  1447. data/node_modules/json-schema/draft-00/hyper-schema +68 -0
  1448. data/node_modules/json-schema/draft-00/json-ref +26 -0
  1449. data/node_modules/json-schema/draft-00/links +33 -0
  1450. data/node_modules/json-schema/draft-00/schema +155 -0
  1451. data/node_modules/json-schema/draft-01/hyper-schema +68 -0
  1452. data/node_modules/json-schema/draft-01/json-ref +26 -0
  1453. data/node_modules/json-schema/draft-01/links +33 -0
  1454. data/node_modules/json-schema/draft-01/schema +155 -0
  1455. data/node_modules/json-schema/draft-02/hyper-schema +68 -0
  1456. data/node_modules/json-schema/draft-02/json-ref +26 -0
  1457. data/node_modules/json-schema/draft-02/links +35 -0
  1458. data/node_modules/json-schema/draft-02/schema +166 -0
  1459. data/node_modules/json-schema/draft-03/examples/address +20 -0
  1460. data/node_modules/json-schema/draft-03/examples/calendar +53 -0
  1461. data/node_modules/json-schema/draft-03/examples/card +105 -0
  1462. data/node_modules/json-schema/draft-03/examples/geo +8 -0
  1463. data/node_modules/json-schema/draft-03/examples/interfaces +23 -0
  1464. data/node_modules/json-schema/draft-03/hyper-schema +60 -0
  1465. data/node_modules/json-schema/draft-03/json-ref +26 -0
  1466. data/node_modules/json-schema/draft-03/links +35 -0
  1467. data/node_modules/json-schema/draft-03/schema +174 -0
  1468. data/node_modules/json-schema/draft-04/hyper-schema +60 -0
  1469. data/node_modules/json-schema/draft-04/links +41 -0
  1470. data/node_modules/json-schema/draft-04/schema +189 -0
  1471. data/node_modules/json-schema/draft-zyp-json-schema-03.xml +1120 -0
  1472. data/node_modules/json-schema/draft-zyp-json-schema-04.xml +1072 -0
  1473. data/node_modules/json-schema/lib/links.js +66 -0
  1474. data/node_modules/json-schema/lib/validate.js +273 -0
  1475. data/node_modules/json-schema/package.json +100 -0
  1476. data/node_modules/json-schema/test/tests.js +95 -0
  1477. data/node_modules/json-stringify-safe/.npmignore +1 -0
  1478. data/node_modules/json-stringify-safe/CHANGELOG.md +14 -0
  1479. data/node_modules/json-stringify-safe/LICENSE +15 -0
  1480. data/node_modules/json-stringify-safe/Makefile +35 -0
  1481. data/node_modules/json-stringify-safe/README.md +52 -0
  1482. data/node_modules/json-stringify-safe/package.json +102 -0
  1483. data/node_modules/json-stringify-safe/stringify.js +27 -0
  1484. data/node_modules/json-stringify-safe/test/mocha.opts +2 -0
  1485. data/node_modules/json-stringify-safe/test/stringify_test.js +246 -0
  1486. data/node_modules/jsonpointer/.travis.yml +7 -0
  1487. data/node_modules/jsonpointer/LICENSE.md +21 -0
  1488. data/node_modules/jsonpointer/README.md +39 -0
  1489. data/node_modules/jsonpointer/benchmark.js +56 -0
  1490. data/node_modules/jsonpointer/jsonpointer.js +93 -0
  1491. data/node_modules/jsonpointer/package.json +109 -0
  1492. data/node_modules/jsonpointer/test.js +131 -0
  1493. data/node_modules/jsprim/CHANGES.md +39 -0
  1494. data/node_modules/jsprim/LICENSE +19 -0
  1495. data/node_modules/jsprim/README.md +237 -0
  1496. data/node_modules/jsprim/lib/jsprim.js +488 -0
  1497. data/node_modules/jsprim/package.json +85 -0
  1498. data/node_modules/levn/LICENSE +22 -0
  1499. data/node_modules/levn/README.md +196 -0
  1500. data/node_modules/levn/lib/cast.js +298 -0
  1501. data/node_modules/levn/lib/coerce.js +285 -0
  1502. data/node_modules/levn/lib/index.js +22 -0
  1503. data/node_modules/levn/lib/parse-string.js +113 -0
  1504. data/node_modules/levn/lib/parse.js +102 -0
  1505. data/node_modules/levn/package.json +108 -0
  1506. data/node_modules/mime-db/HISTORY.md +375 -0
  1507. data/node_modules/mime-db/LICENSE +22 -0
  1508. data/node_modules/mime-db/README.md +82 -0
  1509. data/node_modules/mime-db/db.json +6712 -0
  1510. data/node_modules/mime-db/index.js +11 -0
  1511. data/node_modules/mime-db/package.json +137 -0
  1512. data/node_modules/mime-types/HISTORY.md +210 -0
  1513. data/node_modules/mime-types/LICENSE +23 -0
  1514. data/node_modules/mime-types/README.md +103 -0
  1515. data/node_modules/mime-types/index.js +188 -0
  1516. data/node_modules/mime-types/package.json +127 -0
  1517. data/node_modules/nwmatcher/LICENSE +22 -0
  1518. data/node_modules/nwmatcher/README.md +107 -0
  1519. data/node_modules/nwmatcher/package.json +99 -0
  1520. data/node_modules/nwmatcher/src/modules/nwmatcher-cache.js +187 -0
  1521. data/node_modules/nwmatcher/src/modules/nwmatcher-jquery.js +126 -0
  1522. data/node_modules/nwmatcher/src/modules/nwmatcher-pseudos.js +273 -0
  1523. data/node_modules/nwmatcher/src/modules/nwmatcher-shortcuts.js +35 -0
  1524. data/node_modules/nwmatcher/src/modules/nwmatcher-traversal.js +90 -0
  1525. data/node_modules/nwmatcher/src/modules/nwmatcher-webforms.js +104 -0
  1526. data/node_modules/nwmatcher/src/nwmatcher-base.js +785 -0
  1527. data/node_modules/nwmatcher/src/nwmatcher-noqsa.js +962 -0
  1528. data/node_modules/nwmatcher/src/nwmatcher.js +1780 -0
  1529. data/node_modules/oauth-sign/LICENSE +55 -0
  1530. data/node_modules/oauth-sign/README.md +4 -0
  1531. data/node_modules/oauth-sign/index.js +136 -0
  1532. data/node_modules/oauth-sign/package.json +98 -0
  1533. data/node_modules/optionator/CHANGELOG.md +52 -0
  1534. data/node_modules/optionator/LICENSE +22 -0
  1535. data/node_modules/optionator/README.md +236 -0
  1536. data/node_modules/optionator/lib/help.js +247 -0
  1537. data/node_modules/optionator/lib/index.js +465 -0
  1538. data/node_modules/optionator/lib/util.js +54 -0
  1539. data/node_modules/optionator/package.json +109 -0
  1540. data/node_modules/parse5/CHANGELOG.md +69 -0
  1541. data/node_modules/parse5/LICENSE +19 -0
  1542. data/node_modules/parse5/README.md +247 -0
  1543. data/node_modules/parse5/docs/build/index.md +963 -0
  1544. data/node_modules/parse5/index.js +12 -0
  1545. data/node_modules/parse5/lib/common/doctype.js +134 -0
  1546. data/node_modules/parse5/lib/common/foreign_content.js +257 -0
  1547. data/node_modules/parse5/lib/common/html.js +268 -0
  1548. data/node_modules/parse5/lib/common/unicode.js +48 -0
  1549. data/node_modules/parse5/lib/common/utils.js +13 -0
  1550. data/node_modules/parse5/lib/jsdom/jsdom_parser.js +39 -0
  1551. data/node_modules/parse5/lib/jsdom/parsing_unit.js +53 -0
  1552. data/node_modules/parse5/lib/serialization/serializer.js +178 -0
  1553. data/node_modules/parse5/lib/simple_api/simple_api_parser.js +107 -0
  1554. data/node_modules/parse5/lib/simple_api/tokenizer_proxy.js +122 -0
  1555. data/node_modules/parse5/lib/tokenization/location_info_mixin.js +80 -0
  1556. data/node_modules/parse5/lib/tokenization/named_entity_trie.js +6 -0
  1557. data/node_modules/parse5/lib/tokenization/preprocessor.js +115 -0
  1558. data/node_modules/parse5/lib/tokenization/tokenizer.js +2317 -0
  1559. data/node_modules/parse5/lib/tree_adapters/default.js +200 -0
  1560. data/node_modules/parse5/lib/tree_adapters/htmlparser2.js +317 -0
  1561. data/node_modules/parse5/lib/tree_construction/formatting_element_list.js +167 -0
  1562. data/node_modules/parse5/lib/tree_construction/location_info_mixin.js +197 -0
  1563. data/node_modules/parse5/lib/tree_construction/open_element_stack.js +379 -0
  1564. data/node_modules/parse5/lib/tree_construction/parser.js +2827 -0
  1565. data/node_modules/parse5/package.json +125 -0
  1566. data/node_modules/pinkie-promise/index.js +3 -0
  1567. data/node_modules/pinkie-promise/license +21 -0
  1568. data/node_modules/pinkie-promise/package.json +102 -0
  1569. data/node_modules/pinkie-promise/readme.md +28 -0
  1570. data/node_modules/pinkie/index.js +292 -0
  1571. data/node_modules/pinkie/license +21 -0
  1572. data/node_modules/pinkie/package.json +100 -0
  1573. data/node_modules/pinkie/readme.md +83 -0
  1574. data/node_modules/prelude-ls/CHANGELOG.md +99 -0
  1575. data/node_modules/prelude-ls/LICENSE +22 -0
  1576. data/node_modules/prelude-ls/README.md +15 -0
  1577. data/node_modules/prelude-ls/lib/Func.js +65 -0
  1578. data/node_modules/prelude-ls/lib/List.js +686 -0
  1579. data/node_modules/prelude-ls/lib/Num.js +130 -0
  1580. data/node_modules/prelude-ls/lib/Obj.js +154 -0
  1581. data/node_modules/prelude-ls/lib/Str.js +92 -0
  1582. data/node_modules/prelude-ls/lib/index.js +178 -0
  1583. data/node_modules/prelude-ls/package.json +116 -0
  1584. data/node_modules/punycode/LICENSE-MIT.txt +20 -0
  1585. data/node_modules/punycode/README.md +176 -0
  1586. data/node_modules/punycode/package.json +127 -0
  1587. data/node_modules/punycode/punycode.js +533 -0
  1588. data/node_modules/qs/.eslintignore +1 -0
  1589. data/node_modules/qs/.eslintrc +19 -0
  1590. data/node_modules/qs/CHANGELOG.md +144 -0
  1591. data/node_modules/qs/CONTRIBUTING.md +1 -0
  1592. data/node_modules/qs/LICENSE +28 -0
  1593. data/node_modules/qs/README.md +398 -0
  1594. data/node_modules/qs/dist/qs.js +574 -0
  1595. data/node_modules/qs/lib/formats.js +18 -0
  1596. data/node_modules/qs/lib/index.js +11 -0
  1597. data/node_modules/qs/lib/parse.js +166 -0
  1598. data/node_modules/qs/lib/stringify.js +187 -0
  1599. data/node_modules/qs/lib/utils.js +180 -0
  1600. data/node_modules/qs/package.json +121 -0
  1601. data/node_modules/qs/test/.eslintrc +9 -0
  1602. data/node_modules/qs/test/index.js +7 -0
  1603. data/node_modules/qs/test/parse.js +459 -0
  1604. data/node_modules/qs/test/stringify.js +538 -0
  1605. data/node_modules/qs/test/utils.js +22 -0
  1606. data/node_modules/sax/LICENSE +41 -0
  1607. data/node_modules/sax/LICENSE-W3C.html +188 -0
  1608. data/node_modules/sax/README.md +225 -0
  1609. data/node_modules/sax/lib/sax.js +1576 -0
  1610. data/node_modules/sax/package.json +133 -0
  1611. data/node_modules/sntp/.npmignore +18 -0
  1612. data/node_modules/sntp/.travis.yml +5 -0
  1613. data/node_modules/sntp/LICENSE +28 -0
  1614. data/node_modules/sntp/Makefile +9 -0
  1615. data/node_modules/sntp/README.md +68 -0
  1616. data/node_modules/sntp/examples/offset.js +16 -0
  1617. data/node_modules/sntp/examples/time.js +25 -0
  1618. data/node_modules/sntp/index.js +1 -0
  1619. data/node_modules/sntp/lib/index.js +412 -0
  1620. data/node_modules/sntp/package.json +98 -0
  1621. data/node_modules/sntp/test/index.js +435 -0
  1622. data/node_modules/source-map/.npmignore +2 -0
  1623. data/node_modules/source-map/.travis.yml +4 -0
  1624. data/node_modules/source-map/CHANGELOG.md +201 -0
  1625. data/node_modules/source-map/LICENSE +28 -0
  1626. data/node_modules/source-map/Makefile.dryice.js +166 -0
  1627. data/node_modules/source-map/README.md +479 -0
  1628. data/node_modules/source-map/build/assert-shim.js +56 -0
  1629. data/node_modules/source-map/build/mini-require.js +152 -0
  1630. data/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  1631. data/node_modules/source-map/build/prefix-utils.jsm +18 -0
  1632. data/node_modules/source-map/build/suffix-browser.js +8 -0
  1633. data/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  1634. data/node_modules/source-map/build/suffix-utils.jsm +21 -0
  1635. data/node_modules/source-map/build/test-prefix.js +8 -0
  1636. data/node_modules/source-map/build/test-suffix.js +3 -0
  1637. data/node_modules/source-map/lib/source-map.js +8 -0
  1638. data/node_modules/source-map/lib/source-map/array-set.js +97 -0
  1639. data/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
  1640. data/node_modules/source-map/lib/source-map/base64.js +42 -0
  1641. data/node_modules/source-map/lib/source-map/basic-source-map-consumer.js +420 -0
  1642. data/node_modules/source-map/lib/source-map/binary-search.js +80 -0
  1643. data/node_modules/source-map/lib/source-map/indexed-source-map-consumer.js +303 -0
  1644. data/node_modules/source-map/lib/source-map/mapping-list.js +86 -0
  1645. data/node_modules/source-map/lib/source-map/source-map-consumer.js +222 -0
  1646. data/node_modules/source-map/lib/source-map/source-map-generator.js +400 -0
  1647. data/node_modules/source-map/lib/source-map/source-node.js +414 -0
  1648. data/node_modules/source-map/lib/source-map/util.js +319 -0
  1649. data/node_modules/source-map/package.json +223 -0
  1650. data/node_modules/source-map/test/run-tests.js +62 -0
  1651. data/node_modules/source-map/test/source-map/test-api.js +26 -0
  1652. data/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  1653. data/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
  1654. data/node_modules/source-map/test/source-map/test-base64.js +35 -0
  1655. data/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  1656. data/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  1657. data/node_modules/source-map/test/source-map/test-source-map-consumer.js +874 -0
  1658. data/node_modules/source-map/test/source-map/test-source-map-generator.js +679 -0
  1659. data/node_modules/source-map/test/source-map/test-source-node.js +612 -0
  1660. data/node_modules/source-map/test/source-map/test-util.js +216 -0
  1661. data/node_modules/source-map/test/source-map/util.js +299 -0
  1662. data/node_modules/sshpk/.npmignore +9 -0
  1663. data/node_modules/sshpk/.travis.yml +11 -0
  1664. data/node_modules/sshpk/LICENSE +18 -0
  1665. data/node_modules/sshpk/README.md +666 -0
  1666. data/node_modules/sshpk/bin/sshpk-conv +201 -0
  1667. data/node_modules/sshpk/bin/sshpk-sign +191 -0
  1668. data/node_modules/sshpk/bin/sshpk-verify +166 -0
  1669. data/node_modules/sshpk/lib/algs.js +168 -0
  1670. data/node_modules/sshpk/lib/certificate.js +291 -0
  1671. data/node_modules/sshpk/lib/dhe.js +311 -0
  1672. data/node_modules/sshpk/lib/ed-compat.js +96 -0
  1673. data/node_modules/sshpk/lib/errors.js +84 -0
  1674. data/node_modules/sshpk/lib/fingerprint.js +161 -0
  1675. data/node_modules/sshpk/lib/formats/auto.js +73 -0
  1676. data/node_modules/sshpk/lib/formats/openssh-cert.js +289 -0
  1677. data/node_modules/sshpk/lib/formats/pem.js +186 -0
  1678. data/node_modules/sshpk/lib/formats/pkcs1.js +320 -0
  1679. data/node_modules/sshpk/lib/formats/pkcs8.js +505 -0
  1680. data/node_modules/sshpk/lib/formats/rfc4253.js +146 -0
  1681. data/node_modules/sshpk/lib/formats/ssh-private.js +261 -0
  1682. data/node_modules/sshpk/lib/formats/ssh.js +114 -0
  1683. data/node_modules/sshpk/lib/formats/x509-pem.js +77 -0
  1684. data/node_modules/sshpk/lib/formats/x509.js +484 -0
  1685. data/node_modules/sshpk/lib/identity.js +255 -0
  1686. data/node_modules/sshpk/lib/index.js +38 -0
  1687. data/node_modules/sshpk/lib/key.js +270 -0
  1688. data/node_modules/sshpk/lib/private-key.js +231 -0
  1689. data/node_modules/sshpk/lib/signature.js +245 -0
  1690. data/node_modules/sshpk/lib/ssh-buffer.js +148 -0
  1691. data/node_modules/sshpk/lib/utils.js +288 -0
  1692. data/node_modules/sshpk/man/man1/sshpk-conv.1 +135 -0
  1693. data/node_modules/sshpk/man/man1/sshpk-sign.1 +81 -0
  1694. data/node_modules/sshpk/man/man1/sshpk-verify.1 +68 -0
  1695. data/node_modules/sshpk/node_modules/assert-plus/AUTHORS +6 -0
  1696. data/node_modules/sshpk/node_modules/assert-plus/CHANGES.md +14 -0
  1697. data/node_modules/sshpk/node_modules/assert-plus/README.md +162 -0
  1698. data/node_modules/sshpk/node_modules/assert-plus/assert.js +211 -0
  1699. data/node_modules/sshpk/node_modules/assert-plus/package.json +115 -0
  1700. data/node_modules/sshpk/package.json +135 -0
  1701. data/node_modules/stringstream/.npmignore +15 -0
  1702. data/node_modules/stringstream/.travis.yml +4 -0
  1703. data/node_modules/stringstream/LICENSE.txt +22 -0
  1704. data/node_modules/stringstream/README.md +38 -0
  1705. data/node_modules/stringstream/example.js +27 -0
  1706. data/node_modules/stringstream/package.json +85 -0
  1707. data/node_modules/stringstream/stringstream.js +102 -0
  1708. data/node_modules/strip-ansi/index.js +6 -0
  1709. data/node_modules/strip-ansi/license +21 -0
  1710. data/node_modules/strip-ansi/package.json +123 -0
  1711. data/node_modules/strip-ansi/readme.md +33 -0
  1712. data/node_modules/supports-color/index.js +50 -0
  1713. data/node_modules/supports-color/license +21 -0
  1714. data/node_modules/supports-color/package.json +113 -0
  1715. data/node_modules/supports-color/readme.md +36 -0
  1716. data/node_modules/symbol-tree/.jscsrc +55 -0
  1717. data/node_modules/symbol-tree/.npmignore +6 -0
  1718. data/node_modules/symbol-tree/LICENSE +21 -0
  1719. data/node_modules/symbol-tree/README.md +68 -0
  1720. data/node_modules/symbol-tree/api.md +441 -0
  1721. data/node_modules/symbol-tree/lib/SymbolTree.js +834 -0
  1722. data/node_modules/symbol-tree/lib/SymbolTreeNode.js +54 -0
  1723. data/node_modules/symbol-tree/lib/TreeIterator.js +69 -0
  1724. data/node_modules/symbol-tree/lib/TreePosition.js +10 -0
  1725. data/node_modules/symbol-tree/package.json +121 -0
  1726. data/node_modules/symbol-tree/test/SymbolTree.js +1189 -0
  1727. data/node_modules/tough-cookie/LICENSE +27 -0
  1728. data/node_modules/tough-cookie/README.md +506 -0
  1729. data/node_modules/tough-cookie/lib/cookie.js +1336 -0
  1730. data/node_modules/tough-cookie/lib/memstore.js +170 -0
  1731. data/node_modules/tough-cookie/lib/pathMatch.js +61 -0
  1732. data/node_modules/tough-cookie/lib/permuteDomain.js +56 -0
  1733. data/node_modules/tough-cookie/lib/pubsuffix.js +98 -0
  1734. data/node_modules/tough-cookie/lib/store.js +71 -0
  1735. data/node_modules/tough-cookie/package.json +136 -0
  1736. data/node_modules/tr46/.npmignore +4 -0
  1737. data/node_modules/tr46/index.js +193 -0
  1738. data/node_modules/tr46/lib/.gitkeep +0 -0
  1739. data/node_modules/tr46/lib/mappingTable.json +1 -0
  1740. data/node_modules/tr46/package.json +91 -0
  1741. data/node_modules/tunnel-agent/LICENSE +55 -0
  1742. data/node_modules/tunnel-agent/README.md +4 -0
  1743. data/node_modules/tunnel-agent/index.js +243 -0
  1744. data/node_modules/tunnel-agent/package.json +100 -0
  1745. data/node_modules/tweetnacl/.npmignore +4 -0
  1746. data/node_modules/tweetnacl/CHANGELOG.md +209 -0
  1747. data/node_modules/tweetnacl/COPYING.txt +9 -0
  1748. data/node_modules/tweetnacl/ISSUE_TEMPLATE.md +3 -0
  1749. data/node_modules/tweetnacl/README.md +477 -0
  1750. data/node_modules/tweetnacl/nacl-fast.js +2388 -0
  1751. data/node_modules/tweetnacl/nacl-fast.min.js +2 -0
  1752. data/node_modules/tweetnacl/nacl.d.ts +98 -0
  1753. data/node_modules/tweetnacl/nacl.js +1175 -0
  1754. data/node_modules/tweetnacl/nacl.min.js +1 -0
  1755. data/node_modules/tweetnacl/package.json +121 -0
  1756. data/node_modules/type-check/LICENSE +22 -0
  1757. data/node_modules/type-check/README.md +210 -0
  1758. data/node_modules/type-check/lib/check.js +126 -0
  1759. data/node_modules/type-check/lib/index.js +16 -0
  1760. data/node_modules/type-check/lib/parse-type.js +196 -0
  1761. data/node_modules/type-check/package.json +102 -0
  1762. data/node_modules/type-detect/.npmignore +11 -0
  1763. data/node_modules/type-detect/History.md +52 -0
  1764. data/node_modules/type-detect/README.md +226 -0
  1765. data/node_modules/type-detect/ReleaseNotes.md +46 -0
  1766. data/node_modules/type-detect/index.js +1 -0
  1767. data/node_modules/type-detect/lib/type.js +134 -0
  1768. data/node_modules/type-detect/package.json +93 -0
  1769. data/node_modules/uuid/.npmignore +8 -0
  1770. data/node_modules/uuid/.travis.yml +5 -0
  1771. data/node_modules/uuid/AUTHORS +5 -0
  1772. data/node_modules/uuid/HISTORY.md +28 -0
  1773. data/node_modules/uuid/LICENSE.md +21 -0
  1774. data/node_modules/uuid/README.md +132 -0
  1775. data/node_modules/uuid/bin/uuid +26 -0
  1776. data/node_modules/uuid/index.js +8 -0
  1777. data/node_modules/uuid/lib/bytesToUuid.js +23 -0
  1778. data/node_modules/uuid/lib/rng-browser.js +33 -0
  1779. data/node_modules/uuid/lib/rng.js +10 -0
  1780. data/node_modules/uuid/package.json +122 -0
  1781. data/node_modules/uuid/test/mocha.opts +3 -0
  1782. data/node_modules/uuid/test/test.js +96 -0
  1783. data/node_modules/uuid/v1.js +103 -0
  1784. data/node_modules/uuid/v4.js +29 -0
  1785. data/node_modules/verror/.gitmodules +0 -0
  1786. data/node_modules/verror/.npmignore +1 -0
  1787. data/node_modules/verror/LICENSE +19 -0
  1788. data/node_modules/verror/Makefile +35 -0
  1789. data/node_modules/verror/Makefile.targ +285 -0
  1790. data/node_modules/verror/README.md +120 -0
  1791. data/node_modules/verror/examples/levels-verror.js +36 -0
  1792. data/node_modules/verror/examples/levels-werror.js +34 -0
  1793. data/node_modules/verror/examples/varargs.js +6 -0
  1794. data/node_modules/verror/examples/verror.js +13 -0
  1795. data/node_modules/verror/examples/werror.js +14 -0
  1796. data/node_modules/verror/jsl.node.conf +139 -0
  1797. data/node_modules/verror/lib/verror.js +157 -0
  1798. data/node_modules/verror/package.json +78 -0
  1799. data/node_modules/verror/tests/tst.inherit.js +100 -0
  1800. data/node_modules/verror/tests/tst.verror.js +156 -0
  1801. data/node_modules/verror/tests/tst.werror.js +179 -0
  1802. data/node_modules/webidl-conversions/LICENSE.md +12 -0
  1803. data/node_modules/webidl-conversions/README.md +53 -0
  1804. data/node_modules/webidl-conversions/lib/index.js +189 -0
  1805. data/node_modules/webidl-conversions/package.json +96 -0
  1806. data/node_modules/whatwg-encoding/LICENSE.txt +19 -0
  1807. data/node_modules/whatwg-encoding/lib/labels-to-names.json +207 -0
  1808. data/node_modules/whatwg-encoding/lib/supported-names.json +37 -0
  1809. data/node_modules/whatwg-encoding/lib/whatwg-encoding.js +47 -0
  1810. data/node_modules/whatwg-encoding/node_modules/iconv-lite/.npmignore +6 -0
  1811. data/node_modules/whatwg-encoding/node_modules/iconv-lite/.travis.yml +20 -0
  1812. data/node_modules/whatwg-encoding/node_modules/iconv-lite/Changelog.md +93 -0
  1813. data/node_modules/whatwg-encoding/node_modules/iconv-lite/LICENSE +21 -0
  1814. data/node_modules/whatwg-encoding/node_modules/iconv-lite/README.md +157 -0
  1815. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-codec.js +554 -0
  1816. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/dbcs-data.js +170 -0
  1817. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/index.js +22 -0
  1818. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/internal.js +187 -0
  1819. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-codec.js +72 -0
  1820. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data-generated.js +451 -0
  1821. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/sbcs-data.js +169 -0
  1822. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/big5-added.json +122 -0
  1823. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp936.json +264 -0
  1824. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp949.json +273 -0
  1825. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/cp950.json +177 -0
  1826. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/eucjp.json +182 -0
  1827. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gb18030-ranges.json +1 -0
  1828. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/gbk-added.json +55 -0
  1829. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/tables/shiftjis.json +125 -0
  1830. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/utf16.js +174 -0
  1831. data/node_modules/whatwg-encoding/node_modules/iconv-lite/encodings/utf7.js +289 -0
  1832. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/bom-handling.js +52 -0
  1833. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/extend-node.js +214 -0
  1834. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/index.js +141 -0
  1835. data/node_modules/whatwg-encoding/node_modules/iconv-lite/lib/streams.js +120 -0
  1836. data/node_modules/whatwg-encoding/node_modules/iconv-lite/package.json +153 -0
  1837. data/node_modules/whatwg-encoding/package.json +101 -0
  1838. data/node_modules/whatwg-url/.eslintignore +3 -0
  1839. data/node_modules/whatwg-url/LICENSE.txt +21 -0
  1840. data/node_modules/whatwg-url/README.md +66 -0
  1841. data/node_modules/whatwg-url/lib/URL-impl.js +216 -0
  1842. data/node_modules/whatwg-url/lib/URL.js +209 -0
  1843. data/node_modules/whatwg-url/lib/public-api.js +11 -0
  1844. data/node_modules/whatwg-url/lib/url-state-machine.js +1173 -0
  1845. data/node_modules/whatwg-url/lib/utils.js +20 -0
  1846. data/node_modules/whatwg-url/package.json +103 -0
  1847. data/node_modules/wordwrap/LICENSE +18 -0
  1848. data/node_modules/wordwrap/README.markdown +70 -0
  1849. data/node_modules/wordwrap/example/center.js +10 -0
  1850. data/node_modules/wordwrap/example/meat.js +3 -0
  1851. data/node_modules/wordwrap/index.js +76 -0
  1852. data/node_modules/wordwrap/package.json +94 -0
  1853. data/node_modules/wordwrap/test/break.js +32 -0
  1854. data/node_modules/wordwrap/test/idleness.txt +63 -0
  1855. data/node_modules/wordwrap/test/wrap.js +33 -0
  1856. data/node_modules/xml-name-validator/LICENSE.txt +19 -0
  1857. data/node_modules/xml-name-validator/README.md +36 -0
  1858. data/node_modules/xml-name-validator/lib/generated-parser.js +504 -0
  1859. data/node_modules/xml-name-validator/lib/grammar.pegjs +35 -0
  1860. data/node_modules/xml-name-validator/lib/xml-name-validator.js +17 -0
  1861. data/node_modules/xml-name-validator/package.json +97 -0
  1862. data/node_modules/xtend/.jshintrc +30 -0
  1863. data/node_modules/xtend/.npmignore +1 -0
  1864. data/node_modules/xtend/LICENCE +19 -0
  1865. data/node_modules/xtend/Makefile +4 -0
  1866. data/node_modules/xtend/README.md +32 -0
  1867. data/node_modules/xtend/immutable.js +19 -0
  1868. data/node_modules/xtend/mutable.js +17 -0
  1869. data/node_modules/xtend/package.json +117 -0
  1870. data/node_modules/xtend/test.js +83 -0
  1871. data/package.json +32 -0
  1872. data/vendor/assets/javascripts/select_all.js +1 -1
  1873. metadata +1870 -2
@@ -0,0 +1,1780 @@
1
+ /*
2
+ * Copyright (C) 2007-2016 Diego Perini
3
+ * All rights reserved.
4
+ *
5
+ * nwmatcher.js - A fast CSS selector engine and matcher
6
+ *
7
+ * Author: Diego Perini <diego.perini at gmail com>
8
+ * Version: 1.3.9
9
+ * Created: 20070722
10
+ * Release: 20161026
11
+ *
12
+ * License:
13
+ * http://javascript.nwbox.com/NWMatcher/MIT-LICENSE
14
+ * Download:
15
+ * http://javascript.nwbox.com/NWMatcher/nwmatcher.js
16
+ */
17
+
18
+ (function(global, factory) {
19
+
20
+ if (typeof module == 'object' && typeof exports == 'object') {
21
+ module.exports = factory;
22
+ } else if (typeof define === 'function' && define["amd"]) {
23
+ define(factory);
24
+ } else {
25
+ global.NW || (global.NW = { });
26
+ global.NW.Dom = factory(global);
27
+ }
28
+
29
+ })(this, function(global) {
30
+
31
+ var version = 'nwmatcher-1.3.9',
32
+
33
+ // processing context & root element
34
+ doc = global.document,
35
+ root = doc.documentElement,
36
+
37
+ // save utility methods references
38
+ slice = [ ].slice,
39
+
40
+ // persist previous parsed data
41
+ isSingleMatch,
42
+ isSingleSelect,
43
+
44
+ lastSlice,
45
+ lastContext,
46
+ lastPosition,
47
+
48
+ lastMatcher,
49
+ lastSelector,
50
+
51
+ lastPartsMatch,
52
+ lastPartsSelect,
53
+
54
+ // accepted prefix identifiers
55
+ // (id, class & pseudo-class)
56
+ prefixes = '[#.:]?',
57
+
58
+ // accepted attribute operators
59
+ operators = '([~*^$|!]?={1})',
60
+
61
+ // accepted whitespace characters
62
+ whitespace = '[\\x20\\t\\n\\r\\f]',
63
+
64
+ // 4 combinators F E, F>E, F+E, F~E
65
+ combinators = '\\x20|[>+~](?=[^>+~])',
66
+
67
+ // an+b format params for pseudo-classes
68
+ pseudoparms = '(?:[-+]?\\d*n)?[-+]?\\d*',
69
+
70
+ // skip [ ], ( ), { } brackets groups
71
+ skip_groups = '\\[.*\\]|\\(.*\\)|\\{.*\\}',
72
+
73
+ // any escaped char
74
+ any_esc_chr = '\\\\.',
75
+ // alpha chars & low dash
76
+ alphalodash = '[_a-zA-Z]',
77
+ // non-ascii chars (utf-8)
78
+ non_asc_chr = '[^\\x00-\\x9f]',
79
+ // escape sequences in strings
80
+ escaped_chr = '\\\\[^\\n\\r\\f0-9a-fA-F]',
81
+ // Unicode chars including trailing whitespace
82
+ unicode_chr = '\\\\[0-9a-fA-F]{1,6}(?:\\r\\n|' + whitespace + ')?',
83
+
84
+ // CSS quoted string values
85
+ quotedvalue = '"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"' + "|'[^'\\\\]*(?:\\\\.[^'\\\\]*)*'",
86
+
87
+ // regular expression used to skip single/nested brackets groups (round, square, curly)
88
+ // used to split comma groups excluding commas inside quotes '' "" or brackets () [] {}
89
+ reSplitGroup = /([^,\\()[\]]+|\[[^[\]]*\]|\[.*\]|\([^()]+\)|\(.*\)|\{[^{}]+\}|\{.*\}|\\.)+/g,
90
+
91
+ // regular expression to trim extra leading/trailing whitespace in selector strings
92
+ // whitespace is any combination of these 5 character [\x20\t\n\r\f]
93
+ // http://www.w3.org/TR/css3-selectors/#selector-syntax
94
+ reTrimSpaces = RegExp('[\\n\\r\\f]|^' + whitespace + '+|' + whitespace + '+$', 'g'),
95
+
96
+ // regular expression used in convertEscapes and unescapeIdentifier
97
+ reEscapedChars = /\\([0-9a-fA-F]{1,6}[\x20\t\n\r\f]?|.)|([\x22\x27])/g,
98
+
99
+ // for in excess whitespace removal
100
+ reWhiteSpace = /[\x20\t\n\r\f]+/g,
101
+
102
+ standardValidator, extendedValidator, reValidator,
103
+
104
+ attrcheck, attributes, attrmatcher, pseudoclass,
105
+
106
+ reOptimizeSelector, reSimpleNot, reSplitToken,
107
+
108
+ Optimize, reClass, reSimpleSelector,
109
+
110
+ // http://www.w3.org/TR/css3-syntax/#characters
111
+ // unicode/ISO 10646 characters \xA0 and higher
112
+ // NOTE: Safari 2.0.x crashes with escaped (\\)
113
+ // Unicode ranges in regular expressions so we
114
+ // use a negated character range class instead
115
+ // now assigned at runtime from config options
116
+ identifier,
117
+
118
+ // placeholder for extensions
119
+ extensions = '.+',
120
+
121
+ // precompiled Regular Expressions
122
+ Patterns = {
123
+ // structural pseudo-classes and child selectors
124
+ spseudos: /^\:(root|empty|(?:first|last|only)(?:-child|-of-type)|nth(?:-last)?(?:-child|-of-type)\(\s*(even|odd|(?:[-+]{0,1}\d*n\s*)?[-+]{0,1}\s*\d*)\s*\))?(.*)/i,
125
+ // uistates + dynamic + negation pseudo-classes
126
+ dpseudos: /^\:(link|visited|target|active|focus|hover|checked|disabled|enabled|selected|lang\(([-\w]{2,})\)|not\(\s*(:nth(?:-last)?(?:-child|-of-type)\(\s*(?:even|odd|(?:[-+]{0,1}\d*n\s*)?[-+]{0,1}\s*\d*)\s*\)|[^()]*)\s*\))?(.*)/i,
127
+ // E > F
128
+ children: RegExp('^' + whitespace + '*\\>' + whitespace + '*(.*)'),
129
+ // E + F
130
+ adjacent: RegExp('^' + whitespace + '*\\+' + whitespace + '*(.*)'),
131
+ // E ~ F
132
+ relative: RegExp('^' + whitespace + '*\\~' + whitespace + '*(.*)'),
133
+ // E F
134
+ ancestor: RegExp('^' + whitespace + '+(.*)'),
135
+ // all
136
+ universal: RegExp('^\\*(.*)')
137
+ },
138
+
139
+ Tokens = {
140
+ prefixes: prefixes,
141
+ identifier: identifier,
142
+ attributes: attributes
143
+ },
144
+
145
+ /*----------------------------- FEATURE TESTING ----------------------------*/
146
+
147
+ // detect native methods
148
+ isNative = (function() {
149
+ var re = / \w+\(/,
150
+ isnative = String(({ }).toString).replace(re, ' (');
151
+ return function(method) {
152
+ return method && typeof method != 'string' &&
153
+ isnative == String(method).replace(re, ' (');
154
+ };
155
+ })(),
156
+
157
+ // NATIVE_XXXXX true if method exist and is callable
158
+ // detect if DOM methods are native in browsers
159
+ NATIVE_FOCUS = isNative(doc.hasFocus),
160
+ NATIVE_QSAPI = isNative(doc.querySelector),
161
+ NATIVE_GEBID = isNative(doc.getElementById),
162
+ NATIVE_GEBTN = isNative(root.getElementsByTagName),
163
+ NATIVE_GEBCN = isNative(root.getElementsByClassName),
164
+
165
+ // detect native getAttribute/hasAttribute methods,
166
+ // frameworks extend these to elements, but it seems
167
+ // this does not work for XML namespaced attributes,
168
+ // used to check both getAttribute/hasAttribute in IE
169
+ NATIVE_GET_ATTRIBUTE = isNative(root.getAttribute),
170
+ NATIVE_HAS_ATTRIBUTE = isNative(root.hasAttribute),
171
+
172
+ // check if slice() can convert nodelist to array
173
+ // see http://yura.thinkweb2.com/cft/
174
+ NATIVE_SLICE_PROTO =
175
+ (function() {
176
+ var isBuggy = false;
177
+ try {
178
+ isBuggy = !!slice.call(doc.childNodes, 0)[0];
179
+ } catch(e) { }
180
+ return isBuggy;
181
+ })(),
182
+
183
+ // supports the new traversal API
184
+ NATIVE_TRAVERSAL_API =
185
+ 'nextElementSibling' in root && 'previousElementSibling' in root,
186
+
187
+ // BUGGY_XXXXX true if method is feature tested and has known bugs
188
+ // detect buggy gEBID
189
+ BUGGY_GEBID = NATIVE_GEBID ?
190
+ (function() {
191
+ var isBuggy = true, x = 'x' + String(+new Date),
192
+ a = doc.createElementNS ? 'a' : '<a name="' + x + '">';
193
+ (a = doc.createElement(a)).name = x;
194
+ root.insertBefore(a, root.firstChild);
195
+ isBuggy = !!doc.getElementById(x);
196
+ root.removeChild(a);
197
+ return isBuggy;
198
+ })() :
199
+ true,
200
+
201
+ // detect IE gEBTN comment nodes bug
202
+ BUGGY_GEBTN = NATIVE_GEBTN ?
203
+ (function() {
204
+ var div = doc.createElement('div');
205
+ div.appendChild(doc.createComment(''));
206
+ return !!div.getElementsByTagName('*')[0];
207
+ })() :
208
+ true,
209
+
210
+ // detect Opera gEBCN second class and/or UTF8 bugs as well as Safari 3.2
211
+ // caching class name results and not detecting when changed,
212
+ // tests are based on the jQuery selector test suite
213
+ BUGGY_GEBCN = NATIVE_GEBCN ?
214
+ (function() {
215
+ var isBuggy, div = doc.createElement('div'), test = '\u53f0\u5317';
216
+
217
+ // Opera tests
218
+ div.appendChild(doc.createElement('span')).
219
+ setAttribute('class', test + 'abc ' + test);
220
+ div.appendChild(doc.createElement('span')).
221
+ setAttribute('class', 'x');
222
+
223
+ isBuggy = !div.getElementsByClassName(test)[0];
224
+
225
+ // Safari test
226
+ div.lastChild.className = test;
227
+ return isBuggy || div.getElementsByClassName(test).length != 2;
228
+ })() :
229
+ true,
230
+
231
+ // detect IE bug with dynamic attributes
232
+ BUGGY_GET_ATTRIBUTE = NATIVE_GET_ATTRIBUTE ?
233
+ (function() {
234
+ var input = doc.createElement('input');
235
+ input.setAttribute('value', 5);
236
+ return input.defaultValue != 5;
237
+ })() :
238
+ true,
239
+
240
+ // detect IE bug with non-standard boolean attributes
241
+ BUGGY_HAS_ATTRIBUTE = NATIVE_HAS_ATTRIBUTE ?
242
+ (function() {
243
+ var option = doc.createElement('option');
244
+ option.setAttribute('selected', 'selected');
245
+ return !option.hasAttribute('selected');
246
+ })() :
247
+ true,
248
+
249
+ // detect Safari bug with selected option elements
250
+ BUGGY_SELECTED =
251
+ (function() {
252
+ var select = doc.createElement('select');
253
+ select.appendChild(doc.createElement('option'));
254
+ return !select.firstChild.selected;
255
+ })(),
256
+
257
+ // initialized with the loading context
258
+ // and reset for each different context
259
+ BUGGY_QUIRKS_GEBCN,
260
+ BUGGY_QUIRKS_QSAPI,
261
+
262
+ QUIRKS_MODE,
263
+ XML_DOCUMENT,
264
+
265
+ // detect Opera browser
266
+ OPERA = typeof global.opera != 'undefined' &&
267
+ (/opera/i).test(({ }).toString.call(global.opera)),
268
+
269
+ // skip simple selector optimizations for Opera >= 11
270
+ OPERA_QSAPI = OPERA && parseFloat(global.opera.version()) >= 11,
271
+
272
+ // check Selector API implementations
273
+ RE_BUGGY_QSAPI = NATIVE_QSAPI ?
274
+ (function() {
275
+ var pattern = [ ], context, element,
276
+
277
+ expect = function(selector, element, n) {
278
+ var result = false;
279
+ context.appendChild(element);
280
+ try { result = context.querySelectorAll(selector).length == n; } catch(e) { }
281
+ while (context.firstChild) { context.removeChild(context.firstChild); }
282
+ return result;
283
+ };
284
+
285
+ // certain bugs can only be detected in standard documents
286
+ // to avoid writing a live loading document create a fake one
287
+ if (doc.implementation && doc.implementation.createDocument) {
288
+ // use a shadow document body as context
289
+ context = doc.implementation.createDocument('', '', null).
290
+ appendChild(doc.createElement('html')).
291
+ appendChild(doc.createElement('head')).parentNode.
292
+ appendChild(doc.createElement('body'));
293
+ } else {
294
+ // use an unattached div node as context
295
+ context = doc.createElement('div');
296
+ }
297
+
298
+ // fix for Safari 8.x and other engines that
299
+ // fail querying filtered sibling combinators
300
+ element = doc.createElement('div');
301
+ element.innerHTML = '<p id="a"></p><br>';
302
+ expect('p#a+*', element, 0) &&
303
+ pattern.push('\\w+#\\w+.*[+~]');
304
+
305
+ // ^= $= *= operators bugs with empty values (Opera 10 / IE8)
306
+ element = doc.createElement('p');
307
+ element.setAttribute('class', '');
308
+ expect('[class^=""]', element, 1) &&
309
+ pattern.push('[*^$]=[\\x20\\t\\n\\r\\f]*(?:""|' + "'')");
310
+
311
+ // :checked bug with option elements (Firefox 3.6.x)
312
+ // it wrongly includes 'selected' options elements
313
+ // HTML5 rules says selected options also match
314
+ element = doc.createElement('option');
315
+ element.setAttribute('selected', 'selected');
316
+ expect(':checked', element, 0) &&
317
+ pattern.push(':checked');
318
+
319
+ // :enabled :disabled bugs with hidden fields (Firefox 3.5)
320
+ // http://www.w3.org/TR/html5/links.html#selector-enabled
321
+ // http://www.w3.org/TR/css3-selectors/#enableddisabled
322
+ // not supported by IE8 Query Selector
323
+ element = doc.createElement('input');
324
+ element.setAttribute('type', 'hidden');
325
+ expect(':enabled', element, 0) &&
326
+ pattern.push(':enabled', ':disabled');
327
+
328
+ // :link bugs with hyperlinks matching (Firefox/Safari)
329
+ element = doc.createElement('link');
330
+ element.setAttribute('href', 'x');
331
+ expect(':link', element, 1) ||
332
+ pattern.push(':link');
333
+
334
+ // avoid attribute selectors for IE QSA
335
+ if (BUGGY_HAS_ATTRIBUTE) {
336
+ // IE fails in reading:
337
+ // - original values for input/textarea
338
+ // - original boolean values for controls
339
+ pattern.push('\\[[\\x20\\t\\n\\r\\f]*(?:checked|disabled|ismap|multiple|readonly|selected|value)');
340
+ }
341
+
342
+ return pattern.length ?
343
+ RegExp(pattern.join('|')) :
344
+ { 'test': function() { return false; } };
345
+
346
+ })() :
347
+ true,
348
+
349
+ /*----------------------------- LOOKUP OBJECTS -----------------------------*/
350
+
351
+ IE_LT_9 = typeof doc.addEventListener != 'function',
352
+
353
+ LINK_NODES = { 'a': 1, 'A': 1, 'area': 1, 'AREA': 1, 'link': 1, 'LINK': 1 },
354
+
355
+ // boolean attributes should return attribute name instead of true/false
356
+ ATTR_BOOLEAN = {
357
+ 'checked': 1, 'disabled': 1, 'ismap': 1,
358
+ 'multiple': 1, 'readonly': 1, 'selected': 1
359
+ },
360
+
361
+ // dynamic attributes that needs to be checked against original HTML value
362
+ ATTR_DEFAULT = {
363
+ 'value': 'defaultValue',
364
+ 'checked': 'defaultChecked',
365
+ 'selected': 'defaultSelected'
366
+ },
367
+
368
+ // attributes referencing URI data values need special treatment in IE
369
+ ATTR_URIDATA = {
370
+ 'action': 2, 'cite': 2, 'codebase': 2, 'data': 2, 'href': 2,
371
+ 'longdesc': 2, 'lowsrc': 2, 'src': 2, 'usemap': 2
372
+ },
373
+
374
+ // HTML 5 draft specifications
375
+ // http://www.whatwg.org/specs/web-apps/current-work/#selectors
376
+ HTML_TABLE = {
377
+ // class attribute must be treated case-insensitive in HTML quirks mode
378
+ // initialized by default to Standard Mode (case-sensitive),
379
+ // set dynamically by the attribute resolver
380
+ 'class': 0,
381
+ 'accept': 1, 'accept-charset': 1, 'align': 1, 'alink': 1, 'axis': 1,
382
+ 'bgcolor': 1, 'charset': 1, 'checked': 1, 'clear': 1, 'codetype': 1, 'color': 1,
383
+ 'compact': 1, 'declare': 1, 'defer': 1, 'dir': 1, 'direction': 1, 'disabled': 1,
384
+ 'enctype': 1, 'face': 1, 'frame': 1, 'hreflang': 1, 'http-equiv': 1, 'lang': 1,
385
+ 'language': 1, 'link': 1, 'media': 1, 'method': 1, 'multiple': 1, 'nohref': 1,
386
+ 'noresize': 1, 'noshade': 1, 'nowrap': 1, 'readonly': 1, 'rel': 1, 'rev': 1,
387
+ 'rules': 1, 'scope': 1, 'scrolling': 1, 'selected': 1, 'shape': 1, 'target': 1,
388
+ 'text': 1, 'type': 1, 'valign': 1, 'valuetype': 1, 'vlink': 1
389
+ },
390
+
391
+ // the following attributes must be treated case-insensitive in XHTML mode
392
+ // Niels Leenheer http://rakaz.nl/item/css_selector_bugs_case_sensitivity
393
+ XHTML_TABLE = {
394
+ 'accept': 1, 'accept-charset': 1, 'alink': 1, 'axis': 1,
395
+ 'bgcolor': 1, 'charset': 1, 'codetype': 1, 'color': 1,
396
+ 'enctype': 1, 'face': 1, 'hreflang': 1, 'http-equiv': 1,
397
+ 'lang': 1, 'language': 1, 'link': 1, 'media': 1, 'rel': 1,
398
+ 'rev': 1, 'target': 1, 'text': 1, 'type': 1, 'vlink': 1
399
+ },
400
+
401
+ /*-------------------------- REGULAR EXPRESSIONS ---------------------------*/
402
+
403
+ // placeholder to add functionalities
404
+ Selectors = {
405
+ // as a simple example this will check
406
+ // for chars not in standard ascii table
407
+ //
408
+ // 'mySpecialSelector': {
409
+ // 'Expression': /\u0080-\uffff/,
410
+ // 'Callback': mySelectorCallback
411
+ // }
412
+ //
413
+ // 'mySelectorCallback' will be invoked
414
+ // only after passing all other standard
415
+ // checks and only if none of them worked
416
+ },
417
+
418
+ // attribute operators
419
+ Operators = {
420
+ '=': "n=='%m'",
421
+ '^=': "n.indexOf('%m')==0",
422
+ '*=': "n.indexOf('%m')>-1",
423
+ '|=': "(n+'-').indexOf('%m-')==0",
424
+ '~=': "(' '+n+' ').indexOf(' %m ')>-1",
425
+ '$=': "n.substr(n.length-'%m'.length)=='%m'"
426
+ },
427
+
428
+ /*------------------------------ UTIL METHODS ------------------------------*/
429
+
430
+ // concat elements to data
431
+ concatList =
432
+ function(data, elements) {
433
+ var i = -1, element;
434
+ if (!data.length && Array.slice)
435
+ return Array.slice(elements);
436
+ while ((element = elements[++i]))
437
+ data[data.length] = element;
438
+ return data;
439
+ },
440
+
441
+ // concat elements to data and callback
442
+ concatCall =
443
+ function(data, elements, callback) {
444
+ var i = -1, element;
445
+ while ((element = elements[++i])) {
446
+ if (false === callback(data[data.length] = element)) { break; }
447
+ }
448
+ return data;
449
+ },
450
+
451
+ // change context specific variables
452
+ switchContext =
453
+ function(from, force) {
454
+ var div, oldDoc = doc;
455
+ // save passed context
456
+ lastContext = from;
457
+ // set new context document
458
+ doc = from.ownerDocument || from;
459
+ if (force || oldDoc !== doc) {
460
+ // set document root
461
+ root = doc.documentElement;
462
+ // set host environment flags
463
+ XML_DOCUMENT = doc.createElement('DiV').nodeName == 'DiV';
464
+
465
+ // In quirks mode css class names are case insensitive.
466
+ // In standards mode they are case sensitive. See docs:
467
+ // https://developer.mozilla.org/en/Mozilla_Quirks_Mode_Behavior
468
+ // http://www.whatwg.org/specs/web-apps/current-work/#selectors
469
+ QUIRKS_MODE = !XML_DOCUMENT &&
470
+ typeof doc.compatMode == 'string' ?
471
+ doc.compatMode.indexOf('CSS') < 0 :
472
+ (function() {
473
+ var style = doc.createElement('div').style;
474
+ return style && (style.width = 1) && style.width == '1px';
475
+ })();
476
+
477
+ div = doc.createElement('div');
478
+ div.appendChild(doc.createElement('p')).setAttribute('class', 'xXx');
479
+ div.appendChild(doc.createElement('p')).setAttribute('class', 'xxx');
480
+
481
+ // GEBCN buggy in quirks mode, match count is:
482
+ // Firefox 3.0+ [xxx = 1, xXx = 1]
483
+ // Opera 10.63+ [xxx = 0, xXx = 2]
484
+ BUGGY_QUIRKS_GEBCN =
485
+ !XML_DOCUMENT && NATIVE_GEBCN && QUIRKS_MODE &&
486
+ (div.getElementsByClassName('xxx').length != 2 ||
487
+ div.getElementsByClassName('xXx').length != 2);
488
+
489
+ // QSAPI buggy in quirks mode, match count is:
490
+ // At least Chrome 4+, Firefox 3.5+, Opera 10.x+, Safari 4+ [xxx = 1, xXx = 2]
491
+ // Safari 3.2 QSA doesn't work with mixedcase in quirksmode [xxx = 1, xXx = 0]
492
+ // https://bugs.webkit.org/show_bug.cgi?id=19047
493
+ // must test the attribute selector '[class~=xxx]'
494
+ // before '.xXx' or the bug may not present itself
495
+ BUGGY_QUIRKS_QSAPI =
496
+ !XML_DOCUMENT && NATIVE_QSAPI && QUIRKS_MODE &&
497
+ (div.querySelectorAll('[class~=xxx]').length != 2 ||
498
+ div.querySelectorAll('.xXx').length != 2);
499
+
500
+ Config.CACHING && Dom.setCache(true, doc);
501
+ }
502
+ },
503
+
504
+ // convert single codepoint to UTF-16 encoding
505
+ codePointToUTF16 =
506
+ function(codePoint) {
507
+ // out of range, use replacement character
508
+ if (codePoint < 1 || codePoint > 0x10ffff ||
509
+ (codePoint > 0xd7ff && codePoint < 0xe000)) {
510
+ return '\\ufffd';
511
+ }
512
+ // javascript strings are UTF-16 encoded
513
+ if (codePoint < 0x10000) {
514
+ var lowHex = '000' + codePoint.toString(16);
515
+ return '\\u' + lowHex.substr(lowHex.length - 4);
516
+ }
517
+ // supplementary high + low surrogates
518
+ return '\\u' + (((codePoint - 0x10000) >> 0x0a) + 0xd800).toString(16) +
519
+ '\\u' + (((codePoint - 0x10000) % 0x400) + 0xdc00).toString(16);
520
+ },
521
+
522
+ // convert single codepoint to string
523
+ stringFromCodePoint =
524
+ function(codePoint) {
525
+ // out of range, use replacement character
526
+ if (codePoint < 1 || codePoint > 0x10ffff ||
527
+ (codePoint > 0xd7ff && codePoint < 0xe000)) {
528
+ return '\ufffd';
529
+ }
530
+ if (codePoint < 0x10000) {
531
+ return String.fromCharCode(codePoint);
532
+ }
533
+ return String.fromCodePoint ?
534
+ String.fromCodePoint(codePoint) :
535
+ String.fromCharCode(
536
+ ((codePoint - 0x10000) >> 0x0a) + 0xd800,
537
+ ((codePoint - 0x10000) % 0x400) + 0xdc00);
538
+ },
539
+
540
+ // convert escape sequence in a CSS string or identifier
541
+ // to javascript string with javascript escape sequences
542
+ convertEscapes =
543
+ function(str) {
544
+ return str.replace(reEscapedChars,
545
+ function(substring, p1, p2) {
546
+ // unescaped " or '
547
+ return p2 ? '\\' + p2 :
548
+ // javascript strings are UTF-16 encoded
549
+ /^[0-9a-fA-F]/.test(p1) ? codePointToUTF16(parseInt(p1, 16)) :
550
+ // \' \"
551
+ /^[\\\x22\x27]/.test(p1) ? substring :
552
+ // \g \h \. \# etc
553
+ p1;
554
+ }
555
+ );
556
+ },
557
+
558
+ // convert escape sequence in a CSS string or identifier
559
+ // to javascript string with characters representations
560
+ unescapeIdentifier =
561
+ function(str) {
562
+ return str.replace(reEscapedChars,
563
+ function(substring, p1, p2) {
564
+ // unescaped " or '
565
+ return p2 ? p2 :
566
+ // javascript strings are UTF-16 encoded
567
+ /^[0-9a-fA-F]/.test(p1) ? stringFromCodePoint(parseInt(p1, 16)) :
568
+ // \' \"
569
+ /^[\\\x22\x27]/.test(p1) ? substring :
570
+ // \g \h \. \# etc
571
+ p1;
572
+ }
573
+ );
574
+ },
575
+
576
+ /*------------------------------ DOM METHODS -------------------------------*/
577
+
578
+ // element by id (raw)
579
+ // @return reference or null
580
+ byIdRaw =
581
+ function(id, elements) {
582
+ var i = -1, element;
583
+ while ((element = elements[++i])) {
584
+ if (element.getAttribute('id') == id) {
585
+ break;
586
+ }
587
+ }
588
+ return element || null;
589
+ },
590
+
591
+ // element by id
592
+ // @return reference or null
593
+ _byId = !BUGGY_GEBID ?
594
+ function(id, from) {
595
+ id = (/\\/).test(id) ? unescapeIdentifier(id) : id;
596
+ return from.getElementById && from.getElementById(id) ||
597
+ byIdRaw(id, from.getElementsByTagName('*'));
598
+ } :
599
+ function(id, from) {
600
+ var element = null;
601
+ id = (/\\/).test(id) ? unescapeIdentifier(id) : id;
602
+ if (XML_DOCUMENT || from.nodeType != 9) {
603
+ return byIdRaw(id, from.getElementsByTagName('*'));
604
+ }
605
+ if ((element = from.getElementById(id)) &&
606
+ element.name == id && from.getElementsByName) {
607
+ return byIdRaw(id, from.getElementsByName(id));
608
+ }
609
+ return element;
610
+ },
611
+
612
+ // publicly exposed byId
613
+ // @return reference or null
614
+ byId =
615
+ function(id, from) {
616
+ from || (from = doc);
617
+ if (lastContext !== from) { switchContext(from); }
618
+ return _byId(id, from);
619
+ },
620
+
621
+ // elements by tag (raw)
622
+ // @return array
623
+ byTagRaw =
624
+ function(tag, from) {
625
+ var any = tag == '*', element = from, elements = [ ], next = element.firstChild;
626
+ any || (tag = tag.toUpperCase());
627
+ while ((element = next)) {
628
+ if (element.tagName > '@' && (any || element.tagName.toUpperCase() == tag)) {
629
+ elements[elements.length] = element;
630
+ }
631
+ if ((next = element.firstChild || element.nextSibling)) continue;
632
+ while (!next && (element = element.parentNode) && element !== from) {
633
+ next = element.nextSibling;
634
+ }
635
+ }
636
+ return elements;
637
+ },
638
+
639
+ // elements by tag
640
+ // @return array
641
+ _byTag = !BUGGY_GEBTN && NATIVE_SLICE_PROTO ?
642
+ function(tag, from) {
643
+ return XML_DOCUMENT || from.nodeType == 11 ? byTagRaw(tag, from) :
644
+ slice.call(from.getElementsByTagName(tag), 0);
645
+ } :
646
+ function(tag, from) {
647
+ var i = -1, j = i, data = [ ], element,
648
+ elements = XML_DOCUMENT || from.nodeType == 11 ?
649
+ byTagRaw(tag, from) : from.getElementsByTagName(tag);
650
+ if (tag == '*') {
651
+ while ((element = elements[++i])) {
652
+ if (element.nodeName > '@') {
653
+ data[++j] = element;
654
+ }
655
+ }
656
+ } else {
657
+ while ((element = elements[++i])) {
658
+ data[i] = element;
659
+ }
660
+ }
661
+ return data;
662
+ },
663
+
664
+ // publicly exposed byTag
665
+ // @return array
666
+ byTag =
667
+ function(tag, from) {
668
+ from || (from = doc);
669
+ if (lastContext !== from) { switchContext(from); }
670
+ return _byTag(tag, from);
671
+ },
672
+
673
+ // publicly exposed byName
674
+ // @return array
675
+ byName =
676
+ function(name, from) {
677
+ return select('[name="' + name.replace(/\\([^\\]{1})/g, '$1') + '"]', from);
678
+ },
679
+
680
+ // elements by class (raw)
681
+ // @return array
682
+ byClassRaw =
683
+ function(name, from) {
684
+ var i = -1, j = i, data = [ ], element, elements = _byTag('*', from), n;
685
+ name = ' ' + (QUIRKS_MODE ? name.toLowerCase() : name) + ' ';
686
+ while ((element = elements[++i])) {
687
+ n = XML_DOCUMENT ? element.getAttribute('class') : element.className;
688
+ if (n && n.length && (' ' + (QUIRKS_MODE ? n.toLowerCase() : n).
689
+ replace(reWhiteSpace, ' ') + ' ').indexOf(name) > -1) {
690
+ data[++j] = element;
691
+ }
692
+ }
693
+ return data;
694
+ },
695
+
696
+ // elements by class
697
+ // @return array
698
+ _byClass =
699
+ function(name, from) {
700
+ name = QUIRKS_MODE ? name.toLowerCase() : name;
701
+ name = (/\\/).test(name) ? unescapeIdentifier(name) : name;
702
+ return (BUGGY_GEBCN || BUGGY_QUIRKS_GEBCN || XML_DOCUMENT || !from.getElementsByClassName) ?
703
+ byClassRaw(name, from) : slice.call(from.getElementsByClassName(name));
704
+ },
705
+
706
+ // publicly exposed byClass
707
+ // @return array
708
+ byClass =
709
+ function(name, from) {
710
+ from || (from = doc);
711
+ if (lastContext !== from) { switchContext(from); }
712
+ return _byClass(name, from);
713
+ },
714
+
715
+ // check element is descendant of container
716
+ // @return boolean
717
+ contains = 'compareDocumentPosition' in root ?
718
+ function(container, element) {
719
+ return (container.compareDocumentPosition(element) & 16) == 16;
720
+ } : 'contains' in root ?
721
+ function(container, element) {
722
+ return container !== element && container.contains(element);
723
+ } :
724
+ function(container, element) {
725
+ while ((element = element.parentNode)) {
726
+ if (element === container) return true;
727
+ }
728
+ return false;
729
+ },
730
+
731
+ // attribute value
732
+ // @return string
733
+ getAttribute = !BUGGY_GET_ATTRIBUTE && !IE_LT_9 ?
734
+ function(node, attribute) {
735
+ return node.getAttribute(attribute);
736
+ } :
737
+ function(node, attribute) {
738
+ attribute = attribute.toLowerCase();
739
+ if (typeof node[attribute] == 'object') {
740
+ return node.attributes[attribute] &&
741
+ node.attributes[attribute].value;
742
+ }
743
+ return (
744
+ // 'type' can only be read by using native getAttribute
745
+ attribute == 'type' ? node.getAttribute(attribute) :
746
+ // specific URI data attributes (parameter 2 to fix IE bug)
747
+ ATTR_URIDATA[attribute] ? node.getAttribute(attribute, 2) :
748
+ // boolean attributes should return name instead of true/false
749
+ ATTR_BOOLEAN[attribute] ? node.getAttribute(attribute) ? attribute : 'false' :
750
+ (node = node.getAttributeNode(attribute)) && node.value);
751
+ },
752
+
753
+ // attribute presence
754
+ // @return boolean
755
+ hasAttribute = !BUGGY_HAS_ATTRIBUTE && !IE_LT_9 ?
756
+ function(node, attribute) {
757
+ return XML_DOCUMENT ?
758
+ !!node.getAttribute(attribute) :
759
+ node.hasAttribute(attribute);
760
+ } :
761
+ function(node, attribute) {
762
+ // read the node attribute object
763
+ var obj = node.getAttributeNode(attribute = attribute.toLowerCase());
764
+ return ATTR_DEFAULT[attribute] && attribute != 'value' ?
765
+ node[ATTR_DEFAULT[attribute]] : obj && obj.specified;
766
+ },
767
+
768
+ // check node emptyness
769
+ // @return boolean
770
+ isEmpty =
771
+ function(node) {
772
+ node = node.firstChild;
773
+ while (node) {
774
+ if (node.nodeType == 3 || node.nodeName > '@') return false;
775
+ node = node.nextSibling;
776
+ }
777
+ return true;
778
+ },
779
+
780
+ // check if element matches the :link pseudo
781
+ // @return boolean
782
+ isLink =
783
+ function(element) {
784
+ return hasAttribute(element,'href') && LINK_NODES[element.nodeName];
785
+ },
786
+
787
+ // child position by nodeType
788
+ // @return number
789
+ nthElement =
790
+ function(element, last) {
791
+ var count = 1, succ = last ? 'nextSibling' : 'previousSibling';
792
+ while ((element = element[succ])) {
793
+ if (element.nodeName > '@') ++count;
794
+ }
795
+ return count;
796
+ },
797
+
798
+ // child position by nodeName
799
+ // @return number
800
+ nthOfType =
801
+ function(element, last) {
802
+ var count = 1, succ = last ? 'nextSibling' : 'previousSibling', type = element.nodeName;
803
+ while ((element = element[succ])) {
804
+ if (element.nodeName == type) ++count;
805
+ }
806
+ return count;
807
+ },
808
+
809
+ /*------------------------------- DEBUGGING --------------------------------*/
810
+
811
+ // get/set (string/object) working modes
812
+ configure =
813
+ function(option) {
814
+ if (typeof option == 'string') { return !!Config[option]; }
815
+ if (typeof option != 'object') { return Config; }
816
+ for (var i in option) {
817
+ Config[i] = !!option[i];
818
+ if (i == 'SIMPLENOT') {
819
+ matchContexts = { };
820
+ matchResolvers = { };
821
+ selectContexts = { };
822
+ selectResolvers = { };
823
+ if (!Config[i]) { Config['USE_QSAPI'] = false; }
824
+ } else if (i == 'USE_QSAPI') {
825
+ Config[i] = !!option[i] && NATIVE_QSAPI;
826
+ }
827
+ }
828
+ setIdentifierSyntax();
829
+ reValidator = RegExp(Config.SIMPLENOT ?
830
+ standardValidator : extendedValidator);
831
+ return true;
832
+ },
833
+
834
+ // control user notifications
835
+ emit =
836
+ function(message) {
837
+ if (Config.VERBOSITY) { throw Error(message); }
838
+ if (console && console.log) {
839
+ console.log(message);
840
+ }
841
+ },
842
+
843
+ Config = {
844
+
845
+ // used to enable/disable caching of result sets
846
+ CACHING: false,
847
+
848
+ // used to enable/disable CSS escaped identifiers
849
+ ESCAPECHR: true,
850
+
851
+ // add non-ascii (utf-8) to the identifier syntax RE
852
+ NON_ASCII: true,
853
+
854
+ // switch between CSS2 and CSS3 identifier syntax RE
855
+ SELECTOR3: true,
856
+
857
+ // add Unicode (utf-16) to the identifier syntax RE
858
+ UNICODE16: true,
859
+
860
+ // by default do not add missing left/right context
861
+ // to selector string shortcuts like "+div" or "ul>"
862
+ // callable Dom.shortcuts method has to be available
863
+ SHORTCUTS: false,
864
+
865
+ // by default disable complex selectors nested in
866
+ // ':not()' pseudo-classes, as for specifications
867
+ SIMPLENOT: true,
868
+
869
+ // strict QSA match all non-unique IDs (false)
870
+ // speed & libs compat match unique ID (true)
871
+ UNIQUE_ID: true,
872
+
873
+ // HTML5 handling for the ":checked" pseudo-class
874
+ USE_HTML5: true,
875
+
876
+ // controls enabling the Query Selector API branch
877
+ USE_QSAPI: NATIVE_QSAPI,
878
+
879
+ // controls the engine error/warning notifications
880
+ VERBOSITY: true
881
+
882
+ },
883
+
884
+ /*---------------------------- COMPILER METHODS ----------------------------*/
885
+
886
+ // init REs and context
887
+ initialize =
888
+ function(doc) {
889
+ setIdentifierSyntax();
890
+ switchContext(doc, true);
891
+ },
892
+
893
+ // set/reset default identifier syntax
894
+ // based on user configuration options
895
+ // rebuild the validator and other REs
896
+ setIdentifierSyntax =
897
+ function() {
898
+
899
+ var syntax = '', start = Config['SELECTOR3'] ? '-{2}|' : '';
900
+
901
+ Config['NON_ASCII'] && (syntax += '|' + non_asc_chr);
902
+ Config['UNICODE16'] && (syntax += '|' + unicode_chr);
903
+ Config['ESCAPECHR'] && (syntax += '|' + escaped_chr);
904
+
905
+ syntax += (Config['UNICODE16'] || Config['ESCAPECHR']) ? '' : '|' + any_esc_chr;
906
+
907
+ identifier = '-?(?:' + start + alphalodash + syntax + ')(?:-|[0-9]|' + alphalodash + syntax + ')*';
908
+
909
+ // build attribute string
910
+ attrcheck = '(' + quotedvalue + '|' + identifier + ')';
911
+ attributes = whitespace + '*(' + identifier + ':?' + identifier + ')' +
912
+ whitespace + '*(?:' + operators + whitespace + '*' + attrcheck + ')?' + whitespace + '*';
913
+ attrmatcher = attributes.replace(attrcheck, '([\\x22\\x27]*)((?:\\\\?.)*?)\\3');
914
+
915
+ // build pseudoclass string
916
+ pseudoclass = '((?:' +
917
+ // an+b parameters or quoted string
918
+ pseudoparms + '|' + quotedvalue + '|' +
919
+ // id, class, pseudo-class selector
920
+ prefixes + identifier + '|' +
921
+ // nested HTML attribute selector
922
+ '\\[' + attributes + '\\]|' +
923
+ // nested pseudo-class selector
924
+ '\\(.+\\)|' + whitespace + '*|' +
925
+ // nested pseudos/separators
926
+ ',)+)';
927
+
928
+ // CSS3: syntax scanner and
929
+ // one pass validation only
930
+ // using regular expression
931
+ standardValidator =
932
+ // discard start
933
+ '(?=[\\x20\\t\\n\\r\\f]*[^>+~(){}<>])' +
934
+ // open match group
935
+ '(' +
936
+ //universal selector
937
+ '\\*' +
938
+ // id/class/tag/pseudo-class identifier
939
+ '|(?:' + prefixes + identifier + ')' +
940
+ // combinator selector
941
+ '|' + combinators +
942
+ // HTML attribute selector
943
+ '|\\[' + attributes + '\\]' +
944
+ // pseudo-classes parameters
945
+ '|\\(' + pseudoclass + '\\)' +
946
+ // dom properties selector (extension)
947
+ '|\\{' + extensions + '\\}' +
948
+ // selector group separator (comma)
949
+ '|(?:,|' + whitespace + '*)' +
950
+ // close match group
951
+ ')+';
952
+
953
+ // only allow simple selectors nested in ':not()' pseudo-classes
954
+ reSimpleNot = RegExp('^(' +
955
+ '(?!:not)' +
956
+ '(' + prefixes + identifier +
957
+ '|\\([^()]*\\))+' +
958
+ '|\\[' + attributes + '\\]' +
959
+ ')$');
960
+
961
+ // split last, right most, selector group token
962
+ reSplitToken = RegExp('(' +
963
+ prefixes + identifier + '|' +
964
+ '\\[' + attributes + '\\]|' +
965
+ '\\(' + pseudoclass + '\\)|' +
966
+ '\\\\.|[^\\x20\\t\\n\\r\\f>+~])+', 'g');
967
+
968
+ reOptimizeSelector = RegExp(identifier + '|^$');
969
+
970
+ reSimpleSelector = RegExp(
971
+ BUGGY_GEBTN && BUGGY_GEBCN || OPERA ?
972
+ '^#?' + identifier + '$' : BUGGY_GEBTN ?
973
+ '^[.#]?' + identifier + '$' : BUGGY_GEBCN ?
974
+ '^(?:\\*|#' + identifier + ')$' :
975
+ '^(?:\\*|[.#]?' + identifier + ')$');
976
+
977
+ // matches class selectors
978
+ reClass = RegExp('(?:\\[[\\x20\\t\\n\\r\\f]*class\\b|\\.' + identifier + ')');
979
+
980
+ Optimize = {
981
+ ID: RegExp('^\\*?#(' + identifier + ')|' + skip_groups),
982
+ TAG: RegExp('^(' + identifier + ')|' + skip_groups),
983
+ CLASS: RegExp('^\\.(' + identifier + '$)|' + skip_groups)
984
+ };
985
+
986
+ Patterns.id = RegExp('^#(' + identifier + ')(.*)');
987
+ Patterns.tagName = RegExp('^(' + identifier + ')(.*)');
988
+ Patterns.className = RegExp('^\\.(' + identifier + ')(.*)');
989
+ Patterns.attribute = RegExp('^\\[' + attrmatcher + '\\](.*)');
990
+
991
+ Tokens.identifier = identifier;
992
+ Tokens.attributes = attributes;
993
+
994
+ // validator for complex selectors in ':not()' pseudo-classes
995
+ extendedValidator = standardValidator.replace(pseudoclass, '.*');
996
+
997
+ // validator for standard selectors as default
998
+ reValidator = RegExp(standardValidator);
999
+ },
1000
+
1001
+ // code string reused to build compiled functions
1002
+ ACCEPT_NODE = 'r[r.length]=c[k];if(f&&false===f(c[k]))break main;else continue main;',
1003
+
1004
+ // compile a comma separated group of selector
1005
+ // @mode boolean true for select, false for match
1006
+ // return a compiled function
1007
+ compile =
1008
+ function(selector, source, mode) {
1009
+
1010
+ var parts = typeof selector == 'string' ? selector.match(reSplitGroup) : selector;
1011
+
1012
+ // ensures that source is a string
1013
+ typeof source == 'string' || (source = '');
1014
+
1015
+ if (parts.length == 1) {
1016
+ source += compileSelector(parts[0], mode ? ACCEPT_NODE : 'f&&f(k);return true;', mode);
1017
+ } else {
1018
+ // for each selector in the group
1019
+ var i = -1, seen = { }, token;
1020
+ while ((token = parts[++i])) {
1021
+ token = token.replace(reTrimSpaces, '');
1022
+ // avoid repeating the same token
1023
+ // in comma separated group (p, p)
1024
+ if (!seen[token] && (seen[token] = true)) {
1025
+ source += compileSelector(token, mode ? ACCEPT_NODE : 'f&&f(k);return true;', mode);
1026
+ }
1027
+ }
1028
+ }
1029
+
1030
+ if (mode) {
1031
+ // for select method
1032
+ return Function('c,s,r,d,h,g,f,v',
1033
+ 'var N,n,x=0,k=-1,e;main:while((e=c[++k])){' + source + '}return r;');
1034
+ } else {
1035
+ // for match method
1036
+ return Function('e,s,r,d,h,g,f,v',
1037
+ 'var N,n,x=0,k=e;' + source + 'return false;');
1038
+ }
1039
+ },
1040
+
1041
+ // allows to cache already visited nodes
1042
+ FILTER =
1043
+ 'var z=v[@]||(v[@]=[]),l=z.length-1;' +
1044
+ 'while(l>=0&&z[l]!==e)--l;' +
1045
+ 'if(l!==-1){break;}' +
1046
+ 'z[z.length]=e;',
1047
+
1048
+ // compile a CSS3 string selector into ad-hoc javascript matching function
1049
+ // @return string (to be compiled)
1050
+ compileSelector =
1051
+ function(selector, source, mode) {
1052
+
1053
+ var a, b, n, k = 0, expr, match, result, status, test, type;
1054
+
1055
+ while (selector) {
1056
+
1057
+ k++;
1058
+
1059
+ // *** Universal selector
1060
+ // * match all (empty block, do not remove)
1061
+ if ((match = selector.match(Patterns.universal))) {
1062
+ // do nothing, handled in the compiler where
1063
+ // BUGGY_GEBTN return comment nodes (ex: IE)
1064
+ expr = '';
1065
+ }
1066
+
1067
+ // *** ID selector
1068
+ // #Foo Id case sensitive
1069
+ else if ((match = selector.match(Patterns.id))) {
1070
+ // document can contain conflicting elements (id/name)
1071
+ // prototype selector unit need this method to recover bad HTML forms
1072
+ match[1] = (/\\/).test(match[1]) ? convertEscapes(match[1]) : match[1];
1073
+ source = 'if(' + (XML_DOCUMENT ?
1074
+ 's.getAttribute(e,"id")' :
1075
+ '(e.submit?s.getAttribute(e,"id"):e.id)') +
1076
+ '=="' + match[1] + '"' +
1077
+ '){' + source + '}';
1078
+ }
1079
+
1080
+ // *** Type selector
1081
+ // Foo Tag (case insensitive)
1082
+ else if ((match = selector.match(Patterns.tagName))) {
1083
+ // both tagName and nodeName properties may be upper/lower case
1084
+ // depending on their creation NAMESPACE in createElementNS()
1085
+ source = 'if(e.nodeName' + (XML_DOCUMENT ?
1086
+ '=="' + match[1] + '"' : '.toUpperCase()' +
1087
+ '=="' + match[1].toUpperCase() + '"') +
1088
+ '){' + source + '}';
1089
+ }
1090
+
1091
+ // *** Class selector
1092
+ // .Foo Class (case sensitive)
1093
+ else if ((match = selector.match(Patterns.className))) {
1094
+ // W3C CSS3 specs: element whose "class" attribute has been assigned a
1095
+ // list of whitespace-separated values, see section 6.4 Class selectors
1096
+ // and notes at the bottom; explicitly non-normative in this specification.
1097
+ match[1] = (/\\/).test(match[1]) ? convertEscapes(match[1]) : match[1];
1098
+ match[1] = QUIRKS_MODE ? match[1].toLowerCase() : match[1];
1099
+ source = 'if((n=' + (XML_DOCUMENT ?
1100
+ 's.getAttribute(e,"class")' : 'e.className') +
1101
+ ')&&n.length&&(" "+' + (QUIRKS_MODE ? 'n.toLowerCase()' : 'n') +
1102
+ '.replace(/' + whitespace + '+/g," ")+" ").indexOf(" ' + match[1] + ' ")>-1' +
1103
+ '){' + source + '}';
1104
+ }
1105
+
1106
+ // *** Attribute selector
1107
+ // [attr] [attr=value] [attr="value"] [attr='value'] and !=, *=, ~=, |=, ^=, $=
1108
+ // case sensitivity is treated differently depending on the document type (see map)
1109
+ else if ((match = selector.match(Patterns.attribute))) {
1110
+
1111
+ // xml namespaced attribute ?
1112
+ expr = match[1].split(':');
1113
+ expr = expr.length == 2 ? expr[1] : expr[0] + '';
1114
+
1115
+ if (match[2] && !Operators[match[2]]) {
1116
+ emit('Unsupported operator in attribute selectors "' + selector + '"');
1117
+ return '';
1118
+ }
1119
+
1120
+ test = 'false';
1121
+
1122
+ // replace Operators parameter if needed
1123
+ if (match[2] && match[4] && (test = Operators[match[2]])) {
1124
+ match[4] = (/\\/).test(match[4]) ? convertEscapes(match[4]) : match[4];
1125
+ // case treatment depends on document
1126
+ HTML_TABLE['class'] = QUIRKS_MODE ? 1 : 0;
1127
+ type = (XML_DOCUMENT ? XHTML_TABLE : HTML_TABLE)[expr.toLowerCase()];
1128
+ test = test.replace(/\%m/g, type ? match[4].toLowerCase() : match[4]);
1129
+ } else if (match[2] == '!=' || match[2] == '=') {
1130
+ test = 'n' + match[2] + '=""';
1131
+ }
1132
+
1133
+ source = 'if(n=s.hasAttribute(e,"' + match[1] + '")){' +
1134
+ (match[2] ? 'n=s.getAttribute(e,"' + match[1] + '")' : '') +
1135
+ (type && match[2] ? '.toLowerCase();' : ';') +
1136
+ 'if(' + (match[2] ? test : 'n') + '){' + source + '}}';
1137
+
1138
+ }
1139
+
1140
+ // *** Adjacent sibling combinator
1141
+ // E + F (F adiacent sibling of E)
1142
+ else if ((match = selector.match(Patterns.adjacent))) {
1143
+ source = (mode ? '' : FILTER.replace(/@/g, k)) + source;
1144
+ source = NATIVE_TRAVERSAL_API ?
1145
+ 'var N' + k + '=e;while(e&&(e=e.previousElementSibling)){' + source + 'break;}e=N' + k + ';' :
1146
+ 'var N' + k + '=e;while(e&&(e=e.previousSibling)){if(e.nodeName>"@"){' + source + 'break;}}e=N' + k + ';';
1147
+ }
1148
+
1149
+ // *** General sibling combinator
1150
+ // E ~ F (F relative sibling of E)
1151
+ else if ((match = selector.match(Patterns.relative))) {
1152
+ source = (mode ? '' : FILTER.replace(/@/g, k)) + source;
1153
+ source = NATIVE_TRAVERSAL_API ?
1154
+ ('var N' + k + '=e;e=e.parentNode.firstElementChild;' +
1155
+ 'while(e&&e!==N' + k + '){' + source + 'e=e.nextElementSibling;}e=N' + k + ';') :
1156
+ ('var N' + k + '=e;e=e.parentNode.firstChild;' +
1157
+ 'while(e&&e!==N' + k + '){if(e.nodeName>"@"){' + source + '}e=e.nextSibling;}e=N' + k + ';');
1158
+ }
1159
+
1160
+ // *** Child combinator
1161
+ // E > F (F children of E)
1162
+ else if ((match = selector.match(Patterns.children))) {
1163
+ source = (mode ? '' : FILTER.replace(/@/g, k)) + source;
1164
+ source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + 'break;}e=N' + k + ';';
1165
+ }
1166
+
1167
+ // *** Descendant combinator
1168
+ // E F (E ancestor of F)
1169
+ else if ((match = selector.match(Patterns.ancestor))) {
1170
+ source = (mode ? '' : FILTER.replace(/@/g, k)) + source;
1171
+ source = 'var N' + k + '=e;while(e&&e!==h&&e!==g&&(e=e.parentNode)){' + source + '}e=N' + k + ';';
1172
+ }
1173
+
1174
+ // *** Structural pseudo-classes
1175
+ // :root, :empty,
1176
+ // :first-child, :last-child, :only-child,
1177
+ // :first-of-type, :last-of-type, :only-of-type,
1178
+ // :nth-child(), :nth-last-child(), :nth-of-type(), :nth-last-of-type()
1179
+ else if ((match = selector.match(Patterns.spseudos)) && match[1]) {
1180
+
1181
+ switch (match[1]) {
1182
+ case 'root':
1183
+ // element root of the document
1184
+ if (match[3]) {
1185
+ source = 'if(e===h||s.contains(h,e)){' + source + '}';
1186
+ } else {
1187
+ source = 'if(e===h){' + source + '}';
1188
+ }
1189
+ break;
1190
+
1191
+ case 'empty':
1192
+ // element that has no children
1193
+ source = 'if(s.isEmpty(e)){' + source + '}';
1194
+ break;
1195
+
1196
+ default:
1197
+ if (match[1] && match[2]) {
1198
+ if (match[2] == 'n') {
1199
+ source = 'if(e!==h){' + source + '}';
1200
+ break;
1201
+ } else if (match[2] == 'even') {
1202
+ a = 2;
1203
+ b = 0;
1204
+ } else if (match[2] == 'odd') {
1205
+ a = 2;
1206
+ b = 1;
1207
+ } else {
1208
+ // assumes correct "an+b" format, "b" before "a" to keep "n" values
1209
+ b = ((n = match[2].match(/(-?\d+)$/)) ? parseInt(n[1], 10) : 0);
1210
+ a = ((n = match[2].match(/(-?\d*)n/i)) ? parseInt(n[1], 10) : 0);
1211
+ if (n && n[1] == '-') a = -1;
1212
+ }
1213
+
1214
+ // build test expression out of structural pseudo (an+b) parameters
1215
+ // see here: http://www.w3.org/TR/css3-selectors/#nth-child-pseudo
1216
+ test = a > 1 ?
1217
+ (/last/i.test(match[1])) ? '(n-(' + b + '))%' + a + '==0' :
1218
+ 'n>=' + b + '&&(n-(' + b + '))%' + a + '==0' : a < -1 ?
1219
+ (/last/i.test(match[1])) ? '(n-(' + b + '))%' + a + '==0' :
1220
+ 'n<=' + b + '&&(n-(' + b + '))%' + a + '==0' : a === 0 ?
1221
+ 'n==' + b : a == -1 ? 'n<=' + b : 'n>=' + b;
1222
+
1223
+ // 4 cases: 1 (nth) x 4 (child, of-type, last-child, last-of-type)
1224
+ source =
1225
+ 'if(e!==h){' +
1226
+ 'n=s[' + (/-of-type/i.test(match[1]) ? '"nthOfType"' : '"nthElement"') + ']' +
1227
+ '(e,' + (/last/i.test(match[1]) ? 'true' : 'false') + ');' +
1228
+ 'if(' + test + '){' + source + '}' +
1229
+ '}';
1230
+
1231
+ } else {
1232
+ // 6 cases: 3 (first, last, only) x 1 (child) x 2 (-of-type)
1233
+ a = /first/i.test(match[1]) ? 'previous' : 'next';
1234
+ n = /only/i.test(match[1]) ? 'previous' : 'next';
1235
+ b = /first|last/i.test(match[1]);
1236
+
1237
+ type = /-of-type/i.test(match[1]) ? '&&n.nodeName!=e.nodeName' : '&&n.nodeName<"@"';
1238
+
1239
+ source = 'if(e!==h){' +
1240
+ ( 'n=e;while((n=n.' + a + 'Sibling)' + type + ');if(!n){' + (b ? source :
1241
+ 'n=e;while((n=n.' + n + 'Sibling)' + type + ');if(!n){' + source + '}') + '}' ) + '}';
1242
+ }
1243
+ break;
1244
+ }
1245
+
1246
+ }
1247
+
1248
+ // *** negation, user action and target pseudo-classes
1249
+ // *** UI element states and dynamic pseudo-classes
1250
+ // CSS3 :not, :checked, :enabled, :disabled, :target
1251
+ // CSS3 :active, :hover, :focus
1252
+ // CSS3 :link, :visited
1253
+ else if ((match = selector.match(Patterns.dpseudos)) && match[1]) {
1254
+
1255
+ switch (match[1].match(/^\w+/)[0]) {
1256
+ // CSS3 negation pseudo-class
1257
+ case 'not':
1258
+ // compile nested selectors, DO NOT pass the callback parameter
1259
+ // SIMPLENOT allow disabling complex selectors nested
1260
+ // in ':not()' pseudo-classes, breaks some test units
1261
+ expr = match[3].replace(reTrimSpaces, '');
1262
+
1263
+ if (Config.SIMPLENOT && !reSimpleNot.test(expr)) {
1264
+ // see above, log error but continue execution
1265
+ emit('Negation pseudo-class only accepts simple selectors "' + selector + '"');
1266
+ return '';
1267
+ } else {
1268
+ if ('compatMode' in doc) {
1269
+ source = 'if(!' + compile(expr, '', false) + '(e,s,r,d,h,g)){' + source + '}';
1270
+ } else {
1271
+ source = 'if(!s.match(e, "' + expr.replace(/\x22/g, '\\"') + '",g)){' + source +'}';
1272
+ }
1273
+ }
1274
+ break;
1275
+
1276
+ // CSS3 UI element states
1277
+ case 'checked':
1278
+ // for radio buttons checkboxes (HTML4) and options (HTML5)
1279
+ source = 'if((typeof e.form!=="undefined"&&(/^(?:radio|checkbox)$/i).test(e.type)&&e.checked)' +
1280
+ (Config.USE_HTML5 ? '||(/^option$/i.test(e.nodeName)&&(e.selected||e.checked))' : '') +
1281
+ '){' + source + '}';
1282
+ break;
1283
+ case 'disabled':
1284
+ // does not consider hidden input fields
1285
+ source = 'if(((typeof e.form!=="undefined"' +
1286
+ (Config.USE_HTML5 ? '' : '&&!(/^hidden$/i).test(e.type)') +
1287
+ ')||s.isLink(e))&&e.disabled===true){' + source + '}';
1288
+ break;
1289
+ case 'enabled':
1290
+ // does not consider hidden input fields
1291
+ source = 'if(((typeof e.form!=="undefined"' +
1292
+ (Config.USE_HTML5 ? '' : '&&!(/^hidden$/i).test(e.type)') +
1293
+ ')||s.isLink(e))&&e.disabled===false){' + source + '}';
1294
+ break;
1295
+
1296
+ // CSS3 lang pseudo-class
1297
+ case 'lang':
1298
+ test = '';
1299
+ if (match[2]) test = match[2].substr(0, 2) + '-';
1300
+ source = 'do{(n=e.lang||"").toLowerCase();' +
1301
+ 'if((n==""&&h.lang=="' + match[2].toLowerCase() + '")||' +
1302
+ '(n&&(n=="' + match[2].toLowerCase() +
1303
+ '"||n.substr(0,3)=="' + test.toLowerCase() + '")))' +
1304
+ '{' + source + 'break;}}while((e=e.parentNode)&&e!==g);';
1305
+ break;
1306
+
1307
+ // CSS3 target pseudo-class
1308
+ case 'target':
1309
+ source = 'if(e.id==d.location.hash.slice(1)){' + source + '}';
1310
+ break;
1311
+
1312
+ // CSS3 dynamic pseudo-classes
1313
+ case 'link':
1314
+ source = 'if(s.isLink(e)&&!e.visited){' + source + '}';
1315
+ break;
1316
+ case 'visited':
1317
+ source = 'if(s.isLink(e)&&e.visited){' + source + '}';
1318
+ break;
1319
+
1320
+ // CSS3 user action pseudo-classes IE & FF3 have native support
1321
+ // these capabilities may be emulated by some event managers
1322
+ case 'active':
1323
+ if (XML_DOCUMENT) break;
1324
+ source = 'if(e===d.activeElement){' + source + '}';
1325
+ break;
1326
+ case 'hover':
1327
+ if (XML_DOCUMENT) break;
1328
+ source = 'if(e===d.hoverElement){' + source + '}';
1329
+ break;
1330
+ case 'focus':
1331
+ if (XML_DOCUMENT) break;
1332
+ source = NATIVE_FOCUS ?
1333
+ 'if(e===d.activeElement&&d.hasFocus()&&(e.type||e.href||typeof e.tabIndex=="number")){' + source + '}' :
1334
+ 'if(e===d.activeElement&&(e.type||e.href)){' + source + '}';
1335
+ break;
1336
+
1337
+ // CSS2 selected pseudo-classes, not part of current CSS3 drafts
1338
+ // the 'selected' property is only available for option elements
1339
+ case 'selected':
1340
+ // fix Safari selectedIndex property bug
1341
+ expr = BUGGY_SELECTED ? '||(n=e.parentNode)&&n.options[n.selectedIndex]===e' : '';
1342
+ source = 'if(/^option$/i.test(e.nodeName)&&(e.selected||e.checked' + expr + ')){' + source + '}';
1343
+ break;
1344
+
1345
+ default:
1346
+ break;
1347
+ }
1348
+
1349
+ }
1350
+
1351
+ else {
1352
+
1353
+ // this is where external extensions are
1354
+ // invoked if expressions match selectors
1355
+ expr = false;
1356
+ status = false;
1357
+ for (expr in Selectors) {
1358
+ if ((match = selector.match(Selectors[expr].Expression)) && match[1]) {
1359
+ result = Selectors[expr].Callback(match, source);
1360
+ source = result.source;
1361
+ status = result.status;
1362
+ if (status) { break; }
1363
+ }
1364
+ }
1365
+
1366
+ // if an extension fails to parse the selector
1367
+ // it must return a false boolean in "status"
1368
+ if (!status) {
1369
+ // log error but continue execution, don't throw real exceptions
1370
+ // because blocking following processes maybe is not a good idea
1371
+ emit('Unknown pseudo-class selector "' + selector + '"');
1372
+ return '';
1373
+ }
1374
+
1375
+ if (!expr) {
1376
+ // see above, log error but continue execution
1377
+ emit('Unknown token in selector "' + selector + '"');
1378
+ return '';
1379
+ }
1380
+
1381
+ }
1382
+
1383
+ // error if no matches found by the pattern scan
1384
+ if (!match) {
1385
+ emit('Invalid syntax in selector "' + selector + '"');
1386
+ return '';
1387
+ }
1388
+
1389
+ // ensure "match" is not null or empty since
1390
+ // we do not throw real DOMExceptions above
1391
+ selector = match && match[match.length - 1];
1392
+ }
1393
+
1394
+ return source;
1395
+ },
1396
+
1397
+ /*----------------------------- QUERY METHODS ------------------------------*/
1398
+
1399
+ // match element with selector
1400
+ // @return boolean
1401
+ match =
1402
+ function(element, selector, from, callback) {
1403
+
1404
+ var parts;
1405
+
1406
+ if (!(element && element.nodeType == 1)) {
1407
+ emit('Invalid element argument');
1408
+ return false;
1409
+ } else if (typeof selector != 'string') {
1410
+ emit('Invalid selector argument');
1411
+ return false;
1412
+ } else if (from && from.nodeType == 1 && !contains(from, element)) {
1413
+ return false;
1414
+ } else if (lastContext !== from) {
1415
+ // reset context data when it changes
1416
+ // and ensure context is set to a default
1417
+ switchContext(from || (from = element.ownerDocument));
1418
+ }
1419
+
1420
+ // normalize the selector string, remove [\n\r\f]
1421
+ // whitespace, replace codepoints 0 with '\ufffd'
1422
+ // trim non-relevant leading/trailing whitespaces
1423
+ selector = selector.
1424
+ replace(reTrimSpaces, '').
1425
+ replace(/\x00|\\$/g, '\ufffd');
1426
+
1427
+ Config.SHORTCUTS && (selector = Dom.shortcuts(selector, element, from));
1428
+
1429
+ if (lastMatcher != selector) {
1430
+ // process valid selector strings
1431
+ if ((parts = selector.match(reValidator)) && parts[0] == selector) {
1432
+ isSingleMatch = (parts = selector.match(reSplitGroup)).length < 2;
1433
+ // save passed selector
1434
+ lastMatcher = selector;
1435
+ lastPartsMatch = parts;
1436
+ } else {
1437
+ emit('The string "' + selector + '", is not a valid CSS selector');
1438
+ return false;
1439
+ }
1440
+ } else parts = lastPartsMatch;
1441
+
1442
+ // compile matcher resolvers if necessary
1443
+ if (!matchResolvers[selector] || matchContexts[selector] !== from) {
1444
+ matchResolvers[selector] = compile(isSingleMatch ? [selector] : parts, '', false);
1445
+ matchContexts[selector] = from;
1446
+ }
1447
+
1448
+ return matchResolvers[selector](element, Snapshot, [ ], doc, root, from, callback, { });
1449
+ },
1450
+
1451
+ // select only the first element
1452
+ // matching selector (document ordered)
1453
+ first =
1454
+ function(selector, from) {
1455
+ return select(selector, from, function() { return false; })[0] || null;
1456
+ },
1457
+
1458
+ // select elements matching selector
1459
+ // using new Query Selector API
1460
+ // or cross-browser client API
1461
+ // @return array
1462
+ select =
1463
+ function(selector, from, callback) {
1464
+
1465
+ var i, changed, element, elements, parts, token, original = selector;
1466
+
1467
+ if (arguments.length === 0) {
1468
+ emit('Not enough arguments');
1469
+ return [ ];
1470
+ } else if (typeof selector != 'string') {
1471
+ return [ ];
1472
+ } else if (from && !(/1|9|11/).test(from.nodeType)) {
1473
+ emit('Invalid or illegal context element');
1474
+ return [ ];
1475
+ } else if (lastContext !== from) {
1476
+ // reset context data when it changes
1477
+ // and ensure context is set to a default
1478
+ switchContext(from || (from = doc));
1479
+ }
1480
+
1481
+ if (Config.CACHING && (elements = Dom.loadResults(original, from, doc, root))) {
1482
+ return callback ? concatCall([ ], elements, callback) : elements;
1483
+ }
1484
+
1485
+ // normalize the selector string, remove [\n\r\f]
1486
+ // whitespace, replace codepoints 0 with '\ufffd'
1487
+ // trim non-relevant leading/trailing whitespaces
1488
+ selector = selector.
1489
+ replace(reTrimSpaces, '').
1490
+ replace(/\x00|\\$/g, '\ufffd');
1491
+
1492
+ if (!OPERA_QSAPI && reSimpleSelector.test(selector)) {
1493
+ switch (selector.charAt(0)) {
1494
+ case '#':
1495
+ if (Config.UNIQUE_ID) {
1496
+ elements = (element = _byId(selector.slice(1), from)) ? [ element ] : [ ];
1497
+ }
1498
+ break;
1499
+ case '.':
1500
+ elements = _byClass(selector.slice(1), from);
1501
+ break;
1502
+ default:
1503
+ elements = _byTag(selector, from);
1504
+ break;
1505
+ }
1506
+ }
1507
+
1508
+ else if (!XML_DOCUMENT && Config.USE_QSAPI &&
1509
+ !(BUGGY_QUIRKS_QSAPI && reClass.test(selector)) &&
1510
+ !RE_BUGGY_QSAPI.test(selector)) {
1511
+ try {
1512
+ elements = from.querySelectorAll(selector);
1513
+ } catch(e) { }
1514
+ }
1515
+
1516
+ if (elements) {
1517
+ elements = callback ? concatCall([ ], elements, callback) :
1518
+ NATIVE_SLICE_PROTO ? slice.call(elements) : concatList([ ], elements);
1519
+ Config.CACHING && Dom.saveResults(original, from, doc, elements);
1520
+ return elements;
1521
+ }
1522
+
1523
+ Config.SHORTCUTS && (selector = Dom.shortcuts(selector, from));
1524
+
1525
+ if ((changed = lastSelector != selector)) {
1526
+ // process valid selector strings
1527
+ if ((parts = selector.match(reValidator)) && parts[0] == selector) {
1528
+ isSingleSelect = (parts = selector.match(reSplitGroup)).length < 2;
1529
+ // save passed selector
1530
+ lastSelector = selector;
1531
+ lastPartsSelect = parts;
1532
+ } else {
1533
+ emit('The string "' + selector + '", is not a valid CSS selector');
1534
+ return [ ];
1535
+ }
1536
+ } else parts = lastPartsSelect;
1537
+
1538
+ // commas separators are treated sequentially to maintain order
1539
+ if (from.nodeType == 11) {
1540
+
1541
+ elements = byTagRaw('*', from);
1542
+
1543
+ } else if (!XML_DOCUMENT && isSingleSelect) {
1544
+
1545
+ if (changed) {
1546
+ // get right most selector token
1547
+ parts = selector.match(reSplitToken);
1548
+ token = parts[parts.length - 1];
1549
+
1550
+ // only last slice before :not rules
1551
+ lastSlice = token.split(':not');
1552
+ lastSlice = lastSlice[lastSlice.length - 1];
1553
+
1554
+ // position where token was found
1555
+ lastPosition = selector.length - token.length;
1556
+ }
1557
+
1558
+ // ID optimization RTL, to reduce number of elements to visit
1559
+ if (Config.UNIQUE_ID && (parts = lastSlice.match(Optimize.ID)) && (token = parts[1])) {
1560
+ if ((element = _byId(token, from))) {
1561
+ if (match(element, selector)) {
1562
+ callback && callback(element);
1563
+ elements = [element];
1564
+ } else elements = [ ];
1565
+ }
1566
+ }
1567
+
1568
+ // ID optimization LTR, to reduce selection context searches
1569
+ else if (Config.UNIQUE_ID && (parts = selector.match(Optimize.ID)) && (token = parts[1])) {
1570
+ if ((element = _byId(token, doc))) {
1571
+ if ('#' + token == selector) {
1572
+ callback && callback(element);
1573
+ elements = [element];
1574
+ } else if (/[>+~]/.test(selector)) {
1575
+ from = element.parentNode;
1576
+ } else {
1577
+ from = element;
1578
+ }
1579
+ } else elements = [ ];
1580
+ }
1581
+
1582
+ if (elements) {
1583
+ Config.CACHING && Dom.saveResults(original, from, doc, elements);
1584
+ return elements;
1585
+ }
1586
+
1587
+ if (!NATIVE_GEBCN && (parts = lastSlice.match(Optimize.TAG)) && (token = parts[1])) {
1588
+ if ((elements = _byTag(token, from)).length === 0) { return [ ]; }
1589
+ selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace(token, '*');
1590
+ }
1591
+
1592
+ else if ((parts = lastSlice.match(Optimize.CLASS)) && (token = parts[1])) {
1593
+ if ((elements = _byClass(token, from)).length === 0) { return [ ]; }
1594
+ selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace('.' + token,
1595
+ reOptimizeSelector.test(selector.charAt(selector.indexOf(token) - 1)) ? '' : '*');
1596
+ }
1597
+
1598
+ else if ((parts = selector.match(Optimize.CLASS)) && (token = parts[1])) {
1599
+ if ((elements = _byClass(token, from)).length === 0) { return [ ]; }
1600
+ for (i = 0, els = [ ]; elements.length > i; ++i) {
1601
+ els = concatList(els, elements[i].getElementsByTagName('*'));
1602
+ }
1603
+ elements = els;
1604
+ selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace('.' + token,
1605
+ reOptimizeSelector.test(selector.charAt(selector.indexOf(token) - 1)) ? '' : '*');
1606
+ }
1607
+
1608
+ else if (NATIVE_GEBCN && (parts = lastSlice.match(Optimize.TAG)) && (token = parts[1])) {
1609
+ if ((elements = _byTag(token, from)).length === 0) { return [ ]; }
1610
+ selector = selector.slice(0, lastPosition) + selector.slice(lastPosition).replace(token, '*');
1611
+ }
1612
+
1613
+ }
1614
+
1615
+ if (!elements) {
1616
+ if (IE_LT_9) {
1617
+ elements = /^(?:applet|object)$/i.test(from.nodeName) ? from.children : byTagRaw('*', from);
1618
+ } else {
1619
+ elements = from.getElementsByTagName('*');
1620
+ }
1621
+ }
1622
+ // end of prefiltering pass
1623
+
1624
+ // compile selector resolver if necessary
1625
+ if (!selectResolvers[selector] || selectContexts[selector] !== from) {
1626
+ selectResolvers[selector] = compile(isSingleSelect ? [selector] : parts, '', true);
1627
+ selectContexts[selector] = from;
1628
+ }
1629
+
1630
+ elements = selectResolvers[selector](elements, Snapshot, [ ], doc, root, from, callback, { });
1631
+
1632
+ Config.CACHING && Dom.saveResults(original, from, doc, elements);
1633
+
1634
+ return elements;
1635
+ },
1636
+
1637
+ /*-------------------------------- STORAGE ---------------------------------*/
1638
+
1639
+ // empty function handler
1640
+ FN = function(x) { return x; },
1641
+
1642
+ // compiled match functions returning booleans
1643
+ matchContexts = { },
1644
+ matchResolvers = { },
1645
+
1646
+ // compiled select functions returning collections
1647
+ selectContexts = { },
1648
+ selectResolvers = { },
1649
+
1650
+ // used to pass methods to compiled functions
1651
+ Snapshot = {
1652
+
1653
+ // element indexing methods
1654
+ nthElement: nthElement,
1655
+ nthOfType: nthOfType,
1656
+
1657
+ // element inspection methods
1658
+ getAttribute: getAttribute,
1659
+ hasAttribute: hasAttribute,
1660
+
1661
+ // element selection methods
1662
+ byClass: _byClass,
1663
+ byName: byName,
1664
+ byTag: _byTag,
1665
+ byId: _byId,
1666
+
1667
+ // helper/check methods
1668
+ contains: contains,
1669
+ isEmpty: isEmpty,
1670
+ isLink: isLink,
1671
+
1672
+ // selection/matching
1673
+ select: select,
1674
+ match: match
1675
+ },
1676
+
1677
+ /*------------------------------- PUBLIC API -------------------------------*/
1678
+
1679
+ // code referenced by extensions
1680
+ Dom = {
1681
+
1682
+ ACCEPT_NODE: ACCEPT_NODE,
1683
+
1684
+ // retrieve element by id attr
1685
+ byId: byId,
1686
+
1687
+ // retrieve elements by tag name
1688
+ byTag: byTag,
1689
+
1690
+ // retrieve elements by name attr
1691
+ byName: byName,
1692
+
1693
+ // retrieve elements by class name
1694
+ byClass: byClass,
1695
+
1696
+ // read the value of the attribute
1697
+ // as was in the original HTML code
1698
+ getAttribute: getAttribute,
1699
+
1700
+ // check for the attribute presence
1701
+ // as was in the original HTML code
1702
+ hasAttribute: hasAttribute,
1703
+
1704
+ // element match selector, return boolean true/false
1705
+ match: match,
1706
+
1707
+ // first element match only, return element or null
1708
+ first: first,
1709
+
1710
+ // elements matching selector, starting from element
1711
+ select: select,
1712
+
1713
+ // compile selector into ad-hoc javascript resolver
1714
+ compile: compile,
1715
+
1716
+ // check that two elements are ancestor/descendant
1717
+ contains: contains,
1718
+
1719
+ // handle selector engine configuration settings
1720
+ configure: configure,
1721
+
1722
+ // initialize caching for each document
1723
+ setCache: FN,
1724
+
1725
+ // load previously collected result set
1726
+ loadResults: FN,
1727
+
1728
+ // save previously collected result set
1729
+ saveResults: FN,
1730
+
1731
+ // handle missing context in selector strings
1732
+ shortcuts: FN,
1733
+
1734
+ // log resolvers errors/warnings
1735
+ emit: emit,
1736
+
1737
+ // options enabing specific engine functionality
1738
+ Config: Config,
1739
+
1740
+ // pass methods references to compiled resolvers
1741
+ Snapshot: Snapshot,
1742
+
1743
+ // operators descriptor
1744
+ // for attribute operators extensions
1745
+ Operators: Operators,
1746
+
1747
+ // selectors descriptor
1748
+ // for pseudo-class selectors extensions
1749
+ Selectors: Selectors,
1750
+
1751
+ // export validators REs
1752
+ Tokens: Tokens,
1753
+
1754
+ // export version string
1755
+ Version: version,
1756
+
1757
+ // add or overwrite user defined operators
1758
+ registerOperator:
1759
+ function(symbol, resolver) {
1760
+ Operators[symbol] || (Operators[symbol] = resolver);
1761
+ },
1762
+
1763
+ // add selector patterns for user defined callbacks
1764
+ registerSelector:
1765
+ function(name, rexp, func) {
1766
+ Selectors[name] || (Selectors[name] = {
1767
+ Expression: rexp,
1768
+ Callback: func
1769
+ });
1770
+ }
1771
+
1772
+ };
1773
+
1774
+ /*---------------------------------- INIT ----------------------------------*/
1775
+
1776
+ // init context specific variables
1777
+ initialize(doc);
1778
+
1779
+ return Dom;
1780
+ });