cssesc-source 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (908) hide show
  1. checksums.yaml +15 -0
  2. data/lib/cssesc/source.rb +7 -0
  3. data/vendor/LICENSE-MIT.txt +20 -0
  4. data/vendor/README.md +207 -0
  5. data/vendor/bin/cssesc +122 -0
  6. data/vendor/cssesc.js +177 -0
  7. data/vendor/man/cssesc.1 +70 -0
  8. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/MIT-LICENSE.txt +21 -0
  9. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/README.md +43 -0
  10. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/bin/stripcolorcodes.js +18 -0
  11. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/index.js +3 -0
  12. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/package.json +42 -0
  13. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/test/fixture/with-colors +2 -0
  14. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/test/fixture/without-colors +2 -0
  15. data/vendor/node_modules/grunt-shell/node_modules/stripcolorcodes/test/stripcolorcodes-test.js +20 -0
  16. data/vendor/node_modules/grunt-shell/package.json +53 -0
  17. data/vendor/node_modules/grunt-shell/readme.md +221 -0
  18. data/vendor/node_modules/grunt-shell/tasks/shell.js +54 -0
  19. data/vendor/node_modules/grunt-template/LICENSE-MIT.txt +20 -0
  20. data/vendor/node_modules/grunt-template/README.md +123 -0
  21. data/vendor/node_modules/grunt-template/package.json +50 -0
  22. data/vendor/node_modules/grunt-template/tasks/template.js +44 -0
  23. data/vendor/node_modules/grunt/CONTRIBUTING.md +1 -0
  24. data/vendor/node_modules/grunt/LICENSE-MIT +22 -0
  25. data/vendor/node_modules/grunt/README.md +16 -0
  26. data/vendor/node_modules/grunt/internal-tasks/bump.js +151 -0
  27. data/vendor/node_modules/grunt/internal-tasks/subgrunt.js +34 -0
  28. data/vendor/node_modules/grunt/lib/grunt.js +156 -0
  29. data/vendor/node_modules/grunt/lib/grunt/cli.js +128 -0
  30. data/vendor/node_modules/grunt/lib/grunt/config.js +118 -0
  31. data/vendor/node_modules/grunt/lib/grunt/event.js +16 -0
  32. data/vendor/node_modules/grunt/lib/grunt/fail.js +84 -0
  33. data/vendor/node_modules/grunt/lib/grunt/file.js +440 -0
  34. data/vendor/node_modules/grunt/lib/grunt/help.js +129 -0
  35. data/vendor/node_modules/grunt/lib/grunt/log.js +352 -0
  36. data/vendor/node_modules/grunt/lib/grunt/option.js +42 -0
  37. data/vendor/node_modules/grunt/lib/grunt/task.js +451 -0
  38. data/vendor/node_modules/grunt/lib/grunt/template.js +95 -0
  39. data/vendor/node_modules/grunt/lib/grunt/util.js +188 -0
  40. data/vendor/node_modules/grunt/lib/util/task.js +323 -0
  41. data/vendor/node_modules/grunt/node_modules/async/LICENSE +19 -0
  42. data/vendor/node_modules/grunt/node_modules/async/Makefile +25 -0
  43. data/vendor/node_modules/grunt/node_modules/async/README.md +1021 -0
  44. data/vendor/node_modules/grunt/node_modules/async/index.js +3 -0
  45. data/vendor/node_modules/grunt/node_modules/async/lib/async.js +692 -0
  46. data/vendor/node_modules/grunt/node_modules/async/package.json +32 -0
  47. data/vendor/node_modules/grunt/node_modules/coffee-script/CNAME +1 -0
  48. data/vendor/node_modules/grunt/node_modules/coffee-script/LICENSE +22 -0
  49. data/vendor/node_modules/grunt/node_modules/coffee-script/README +51 -0
  50. data/vendor/node_modules/grunt/node_modules/coffee-script/Rakefile +78 -0
  51. data/vendor/node_modules/grunt/node_modules/coffee-script/bin/cake +7 -0
  52. data/vendor/node_modules/grunt/node_modules/coffee-script/bin/coffee +7 -0
  53. data/vendor/node_modules/grunt/node_modules/coffee-script/extras/jsl.conf +44 -0
  54. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/browser.js +92 -0
  55. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/cake.js +111 -0
  56. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/coffee-script.js +167 -0
  57. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/command.js +500 -0
  58. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/grammar.js +606 -0
  59. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/helpers.js +77 -0
  60. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/index.js +11 -0
  61. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/lexer.js +788 -0
  62. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/nodes.js +2986 -0
  63. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/optparse.js +138 -0
  64. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/parser.js +683 -0
  65. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/repl.js +261 -0
  66. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/rewriter.js +349 -0
  67. data/vendor/node_modules/grunt/node_modules/coffee-script/lib/coffee-script/scope.js +146 -0
  68. data/vendor/node_modules/grunt/node_modules/coffee-script/package.json +47 -0
  69. data/vendor/node_modules/grunt/node_modules/colors/MIT-LICENSE.txt +22 -0
  70. data/vendor/node_modules/grunt/node_modules/colors/ReadMe.md +77 -0
  71. data/vendor/node_modules/grunt/node_modules/colors/colors.js +342 -0
  72. data/vendor/node_modules/grunt/node_modules/colors/example.html +76 -0
  73. data/vendor/node_modules/grunt/node_modules/colors/example.js +77 -0
  74. data/vendor/node_modules/grunt/node_modules/colors/package.json +29 -0
  75. data/vendor/node_modules/grunt/node_modules/colors/test.js +70 -0
  76. data/vendor/node_modules/grunt/node_modules/colors/themes/winston-dark.js +12 -0
  77. data/vendor/node_modules/grunt/node_modules/colors/themes/winston-light.js +12 -0
  78. data/vendor/node_modules/grunt/node_modules/dateformat/Readme.md +67 -0
  79. data/vendor/node_modules/grunt/node_modules/dateformat/lib/dateformat.js +165 -0
  80. data/vendor/node_modules/grunt/node_modules/dateformat/package.json +20 -0
  81. data/vendor/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.js +4 -0
  82. data/vendor/node_modules/grunt/node_modules/dateformat/test/test_weekofyear.sh +27 -0
  83. data/vendor/node_modules/grunt/node_modules/eventemitter2/README.md +212 -0
  84. data/vendor/node_modules/grunt/node_modules/eventemitter2/index.js +1 -0
  85. data/vendor/node_modules/grunt/node_modules/eventemitter2/lib/eventemitter2.js +561 -0
  86. data/vendor/node_modules/grunt/node_modules/eventemitter2/package.json +62 -0
  87. data/vendor/node_modules/grunt/node_modules/exit/Gruntfile.js +48 -0
  88. data/vendor/node_modules/grunt/node_modules/exit/LICENSE-MIT +22 -0
  89. data/vendor/node_modules/grunt/node_modules/exit/README.md +75 -0
  90. data/vendor/node_modules/grunt/node_modules/exit/lib/exit.js +41 -0
  91. data/vendor/node_modules/grunt/node_modules/exit/package.json +51 -0
  92. data/vendor/node_modules/grunt/node_modules/exit/test/exit_test.js +121 -0
  93. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/10-stderr.txt +10 -0
  94. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout-stderr.txt +20 -0
  95. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/10-stdout.txt +10 -0
  96. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/100-stderr.txt +100 -0
  97. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout-stderr.txt +200 -0
  98. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/100-stdout.txt +100 -0
  99. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/1000-stderr.txt +1000 -0
  100. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout-stderr.txt +2000 -0
  101. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/1000-stdout.txt +1000 -0
  102. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/create-files.sh +8 -0
  103. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/log-broken.js +23 -0
  104. data/vendor/node_modules/grunt/node_modules/exit/test/fixtures/log.js +25 -0
  105. data/vendor/node_modules/grunt/node_modules/findup-sync/Gruntfile.js +25 -0
  106. data/vendor/node_modules/grunt/node_modules/findup-sync/LICENSE-MIT +22 -0
  107. data/vendor/node_modules/grunt/node_modules/findup-sync/README.md +44 -0
  108. data/vendor/node_modules/grunt/node_modules/findup-sync/lib/findup-sync.js +46 -0
  109. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/README.md +164 -0
  110. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.js +5152 -0
  111. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.compat.min.js +42 -0
  112. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.js +4983 -0
  113. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.min.js +40 -0
  114. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.js +4307 -0
  115. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/dist/lodash.underscore.min.js +34 -0
  116. data/vendor/node_modules/grunt/node_modules/findup-sync/node_modules/lodash/package.json +62 -0
  117. data/vendor/node_modules/grunt/node_modules/findup-sync/package.json +48 -0
  118. data/vendor/node_modules/grunt/node_modules/findup-sync/test/findup-sync_test.js +48 -0
  119. data/vendor/node_modules/grunt/node_modules/findup-sync/test/fixtures/a.txt +0 -0
  120. data/vendor/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/b/bar.txt +0 -0
  121. data/vendor/node_modules/grunt/node_modules/findup-sync/test/fixtures/a/foo.txt +0 -0
  122. data/vendor/node_modules/grunt/node_modules/findup-sync/test/fixtures/aaa.txt +0 -0
  123. data/vendor/node_modules/grunt/node_modules/getobject/Gruntfile.js +48 -0
  124. data/vendor/node_modules/grunt/node_modules/getobject/LICENSE-MIT +22 -0
  125. data/vendor/node_modules/grunt/node_modules/getobject/README.md +20 -0
  126. data/vendor/node_modules/grunt/node_modules/getobject/lib/getobject.js +60 -0
  127. data/vendor/node_modules/grunt/node_modules/getobject/package.json +48 -0
  128. data/vendor/node_modules/grunt/node_modules/getobject/test/namespace_test.js +51 -0
  129. data/vendor/node_modules/grunt/node_modules/glob/LICENSE +27 -0
  130. data/vendor/node_modules/grunt/node_modules/glob/README.md +233 -0
  131. data/vendor/node_modules/grunt/node_modules/glob/examples/g.js +9 -0
  132. data/vendor/node_modules/grunt/node_modules/glob/examples/usr-local.js +9 -0
  133. data/vendor/node_modules/grunt/node_modules/glob/glob.js +643 -0
  134. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/LICENSE +27 -0
  135. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/README.md +33 -0
  136. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/graceful-fs.js +442 -0
  137. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/package.json +49 -0
  138. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/open.js +46 -0
  139. data/vendor/node_modules/grunt/node_modules/glob/node_modules/graceful-fs/test/ulimit.js +158 -0
  140. data/vendor/node_modules/grunt/node_modules/glob/node_modules/inherits/README.md +51 -0
  141. data/vendor/node_modules/grunt/node_modules/glob/node_modules/inherits/inherits.js +29 -0
  142. data/vendor/node_modules/grunt/node_modules/glob/node_modules/inherits/package.json +30 -0
  143. data/vendor/node_modules/grunt/node_modules/glob/package.json +40 -0
  144. data/vendor/node_modules/grunt/node_modules/glob/test/00-setup.js +176 -0
  145. data/vendor/node_modules/grunt/node_modules/glob/test/bash-comparison.js +63 -0
  146. data/vendor/node_modules/grunt/node_modules/glob/test/bash-results.json +348 -0
  147. data/vendor/node_modules/grunt/node_modules/glob/test/cwd-test.js +55 -0
  148. data/vendor/node_modules/grunt/node_modules/glob/test/mark.js +74 -0
  149. data/vendor/node_modules/grunt/node_modules/glob/test/nocase-nomagic.js +113 -0
  150. data/vendor/node_modules/grunt/node_modules/glob/test/pause-resume.js +73 -0
  151. data/vendor/node_modules/grunt/node_modules/glob/test/root-nomount.js +39 -0
  152. data/vendor/node_modules/grunt/node_modules/glob/test/root.js +46 -0
  153. data/vendor/node_modules/grunt/node_modules/glob/test/zz-cleanup.js +11 -0
  154. data/vendor/node_modules/grunt/node_modules/hooker/LICENSE-MIT +22 -0
  155. data/vendor/node_modules/grunt/node_modules/hooker/README.md +186 -0
  156. data/vendor/node_modules/grunt/node_modules/hooker/child.js +101 -0
  157. data/vendor/node_modules/grunt/node_modules/hooker/dist/ba-hooker.js +169 -0
  158. data/vendor/node_modules/grunt/node_modules/hooker/dist/ba-hooker.min.js +4 -0
  159. data/vendor/node_modules/grunt/node_modules/hooker/grunt.js +47 -0
  160. data/vendor/node_modules/grunt/node_modules/hooker/lib/hooker.js +174 -0
  161. data/vendor/node_modules/grunt/node_modules/hooker/package.json +45 -0
  162. data/vendor/node_modules/grunt/node_modules/hooker/parent.js +17 -0
  163. data/vendor/node_modules/grunt/node_modules/hooker/test/hooker_test.js +435 -0
  164. data/vendor/node_modules/grunt/node_modules/iconv-lite/LICENSE +21 -0
  165. data/vendor/node_modules/grunt/node_modules/iconv-lite/README.md +72 -0
  166. data/vendor/node_modules/grunt/node_modules/iconv-lite/README.md~ +54 -0
  167. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/big5.js +9 -0
  168. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/gbk.js +9 -0
  169. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/singlebyte.js +340 -0
  170. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/table/big5.js +1 -0
  171. data/vendor/node_modules/grunt/node_modules/iconv-lite/encodings/table/gbk.js +1 -0
  172. data/vendor/node_modules/grunt/node_modules/iconv-lite/generation/generate-big5-table.js +25 -0
  173. data/vendor/node_modules/grunt/node_modules/iconv-lite/generation/generate-singlebyte.js +142 -0
  174. data/vendor/node_modules/grunt/node_modules/iconv-lite/index.js +231 -0
  175. data/vendor/node_modules/grunt/node_modules/iconv-lite/package.json +80 -0
  176. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/big5-test.js +36 -0
  177. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/big5File.txt +13 -0
  178. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/cyrillic-test.js +86 -0
  179. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/gbk-test.js +38 -0
  180. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/gbkFile.txt +14 -0
  181. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/greek-test.js +79 -0
  182. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/main-test.js +55 -0
  183. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/performance.js +67 -0
  184. data/vendor/node_modules/grunt/node_modules/iconv-lite/test/turkish-test.js +90 -0
  185. data/vendor/node_modules/grunt/node_modules/js-yaml/HISTORY.md +155 -0
  186. data/vendor/node_modules/grunt/node_modules/js-yaml/LICENSE +21 -0
  187. data/vendor/node_modules/grunt/node_modules/js-yaml/README.md +249 -0
  188. data/vendor/node_modules/grunt/node_modules/js-yaml/bin/js-yaml.js +125 -0
  189. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/custom_types.js +104 -0
  190. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/custom_types.yaml +18 -0
  191. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/dumper.js +31 -0
  192. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/dumper.json +22 -0
  193. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/sample_document.js +15 -0
  194. data/vendor/node_modules/grunt/node_modules/js-yaml/examples/sample_document.yaml +197 -0
  195. data/vendor/node_modules/grunt/node_modules/js-yaml/index.js +1 -0
  196. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml.js +33 -0
  197. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/common.js +60 -0
  198. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/dumper.js +437 -0
  199. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/exception.js +25 -0
  200. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/loader.js +1549 -0
  201. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/mark.js +78 -0
  202. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/require.js +23 -0
  203. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema.js +103 -0
  204. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/default.js +16 -0
  205. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/minimal.js +13 -0
  206. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/schema/safe.js +25 -0
  207. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type.js +82 -0
  208. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/binary.js +118 -0
  209. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/bool.js +74 -0
  210. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/float.js +102 -0
  211. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/int.js +85 -0
  212. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/function.js +56 -0
  213. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +56 -0
  214. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +28 -0
  215. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/map.js +11 -0
  216. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/merge.js +18 -0
  217. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/null.js +36 -0
  218. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/omap.js +53 -0
  219. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/pairs.js +41 -0
  220. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/seq.js +11 -0
  221. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/set.js +31 -0
  222. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/str.js +11 -0
  223. data/vendor/node_modules/grunt/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +91 -0
  224. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/HISTORY.md +109 -0
  225. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/LICENSE +21 -0
  226. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/README.md +239 -0
  227. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +36 -0
  228. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/choice.js +22 -0
  229. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/constants.js +59 -0
  230. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/help.js +13 -0
  231. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +33 -0
  232. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/parents.js +28 -0
  233. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +23 -0
  234. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +49 -0
  235. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/sum.js +35 -0
  236. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +270 -0
  237. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/index.js +1 -0
  238. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action.js +146 -0
  239. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +55 -0
  240. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +47 -0
  241. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +40 -0
  242. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +48 -0
  243. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +50 -0
  244. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +43 -0
  245. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +27 -0
  246. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +26 -0
  247. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +148 -0
  248. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +50 -0
  249. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +481 -0
  250. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +14 -0
  251. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +50 -0
  252. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +54 -0
  253. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +75 -0
  254. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +1165 -0
  255. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/const.js +18 -0
  256. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +88 -0
  257. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +803 -0
  258. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +77 -0
  259. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile +4 -0
  260. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Gemfile.lock +17 -0
  261. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +814 -0
  262. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/Rakefile +23 -0
  263. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +11 -0
  264. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/dist/underscore.string.min.js +1 -0
  265. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +673 -0
  266. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log +0 -0
  267. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json +73 -0
  268. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/run-qunit.js +45 -0
  269. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/speed.js +148 -0
  270. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings.js +685 -0
  271. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/strings_standalone.js +12 -0
  272. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test.html +31 -0
  273. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_standalone.html +18 -0
  274. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/arrays.js +200 -0
  275. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/chaining.js +59 -0
  276. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/collections.js +426 -0
  277. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/functions.js +259 -0
  278. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/index.html +45 -0
  279. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/objects.js +548 -0
  280. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/speed.js +75 -0
  281. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/utility.js +249 -0
  282. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jquery.js +9404 -0
  283. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js +670 -0
  284. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/qunit.css +235 -0
  285. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/test_underscore/vendor/qunit.js +1977 -0
  286. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/test/underscore.js +1201 -0
  287. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/CNAME +1 -0
  288. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/CONTRIBUTING.md +9 -0
  289. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE +22 -0
  290. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md +19 -0
  291. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/favicon.ico +0 -0
  292. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.html +2467 -0
  293. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/index.js +1 -0
  294. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +35 -0
  295. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +1 -0
  296. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +1226 -0
  297. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/argparse/package.json +50 -0
  298. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/README.md +73 -0
  299. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +117 -0
  300. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +177 -0
  301. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/esprima.js +3908 -0
  302. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/package.json +59 -0
  303. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/compat.js +239 -0
  304. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/reflect.js +422 -0
  305. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/run.js +66 -0
  306. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/runner.js +387 -0
  307. data/vendor/node_modules/grunt/node_modules/js-yaml/node_modules/esprima/test/test.js +20238 -0
  308. data/vendor/node_modules/grunt/node_modules/js-yaml/package.json +60 -0
  309. data/vendor/node_modules/grunt/node_modules/lodash/README.md +140 -0
  310. data/vendor/node_modules/grunt/node_modules/lodash/lodash.js +4258 -0
  311. data/vendor/node_modules/grunt/node_modules/lodash/lodash.min.js +35 -0
  312. data/vendor/node_modules/grunt/node_modules/lodash/lodash.underscore.js +3688 -0
  313. data/vendor/node_modules/grunt/node_modules/lodash/lodash.underscore.min.js +28 -0
  314. data/vendor/node_modules/grunt/node_modules/lodash/package.json +62 -0
  315. data/vendor/node_modules/grunt/node_modules/minimatch/LICENSE +23 -0
  316. data/vendor/node_modules/grunt/node_modules/minimatch/README.md +218 -0
  317. data/vendor/node_modules/grunt/node_modules/minimatch/minimatch.js +1055 -0
  318. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
  319. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
  320. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
  321. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
  322. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/package.json +33 -0
  323. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
  324. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
  325. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
  326. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
  327. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
  328. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
  329. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/package.json +42 -0
  330. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
  331. data/vendor/node_modules/grunt/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
  332. data/vendor/node_modules/grunt/node_modules/minimatch/package.json +40 -0
  333. data/vendor/node_modules/grunt/node_modules/minimatch/test/basic.js +399 -0
  334. data/vendor/node_modules/grunt/node_modules/minimatch/test/brace-expand.js +33 -0
  335. data/vendor/node_modules/grunt/node_modules/minimatch/test/caching.js +14 -0
  336. data/vendor/node_modules/grunt/node_modules/minimatch/test/defaults.js +274 -0
  337. data/vendor/node_modules/grunt/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  338. data/vendor/node_modules/grunt/node_modules/nopt/LICENSE +23 -0
  339. data/vendor/node_modules/grunt/node_modules/nopt/README.md +208 -0
  340. data/vendor/node_modules/grunt/node_modules/nopt/bin/nopt.js +44 -0
  341. data/vendor/node_modules/grunt/node_modules/nopt/examples/my-program.js +30 -0
  342. data/vendor/node_modules/grunt/node_modules/nopt/lib/nopt.js +552 -0
  343. data/vendor/node_modules/grunt/node_modules/nopt/node_modules/abbrev/LICENSE +23 -0
  344. data/vendor/node_modules/grunt/node_modules/nopt/node_modules/abbrev/README.md +23 -0
  345. data/vendor/node_modules/grunt/node_modules/nopt/node_modules/abbrev/lib/abbrev.js +111 -0
  346. data/vendor/node_modules/grunt/node_modules/nopt/node_modules/abbrev/package.json +29 -0
  347. data/vendor/node_modules/grunt/node_modules/nopt/package.json +36 -0
  348. data/vendor/node_modules/grunt/node_modules/rimraf/AUTHORS +6 -0
  349. data/vendor/node_modules/grunt/node_modules/rimraf/LICENSE +23 -0
  350. data/vendor/node_modules/grunt/node_modules/rimraf/README.md +21 -0
  351. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/LICENSE +23 -0
  352. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/README.md +5 -0
  353. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/graceful-fs.js +312 -0
  354. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/package.json +40 -0
  355. data/vendor/node_modules/grunt/node_modules/rimraf/node_modules/graceful-fs/test/open.js +41 -0
  356. data/vendor/node_modules/grunt/node_modules/rimraf/package.json +59 -0
  357. data/vendor/node_modules/grunt/node_modules/rimraf/rimraf.js +161 -0
  358. data/vendor/node_modules/grunt/node_modules/rimraf/test/run.sh +10 -0
  359. data/vendor/node_modules/grunt/node_modules/rimraf/test/setup.sh +47 -0
  360. data/vendor/node_modules/grunt/node_modules/rimraf/test/test-async.js +5 -0
  361. data/vendor/node_modules/grunt/node_modules/rimraf/test/test-fiber.js +0 -0
  362. data/vendor/node_modules/grunt/node_modules/rimraf/test/test-sync.js +3 -0
  363. data/vendor/node_modules/grunt/node_modules/underscore.string/Gemfile +5 -0
  364. data/vendor/node_modules/grunt/node_modules/underscore.string/Gemfile.lock +34 -0
  365. data/vendor/node_modules/grunt/node_modules/underscore.string/README.markdown +668 -0
  366. data/vendor/node_modules/grunt/node_modules/underscore.string/Rakefile +28 -0
  367. data/vendor/node_modules/grunt/node_modules/underscore.string/dist/underscore.string.min.js +1 -0
  368. data/vendor/node_modules/grunt/node_modules/underscore.string/lib/underscore.string.js +525 -0
  369. data/vendor/node_modules/grunt/node_modules/underscore.string/package.json +72 -0
  370. data/vendor/node_modules/grunt/node_modules/underscore.string/test/run-qunit.js +44 -0
  371. data/vendor/node_modules/grunt/node_modules/underscore.string/test/speed.js +138 -0
  372. data/vendor/node_modules/grunt/node_modules/underscore.string/test/strings.js +438 -0
  373. data/vendor/node_modules/grunt/node_modules/underscore.string/test/strings_standalone.js +12 -0
  374. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test.html +31 -0
  375. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_standalone.html +18 -0
  376. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/arrays.js +166 -0
  377. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/chaining.js +59 -0
  378. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/collections.js +270 -0
  379. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/functions.js +198 -0
  380. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/objects.js +535 -0
  381. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/speed.js +70 -0
  382. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp.js +27 -0
  383. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/temp_tests.html +19 -0
  384. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/test.html +43 -0
  385. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/utility.js +155 -0
  386. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jquery.js +19 -0
  387. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/jslitmus.js +670 -0
  388. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/qunit.css +196 -0
  389. data/vendor/node_modules/grunt/node_modules/underscore.string/test/test_underscore/vendor/qunit.js +2360 -0
  390. data/vendor/node_modules/grunt/node_modules/underscore.string/test/underscore.js +999 -0
  391. data/vendor/node_modules/grunt/node_modules/which/LICENSE +23 -0
  392. data/vendor/node_modules/grunt/node_modules/which/README.md +5 -0
  393. data/vendor/node_modules/grunt/node_modules/which/bin/which +14 -0
  394. data/vendor/node_modules/grunt/node_modules/which/package.json +31 -0
  395. data/vendor/node_modules/grunt/node_modules/which/which.js +104 -0
  396. data/vendor/node_modules/grunt/package.json +82 -0
  397. data/vendor/node_modules/istanbul/CHANGELOG.md +57 -0
  398. data/vendor/node_modules/istanbul/LICENSE +24 -0
  399. data/vendor/node_modules/istanbul/README.md +205 -0
  400. data/vendor/node_modules/istanbul/index.js +115 -0
  401. data/vendor/node_modules/istanbul/lib/cli.js +74 -0
  402. data/vendor/node_modules/istanbul/lib/collector.js +121 -0
  403. data/vendor/node_modules/istanbul/lib/command/check-coverage.js +115 -0
  404. data/vendor/node_modules/istanbul/lib/command/common/run-with-cover.js +199 -0
  405. data/vendor/node_modules/istanbul/lib/command/cover.js +33 -0
  406. data/vendor/node_modules/istanbul/lib/command/help.js +58 -0
  407. data/vendor/node_modules/istanbul/lib/command/index.js +33 -0
  408. data/vendor/node_modules/istanbul/lib/command/instrument.js +244 -0
  409. data/vendor/node_modules/istanbul/lib/command/report.js +97 -0
  410. data/vendor/node_modules/istanbul/lib/command/test.js +31 -0
  411. data/vendor/node_modules/istanbul/lib/hook.js +187 -0
  412. data/vendor/node_modules/istanbul/lib/instrumenter.js +759 -0
  413. data/vendor/node_modules/istanbul/lib/object-utils.js +341 -0
  414. data/vendor/node_modules/istanbul/lib/register-plugins.js +15 -0
  415. data/vendor/node_modules/istanbul/lib/report/cobertura.js +207 -0
  416. data/vendor/node_modules/istanbul/lib/report/html.js +517 -0
  417. data/vendor/node_modules/istanbul/lib/report/index.js +60 -0
  418. data/vendor/node_modules/istanbul/lib/report/json.js +55 -0
  419. data/vendor/node_modules/istanbul/lib/report/lcov.js +49 -0
  420. data/vendor/node_modules/istanbul/lib/report/lcovonly.js +93 -0
  421. data/vendor/node_modules/istanbul/lib/report/none.js +20 -0
  422. data/vendor/node_modules/istanbul/lib/report/teamcity.js +82 -0
  423. data/vendor/node_modules/istanbul/lib/report/templates/foot.txt +102 -0
  424. data/vendor/node_modules/istanbul/lib/report/templates/head.txt +200 -0
  425. data/vendor/node_modules/istanbul/lib/report/text-summary.js +72 -0
  426. data/vendor/node_modules/istanbul/lib/report/text.js +210 -0
  427. data/vendor/node_modules/istanbul/lib/store/fslookup.js +60 -0
  428. data/vendor/node_modules/istanbul/lib/store/index.js +122 -0
  429. data/vendor/node_modules/istanbul/lib/store/memory.js +55 -0
  430. data/vendor/node_modules/istanbul/lib/store/tmp.js +80 -0
  431. data/vendor/node_modules/istanbul/lib/util/factory.js +88 -0
  432. data/vendor/node_modules/istanbul/lib/util/file-matcher.js +60 -0
  433. data/vendor/node_modules/istanbul/lib/util/file-writer.js +131 -0
  434. data/vendor/node_modules/istanbul/lib/util/flow-control.js +26 -0
  435. data/vendor/node_modules/istanbul/lib/util/help-formatter.js +24 -0
  436. data/vendor/node_modules/istanbul/lib/util/input-error.js +12 -0
  437. data/vendor/node_modules/istanbul/lib/util/insertion-text.js +109 -0
  438. data/vendor/node_modules/istanbul/lib/util/meta.js +13 -0
  439. data/vendor/node_modules/istanbul/lib/util/tree-summarizer.js +213 -0
  440. data/vendor/node_modules/istanbul/lib/util/writer.js +56 -0
  441. data/vendor/node_modules/istanbul/lib/util/yui-load-hook.js +49 -0
  442. data/vendor/node_modules/istanbul/lib/vendor/prettify.css +1 -0
  443. data/vendor/node_modules/istanbul/lib/vendor/prettify.js +1 -0
  444. data/vendor/node_modules/istanbul/node_modules/abbrev/LICENSE +23 -0
  445. data/vendor/node_modules/istanbul/node_modules/abbrev/README.md +23 -0
  446. data/vendor/node_modules/istanbul/node_modules/abbrev/lib/abbrev.js +111 -0
  447. data/vendor/node_modules/istanbul/node_modules/abbrev/package.json +29 -0
  448. data/vendor/node_modules/istanbul/node_modules/async/LICENSE +19 -0
  449. data/vendor/node_modules/istanbul/node_modules/async/README.md +1414 -0
  450. data/vendor/node_modules/istanbul/node_modules/async/component.json +11 -0
  451. data/vendor/node_modules/istanbul/node_modules/async/lib/async.js +955 -0
  452. data/vendor/node_modules/istanbul/node_modules/async/package.json +43 -0
  453. data/vendor/node_modules/istanbul/node_modules/escodegen/LICENSE.BSD +19 -0
  454. data/vendor/node_modules/istanbul/node_modules/escodegen/LICENSE.source-map +27 -0
  455. data/vendor/node_modules/istanbul/node_modules/escodegen/README.md +99 -0
  456. data/vendor/node_modules/istanbul/node_modules/escodegen/bin/escodegen.js +45 -0
  457. data/vendor/node_modules/istanbul/node_modules/escodegen/bin/esgenerate.js +45 -0
  458. data/vendor/node_modules/istanbul/node_modules/escodegen/component.json +48 -0
  459. data/vendor/node_modules/istanbul/node_modules/escodegen/escodegen.browser.js +3072 -0
  460. data/vendor/node_modules/istanbul/node_modules/escodegen/escodegen.js +2275 -0
  461. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/estraverse/LICENSE.BSD +19 -0
  462. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/estraverse/README.md +29 -0
  463. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/estraverse/estraverse.js +315 -0
  464. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/estraverse/package.json +41 -0
  465. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/CHANGELOG.md +112 -0
  466. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/LICENSE +28 -0
  467. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/Makefile.dryice.js +166 -0
  468. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/README.md +434 -0
  469. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/assert-shim.js +56 -0
  470. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/mini-require.js +152 -0
  471. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  472. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/prefix-utils.jsm +18 -0
  473. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/suffix-browser.js +8 -0
  474. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  475. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/suffix-utils.jsm +21 -0
  476. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/test-prefix.js +8 -0
  477. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/build/test-suffix.js +3 -0
  478. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map.js +8 -0
  479. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/array-set.js +97 -0
  480. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  481. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/base64.js +42 -0
  482. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  483. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-consumer.js +477 -0
  484. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  485. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/source-node.js +371 -0
  486. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/lib/source-map/util.js +205 -0
  487. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  488. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  489. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  490. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  491. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/package.json +36 -0
  492. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/package.json +110 -0
  493. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/run-tests.js +71 -0
  494. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-api.js +26 -0
  495. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  496. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  497. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64.js +35 -0
  498. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  499. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  500. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  501. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  502. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  503. data/vendor/node_modules/istanbul/node_modules/escodegen/node_modules/source-map/test/source-map/util.js +161 -0
  504. data/vendor/node_modules/istanbul/node_modules/escodegen/package.json +58 -0
  505. data/vendor/node_modules/istanbul/node_modules/esprima/README.md +73 -0
  506. data/vendor/node_modules/istanbul/node_modules/esprima/bin/esparse.js +117 -0
  507. data/vendor/node_modules/istanbul/node_modules/esprima/bin/esvalidate.js +177 -0
  508. data/vendor/node_modules/istanbul/node_modules/esprima/esprima.js +3908 -0
  509. data/vendor/node_modules/istanbul/node_modules/esprima/package.json +59 -0
  510. data/vendor/node_modules/istanbul/node_modules/esprima/test/compat.js +239 -0
  511. data/vendor/node_modules/istanbul/node_modules/esprima/test/reflect.js +422 -0
  512. data/vendor/node_modules/istanbul/node_modules/esprima/test/run.js +66 -0
  513. data/vendor/node_modules/istanbul/node_modules/esprima/test/runner.js +387 -0
  514. data/vendor/node_modules/istanbul/node_modules/esprima/test/test.js +20238 -0
  515. data/vendor/node_modules/istanbul/node_modules/fileset/LICENSE-MIT +22 -0
  516. data/vendor/node_modules/istanbul/node_modules/fileset/README.md +87 -0
  517. data/vendor/node_modules/istanbul/node_modules/fileset/lib/fileset.js +64 -0
  518. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/LICENSE +27 -0
  519. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/README.md +250 -0
  520. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/examples/g.js +9 -0
  521. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/examples/usr-local.js +9 -0
  522. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/glob.js +680 -0
  523. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  524. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/README.md +42 -0
  525. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  526. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  527. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/package.json +33 -0
  528. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/node_modules/inherits/test.js +25 -0
  529. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/package.json +39 -0
  530. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/00-setup.js +176 -0
  531. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/bash-comparison.js +63 -0
  532. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/bash-results.json +350 -0
  533. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/cwd-test.js +55 -0
  534. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/globstar-match.js +19 -0
  535. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/mark.js +74 -0
  536. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/new-glob-optional-options.js +10 -0
  537. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/nocase-nomagic.js +113 -0
  538. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/pause-resume.js +73 -0
  539. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/root-nomount.js +39 -0
  540. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/root.js +46 -0
  541. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/stat.js +32 -0
  542. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/glob/test/zz-cleanup.js +11 -0
  543. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/LICENSE +23 -0
  544. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/README.md +218 -0
  545. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/minimatch.js +1055 -0
  546. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/CONTRIBUTORS +14 -0
  547. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/LICENSE +23 -0
  548. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/README.md +97 -0
  549. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/lib/lru-cache.js +252 -0
  550. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/package.json +33 -0
  551. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/test/basic.js +369 -0
  552. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/test/foreach.js +52 -0
  553. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/lru-cache/test/memory-leak.js +50 -0
  554. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/LICENSE +27 -0
  555. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/README.md +53 -0
  556. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/bench.js +283 -0
  557. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/package.json +42 -0
  558. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/sigmund.js +39 -0
  559. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/node_modules/sigmund/test/basic.js +24 -0
  560. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/package.json +40 -0
  561. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/basic.js +399 -0
  562. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/brace-expand.js +33 -0
  563. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/caching.js +14 -0
  564. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/defaults.js +274 -0
  565. data/vendor/node_modules/istanbul/node_modules/fileset/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  566. data/vendor/node_modules/istanbul/node_modules/fileset/package.json +34 -0
  567. data/vendor/node_modules/istanbul/node_modules/fileset/tests/fixtures/an (odd) filename.js +1 -0
  568. data/vendor/node_modules/istanbul/node_modules/fileset/tests/helper.js +61 -0
  569. data/vendor/node_modules/istanbul/node_modules/fileset/tests/test.js +133 -0
  570. data/vendor/node_modules/istanbul/node_modules/handlebars/LICENSE +19 -0
  571. data/vendor/node_modules/istanbul/node_modules/handlebars/README.markdown +391 -0
  572. data/vendor/node_modules/istanbul/node_modules/handlebars/bin/handlebars +213 -0
  573. data/vendor/node_modules/istanbul/node_modules/handlebars/bower.json +9 -0
  574. data/vendor/node_modules/istanbul/node_modules/handlebars/dist/handlebars.js +2278 -0
  575. data/vendor/node_modules/istanbul/node_modules/handlebars/dist/handlebars.min.js +2 -0
  576. data/vendor/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.js +362 -0
  577. data/vendor/node_modules/istanbul/node_modules/handlebars/dist/handlebars.runtime.min.js +1 -0
  578. data/vendor/node_modules/istanbul/node_modules/handlebars/global-test.js +18 -0
  579. data/vendor/node_modules/istanbul/node_modules/handlebars/global.js +4 -0
  580. data/vendor/node_modules/istanbul/node_modules/handlebars/handlebars-source.gemspec +21 -0
  581. data/vendor/node_modules/istanbul/node_modules/handlebars/handlebars.js.nuspec +17 -0
  582. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars.js +43 -0
  583. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/base.js +166 -0
  584. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/browser-prefix.js +3 -0
  585. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/browser-suffix.js +1 -0
  586. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/ast.js +138 -0
  587. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/base.js +21 -0
  588. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/compiler.js +1305 -0
  589. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/index.js +16 -0
  590. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/parser.js +483 -0
  591. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/printer.js +138 -0
  592. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/compiler/visitor.js +18 -0
  593. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/runtime.js +106 -0
  594. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/source.rb +11 -0
  595. data/vendor/node_modules/istanbul/node_modules/handlebars/lib/handlebars/utils.js +83 -0
  596. data/vendor/node_modules/istanbul/node_modules/handlebars/min.sh +11 -0
  597. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/LICENSE +21 -0
  598. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/bool.js +10 -0
  599. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/boolean_double.js +7 -0
  600. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/boolean_single.js +7 -0
  601. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/default_hash.js +8 -0
  602. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/default_singles.js +7 -0
  603. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/divide.js +8 -0
  604. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/line_count.js +20 -0
  605. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/line_count_options.js +29 -0
  606. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/line_count_wrap.js +29 -0
  607. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/nonopt.js +4 -0
  608. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/reflect.js +2 -0
  609. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/short.js +3 -0
  610. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/string.js +11 -0
  611. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/usage-options.js +19 -0
  612. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/example/xup.js +10 -0
  613. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/index.js +478 -0
  614. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/package.json +46 -0
  615. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/readme.markdown +487 -0
  616. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/_.js +71 -0
  617. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/_/argv.js +2 -0
  618. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/_/bin.js +3 -0
  619. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/parse.js +446 -0
  620. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/optimist/test/usage.js +292 -0
  621. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/LICENSE +29 -0
  622. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/README.md +588 -0
  623. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/bin/uglifyjs +402 -0
  624. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/ast.js +985 -0
  625. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/compress.js +2028 -0
  626. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/mozilla-ast.js +267 -0
  627. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/output.js +1229 -0
  628. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/parse.js +1410 -0
  629. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/scope.js +581 -0
  630. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/sourcemap.js +81 -0
  631. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/transform.js +217 -0
  632. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/lib/utils.js +295 -0
  633. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/CHANGELOG.md +112 -0
  634. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/LICENSE +28 -0
  635. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/Makefile.dryice.js +166 -0
  636. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/README.md +434 -0
  637. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/assert-shim.js +56 -0
  638. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/mini-require.js +152 -0
  639. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  640. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/prefix-utils.jsm +18 -0
  641. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-browser.js +8 -0
  642. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  643. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/suffix-utils.jsm +21 -0
  644. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-prefix.js +8 -0
  645. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/build/test-suffix.js +3 -0
  646. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map.js +8 -0
  647. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/array-set.js +97 -0
  648. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  649. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/base64.js +42 -0
  650. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  651. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-consumer.js +477 -0
  652. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  653. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/source-node.js +371 -0
  654. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/lib/source-map/util.js +205 -0
  655. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  656. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  657. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  658. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  659. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/node_modules/amdefine/package.json +37 -0
  660. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/package.json +110 -0
  661. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/run-tests.js +71 -0
  662. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-api.js +26 -0
  663. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  664. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  665. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-base64.js +35 -0
  666. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  667. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  668. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  669. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  670. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  671. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/node_modules/source-map/test/source-map/util.js +161 -0
  672. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/package.json +39 -0
  673. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/arrays.js +12 -0
  674. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/blocks.js +49 -0
  675. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/conditionals.js +143 -0
  676. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/dead-code.js +89 -0
  677. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/debugger.js +24 -0
  678. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/drop-unused.js +97 -0
  679. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-105.js +25 -0
  680. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-12.js +11 -0
  681. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-143.js +48 -0
  682. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-22.js +17 -0
  683. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-44.js +31 -0
  684. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/issue-59.js +30 -0
  685. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/labels.js +163 -0
  686. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/loops.js +123 -0
  687. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/properties.js +54 -0
  688. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/sequences.js +161 -0
  689. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/switch.js +260 -0
  690. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/compress/typeof.js +25 -0
  691. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/test/run-tests.js +170 -0
  692. data/vendor/node_modules/istanbul/node_modules/handlebars/node_modules/uglify-js/tools/node.js +165 -0
  693. data/vendor/node_modules/istanbul/node_modules/handlebars/package.json +42 -0
  694. data/vendor/node_modules/istanbul/node_modules/handlebars/release-notes.md +93 -0
  695. data/vendor/node_modules/istanbul/node_modules/handlebars/test.js +20 -0
  696. data/vendor/node_modules/istanbul/node_modules/mkdirp/LICENSE +21 -0
  697. data/vendor/node_modules/istanbul/node_modules/mkdirp/examples/pow.js +6 -0
  698. data/vendor/node_modules/istanbul/node_modules/mkdirp/index.js +82 -0
  699. data/vendor/node_modules/istanbul/node_modules/mkdirp/package.json +34 -0
  700. data/vendor/node_modules/istanbul/node_modules/mkdirp/readme.markdown +63 -0
  701. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/chmod.js +38 -0
  702. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/clobber.js +37 -0
  703. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/mkdirp.js +28 -0
  704. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/perm.js +32 -0
  705. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/perm_sync.js +39 -0
  706. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/race.js +41 -0
  707. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/rel.js +32 -0
  708. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/return.js +25 -0
  709. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/return_sync.js +24 -0
  710. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/root.js +18 -0
  711. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/sync.js +32 -0
  712. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/umask.js +28 -0
  713. data/vendor/node_modules/istanbul/node_modules/mkdirp/test/umask_sync.js +32 -0
  714. data/vendor/node_modules/istanbul/node_modules/nopt/LICENSE +23 -0
  715. data/vendor/node_modules/istanbul/node_modules/nopt/README.md +210 -0
  716. data/vendor/node_modules/istanbul/node_modules/nopt/bin/nopt.js +51 -0
  717. data/vendor/node_modules/istanbul/node_modules/nopt/examples/my-program.js +30 -0
  718. data/vendor/node_modules/istanbul/node_modules/nopt/lib/nopt.js +612 -0
  719. data/vendor/node_modules/istanbul/node_modules/nopt/package.json +36 -0
  720. data/vendor/node_modules/istanbul/node_modules/resolve/LICENSE +18 -0
  721. data/vendor/node_modules/istanbul/node_modules/resolve/example/async.js +5 -0
  722. data/vendor/node_modules/istanbul/node_modules/resolve/example/sync.js +3 -0
  723. data/vendor/node_modules/istanbul/node_modules/resolve/index.js +5 -0
  724. data/vendor/node_modules/istanbul/node_modules/resolve/lib/async.js +125 -0
  725. data/vendor/node_modules/istanbul/node_modules/resolve/lib/caller.js +8 -0
  726. data/vendor/node_modules/istanbul/node_modules/resolve/lib/core.js +4 -0
  727. data/vendor/node_modules/istanbul/node_modules/resolve/lib/core.json +38 -0
  728. data/vendor/node_modules/istanbul/node_modules/resolve/lib/node-modules-paths.js +25 -0
  729. data/vendor/node_modules/istanbul/node_modules/resolve/lib/sync.js +80 -0
  730. data/vendor/node_modules/istanbul/node_modules/resolve/package.json +36 -0
  731. data/vendor/node_modules/istanbul/node_modules/resolve/readme.markdown +144 -0
  732. data/vendor/node_modules/istanbul/node_modules/resolve/test/core.js +12 -0
  733. data/vendor/node_modules/istanbul/node_modules/resolve/test/filter.js +18 -0
  734. data/vendor/node_modules/istanbul/node_modules/resolve/test/filter_sync.js +15 -0
  735. data/vendor/node_modules/istanbul/node_modules/resolve/test/mock.js +142 -0
  736. data/vendor/node_modules/istanbul/node_modules/resolve/test/mock_sync.js +68 -0
  737. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver.js +270 -0
  738. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/bar/node_modules/foo/index.js +1 -0
  739. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/baz/doom.js +0 -0
  740. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/baz/package.json +3 -0
  741. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/baz/quux.js +1 -0
  742. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/biz/node_modules/garply/lib/index.js +1 -0
  743. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/biz/node_modules/garply/package.json +3 -0
  744. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/biz/node_modules/grux/index.js +1 -0
  745. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/biz/node_modules/tiv/index.js +1 -0
  746. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/cup.coffee +1 -0
  747. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/foo.js +1 -0
  748. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/incorrect_main/index.js +2 -0
  749. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/incorrect_main/package.json +3 -0
  750. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/mug.coffee +0 -0
  751. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/mug.js +0 -0
  752. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/other_path/lib/other-lib.js +0 -0
  753. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/other_path/root.js +0 -0
  754. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/quux/foo/index.js +1 -0
  755. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/without_basedir/main.js +6 -0
  756. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver/without_basedir/node_modules/mymodule.js +1 -0
  757. data/vendor/node_modules/istanbul/node_modules/resolve/test/resolver_sync.js +170 -0
  758. data/vendor/node_modules/istanbul/node_modules/which/LICENSE +23 -0
  759. data/vendor/node_modules/istanbul/node_modules/which/README.md +5 -0
  760. data/vendor/node_modules/istanbul/node_modules/which/bin/which +14 -0
  761. data/vendor/node_modules/istanbul/node_modules/which/package.json +32 -0
  762. data/vendor/node_modules/istanbul/node_modules/which/which.js +104 -0
  763. data/vendor/node_modules/istanbul/node_modules/wordwrap/README.markdown +70 -0
  764. data/vendor/node_modules/istanbul/node_modules/wordwrap/example/center.js +10 -0
  765. data/vendor/node_modules/istanbul/node_modules/wordwrap/example/meat.js +3 -0
  766. data/vendor/node_modules/istanbul/node_modules/wordwrap/index.js +76 -0
  767. data/vendor/node_modules/istanbul/node_modules/wordwrap/package.json +45 -0
  768. data/vendor/node_modules/istanbul/node_modules/wordwrap/test/break.js +30 -0
  769. data/vendor/node_modules/istanbul/node_modules/wordwrap/test/idleness.txt +63 -0
  770. data/vendor/node_modules/istanbul/node_modules/wordwrap/test/wrap.js +31 -0
  771. data/vendor/node_modules/istanbul/package.json +117 -0
  772. data/vendor/node_modules/istanbul/test/browser/support/index.html +153 -0
  773. data/vendor/node_modules/istanbul/test/browser/support/phantom-test.client.js +49 -0
  774. data/vendor/node_modules/istanbul/test/browser/support/server.js +154 -0
  775. data/vendor/node_modules/istanbul/test/browser/test-browser-instrumentation.js +94 -0
  776. data/vendor/node_modules/istanbul/test/cli-helper.js +219 -0
  777. data/vendor/node_modules/istanbul/test/cli/package.json +8 -0
  778. data/vendor/node_modules/istanbul/test/cli/sample-project/amd/ipsum.js +11 -0
  779. data/vendor/node_modules/istanbul/test/cli/sample-project/amd/lorem.js +7 -0
  780. data/vendor/node_modules/istanbul/test/cli/sample-project/lib/bar.js +13 -0
  781. data/vendor/node_modules/istanbul/test/cli/sample-project/lib/foo.js +12 -0
  782. data/vendor/node_modules/istanbul/test/cli/sample-project/lib/util/bad.js +1 -0
  783. data/vendor/node_modules/istanbul/test/cli/sample-project/lib/util/generate-names.js +5 -0
  784. data/vendor/node_modules/istanbul/test/cli/sample-project/node_modules/dependency/index.js +9 -0
  785. data/vendor/node_modules/istanbul/test/cli/sample-project/node_modules/post-require/hook.js +11 -0
  786. data/vendor/node_modules/istanbul/test/cli/sample-project/node_modules/post-require/package.json +5 -0
  787. data/vendor/node_modules/istanbul/test/cli/sample-project/test/amd-run.js +16 -0
  788. data/vendor/node_modules/istanbul/test/cli/sample-project/test/global-leak.js +30 -0
  789. data/vendor/node_modules/istanbul/test/cli/sample-project/test/run.js +25 -0
  790. data/vendor/node_modules/istanbul/test/cli/sample-project/vendor/dummy_vendor_lib.js +9 -0
  791. data/vendor/node_modules/istanbul/test/cli/test-base-cli.js +39 -0
  792. data/vendor/node_modules/istanbul/test/cli/test-check-coverage-command.js +97 -0
  793. data/vendor/node_modules/istanbul/test/cli/test-cobertura-report.js +54 -0
  794. data/vendor/node_modules/istanbul/test/cli/test-cover-command.js +170 -0
  795. data/vendor/node_modules/istanbul/test/cli/test-html-report.js +125 -0
  796. data/vendor/node_modules/istanbul/test/cli/test-instrument-command.js +167 -0
  797. data/vendor/node_modules/istanbul/test/cli/test-json-report.js +60 -0
  798. data/vendor/node_modules/istanbul/test/cli/test-lcov-report.js +58 -0
  799. data/vendor/node_modules/istanbul/test/cli/test-lcovonly-report.js +61 -0
  800. data/vendor/node_modules/istanbul/test/cli/test-lots-of-files.js +87 -0
  801. data/vendor/node_modules/istanbul/test/cli/test-none-report.js +17 -0
  802. data/vendor/node_modules/istanbul/test/cli/test-report-command.js +65 -0
  803. data/vendor/node_modules/istanbul/test/cli/test-teamcity-report.js +54 -0
  804. data/vendor/node_modules/istanbul/test/cli/test-test-command.js +43 -0
  805. data/vendor/node_modules/istanbul/test/common.js +19 -0
  806. data/vendor/node_modules/istanbul/test/helper.js +122 -0
  807. data/vendor/node_modules/istanbul/test/instrumentation/test-do.js +53 -0
  808. data/vendor/node_modules/istanbul/test/instrumentation/test-expressions.js +70 -0
  809. data/vendor/node_modules/istanbul/test/instrumentation/test-for.js +206 -0
  810. data/vendor/node_modules/istanbul/test/instrumentation/test-forin.js +50 -0
  811. data/vendor/node_modules/istanbul/test/instrumentation/test-functions.js +102 -0
  812. data/vendor/node_modules/istanbul/test/instrumentation/test-if.js +393 -0
  813. data/vendor/node_modules/istanbul/test/instrumentation/test-misc.js +35 -0
  814. data/vendor/node_modules/istanbul/test/instrumentation/test-statement.js +182 -0
  815. data/vendor/node_modules/istanbul/test/instrumentation/test-strict.js +121 -0
  816. data/vendor/node_modules/istanbul/test/instrumentation/test-switch.js +155 -0
  817. data/vendor/node_modules/istanbul/test/instrumentation/test-while.js +104 -0
  818. data/vendor/node_modules/istanbul/test/loader.js +38 -0
  819. data/vendor/node_modules/istanbul/test/other/data-complete-copy/baz.js +3 -0
  820. data/vendor/node_modules/istanbul/test/other/data-complete-copy/fixture.xml +1 -0
  821. data/vendor/node_modules/istanbul/test/other/data-complete-copy/foo.js +4 -0
  822. data/vendor/node_modules/istanbul/test/other/data-complete-copy/myfile1 +0 -0
  823. data/vendor/node_modules/istanbul/test/other/data-complete-copy/myfile2 +1 -0
  824. data/vendor/node_modules/istanbul/test/other/data-complete-copy/subdir/x.css +3 -0
  825. data/vendor/node_modules/istanbul/test/other/data/baz.js +3 -0
  826. data/vendor/node_modules/istanbul/test/other/data/foo.js +4 -0
  827. data/vendor/node_modules/istanbul/test/other/data/matcher/general/general.js +2 -0
  828. data/vendor/node_modules/istanbul/test/other/data/matcher/general/node_modules/mod-file.js +2 -0
  829. data/vendor/node_modules/istanbul/test/other/data/matcher/lib/lib-top.js +2 -0
  830. data/vendor/node_modules/istanbul/test/other/data/matcher/node_modules/dep/mod-file.js +2 -0
  831. data/vendor/node_modules/istanbul/test/other/data/matcher/node_modules/mod-file.js +2 -0
  832. data/vendor/node_modules/istanbul/test/other/data/matcher/top.js +2 -0
  833. data/vendor/node_modules/istanbul/test/other/test-collector.js +85 -0
  834. data/vendor/node_modules/istanbul/test/other/test-command-xface.js +35 -0
  835. data/vendor/node_modules/istanbul/test/other/test-file-writer.js +71 -0
  836. data/vendor/node_modules/istanbul/test/other/test-help-formatter.js +31 -0
  837. data/vendor/node_modules/istanbul/test/other/test-hook.js +87 -0
  838. data/vendor/node_modules/istanbul/test/other/test-index-xface.js +17 -0
  839. data/vendor/node_modules/istanbul/test/other/test-input-error.js +10 -0
  840. data/vendor/node_modules/istanbul/test/other/test-insertion-text.js +102 -0
  841. data/vendor/node_modules/istanbul/test/other/test-matcher.js +93 -0
  842. data/vendor/node_modules/istanbul/test/other/test-object-utils.js +201 -0
  843. data/vendor/node_modules/istanbul/test/other/test-store.js +129 -0
  844. data/vendor/node_modules/istanbul/test/other/test-summarizer.js +172 -0
  845. data/vendor/node_modules/istanbul/test/run-again.js +19 -0
  846. data/vendor/node_modules/istanbul/test/run.js +108 -0
  847. data/vendor/node_modules/istanbul/yui-coverage-comparison.md +85 -0
  848. data/vendor/node_modules/qunit-clib/LICENSE.txt +20 -0
  849. data/vendor/node_modules/qunit-clib/README.md +2 -0
  850. data/vendor/node_modules/qunit-clib/package.json +36 -0
  851. data/vendor/node_modules/qunit-clib/qunit-clib.js +570 -0
  852. data/vendor/node_modules/qunitjs/AUTHORS.txt +55 -0
  853. data/vendor/node_modules/qunitjs/History.md +496 -0
  854. data/vendor/node_modules/qunitjs/README.md +62 -0
  855. data/vendor/node_modules/qunitjs/addons/canvas/README.md +17 -0
  856. data/vendor/node_modules/qunitjs/addons/canvas/canvas-test.js +76 -0
  857. data/vendor/node_modules/qunitjs/addons/canvas/canvas.html +15 -0
  858. data/vendor/node_modules/qunitjs/addons/canvas/qunit-canvas.js +6 -0
  859. data/vendor/node_modules/qunitjs/addons/close-enough/README.md +18 -0
  860. data/vendor/node_modules/qunitjs/addons/close-enough/close-enough-test.js +35 -0
  861. data/vendor/node_modules/qunitjs/addons/close-enough/close-enough.html +14 -0
  862. data/vendor/node_modules/qunitjs/addons/close-enough/qunit-close-enough.js +32 -0
  863. data/vendor/node_modules/qunitjs/addons/composite/README.md +26 -0
  864. data/vendor/node_modules/qunitjs/addons/composite/composite-demo-test.html +24 -0
  865. data/vendor/node_modules/qunitjs/addons/composite/index.html +34 -0
  866. data/vendor/node_modules/qunitjs/addons/composite/qunit-composite.css +13 -0
  867. data/vendor/node_modules/qunitjs/addons/composite/qunit-composite.js +112 -0
  868. data/vendor/node_modules/qunitjs/addons/junitlogger/README.md +18 -0
  869. data/vendor/node_modules/qunitjs/addons/junitlogger/index.html +44 -0
  870. data/vendor/node_modules/qunitjs/addons/junitlogger/junitlogger.js +306 -0
  871. data/vendor/node_modules/qunitjs/addons/phantomjs/README.md +16 -0
  872. data/vendor/node_modules/qunitjs/addons/phantomjs/runner.js +127 -0
  873. data/vendor/node_modules/qunitjs/addons/step/README.md +20 -0
  874. data/vendor/node_modules/qunitjs/addons/step/qunit-step.js +26 -0
  875. data/vendor/node_modules/qunitjs/addons/step/step-test.js +15 -0
  876. data/vendor/node_modules/qunitjs/addons/step/step.html +14 -0
  877. data/vendor/node_modules/qunitjs/addons/themes/README.md +6 -0
  878. data/vendor/node_modules/qunitjs/addons/themes/gabe.css +371 -0
  879. data/vendor/node_modules/qunitjs/addons/themes/gabe.html +15 -0
  880. data/vendor/node_modules/qunitjs/addons/themes/ninja.css +196 -0
  881. data/vendor/node_modules/qunitjs/addons/themes/ninja.html +15 -0
  882. data/vendor/node_modules/qunitjs/addons/themes/nv.css +217 -0
  883. data/vendor/node_modules/qunitjs/addons/themes/nv.html +15 -0
  884. data/vendor/node_modules/qunitjs/grunt.js +101 -0
  885. data/vendor/node_modules/qunitjs/package.json +49 -0
  886. data/vendor/node_modules/qunitjs/qunit/qunit.css +244 -0
  887. data/vendor/node_modules/qunitjs/qunit/qunit.js +2152 -0
  888. data/vendor/node_modules/qunitjs/test/async.html +26 -0
  889. data/vendor/node_modules/qunitjs/test/async.js +6 -0
  890. data/vendor/node_modules/qunitjs/test/deepEqual.js +1438 -0
  891. data/vendor/node_modules/qunitjs/test/headless.html +28 -0
  892. data/vendor/node_modules/qunitjs/test/index.html +16 -0
  893. data/vendor/node_modules/qunitjs/test/logs.html +14 -0
  894. data/vendor/node_modules/qunitjs/test/logs.js +184 -0
  895. data/vendor/node_modules/qunitjs/test/narwhal-test.js +22 -0
  896. data/vendor/node_modules/qunitjs/test/node-test.js +22 -0
  897. data/vendor/node_modules/qunitjs/test/swarminject.js +10 -0
  898. data/vendor/node_modules/qunitjs/test/test.js +804 -0
  899. data/vendor/node_modules/regenerate/LICENSE-MIT.txt +20 -0
  900. data/vendor/node_modules/regenerate/README.md +467 -0
  901. data/vendor/node_modules/regenerate/package.json +50 -0
  902. data/vendor/node_modules/regenerate/regenerate.js +617 -0
  903. data/vendor/node_modules/requirejs/README.md +9 -0
  904. data/vendor/node_modules/requirejs/bin/r.js +26059 -0
  905. data/vendor/node_modules/requirejs/package.json +39 -0
  906. data/vendor/node_modules/requirejs/require.js +2054 -0
  907. data/vendor/package.json +56 -0
  908. metadata +949 -0
@@ -0,0 +1,28 @@
1
+ /*!
2
+ Lo-Dash 0.9.2 lodash.com/license
3
+ Underscore.js 1.4.2 underscorejs.org/LICENSE
4
+ */
5
+ ;(function(n,t){function r(n,t,r){var e;if(!n)return n;var t=l(t,r),u=n.length,r=-1;if(typeof u=="number"){for(;++r<u;)if(e=n[r],t(e,r,n)===Q)return n}else for(r in n)if(it.call(n,r)&&(e=n[r],t(e,r,n)===Q))return n}function e(n){var t,r,e=n;if(!n)return n;for(var u=1,i=arguments.length;u<i;u++)if(e=arguments[u])for(t in e)r=e[t],n[t]=r;return n}function u(n){var t,r,e=n;if(!n)return n;for(var u=1,i=arguments.length;u<i;u++)if(e=arguments[u])for(t in e)r=e[t],n[t]==V&&(n[t]=r);return n}function i(n,t){var r,e;
6
+ if(n)for(r in t=l(t),n)if(it.call(n,r)&&(e=n[r],t(e,r,n)===Q))break}function o(n,t){var r,e;if(n)for(r in t=l(t),n)if(e=n[r],t(e,r,n)===Q)break}function a(n){return n&&n.__wrapped__?n:this instanceof a?(this.__wrapped__=n,void 0):new a(n)}function c(n,r){var e=n.b,u=r.b,n=n.a,r=r.a;if(n!==r){if(n>r||n===t)return 1;if(n<r||r===t)return-1}return e<u?-1:1}function f(n,t,r){function e(){var u=arguments,i=t;return r.length&&(u=u.length?r.concat(at.call(u)):r),this instanceof e?(h.prototype=n.prototype,i=new h,u=n.apply(i,u),b(u)?u:i):n.apply(i,u)
7
+ }return e}function l(n,r){return n?typeof n!="function"?function(t){return t[n]}:r!==t?function(t,e,u){return n.call(r,t,e,u)}:n:C}function s(n){return"\\"+Et[n]}function p(n){return St[n]}function h(){}function g(n){return kt[n]}function v(n){var t=[];return i(n,function(n,r){t.push(r)}),t}function _(n){var t=[];return o(n,function(n,r){d(n)&&t.push(r)}),t.sort()}function m(n){var t={};return i(n,function(n,r){t[n]=r}),t}function y(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;if(n==V||t==V)return n===t;
8
+ var u=ct.call(n);if(u!=ct.call(t))return G;switch(u){case mt:case yt:return+n==+t;case dt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case wt:case jt:return n==t+""}var i=u==_t;if(!i){if(n.__wrapped__||t.__wrapped__)return y(n.__wrapped__||n,t.__wrapped__||t);if(u!=bt)return G;var u=n.constructor,o=t.constructor;if(u!=o&&(!d(u)||!(u instanceof u&&d(o)&&o instanceof o)))return G}for(r||(r=[]),e||(e=[]),u=r.length;u--;)if(r[u]==n)return e[u]==t;if(u=U,o=0,r.push(n),e.push(t),i){if(o=n.length,u=o==t.length)for(;o--&&(u=y(n[o],t[o],r,e)););return u
9
+ }for(var a in n)if(it.call(n,a)&&(o++,!it.call(t,a)||!y(n[a],t[a],r,e)))return G;for(a in t)if(it.call(t,a)&&!o--)return G;return U}function d(n){return typeof n=="function"}function b(n){return n?Ot[typeof n]:G}function w(n){return ct.call(n)==jt}function j(n){var t=[];return i(n,function(n){t.push(n)}),t}function x(n,t){return typeof(n?n.length:0)=="number"?-1<M(n,t):R(n,function(n){return n===t})}function A(n,t,e){var u=U,t=l(t,e);if(Tt(n))for(var e=-1,i=n.length;++e<i&&(u=!!t(n[e],e,n)););else r(n,function(n,r,e){return!(u=!!t(n,r,e))&&Q
10
+ });return u}function O(n,t,e){var u=[],t=l(t,e);return r(n,function(n,r,e){t(n,r,e)&&u.push(n)}),u}function E(n,t,e){var u,t=l(t,e);return r(n,function(n,r,e){return t(n,r,e)?(u=n,G):void 0}),u}function S(n,t,e){var u=-1,i=n?n.length:0,o=Array(typeof i=="number"?i:0),t=l(t,e);if(Tt(n))for(;++u<i;)o[u]=t(n[u],u,n);else r(n,function(n,r,e){o[++u]=t(n,r,e)});return o}function k(n,t,e){var u=-1/0,i=-1,o=n?n.length:0,a=u;if(t||!Tt(n))t=l(t,e),r(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,a=n)});else for(;++i<o;)n[i]>a&&(a=n[i]);
11
+ return a}function T(n,t){var e=[];return r(n,function(n){e.push(n[t])}),e}function N(n,t,e,u){var i=3>arguments.length,t=l(t,u);return r(n,function(n,r,u){e=i?(i=G,n):t(e,n,r,u)}),e}function q(n,t,e,u){var i=n?n.length:0,o=3>arguments.length;if(typeof i!="number")var a=Nt(n),i=a.length;return r(n,function(r,c,f){c=a?a[--i]:--i,e=o?(o=G,n[c]):t.call(u,e,n[c],c,f)}),e}function R(n,t,e){var u,t=l(t,e);if(Tt(n))for(var e=-1,i=n.length;++e<i&&!(u=t(n[e],e,n)););else r(n,function(n,r,e){return(u=t(n,r,e))&&Q
12
+ });return!!u}function B(n,t,r){return n?t==V||r?n[0]:at.call(n,0,t):void 0}function F(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var i=n[r];Tt(i)?ot.apply(u,t?i:F(i)):u.push(i)}return u}function M(n,t,r){var e=-1,u=n?n.length:0;if(typeof r=="number")e=(0>r?ht(0,u+r):r||0)-1;else if(r)return e=I(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;return-1}function $(n,t,r){return n?at.call(n,t==V||r?1:t):[]}function I(n,t,r,e){for(var u=0,i=n?n.length:u,r=r?l(r,e):C,t=r(t);u<i;)e=u+i>>>1,r(n[e])<t?u=e+1:i=e;
13
+ return u}function D(n,t,r,e){var u=-1,i=n?n.length:0,o=[],a=o;for(r&&(a=[],r=l(r,e));++u<i;){var e=n[u],c=r?r(e,u,n):e;(t?!u||a[a.length-1]!==c:0>M(a,c))&&(r&&a.push(c),o.push(e))}return o}function z(n,t){return At||ft&&2<arguments.length?ft.call.apply(ft,arguments):f(n,t,at.call(arguments,2))}function C(n){return n}function P(n){r(_(n),function(t){var r=a[t]=n[t];a.prototype[t]=function(){var n=[this.__wrapped__];return ot.apply(n,arguments),n=r.apply(a,n),this.__chain__&&(n=new a(n),n.__chain__=U),n
14
+ }})}var U=!0,V=null,G=!1,H=typeof exports=="object"&&exports,J=typeof global=="object"&&global;J.global===J&&(n=J);var K=[],J=new function(){},L=0,Q=J,W=n._,X=/&(?:amp|lt|gt|quot|#x27);/g,Y=RegExp("^"+(J.valueOf+"").replace(/[.*+?^=!:${}()|[\]\/\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Z=/($^)/,nt=/[&<>"']/g,tt=/['\n\r\t\u2028\u2029\\]/g,rt=Math.ceil,et=K.concat,ut=Math.floor,it=J.hasOwnProperty,ot=K.push,at=K.slice,ct=J.toString,ft=Y.test(ft=at.bind)&&ft,lt=Y.test(lt=Array.isArray)&&lt,st=n.isFinite,pt=Y.test(pt=Object.keys)&&pt,ht=Math.max,gt=Math.min,vt=Math.random,_t="[object Array]",mt="[object Boolean]",yt="[object Date]",dt="[object Number]",bt="[object Object]",wt="[object RegExp]",jt="[object String]",xt=(xt={0:1,length:1},K.splice.call(xt,0,1),xt[0]),At=ft&&/\n|Opera/.test(ft+ct.call(n.opera)),Ot={"boolean":G,"function":U,object:U,number:G,string:G,undefined:G},Et={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"};
15
+ a.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},a.isArguments=function(n){return"[object Arguments]"==ct.call(n)},a.isArguments(arguments)||(a.isArguments=function(n){return n?it.call(n,"callee"):G});var St={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;"},kt=m(St),Tt=lt||function(n){return ct.call(n)==_t};d(/x/)&&(d=function(n){return"[object Function]"==ct.call(n)});var Nt=pt?function(n){return b(n)?pt(n):[]}:v;a.VERSION="0.9.2",a.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0
16
+ }},a.bind=z,a.bindAll=function(n){for(var t=arguments,r=1<t.length?0:(t=_(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=z(n[u],n)}return n},a.chain=function(n){return n=new a(n),n.__chain__=U,n},a.clone=function(n){return n&&Ot[typeof n]?Tt(n)?at.call(n):e({},n):n},a.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},a.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},a.contains=x,a.countBy=function(n,t,e){var u={},t=l(t,e);
17
+ return r(n,function(n,r,e){r=t(n,r,e),it.call(u,r)?u[r]++:u[r]=1}),u},a.debounce=function(n,t,r){function e(){a=V,r||(i=n.apply(o,u))}var u,i,o,a;return function(){var c=r&&!a;return u=arguments,o=this,clearTimeout(a),a=setTimeout(e,t),c&&(i=n.apply(o,u)),i}},a.defaults=u,a.defer=function(n){var r=at.call(arguments,1);return setTimeout(function(){n.apply(t,r)},1)},a.delay=function(n,r){var e=at.call(arguments,2);return setTimeout(function(){n.apply(t,e)},r)},a.difference=function(n){for(var t=-1,r=n.length,e=et.apply(K,arguments),u=[];++t<r;){var i=n[t];
18
+ 0>M(e,i,r)&&u.push(i)}return u},a.escape=function(n){return n==V?"":(n+"").replace(nt,p)},a.every=A,a.extend=e,a.filter=O,a.find=E,a.first=B,a.flatten=F,a.forEach=r,a.functions=_,a.groupBy=function(n,t,e){var u={},t=l(t,e);return r(n,function(n,r,e){r=t(n,r,e),(it.call(u,r)?u[r]:u[r]=[]).push(n)}),u},a.has=function(n,t){return n?it.call(n,t):G},a.identity=C,a.indexOf=M,a.initial=function(n,t,r){return n?at.call(n,0,-(t==V||r?1:t)):[]},a.intersection=function(n){var t=arguments,e=t.length,u=[];return r(n,function(n){if(0>M(u,n)){for(var r=e;--r;)if(0>M(t[r],n))return;
19
+ u.push(n)}}),u},a.invert=m,a.invoke=function(n,t){var e=at.call(arguments,2),u=typeof t=="function",i=[];return r(n,function(n){i.push((u?t:n[t]).apply(n,e))}),i},a.isArray=Tt,a.isBoolean=function(n){return n===U||n===G||ct.call(n)==mt},a.isDate=function(n){return ct.call(n)==yt},a.isElement=function(n){return n?1===n.nodeType:G},a.isEmpty=function(n){if(!n)return U;if(Tt(n)||w(n))return!n.length;for(var t in n)if(it.call(n,t))return G;return U},a.isEqual=y,a.isFinite=function(n){return st(n)&&ct.call(n)==dt
20
+ },a.isFunction=d,a.isNaN=function(n){return ct.call(n)==dt&&n!=+n},a.isNull=function(n){return n===V},a.isNumber=function(n){return ct.call(n)==dt},a.isObject=b,a.isRegExp=function(n){return ct.call(n)==wt},a.isString=w,a.isUndefined=function(n){return n===t},a.keys=Nt,a.last=function(n,t,r){if(n){var e=n.length;return t==V||r?n[e-1]:at.call(n,-t||e)}},a.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?ht(0,e+r):gt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},a.map=S,a.max=k,a.memoize=function(n,t){var r={};
21
+ return function(){var e=t?t.apply(this,arguments):arguments[0];return it.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},a.min=function(n,t,e){var u=1/0,i=-1,o=n?n.length:0,a=u;if(t||!Tt(n))t=l(t,e),r(n,function(n,r,e){r=t(n,r,e),r<u&&(u=r,a=n)});else for(;++i<o;)n[i]<a&&(a=n[i]);return a},a.mixin=P,a.noConflict=function(){return n._=W,this},a.object=function(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var i=n[r];t?u[i]=t[r]:u[i[0]]=i[1]}return u},a.omit=function(n){var t=et.apply(K,arguments),r={};
22
+ return o(n,function(n,e){0>M(t,e,1)&&(r[e]=n)}),r},a.once=function(n){var t,r=G;return function(){return r?t:(r=U,t=n.apply(this,arguments),n=V,t)}},a.pairs=function(n){var t=[];return i(n,function(n,r){t.push([r,n])}),t},a.pick=function(n){for(var t=0,r=et.apply(K,arguments),e=r.length,u={};++t<e;){var i=r[t];i in n&&(u[i]=n[i])}return u},a.pluck=T,a.random=function(n,t){return n==V&&t==V&&(t=1),n=+n||0,t==V&&(t=n,n=0),n+ut(vt()*((+t||0)-n+1))},a.range=function(n,t,r){n=+n||0,r=+r||1,t==V&&(t=n,n=0);
23
+ for(var e=-1,t=ht(0,rt((t-n)/r)),u=Array(t);++e<t;)u[e]=n,n+=r;return u},a.reduce=N,a.reduceRight=q,a.reject=function(n,t,r){return t=l(t,r),O(n,function(n,r,e){return!t(n,r,e)})},a.rest=$,a.result=function(n,t){var r=n?n[t]:V;return d(r)?n[t]():r},a.shuffle=function(n){var t=-1,e=Array(n?n.length:0);return r(n,function(n){var r=ut(vt()*(++t+1));e[t]=e[r],e[r]=n}),e},a.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Nt(n).length},a.some=R,a.sortBy=function(n,t,e){var u=[],t=l(t,e);
24
+ for(r(n,function(n,r,e){u.push({a:t(n,r,e),b:r,c:n})}),n=u.length,u.sort(c);n--;)u[n]=u[n].c;return u},a.sortedIndex=I,a.tap=function(n,t){return t(n),n},a.template=function(n,t,r){n||(n="");var r=u({},r,a.templateSettings),e=0,i="__p += '",o=r.variable;n.replace(RegExp((r.escape||Z).source+"|"+(r.interpolate||Z).source+"|"+(r.evaluate||Z).source+"|$","g"),function(t,r,u,o,a){i+=n.slice(e,a).replace(tt,s),i+=r?"'+_['escape']("+r+")+'":o?"';"+o+";__p+='":u?"'+((__t=("+u+"))==null?'':__t)+'":"",e=a+t.length
25
+ }),i+="';",o||(o="obj",i="with("+o+"||{}){"+i+"}"),i="function("+o+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+i+"return __p}";try{var c=Function("_","return "+i)(a)}catch(f){throw f.source=i,f}return t?c(t):(c.source=i,c)},a.throttle=function(n,t){function r(){a=new Date,o=V,u=n.apply(i,e)}var e,u,i,o,a=0;return function(){var c=new Date,f=t-(c-a);return e=arguments,i=this,0<f?o||(o=setTimeout(r,f)):(clearTimeout(o),a=c,u=n.apply(i,e)),u}},a.times=function(n,t,r){for(var n=+n||0,e=-1,u=Array(n);++e<n;)u[e]=t.call(r,e);
26
+ return u},a.toArray=function(n){return n&&typeof n.length=="number"?typeof n=="string"?n.split(""):at.call(n):j(n)},a.unescape=function(n){return n==V?"":(n+"").replace(X,g)},a.union=function(){return D(et.apply(K,arguments))},a.uniq=D,a.uniqueId=function(n){var t=L++;return n?n+t:t},a.values=j,a.where=function(n,t){var r=[];return o(t,function(n,t){r.push(t)}),O(n,function(n){for(var e=r.length;e--;){var u=n[r[e]]===t[r[e]];if(!u)break}return!!u})},a.without=function(n){for(var t=-1,r=n.length,e=[];++t<r;){var u=n[t];
27
+ 0>M(arguments,u,1)&&e.push(u)}return e},a.wrap=function(n,t){return function(){var r=[n];return ot.apply(r,arguments),t.apply(this,r)}},a.zip=function(n){for(var t=-1,r=n?k(T(arguments,"length")):0,e=Array(r);++t<r;)e[t]=T(arguments,t);return e},a.all=A,a.any=R,a.collect=S,a.detect=E,a.drop=$,a.each=r,a.foldl=N,a.foldr=q,a.head=B,a.include=x,a.inject=N,a.methods=_,a.select=O,a.tail=$,a.take=B,a.unique=D,P(a),a.prototype.chain=function(){return this.__chain__=U,this},a.prototype.value=function(){return this.__wrapped__
28
+ },r("pop push reverse shift sort splice unshift".split(" "),function(n){var t=K[n];a.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),xt&&0===n.length&&delete n[0],this.__chain__&&(n=new a(n),n.__chain__=U),n}}),r(["concat","join","slice"],function(n){var t=K[n];a.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new a(n),n.__chain__=U),n}}),H?typeof module=="object"&&module&&module.exports==H?(module.exports=a)._=a:H._=a:n._=a})(this);
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "lodash",
3
+ "version": "0.9.2",
4
+ "description": "A utility library delivering consistency, customization, performance, and extras.",
5
+ "homepage": "http://lodash.com",
6
+ "license": "MIT",
7
+ "main": "./lodash.js",
8
+ "keywords": [
9
+ "browser",
10
+ "client",
11
+ "functional",
12
+ "performance",
13
+ "server",
14
+ "speed",
15
+ "util"
16
+ ],
17
+ "author": {
18
+ "name": "John-David Dalton",
19
+ "email": "john.david.dalton@gmail.com",
20
+ "url": "http://allyoucanleet.com/"
21
+ },
22
+ "contributors": [
23
+ {
24
+ "name": "John-David Dalton",
25
+ "email": "john.david.dalton@gmail.com",
26
+ "url": "http://allyoucanleet.com/"
27
+ },
28
+ {
29
+ "name": "Blaine Bublitz",
30
+ "email": "blaine@iceddev.com",
31
+ "url": "http://iceddev.com/"
32
+ },
33
+ {
34
+ "name": "Kit Cambridge",
35
+ "email": "github@kitcambridge.be",
36
+ "url": "http://kitcambridge.be/"
37
+ },
38
+ {
39
+ "name": "Mathias Bynens",
40
+ "email": "mathias@qiwi.be",
41
+ "url": "http://mathiasbynens.be/"
42
+ }
43
+ ],
44
+ "bugs": {
45
+ "url": "https://github.com/lodash/lodash/issues"
46
+ },
47
+ "repository": {
48
+ "type": "git",
49
+ "url": "https://github.com/lodash/lodash.git"
50
+ },
51
+ "engines": [
52
+ "node",
53
+ "rhino"
54
+ ],
55
+ "jam": {
56
+ "main": "./lodash.js"
57
+ },
58
+ "readme": "# Lo-Dash v0.9.2\n\nA utility library delivering consistency, [customization](http://lodash.com/custom-builds), [performance](http://lodash.com/benchmarks), & [extras](http://lodash.com/#features).\n\n## Download\n\n * [Development build](https://raw.github.com/lodash/lodash/0.9.2/lodash.js)\n * [Production build](https://raw.github.com/lodash/lodash/0.9.2/lodash.min.js)\n * [Underscore build](https://raw.github.com/lodash/lodash/0.9.2/lodash.underscore.min.js) tailored for projects already using Underscore\n * CDN copies of ≤ v0.9.2’s [Production](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.min.js), [Underscore](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.underscore.min.js), and [Development](http://cdnjs.cloudflare.com/ajax/libs/lodash.js/0.9.2/lodash.js) builds are available on [cdnjs](http://cdnjs.com/) thanks to [CloudFlare](http://www.cloudflare.com/)\n * For optimal file size, [create a custom build](http://lodash.com/custom-builds) with only the features you need\n\n## Dive in\n\nWe’ve got [API docs](http://lodash.com/docs), [benchmarks](http://lodash.com/benchmarks), and [unit tests](http://lodash.com/tests).\n\nCreate your own benchmarks at [jsPerf](http://jsperf.com), or [search](http://jsperf.com/search?q=lodash) for existing ones.\n\nFor a list of upcoming features, check out our [roadmap](https://github.com/lodash/lodash/wiki/Roadmap).\n\n## Screencasts\n\nFor more information check out these screencasts over Lo-Dash:\n\n * [Introducing Lo-Dash](https://vimeo.com/44154599)\n * [Lo-Dash optimizations and custom builds](https://vimeo.com/44154601)\n * [Lo-Dash’s origin and why it’s a better utility belt](https://vimeo.com/44154600)\n * [Unit testing in Lo-Dash](https://vimeo.com/45865290)\n * [Lo-Dash’s approach to native method use](https://vimeo.com/48576012)\n\n## Features\n\n * AMD loader support ([RequireJS](http://requirejs.org/), [curl.js](https://github.com/cujojs/curl), etc.)\n * [_.clone](http://lodash.com/docs#clone) supports *“deep”* cloning\n * [_.contains](http://lodash.com/docs#contains) accepts a `fromIndex` argument\n * [_.forEach](http://lodash.com/docs#forEach) is chainable and supports exiting iteration early\n * [_.forIn](http://lodash.com/docs#forIn) for iterating over an object’s own and inherited properties\n * [_.forOwn](http://lodash.com/docs#forOwn) for iterating over an object’s own properties\n * [_.isPlainObject](http://lodash.com/docs#isPlainObject) checks if values are created by the `Object` constructor\n * [_.lateBind](http://lodash.com/docs#lateBind) for late binding\n * [_.merge](http://lodash.com/docs#merge) for a *“deep”* [_.extend](http://lodash.com/docs#extend)\n * [_.partial](http://lodash.com/docs#partial) for partial application without `this` binding\n * [_.pick](http://lodash.com/docs#pick) and [_.omit](http://lodash.com/docs#omit) accepts `callback` and `thisArg` arguments\n * [_.template](http://lodash.com/docs#template) supports [ES6 delimiters](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.6) and utilizes [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) for easier debugging\n * [_.contains](http://lodash.com/docs#contains), [_.size](http://lodash.com/docs#size), [_.toArray](http://lodash.com/docs#toArray),\n [and more…](http://lodash.com/docs \"_.countBy, _.every, _.filter, _.find, _.forEach, _.groupBy, _.invoke, _.map, _.max, _.min, _.pluck, _.reduce, _.reduceRight, _.reject, _.shuffle, _.some, _.sortBy, _.where\") accept strings\n\n## Support\n\nLo-Dash has been tested in at least Chrome 5~23, Firefox 1~16, IE 6-10, Opera 9.25-12, Safari 3-6, Node.js 0.4.8-0.8.14, Narwhal 0.3.2, RingoJS 0.8, and Rhino 1.7RC5.\n\n## Installation and usage\n\nIn browsers:\n\n```html\n<script src=\"lodash.js\"></script>\n```\n\nUsing [npm](http://npmjs.org/):\n\n```bash\nnpm install lodash\n\nnpm install -g lodash\nnpm link lodash\n```\n\nIn [Node.js](http://nodejs.org/) and [RingoJS v0.8.0+](http://ringojs.org/):\n\n```js\nvar _ = require('lodash');\n```\n\n**Note:** If Lo-Dash is installed globally, [run `npm link lodash`](http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/) in your project’s root directory before requiring it.\n\nIn [RingoJS v0.7.0-](http://ringojs.org/):\n\n```js\nvar _ = require('lodash')._;\n```\n\nIn [Rhino](http://www.mozilla.org/rhino/):\n\n```js\nload('lodash.js');\n```\n\nIn an AMD loader like [RequireJS](http://requirejs.org/):\n\n```js\nrequire({\n 'paths': {\n 'underscore': 'path/to/lodash'\n }\n},\n['underscore'], function(_) {\n console.log(_.VERSION);\n});\n```\n\n## Resolved Underscore.js issues\n\n * Allow iteration of objects with a `length` property [[#799](https://github.com/documentcloud/underscore/pull/799), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L545-551)]\n * Fix cross-browser object iteration bugs [[#60](https://github.com/documentcloud/underscore/issues/60), [#376](https://github.com/documentcloud/underscore/issues/376), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L558-582)]\n * Methods should work on pages with incorrectly shimmed native methods [[#7](https://github.com/documentcloud/underscore/issues/7), [#742](https://github.com/documentcloud/underscore/issues/742), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L140-146)]\n * `_.isEmpty` should support jQuery/MooTools DOM query collections [[#690](https://github.com/documentcloud/underscore/pull/690), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L747-752)]\n * `_.isObject` should avoid V8 bug [#2291](http://code.google.com/p/8/issues/detail?id=2291) [[#605](https://github.com/documentcloud/underscore/issues/605), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L828-840)]\n * `_.keys` should work with `arguments` objects cross-browser [[#396](https://github.com/documentcloud/underscore/issues/396), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L921-923)]\n * `_.range` should coerce arguments to numbers [[#634](https://github.com/documentcloud/underscore/issues/634), [#683](https://github.com/documentcloud/underscore/issues/683), [test](https://github.com/lodash/lodash/blob/0.9.2/test/test.js#L1337-1340)]\n\n## Release Notes\n\n### <sup>v0.9.2</sup>\n\n * Added `fromIndex` argument to `_.contains`\n * Added `moduleId` build option\n * Added Closure Compiler *“simple”* optimizations to the build process\n * Added support for strings in `_.max` and `_.min`\n * Added support for ES6 template delimiters to `_.template`\n * Ensured re-minification of Lo-Dash by third parties avoids Closure Compiler bugs\n * Optimized `_.every`, `_.find`, `_.some`, and `_.uniq`\n\nThe full changelog is available [here](https://github.com/lodash/lodash/wiki/Changelog).\n\n## BestieJS\n\nLo-Dash is part of the [BestieJS](https://github.com/bestiejs) *“Best in Class”* module collection. This means we promote solid browser/environment support, ES5 precedents, unit testing, and plenty of documentation.\n\n## Author\n\n| [![twitter/jdalton](http://gravatar.com/avatar/299a3d891ff1920b69c364d061007043?s=70)](http://twitter.com/jdalton \"Follow @jdalton on Twitter\") |\n|---|\n| [John-David Dalton](http://allyoucanleet.com/) |\n\n## Contributors\n\n| [![twitter/blainebublitz](http://gravatar.com/avatar/ac1c67fd906c9fecd823ce302283b4c1?s=70)](http://twitter.com/blainebublitz \"Follow @BlaineBublitz on Twitter\") | [![twitter/kitcambridge](http://gravatar.com/avatar/6662a1d02f351b5ef2f8b4d815804661?s=70)](https://twitter.com/kitcambridge \"Follow @kitcambridge on Twitter\") | [![twitter/mathias](http://gravatar.com/avatar/24e08a9ea84deb17ae121074d0f17125?s=70)](http://twitter.com/mathias \"Follow @mathias on Twitter\") |\n|---|---|---|\n| [Blaine Bublitz](http://iceddev.com/) | [Kit Cambridge](http://kitcambridge.github.io/) | [Mathias Bynens](http://mathiasbynens.be/) |\n",
59
+ "readmeFilename": "README.md",
60
+ "_id": "lodash@0.9.2",
61
+ "_from": "lodash@~0.9.2"
62
+ }
@@ -0,0 +1,23 @@
1
+ Copyright 2009, 2010, 2011 Isaac Z. Schlueter.
2
+ All rights reserved.
3
+
4
+ Permission is hereby granted, free of charge, to any person
5
+ obtaining a copy of this software and associated documentation
6
+ files (the "Software"), to deal in the Software without
7
+ restriction, including without limitation the rights to use,
8
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the
10
+ Software is furnished to do so, subject to the following
11
+ conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
18
+ OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
20
+ HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
21
+ WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
22
+ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
23
+ OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,218 @@
1
+ # minimatch
2
+
3
+ A minimal matching utility.
4
+
5
+ [![Build Status](https://secure.travis-ci.org/isaacs/minimatch.png)](http://travis-ci.org/isaacs/minimatch)
6
+
7
+
8
+ This is the matching library used internally by npm.
9
+
10
+ Eventually, it will replace the C binding in node-glob.
11
+
12
+ It works by converting glob expressions into JavaScript `RegExp`
13
+ objects.
14
+
15
+ ## Usage
16
+
17
+ ```javascript
18
+ var minimatch = require("minimatch")
19
+
20
+ minimatch("bar.foo", "*.foo") // true!
21
+ minimatch("bar.foo", "*.bar") // false!
22
+ minimatch("bar.foo", "*.+(bar|foo)", { debug: true }) // true, and noisy!
23
+ ```
24
+
25
+ ## Features
26
+
27
+ Supports these glob features:
28
+
29
+ * Brace Expansion
30
+ * Extended glob matching
31
+ * "Globstar" `**` matching
32
+
33
+ See:
34
+
35
+ * `man sh`
36
+ * `man bash`
37
+ * `man 3 fnmatch`
38
+ * `man 5 gitignore`
39
+
40
+ ## Minimatch Class
41
+
42
+ Create a minimatch object by instanting the `minimatch.Minimatch` class.
43
+
44
+ ```javascript
45
+ var Minimatch = require("minimatch").Minimatch
46
+ var mm = new Minimatch(pattern, options)
47
+ ```
48
+
49
+ ### Properties
50
+
51
+ * `pattern` The original pattern the minimatch object represents.
52
+ * `options` The options supplied to the constructor.
53
+ * `set` A 2-dimensional array of regexp or string expressions.
54
+ Each row in the
55
+ array corresponds to a brace-expanded pattern. Each item in the row
56
+ corresponds to a single path-part. For example, the pattern
57
+ `{a,b/c}/d` would expand to a set of patterns like:
58
+
59
+ [ [ a, d ]
60
+ , [ b, c, d ] ]
61
+
62
+ If a portion of the pattern doesn't have any "magic" in it
63
+ (that is, it's something like `"foo"` rather than `fo*o?`), then it
64
+ will be left as a string rather than converted to a regular
65
+ expression.
66
+
67
+ * `regexp` Created by the `makeRe` method. A single regular expression
68
+ expressing the entire pattern. This is useful in cases where you wish
69
+ to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.
70
+ * `negate` True if the pattern is negated.
71
+ * `comment` True if the pattern is a comment.
72
+ * `empty` True if the pattern is `""`.
73
+
74
+ ### Methods
75
+
76
+ * `makeRe` Generate the `regexp` member if necessary, and return it.
77
+ Will return `false` if the pattern is invalid.
78
+ * `match(fname)` Return true if the filename matches the pattern, or
79
+ false otherwise.
80
+ * `matchOne(fileArray, patternArray, partial)` Take a `/`-split
81
+ filename, and match it against a single row in the `regExpSet`. This
82
+ method is mainly for internal use, but is exposed so that it can be
83
+ used by a glob-walker that needs to avoid excessive filesystem calls.
84
+
85
+ All other methods are internal, and will be called as necessary.
86
+
87
+ ## Functions
88
+
89
+ The top-level exported function has a `cache` property, which is an LRU
90
+ cache set to store 100 items. So, calling these methods repeatedly
91
+ with the same pattern and options will use the same Minimatch object,
92
+ saving the cost of parsing it multiple times.
93
+
94
+ ### minimatch(path, pattern, options)
95
+
96
+ Main export. Tests a path against the pattern using the options.
97
+
98
+ ```javascript
99
+ var isJS = minimatch(file, "*.js", { matchBase: true })
100
+ ```
101
+
102
+ ### minimatch.filter(pattern, options)
103
+
104
+ Returns a function that tests its
105
+ supplied argument, suitable for use with `Array.filter`. Example:
106
+
107
+ ```javascript
108
+ var javascripts = fileList.filter(minimatch.filter("*.js", {matchBase: true}))
109
+ ```
110
+
111
+ ### minimatch.match(list, pattern, options)
112
+
113
+ Match against the list of
114
+ files, in the style of fnmatch or glob. If nothing is matched, and
115
+ options.nonull is set, then return a list containing the pattern itself.
116
+
117
+ ```javascript
118
+ var javascripts = minimatch.match(fileList, "*.js", {matchBase: true}))
119
+ ```
120
+
121
+ ### minimatch.makeRe(pattern, options)
122
+
123
+ Make a regular expression object from the pattern.
124
+
125
+ ## Options
126
+
127
+ All options are `false` by default.
128
+
129
+ ### debug
130
+
131
+ Dump a ton of stuff to stderr.
132
+
133
+ ### nobrace
134
+
135
+ Do not expand `{a,b}` and `{1..3}` brace sets.
136
+
137
+ ### noglobstar
138
+
139
+ Disable `**` matching against multiple folder names.
140
+
141
+ ### dot
142
+
143
+ Allow patterns to match filenames starting with a period, even if
144
+ the pattern does not explicitly have a period in that spot.
145
+
146
+ Note that by default, `a/**/b` will **not** match `a/.d/b`, unless `dot`
147
+ is set.
148
+
149
+ ### noext
150
+
151
+ Disable "extglob" style patterns like `+(a|b)`.
152
+
153
+ ### nocase
154
+
155
+ Perform a case-insensitive match.
156
+
157
+ ### nonull
158
+
159
+ When a match is not found by `minimatch.match`, return a list containing
160
+ the pattern itself. When set, an empty list is returned if there are
161
+ no matches.
162
+
163
+ ### matchBase
164
+
165
+ If set, then patterns without slashes will be matched
166
+ against the basename of the path if it contains slashes. For example,
167
+ `a?b` would match the path `/xyz/123/acb`, but not `/xyz/acb/123`.
168
+
169
+ ### nocomment
170
+
171
+ Suppress the behavior of treating `#` at the start of a pattern as a
172
+ comment.
173
+
174
+ ### nonegate
175
+
176
+ Suppress the behavior of treating a leading `!` character as negation.
177
+
178
+ ### flipNegate
179
+
180
+ Returns from negate expressions the same as if they were not negated.
181
+ (Ie, true on a hit, false on a miss.)
182
+
183
+
184
+ ## Comparisons to other fnmatch/glob implementations
185
+
186
+ While strict compliance with the existing standards is a worthwhile
187
+ goal, some discrepancies exist between minimatch and other
188
+ implementations, and are intentional.
189
+
190
+ If the pattern starts with a `!` character, then it is negated. Set the
191
+ `nonegate` flag to suppress this behavior, and treat leading `!`
192
+ characters normally. This is perhaps relevant if you wish to start the
193
+ pattern with a negative extglob pattern like `!(a|B)`. Multiple `!`
194
+ characters at the start of a pattern will negate the pattern multiple
195
+ times.
196
+
197
+ If a pattern starts with `#`, then it is treated as a comment, and
198
+ will not match anything. Use `\#` to match a literal `#` at the
199
+ start of a line, or set the `nocomment` flag to suppress this behavior.
200
+
201
+ The double-star character `**` is supported by default, unless the
202
+ `noglobstar` flag is set. This is supported in the manner of bsdglob
203
+ and bash 4.1, where `**` only has special significance if it is the only
204
+ thing in a path part. That is, `a/**/b` will match `a/x/y/b`, but
205
+ `a/**b` will not.
206
+
207
+ If an escaped pattern has no matches, and the `nonull` flag is set,
208
+ then minimatch.match returns the pattern as-provided, rather than
209
+ interpreting the character escapes. For example,
210
+ `minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
211
+ `"*a?"`. This is akin to setting the `nullglob` option in bash, except
212
+ that it does not resolve escaped pattern characters.
213
+
214
+ If brace expansion is not disabled, then it is performed before any
215
+ other interpretation of the glob pattern. Thus, a pattern like
216
+ `+(a|{b),c)}`, which would not be valid in bash or zsh, is expanded
217
+ **first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
218
+ checked for validity. Since those two are valid, matching proceeds.
@@ -0,0 +1,1055 @@
1
+ ;(function (require, exports, module, platform) {
2
+
3
+ if (module) module.exports = minimatch
4
+ else exports.minimatch = minimatch
5
+
6
+ if (!require) {
7
+ require = function (id) {
8
+ switch (id) {
9
+ case "sigmund": return function sigmund (obj) {
10
+ return JSON.stringify(obj)
11
+ }
12
+ case "path": return { basename: function (f) {
13
+ f = f.split(/[\/\\]/)
14
+ var e = f.pop()
15
+ if (!e) e = f.pop()
16
+ return e
17
+ }}
18
+ case "lru-cache": return function LRUCache () {
19
+ // not quite an LRU, but still space-limited.
20
+ var cache = {}
21
+ var cnt = 0
22
+ this.set = function (k, v) {
23
+ cnt ++
24
+ if (cnt >= 100) cache = {}
25
+ cache[k] = v
26
+ }
27
+ this.get = function (k) { return cache[k] }
28
+ }
29
+ }
30
+ }
31
+ }
32
+
33
+ minimatch.Minimatch = Minimatch
34
+
35
+ var LRU = require("lru-cache")
36
+ , cache = minimatch.cache = new LRU({max: 100})
37
+ , GLOBSTAR = minimatch.GLOBSTAR = Minimatch.GLOBSTAR = {}
38
+ , sigmund = require("sigmund")
39
+
40
+ var path = require("path")
41
+ // any single thing other than /
42
+ // don't need to escape / when using new RegExp()
43
+ , qmark = "[^/]"
44
+
45
+ // * => any number of characters
46
+ , star = qmark + "*?"
47
+
48
+ // ** when dots are allowed. Anything goes, except .. and .
49
+ // not (^ or / followed by one or two dots followed by $ or /),
50
+ // followed by anything, any number of times.
51
+ , twoStarDot = "(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?"
52
+
53
+ // not a ^ or / followed by a dot,
54
+ // followed by anything, any number of times.
55
+ , twoStarNoDot = "(?:(?!(?:\\\/|^)\\.).)*?"
56
+
57
+ // characters that need to be escaped in RegExp.
58
+ , reSpecials = charSet("().*{}+?[]^$\\!")
59
+
60
+ // "abc" -> { a:true, b:true, c:true }
61
+ function charSet (s) {
62
+ return s.split("").reduce(function (set, c) {
63
+ set[c] = true
64
+ return set
65
+ }, {})
66
+ }
67
+
68
+ // normalizes slashes.
69
+ var slashSplit = /\/+/
70
+
71
+ minimatch.filter = filter
72
+ function filter (pattern, options) {
73
+ options = options || {}
74
+ return function (p, i, list) {
75
+ return minimatch(p, pattern, options)
76
+ }
77
+ }
78
+
79
+ function ext (a, b) {
80
+ a = a || {}
81
+ b = b || {}
82
+ var t = {}
83
+ Object.keys(b).forEach(function (k) {
84
+ t[k] = b[k]
85
+ })
86
+ Object.keys(a).forEach(function (k) {
87
+ t[k] = a[k]
88
+ })
89
+ return t
90
+ }
91
+
92
+ minimatch.defaults = function (def) {
93
+ if (!def || !Object.keys(def).length) return minimatch
94
+
95
+ var orig = minimatch
96
+
97
+ var m = function minimatch (p, pattern, options) {
98
+ return orig.minimatch(p, pattern, ext(def, options))
99
+ }
100
+
101
+ m.Minimatch = function Minimatch (pattern, options) {
102
+ return new orig.Minimatch(pattern, ext(def, options))
103
+ }
104
+
105
+ return m
106
+ }
107
+
108
+ Minimatch.defaults = function (def) {
109
+ if (!def || !Object.keys(def).length) return Minimatch
110
+ return minimatch.defaults(def).Minimatch
111
+ }
112
+
113
+
114
+ function minimatch (p, pattern, options) {
115
+ if (typeof pattern !== "string") {
116
+ throw new TypeError("glob pattern string required")
117
+ }
118
+
119
+ if (!options) options = {}
120
+
121
+ // shortcut: comments match nothing.
122
+ if (!options.nocomment && pattern.charAt(0) === "#") {
123
+ return false
124
+ }
125
+
126
+ // "" only matches ""
127
+ if (pattern.trim() === "") return p === ""
128
+
129
+ return new Minimatch(pattern, options).match(p)
130
+ }
131
+
132
+ function Minimatch (pattern, options) {
133
+ if (!(this instanceof Minimatch)) {
134
+ return new Minimatch(pattern, options, cache)
135
+ }
136
+
137
+ if (typeof pattern !== "string") {
138
+ throw new TypeError("glob pattern string required")
139
+ }
140
+
141
+ if (!options) options = {}
142
+ pattern = pattern.trim()
143
+
144
+ // windows: need to use /, not \
145
+ // On other platforms, \ is a valid (albeit bad) filename char.
146
+ if (platform === "win32") {
147
+ pattern = pattern.split("\\").join("/")
148
+ }
149
+
150
+ // lru storage.
151
+ // these things aren't particularly big, but walking down the string
152
+ // and turning it into a regexp can get pretty costly.
153
+ var cacheKey = pattern + "\n" + sigmund(options)
154
+ var cached = minimatch.cache.get(cacheKey)
155
+ if (cached) return cached
156
+ minimatch.cache.set(cacheKey, this)
157
+
158
+ this.options = options
159
+ this.set = []
160
+ this.pattern = pattern
161
+ this.regexp = null
162
+ this.negate = false
163
+ this.comment = false
164
+ this.empty = false
165
+
166
+ // make the set of regexps etc.
167
+ this.make()
168
+ }
169
+
170
+ Minimatch.prototype.debug = function() {}
171
+
172
+ Minimatch.prototype.make = make
173
+ function make () {
174
+ // don't do it more than once.
175
+ if (this._made) return
176
+
177
+ var pattern = this.pattern
178
+ var options = this.options
179
+
180
+ // empty patterns and comments match nothing.
181
+ if (!options.nocomment && pattern.charAt(0) === "#") {
182
+ this.comment = true
183
+ return
184
+ }
185
+ if (!pattern) {
186
+ this.empty = true
187
+ return
188
+ }
189
+
190
+ // step 1: figure out negation, etc.
191
+ this.parseNegate()
192
+
193
+ // step 2: expand braces
194
+ var set = this.globSet = this.braceExpand()
195
+
196
+ if (options.debug) this.debug = console.error
197
+
198
+ this.debug(this.pattern, set)
199
+
200
+ // step 3: now we have a set, so turn each one into a series of path-portion
201
+ // matching patterns.
202
+ // These will be regexps, except in the case of "**", which is
203
+ // set to the GLOBSTAR object for globstar behavior,
204
+ // and will not contain any / characters
205
+ set = this.globParts = set.map(function (s) {
206
+ return s.split(slashSplit)
207
+ })
208
+
209
+ this.debug(this.pattern, set)
210
+
211
+ // glob --> regexps
212
+ set = set.map(function (s, si, set) {
213
+ return s.map(this.parse, this)
214
+ }, this)
215
+
216
+ this.debug(this.pattern, set)
217
+
218
+ // filter out everything that didn't compile properly.
219
+ set = set.filter(function (s) {
220
+ return -1 === s.indexOf(false)
221
+ })
222
+
223
+ this.debug(this.pattern, set)
224
+
225
+ this.set = set
226
+ }
227
+
228
+ Minimatch.prototype.parseNegate = parseNegate
229
+ function parseNegate () {
230
+ var pattern = this.pattern
231
+ , negate = false
232
+ , options = this.options
233
+ , negateOffset = 0
234
+
235
+ if (options.nonegate) return
236
+
237
+ for ( var i = 0, l = pattern.length
238
+ ; i < l && pattern.charAt(i) === "!"
239
+ ; i ++) {
240
+ negate = !negate
241
+ negateOffset ++
242
+ }
243
+
244
+ if (negateOffset) this.pattern = pattern.substr(negateOffset)
245
+ this.negate = negate
246
+ }
247
+
248
+ // Brace expansion:
249
+ // a{b,c}d -> abd acd
250
+ // a{b,}c -> abc ac
251
+ // a{0..3}d -> a0d a1d a2d a3d
252
+ // a{b,c{d,e}f}g -> abg acdfg acefg
253
+ // a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
254
+ //
255
+ // Invalid sets are not expanded.
256
+ // a{2..}b -> a{2..}b
257
+ // a{b}c -> a{b}c
258
+ minimatch.braceExpand = function (pattern, options) {
259
+ return new Minimatch(pattern, options).braceExpand()
260
+ }
261
+
262
+ Minimatch.prototype.braceExpand = braceExpand
263
+ function braceExpand (pattern, options) {
264
+ options = options || this.options
265
+ pattern = typeof pattern === "undefined"
266
+ ? this.pattern : pattern
267
+
268
+ if (typeof pattern === "undefined") {
269
+ throw new Error("undefined pattern")
270
+ }
271
+
272
+ if (options.nobrace ||
273
+ !pattern.match(/\{.*\}/)) {
274
+ // shortcut. no need to expand.
275
+ return [pattern]
276
+ }
277
+
278
+ var escaping = false
279
+
280
+ // examples and comments refer to this crazy pattern:
281
+ // a{b,c{d,e},{f,g}h}x{y,z}
282
+ // expected:
283
+ // abxy
284
+ // abxz
285
+ // acdxy
286
+ // acdxz
287
+ // acexy
288
+ // acexz
289
+ // afhxy
290
+ // afhxz
291
+ // aghxy
292
+ // aghxz
293
+
294
+ // everything before the first \{ is just a prefix.
295
+ // So, we pluck that off, and work with the rest,
296
+ // and then prepend it to everything we find.
297
+ if (pattern.charAt(0) !== "{") {
298
+ this.debug(pattern)
299
+ var prefix = null
300
+ for (var i = 0, l = pattern.length; i < l; i ++) {
301
+ var c = pattern.charAt(i)
302
+ this.debug(i, c)
303
+ if (c === "\\") {
304
+ escaping = !escaping
305
+ } else if (c === "{" && !escaping) {
306
+ prefix = pattern.substr(0, i)
307
+ break
308
+ }
309
+ }
310
+
311
+ // actually no sets, all { were escaped.
312
+ if (prefix === null) {
313
+ this.debug("no sets")
314
+ return [pattern]
315
+ }
316
+
317
+ var tail = braceExpand.call(this, pattern.substr(i), options)
318
+ return tail.map(function (t) {
319
+ return prefix + t
320
+ })
321
+ }
322
+
323
+ // now we have something like:
324
+ // {b,c{d,e},{f,g}h}x{y,z}
325
+ // walk through the set, expanding each part, until
326
+ // the set ends. then, we'll expand the suffix.
327
+ // If the set only has a single member, then'll put the {} back
328
+
329
+ // first, handle numeric sets, since they're easier
330
+ var numset = pattern.match(/^\{(-?[0-9]+)\.\.(-?[0-9]+)\}/)
331
+ if (numset) {
332
+ this.debug("numset", numset[1], numset[2])
333
+ var suf = braceExpand.call(this, pattern.substr(numset[0].length), options)
334
+ , start = +numset[1]
335
+ , end = +numset[2]
336
+ , inc = start > end ? -1 : 1
337
+ , set = []
338
+ for (var i = start; i != (end + inc); i += inc) {
339
+ // append all the suffixes
340
+ for (var ii = 0, ll = suf.length; ii < ll; ii ++) {
341
+ set.push(i + suf[ii])
342
+ }
343
+ }
344
+ return set
345
+ }
346
+
347
+ // ok, walk through the set
348
+ // We hope, somewhat optimistically, that there
349
+ // will be a } at the end.
350
+ // If the closing brace isn't found, then the pattern is
351
+ // interpreted as braceExpand("\\" + pattern) so that
352
+ // the leading \{ will be interpreted literally.
353
+ var i = 1 // skip the \{
354
+ , depth = 1
355
+ , set = []
356
+ , member = ""
357
+ , sawEnd = false
358
+ , escaping = false
359
+
360
+ function addMember () {
361
+ set.push(member)
362
+ member = ""
363
+ }
364
+
365
+ this.debug("Entering for")
366
+ FOR: for (i = 1, l = pattern.length; i < l; i ++) {
367
+ var c = pattern.charAt(i)
368
+ this.debug("", i, c)
369
+
370
+ if (escaping) {
371
+ escaping = false
372
+ member += "\\" + c
373
+ } else {
374
+ switch (c) {
375
+ case "\\":
376
+ escaping = true
377
+ continue
378
+
379
+ case "{":
380
+ depth ++
381
+ member += "{"
382
+ continue
383
+
384
+ case "}":
385
+ depth --
386
+ // if this closes the actual set, then we're done
387
+ if (depth === 0) {
388
+ addMember()
389
+ // pluck off the close-brace
390
+ i ++
391
+ break FOR
392
+ } else {
393
+ member += c
394
+ continue
395
+ }
396
+
397
+ case ",":
398
+ if (depth === 1) {
399
+ addMember()
400
+ } else {
401
+ member += c
402
+ }
403
+ continue
404
+
405
+ default:
406
+ member += c
407
+ continue
408
+ } // switch
409
+ } // else
410
+ } // for
411
+
412
+ // now we've either finished the set, and the suffix is
413
+ // pattern.substr(i), or we have *not* closed the set,
414
+ // and need to escape the leading brace
415
+ if (depth !== 0) {
416
+ this.debug("didn't close", pattern)
417
+ return braceExpand.call(this, "\\" + pattern, options)
418
+ }
419
+
420
+ // x{y,z} -> ["xy", "xz"]
421
+ this.debug("set", set)
422
+ this.debug("suffix", pattern.substr(i))
423
+ var suf = braceExpand.call(this, pattern.substr(i), options)
424
+ // ["b", "c{d,e}","{f,g}h"] ->
425
+ // [["b"], ["cd", "ce"], ["fh", "gh"]]
426
+ var addBraces = set.length === 1
427
+ this.debug("set pre-expanded", set)
428
+ set = set.map(function (p) {
429
+ return braceExpand.call(this, p, options)
430
+ }, this)
431
+ this.debug("set expanded", set)
432
+
433
+
434
+ // [["b"], ["cd", "ce"], ["fh", "gh"]] ->
435
+ // ["b", "cd", "ce", "fh", "gh"]
436
+ set = set.reduce(function (l, r) {
437
+ return l.concat(r)
438
+ })
439
+
440
+ if (addBraces) {
441
+ set = set.map(function (s) {
442
+ return "{" + s + "}"
443
+ })
444
+ }
445
+
446
+ // now attach the suffixes.
447
+ var ret = []
448
+ for (var i = 0, l = set.length; i < l; i ++) {
449
+ for (var ii = 0, ll = suf.length; ii < ll; ii ++) {
450
+ ret.push(set[i] + suf[ii])
451
+ }
452
+ }
453
+ return ret
454
+ }
455
+
456
+ // parse a component of the expanded set.
457
+ // At this point, no pattern may contain "/" in it
458
+ // so we're going to return a 2d array, where each entry is the full
459
+ // pattern, split on '/', and then turned into a regular expression.
460
+ // A regexp is made at the end which joins each array with an
461
+ // escaped /, and another full one which joins each regexp with |.
462
+ //
463
+ // Following the lead of Bash 4.1, note that "**" only has special meaning
464
+ // when it is the *only* thing in a path portion. Otherwise, any series
465
+ // of * is equivalent to a single *. Globstar behavior is enabled by
466
+ // default, and can be disabled by setting options.noglobstar.
467
+ Minimatch.prototype.parse = parse
468
+ var SUBPARSE = {}
469
+ function parse (pattern, isSub) {
470
+ var options = this.options
471
+
472
+ // shortcuts
473
+ if (!options.noglobstar && pattern === "**") return GLOBSTAR
474
+ if (pattern === "") return ""
475
+
476
+ var re = ""
477
+ , hasMagic = !!options.nocase
478
+ , escaping = false
479
+ // ? => one single character
480
+ , patternListStack = []
481
+ , plType
482
+ , stateChar
483
+ , inClass = false
484
+ , reClassStart = -1
485
+ , classStart = -1
486
+ // . and .. never match anything that doesn't start with .,
487
+ // even when options.dot is set.
488
+ , patternStart = pattern.charAt(0) === "." ? "" // anything
489
+ // not (start or / followed by . or .. followed by / or end)
490
+ : options.dot ? "(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))"
491
+ : "(?!\\.)"
492
+ , self = this
493
+
494
+ function clearStateChar () {
495
+ if (stateChar) {
496
+ // we had some state-tracking character
497
+ // that wasn't consumed by this pass.
498
+ switch (stateChar) {
499
+ case "*":
500
+ re += star
501
+ hasMagic = true
502
+ break
503
+ case "?":
504
+ re += qmark
505
+ hasMagic = true
506
+ break
507
+ default:
508
+ re += "\\"+stateChar
509
+ break
510
+ }
511
+ self.debug('clearStateChar %j %j', stateChar, re)
512
+ stateChar = false
513
+ }
514
+ }
515
+
516
+ for ( var i = 0, len = pattern.length, c
517
+ ; (i < len) && (c = pattern.charAt(i))
518
+ ; i ++ ) {
519
+
520
+ this.debug("%s\t%s %s %j", pattern, i, re, c)
521
+
522
+ // skip over any that are escaped.
523
+ if (escaping && reSpecials[c]) {
524
+ re += "\\" + c
525
+ escaping = false
526
+ continue
527
+ }
528
+
529
+ SWITCH: switch (c) {
530
+ case "/":
531
+ // completely not allowed, even escaped.
532
+ // Should already be path-split by now.
533
+ return false
534
+
535
+ case "\\":
536
+ clearStateChar()
537
+ escaping = true
538
+ continue
539
+
540
+ // the various stateChar values
541
+ // for the "extglob" stuff.
542
+ case "?":
543
+ case "*":
544
+ case "+":
545
+ case "@":
546
+ case "!":
547
+ this.debug("%s\t%s %s %j <-- stateChar", pattern, i, re, c)
548
+
549
+ // all of those are literals inside a class, except that
550
+ // the glob [!a] means [^a] in regexp
551
+ if (inClass) {
552
+ this.debug(' in class')
553
+ if (c === "!" && i === classStart + 1) c = "^"
554
+ re += c
555
+ continue
556
+ }
557
+
558
+ // if we already have a stateChar, then it means
559
+ // that there was something like ** or +? in there.
560
+ // Handle the stateChar, then proceed with this one.
561
+ self.debug('call clearStateChar %j', stateChar)
562
+ clearStateChar()
563
+ stateChar = c
564
+ // if extglob is disabled, then +(asdf|foo) isn't a thing.
565
+ // just clear the statechar *now*, rather than even diving into
566
+ // the patternList stuff.
567
+ if (options.noext) clearStateChar()
568
+ continue
569
+
570
+ case "(":
571
+ if (inClass) {
572
+ re += "("
573
+ continue
574
+ }
575
+
576
+ if (!stateChar) {
577
+ re += "\\("
578
+ continue
579
+ }
580
+
581
+ plType = stateChar
582
+ patternListStack.push({ type: plType
583
+ , start: i - 1
584
+ , reStart: re.length })
585
+ // negation is (?:(?!js)[^/]*)
586
+ re += stateChar === "!" ? "(?:(?!" : "(?:"
587
+ this.debug('plType %j %j', stateChar, re)
588
+ stateChar = false
589
+ continue
590
+
591
+ case ")":
592
+ if (inClass || !patternListStack.length) {
593
+ re += "\\)"
594
+ continue
595
+ }
596
+
597
+ clearStateChar()
598
+ hasMagic = true
599
+ re += ")"
600
+ plType = patternListStack.pop().type
601
+ // negation is (?:(?!js)[^/]*)
602
+ // The others are (?:<pattern>)<type>
603
+ switch (plType) {
604
+ case "!":
605
+ re += "[^/]*?)"
606
+ break
607
+ case "?":
608
+ case "+":
609
+ case "*": re += plType
610
+ case "@": break // the default anyway
611
+ }
612
+ continue
613
+
614
+ case "|":
615
+ if (inClass || !patternListStack.length || escaping) {
616
+ re += "\\|"
617
+ escaping = false
618
+ continue
619
+ }
620
+
621
+ clearStateChar()
622
+ re += "|"
623
+ continue
624
+
625
+ // these are mostly the same in regexp and glob
626
+ case "[":
627
+ // swallow any state-tracking char before the [
628
+ clearStateChar()
629
+
630
+ if (inClass) {
631
+ re += "\\" + c
632
+ continue
633
+ }
634
+
635
+ inClass = true
636
+ classStart = i
637
+ reClassStart = re.length
638
+ re += c
639
+ continue
640
+
641
+ case "]":
642
+ // a right bracket shall lose its special
643
+ // meaning and represent itself in
644
+ // a bracket expression if it occurs
645
+ // first in the list. -- POSIX.2 2.8.3.2
646
+ if (i === classStart + 1 || !inClass) {
647
+ re += "\\" + c
648
+ escaping = false
649
+ continue
650
+ }
651
+
652
+ // finish up the class.
653
+ hasMagic = true
654
+ inClass = false
655
+ re += c
656
+ continue
657
+
658
+ default:
659
+ // swallow any state char that wasn't consumed
660
+ clearStateChar()
661
+
662
+ if (escaping) {
663
+ // no need
664
+ escaping = false
665
+ } else if (reSpecials[c]
666
+ && !(c === "^" && inClass)) {
667
+ re += "\\"
668
+ }
669
+
670
+ re += c
671
+
672
+ } // switch
673
+ } // for
674
+
675
+
676
+ // handle the case where we left a class open.
677
+ // "[abc" is valid, equivalent to "\[abc"
678
+ if (inClass) {
679
+ // split where the last [ was, and escape it
680
+ // this is a huge pita. We now have to re-walk
681
+ // the contents of the would-be class to re-translate
682
+ // any characters that were passed through as-is
683
+ var cs = pattern.substr(classStart + 1)
684
+ , sp = this.parse(cs, SUBPARSE)
685
+ re = re.substr(0, reClassStart) + "\\[" + sp[0]
686
+ hasMagic = hasMagic || sp[1]
687
+ }
688
+
689
+ // handle the case where we had a +( thing at the *end*
690
+ // of the pattern.
691
+ // each pattern list stack adds 3 chars, and we need to go through
692
+ // and escape any | chars that were passed through as-is for the regexp.
693
+ // Go through and escape them, taking care not to double-escape any
694
+ // | chars that were already escaped.
695
+ var pl
696
+ while (pl = patternListStack.pop()) {
697
+ var tail = re.slice(pl.reStart + 3)
698
+ // maybe some even number of \, then maybe 1 \, followed by a |
699
+ tail = tail.replace(/((?:\\{2})*)(\\?)\|/g, function (_, $1, $2) {
700
+ if (!$2) {
701
+ // the | isn't already escaped, so escape it.
702
+ $2 = "\\"
703
+ }
704
+
705
+ // need to escape all those slashes *again*, without escaping the
706
+ // one that we need for escaping the | character. As it works out,
707
+ // escaping an even number of slashes can be done by simply repeating
708
+ // it exactly after itself. That's why this trick works.
709
+ //
710
+ // I am sorry that you have to see this.
711
+ return $1 + $1 + $2 + "|"
712
+ })
713
+
714
+ this.debug("tail=%j\n %s", tail, tail)
715
+ var t = pl.type === "*" ? star
716
+ : pl.type === "?" ? qmark
717
+ : "\\" + pl.type
718
+
719
+ hasMagic = true
720
+ re = re.slice(0, pl.reStart)
721
+ + t + "\\("
722
+ + tail
723
+ }
724
+
725
+ // handle trailing things that only matter at the very end.
726
+ clearStateChar()
727
+ if (escaping) {
728
+ // trailing \\
729
+ re += "\\\\"
730
+ }
731
+
732
+ // only need to apply the nodot start if the re starts with
733
+ // something that could conceivably capture a dot
734
+ var addPatternStart = false
735
+ switch (re.charAt(0)) {
736
+ case ".":
737
+ case "[":
738
+ case "(": addPatternStart = true
739
+ }
740
+
741
+ // if the re is not "" at this point, then we need to make sure
742
+ // it doesn't match against an empty path part.
743
+ // Otherwise a/* will match a/, which it should not.
744
+ if (re !== "" && hasMagic) re = "(?=.)" + re
745
+
746
+ if (addPatternStart) re = patternStart + re
747
+
748
+ // parsing just a piece of a larger pattern.
749
+ if (isSub === SUBPARSE) {
750
+ return [ re, hasMagic ]
751
+ }
752
+
753
+ // skip the regexp for non-magical patterns
754
+ // unescape anything in it, though, so that it'll be
755
+ // an exact match against a file etc.
756
+ if (!hasMagic) {
757
+ return globUnescape(pattern)
758
+ }
759
+
760
+ var flags = options.nocase ? "i" : ""
761
+ , regExp = new RegExp("^" + re + "$", flags)
762
+
763
+ regExp._glob = pattern
764
+ regExp._src = re
765
+
766
+ return regExp
767
+ }
768
+
769
+ minimatch.makeRe = function (pattern, options) {
770
+ return new Minimatch(pattern, options || {}).makeRe()
771
+ }
772
+
773
+ Minimatch.prototype.makeRe = makeRe
774
+ function makeRe () {
775
+ if (this.regexp || this.regexp === false) return this.regexp
776
+
777
+ // at this point, this.set is a 2d array of partial
778
+ // pattern strings, or "**".
779
+ //
780
+ // It's better to use .match(). This function shouldn't
781
+ // be used, really, but it's pretty convenient sometimes,
782
+ // when you just want to work with a regex.
783
+ var set = this.set
784
+
785
+ if (!set.length) return this.regexp = false
786
+ var options = this.options
787
+
788
+ var twoStar = options.noglobstar ? star
789
+ : options.dot ? twoStarDot
790
+ : twoStarNoDot
791
+ , flags = options.nocase ? "i" : ""
792
+
793
+ var re = set.map(function (pattern) {
794
+ return pattern.map(function (p) {
795
+ return (p === GLOBSTAR) ? twoStar
796
+ : (typeof p === "string") ? regExpEscape(p)
797
+ : p._src
798
+ }).join("\\\/")
799
+ }).join("|")
800
+
801
+ // must match entire pattern
802
+ // ending in a * or ** will make it less strict.
803
+ re = "^(?:" + re + ")$"
804
+
805
+ // can match anything, as long as it's not this.
806
+ if (this.negate) re = "^(?!" + re + ").*$"
807
+
808
+ try {
809
+ return this.regexp = new RegExp(re, flags)
810
+ } catch (ex) {
811
+ return this.regexp = false
812
+ }
813
+ }
814
+
815
+ minimatch.match = function (list, pattern, options) {
816
+ var mm = new Minimatch(pattern, options)
817
+ list = list.filter(function (f) {
818
+ return mm.match(f)
819
+ })
820
+ if (options.nonull && !list.length) {
821
+ list.push(pattern)
822
+ }
823
+ return list
824
+ }
825
+
826
+ Minimatch.prototype.match = match
827
+ function match (f, partial) {
828
+ this.debug("match", f, this.pattern)
829
+ // short-circuit in the case of busted things.
830
+ // comments, etc.
831
+ if (this.comment) return false
832
+ if (this.empty) return f === ""
833
+
834
+ if (f === "/" && partial) return true
835
+
836
+ var options = this.options
837
+
838
+ // windows: need to use /, not \
839
+ // On other platforms, \ is a valid (albeit bad) filename char.
840
+ if (platform === "win32") {
841
+ f = f.split("\\").join("/")
842
+ }
843
+
844
+ // treat the test path as a set of pathparts.
845
+ f = f.split(slashSplit)
846
+ this.debug(this.pattern, "split", f)
847
+
848
+ // just ONE of the pattern sets in this.set needs to match
849
+ // in order for it to be valid. If negating, then just one
850
+ // match means that we have failed.
851
+ // Either way, return on the first hit.
852
+
853
+ var set = this.set
854
+ this.debug(this.pattern, "set", set)
855
+
856
+ var splitFile = path.basename(f.join("/")).split("/")
857
+
858
+ for (var i = 0, l = set.length; i < l; i ++) {
859
+ var pattern = set[i], file = f
860
+ if (options.matchBase && pattern.length === 1) {
861
+ file = splitFile
862
+ }
863
+ var hit = this.matchOne(file, pattern, partial)
864
+ if (hit) {
865
+ if (options.flipNegate) return true
866
+ return !this.negate
867
+ }
868
+ }
869
+
870
+ // didn't get any hits. this is success if it's a negative
871
+ // pattern, failure otherwise.
872
+ if (options.flipNegate) return false
873
+ return this.negate
874
+ }
875
+
876
+ // set partial to true to test if, for example,
877
+ // "/a/b" matches the start of "/*/b/*/d"
878
+ // Partial means, if you run out of file before you run
879
+ // out of pattern, then that's fine, as long as all
880
+ // the parts match.
881
+ Minimatch.prototype.matchOne = function (file, pattern, partial) {
882
+ var options = this.options
883
+
884
+ this.debug("matchOne",
885
+ { "this": this
886
+ , file: file
887
+ , pattern: pattern })
888
+
889
+ this.debug("matchOne", file.length, pattern.length)
890
+
891
+ for ( var fi = 0
892
+ , pi = 0
893
+ , fl = file.length
894
+ , pl = pattern.length
895
+ ; (fi < fl) && (pi < pl)
896
+ ; fi ++, pi ++ ) {
897
+
898
+ this.debug("matchOne loop")
899
+ var p = pattern[pi]
900
+ , f = file[fi]
901
+
902
+ this.debug(pattern, p, f)
903
+
904
+ // should be impossible.
905
+ // some invalid regexp stuff in the set.
906
+ if (p === false) return false
907
+
908
+ if (p === GLOBSTAR) {
909
+ this.debug('GLOBSTAR', [pattern, p, f])
910
+
911
+ // "**"
912
+ // a/**/b/**/c would match the following:
913
+ // a/b/x/y/z/c
914
+ // a/x/y/z/b/c
915
+ // a/b/x/b/x/c
916
+ // a/b/c
917
+ // To do this, take the rest of the pattern after
918
+ // the **, and see if it would match the file remainder.
919
+ // If so, return success.
920
+ // If not, the ** "swallows" a segment, and try again.
921
+ // This is recursively awful.
922
+ //
923
+ // a/**/b/**/c matching a/b/x/y/z/c
924
+ // - a matches a
925
+ // - doublestar
926
+ // - matchOne(b/x/y/z/c, b/**/c)
927
+ // - b matches b
928
+ // - doublestar
929
+ // - matchOne(x/y/z/c, c) -> no
930
+ // - matchOne(y/z/c, c) -> no
931
+ // - matchOne(z/c, c) -> no
932
+ // - matchOne(c, c) yes, hit
933
+ var fr = fi
934
+ , pr = pi + 1
935
+ if (pr === pl) {
936
+ this.debug('** at the end')
937
+ // a ** at the end will just swallow the rest.
938
+ // We have found a match.
939
+ // however, it will not swallow /.x, unless
940
+ // options.dot is set.
941
+ // . and .. are *never* matched by **, for explosively
942
+ // exponential reasons.
943
+ for ( ; fi < fl; fi ++) {
944
+ if (file[fi] === "." || file[fi] === ".." ||
945
+ (!options.dot && file[fi].charAt(0) === ".")) return false
946
+ }
947
+ return true
948
+ }
949
+
950
+ // ok, let's see if we can swallow whatever we can.
951
+ WHILE: while (fr < fl) {
952
+ var swallowee = file[fr]
953
+
954
+ this.debug('\nglobstar while',
955
+ file, fr, pattern, pr, swallowee)
956
+
957
+ // XXX remove this slice. Just pass the start index.
958
+ if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
959
+ this.debug('globstar found match!', fr, fl, swallowee)
960
+ // found a match.
961
+ return true
962
+ } else {
963
+ // can't swallow "." or ".." ever.
964
+ // can only swallow ".foo" when explicitly asked.
965
+ if (swallowee === "." || swallowee === ".." ||
966
+ (!options.dot && swallowee.charAt(0) === ".")) {
967
+ this.debug("dot detected!", file, fr, pattern, pr)
968
+ break WHILE
969
+ }
970
+
971
+ // ** swallows a segment, and continue.
972
+ this.debug('globstar swallow a segment, and continue')
973
+ fr ++
974
+ }
975
+ }
976
+ // no match was found.
977
+ // However, in partial mode, we can't say this is necessarily over.
978
+ // If there's more *pattern* left, then
979
+ if (partial) {
980
+ // ran out of file
981
+ this.debug("\n>>> no match, partial?", file, fr, pattern, pr)
982
+ if (fr === fl) return true
983
+ }
984
+ return false
985
+ }
986
+
987
+ // something other than **
988
+ // non-magic patterns just have to match exactly
989
+ // patterns with magic have been turned into regexps.
990
+ var hit
991
+ if (typeof p === "string") {
992
+ if (options.nocase) {
993
+ hit = f.toLowerCase() === p.toLowerCase()
994
+ } else {
995
+ hit = f === p
996
+ }
997
+ this.debug("string match", p, f, hit)
998
+ } else {
999
+ hit = f.match(p)
1000
+ this.debug("pattern match", p, f, hit)
1001
+ }
1002
+
1003
+ if (!hit) return false
1004
+ }
1005
+
1006
+ // Note: ending in / means that we'll get a final ""
1007
+ // at the end of the pattern. This can only match a
1008
+ // corresponding "" at the end of the file.
1009
+ // If the file ends in /, then it can only match a
1010
+ // a pattern that ends in /, unless the pattern just
1011
+ // doesn't have any more for it. But, a/b/ should *not*
1012
+ // match "a/b/*", even though "" matches against the
1013
+ // [^/]*? pattern, except in partial mode, where it might
1014
+ // simply not be reached yet.
1015
+ // However, a/b/ should still satisfy a/*
1016
+
1017
+ // now either we fell off the end of the pattern, or we're done.
1018
+ if (fi === fl && pi === pl) {
1019
+ // ran out of pattern and filename at the same time.
1020
+ // an exact hit!
1021
+ return true
1022
+ } else if (fi === fl) {
1023
+ // ran out of file, but still had pattern left.
1024
+ // this is ok if we're doing the match as part of
1025
+ // a glob fs traversal.
1026
+ return partial
1027
+ } else if (pi === pl) {
1028
+ // ran out of pattern, still have file left.
1029
+ // this is only acceptable if we're on the very last
1030
+ // empty segment of a file with a trailing slash.
1031
+ // a/* should match a/b/
1032
+ var emptyFileEnd = (fi === fl - 1) && (file[fi] === "")
1033
+ return emptyFileEnd
1034
+ }
1035
+
1036
+ // should be unreachable.
1037
+ throw new Error("wtf?")
1038
+ }
1039
+
1040
+
1041
+ // replace stuff like \* with *
1042
+ function globUnescape (s) {
1043
+ return s.replace(/\\(.)/g, "$1")
1044
+ }
1045
+
1046
+
1047
+ function regExpEscape (s) {
1048
+ return s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&")
1049
+ }
1050
+
1051
+ })( typeof require === "function" ? require : null,
1052
+ this,
1053
+ typeof module === "object" ? module : null,
1054
+ typeof process === "object" ? process.platform : "win32"
1055
+ )