trackler 2.2.1.59 → 2.2.1.60

Sign up to get free protection for your applications and to get access to all the features.
Files changed (234) hide show
  1. checksums.yaml +4 -4
  2. data/lib/trackler/version.rb +1 -1
  3. data/problem-specifications/exercises/food-chain/canonical-data.json +31 -23
  4. data/problem-specifications/exercises/house/canonical-data.json +45 -33
  5. data/problem-specifications/exercises/house/description.md +1 -1
  6. data/problem-specifications/exercises/kindergarten-garden/description.md +3 -3
  7. data/problem-specifications/exercises/nucleotide-count/description.md +2 -2
  8. data/problem-specifications/exercises/palindrome-products/description.md +1 -1
  9. data/problem-specifications/exercises/rectangles/description.md +9 -9
  10. data/problem-specifications/exercises/twelve-days/canonical-data.json +171 -0
  11. data/problem-specifications/exercises/two-bucket/description.md +7 -7
  12. data/tracks/c/docs/CONTRIBUTING.md +88 -39
  13. data/tracks/c/exercises/phone-number/test/test_phone_number.c +33 -29
  14. data/tracks/c/exercises/triangle/src/example.c +12 -12
  15. data/tracks/c/exercises/triangle/src/example.h +3 -3
  16. data/tracks/c/exercises/triangle/test/test_triangle.c +16 -16
  17. data/tracks/c/exercises/word-count/src/example.c +12 -3
  18. data/tracks/c/exercises/word-count/src/word_count.h +10 -5
  19. data/tracks/c/exercises/word-count/test/test_word_count.c +248 -58
  20. data/tracks/ceylon/exercises/hamming/source/hamming/HammingTest.ceylon +3 -3
  21. data/tracks/ceylon/exercises/leap/source/leap/LeapTest.ceylon +2 -2
  22. data/tracks/dart/exercises/phone-number/README.md +1 -1
  23. data/tracks/dart/exercises/phone-number/test/phone_number_test.dart +5 -5
  24. data/tracks/gnu-apl/.dockerignore +5 -0
  25. data/tracks/gnu-apl/.travis.yml +9 -4
  26. data/tracks/gnu-apl/Dockerfiles/release.dockerfile +15 -0
  27. data/tracks/gnu-apl/Dockerfiles/svn.dockerfile +22 -0
  28. data/tracks/gnu-apl/README.md +1 -1
  29. data/tracks/gnu-apl/bin/install-apl +26 -0
  30. data/tracks/gnu-apl/test.apl +7 -6
  31. data/tracks/go/docs/TESTS.md +1 -1
  32. data/tracks/haskell/.travis.yml +1 -1
  33. data/tracks/haskell/config.json +9 -0
  34. data/tracks/haskell/exercises/accumulate/stack.yaml +1 -1
  35. data/tracks/haskell/exercises/acronym/package.yaml +1 -1
  36. data/tracks/haskell/exercises/acronym/stack.yaml +1 -1
  37. data/tracks/haskell/exercises/acronym/test/Tests.hs +3 -0
  38. data/tracks/haskell/exercises/all-your-base/stack.yaml +1 -1
  39. data/tracks/haskell/exercises/allergies/stack.yaml +1 -1
  40. data/tracks/haskell/exercises/alphametics/examples/success-standard/src/Alphametics.hs +2 -1
  41. data/tracks/haskell/exercises/alphametics/stack.yaml +1 -1
  42. data/tracks/haskell/exercises/anagram/stack.yaml +1 -1
  43. data/tracks/haskell/exercises/atbash-cipher/stack.yaml +1 -1
  44. data/tracks/haskell/exercises/bank-account/stack.yaml +1 -1
  45. data/tracks/haskell/exercises/beer-song/stack.yaml +1 -1
  46. data/tracks/haskell/exercises/binary-search-tree/stack.yaml +1 -1
  47. data/tracks/haskell/exercises/binary/stack.yaml +1 -1
  48. data/tracks/haskell/exercises/bob/stack.yaml +1 -1
  49. data/tracks/haskell/exercises/bowling/stack.yaml +1 -1
  50. data/tracks/haskell/exercises/bracket-push/stack.yaml +1 -1
  51. data/tracks/haskell/exercises/change/stack.yaml +1 -1
  52. data/tracks/haskell/exercises/clock/stack.yaml +1 -1
  53. data/tracks/haskell/exercises/collatz-conjecture/stack.yaml +1 -1
  54. data/tracks/haskell/exercises/complex-numbers/stack.yaml +1 -1
  55. data/tracks/haskell/exercises/connect/stack.yaml +1 -1
  56. data/tracks/haskell/exercises/crypto-square/package.yaml +1 -1
  57. data/tracks/haskell/exercises/crypto-square/stack.yaml +1 -1
  58. data/tracks/haskell/exercises/crypto-square/test/Tests.hs +9 -5
  59. data/tracks/haskell/exercises/custom-set/package.yaml +1 -1
  60. data/tracks/haskell/exercises/custom-set/stack.yaml +1 -1
  61. data/tracks/haskell/exercises/custom-set/test/Tests.hs +3 -0
  62. data/tracks/haskell/exercises/diamond/stack.yaml +1 -1
  63. data/tracks/haskell/exercises/difference-of-squares/stack.yaml +1 -1
  64. data/tracks/haskell/exercises/dominoes/README.md +3 -3
  65. data/tracks/haskell/exercises/dominoes/stack.yaml +1 -1
  66. data/tracks/haskell/exercises/etl/stack.yaml +1 -1
  67. data/tracks/haskell/exercises/food-chain/stack.yaml +1 -1
  68. data/tracks/haskell/exercises/forth/stack.yaml +1 -1
  69. data/tracks/haskell/exercises/gigasecond/stack.yaml +1 -1
  70. data/tracks/haskell/exercises/go-counting/stack.yaml +1 -1
  71. data/tracks/haskell/exercises/grade-school/stack.yaml +1 -1
  72. data/tracks/haskell/exercises/grains/stack.yaml +1 -1
  73. data/tracks/haskell/exercises/hamming/package.yaml +1 -1
  74. data/tracks/haskell/exercises/hamming/stack.yaml +1 -1
  75. data/tracks/haskell/exercises/hamming/test/Tests.hs +4 -4
  76. data/tracks/haskell/exercises/hello-world/stack.yaml +1 -1
  77. data/tracks/haskell/exercises/hexadecimal/stack.yaml +1 -1
  78. data/tracks/haskell/exercises/house/README.md +1 -1
  79. data/tracks/haskell/exercises/house/stack.yaml +1 -1
  80. data/tracks/haskell/exercises/isbn-verifier/README.md +96 -0
  81. data/tracks/haskell/exercises/isbn-verifier/examples/success-standard/package.yaml +16 -0
  82. data/tracks/haskell/exercises/isbn-verifier/examples/success-standard/src/IsbnVerifier.hs +10 -0
  83. data/tracks/haskell/exercises/isbn-verifier/package.yaml +20 -0
  84. data/tracks/haskell/exercises/isbn-verifier/src/IsbnVerifier.hs +4 -0
  85. data/tracks/haskell/exercises/isbn-verifier/stack.yaml +1 -0
  86. data/tracks/haskell/exercises/isbn-verifier/test/Tests.hs +74 -0
  87. data/tracks/haskell/exercises/isogram/stack.yaml +1 -1
  88. data/tracks/haskell/exercises/kindergarten-garden/README.md +3 -3
  89. data/tracks/haskell/exercises/kindergarten-garden/stack.yaml +1 -1
  90. data/tracks/haskell/exercises/largest-series-product/stack.yaml +1 -1
  91. data/tracks/haskell/exercises/leap/package.yaml +1 -1
  92. data/tracks/haskell/exercises/leap/stack.yaml +1 -1
  93. data/tracks/haskell/exercises/leap/test/Tests.hs +1 -1
  94. data/tracks/haskell/exercises/lens-person/stack.yaml +1 -1
  95. data/tracks/haskell/exercises/linked-list/stack.yaml +1 -1
  96. data/tracks/haskell/exercises/list-ops/stack.yaml +1 -1
  97. data/tracks/haskell/exercises/luhn/stack.yaml +1 -1
  98. data/tracks/haskell/exercises/matrix/stack.yaml +1 -1
  99. data/tracks/haskell/exercises/meetup/stack.yaml +1 -1
  100. data/tracks/haskell/exercises/minesweeper/stack.yaml +1 -1
  101. data/tracks/haskell/exercises/nth-prime/package.yaml +1 -1
  102. data/tracks/haskell/exercises/nth-prime/stack.yaml +1 -1
  103. data/tracks/haskell/exercises/nucleotide-count/README.md +2 -2
  104. data/tracks/haskell/exercises/nucleotide-count/package.yaml +1 -1
  105. data/tracks/haskell/exercises/nucleotide-count/stack.yaml +1 -1
  106. data/tracks/haskell/exercises/nucleotide-count/test/Tests.hs +6 -0
  107. data/tracks/haskell/exercises/ocr-numbers/stack.yaml +1 -1
  108. data/tracks/haskell/exercises/octal/stack.yaml +1 -1
  109. data/tracks/haskell/exercises/palindrome-products/README.md +1 -1
  110. data/tracks/haskell/exercises/palindrome-products/stack.yaml +1 -1
  111. data/tracks/haskell/exercises/pangram/package.yaml +1 -1
  112. data/tracks/haskell/exercises/pangram/stack.yaml +1 -1
  113. data/tracks/haskell/exercises/pangram/test/Tests.hs +6 -2
  114. data/tracks/haskell/exercises/parallel-letter-frequency/stack.yaml +1 -1
  115. data/tracks/haskell/exercises/pascals-triangle/stack.yaml +1 -1
  116. data/tracks/haskell/exercises/perfect-numbers/stack.yaml +1 -1
  117. data/tracks/haskell/exercises/phone-number/README.md +1 -1
  118. data/tracks/haskell/exercises/phone-number/stack.yaml +1 -1
  119. data/tracks/haskell/exercises/pig-latin/stack.yaml +1 -1
  120. data/tracks/haskell/exercises/pov/stack.yaml +1 -1
  121. data/tracks/haskell/exercises/prime-factors/stack.yaml +1 -1
  122. data/tracks/haskell/exercises/pythagorean-triplet/stack.yaml +1 -1
  123. data/tracks/haskell/exercises/queen-attack/stack.yaml +1 -1
  124. data/tracks/haskell/exercises/raindrops/stack.yaml +1 -1
  125. data/tracks/haskell/exercises/rna-transcription/stack.yaml +1 -1
  126. data/tracks/haskell/exercises/robot-name/stack.yaml +1 -1
  127. data/tracks/haskell/exercises/robot-simulator/stack.yaml +1 -1
  128. data/tracks/haskell/exercises/roman-numerals/stack.yaml +1 -1
  129. data/tracks/haskell/exercises/rotational-cipher/stack.yaml +1 -1
  130. data/tracks/haskell/exercises/run-length-encoding/stack.yaml +1 -1
  131. data/tracks/haskell/exercises/saddle-points/stack.yaml +1 -1
  132. data/tracks/haskell/exercises/say/stack.yaml +1 -1
  133. data/tracks/haskell/exercises/scrabble-score/stack.yaml +1 -1
  134. data/tracks/haskell/exercises/secret-handshake/stack.yaml +1 -1
  135. data/tracks/haskell/exercises/series/stack.yaml +1 -1
  136. data/tracks/haskell/exercises/sgf-parsing/stack.yaml +1 -1
  137. data/tracks/haskell/exercises/sieve/stack.yaml +1 -1
  138. data/tracks/haskell/exercises/simple-cipher/stack.yaml +1 -1
  139. data/tracks/haskell/exercises/simple-linked-list/stack.yaml +1 -1
  140. data/tracks/haskell/exercises/space-age/stack.yaml +1 -1
  141. data/tracks/haskell/exercises/spiral-matrix/stack.yaml +1 -1
  142. data/tracks/haskell/exercises/strain/stack.yaml +1 -1
  143. data/tracks/haskell/exercises/sublist/stack.yaml +1 -1
  144. data/tracks/haskell/exercises/sum-of-multiples/stack.yaml +1 -1
  145. data/tracks/haskell/exercises/triangle/stack.yaml +1 -1
  146. data/tracks/haskell/exercises/trinary/stack.yaml +1 -1
  147. data/tracks/haskell/exercises/word-count/stack.yaml +1 -1
  148. data/tracks/haskell/exercises/wordy/examples/success-standard/src/WordProblem.hs +6 -5
  149. data/tracks/haskell/exercises/wordy/stack.yaml +1 -1
  150. data/tracks/haskell/exercises/zebra-puzzle/package.yaml +1 -1
  151. data/tracks/haskell/exercises/zebra-puzzle/stack.yaml +1 -1
  152. data/tracks/haskell/exercises/zipper/README.md +1 -1
  153. data/tracks/haskell/exercises/zipper/stack.yaml +1 -1
  154. data/tracks/javascript/.eslintignore +43 -0
  155. data/tracks/javascript/.travis.yml +2 -1
  156. data/tracks/javascript/exercises/bowling/README.md +5 -5
  157. data/tracks/javascript/exercises/crypto-square/example.js +2 -1
  158. data/tracks/javascript/exercises/diffie-hellman/diffie-hellman.spec.js +20 -20
  159. data/tracks/javascript/exercises/diffie-hellman/example.js +10 -10
  160. data/tracks/javascript/exercises/largest-series-product/example.js +2 -1
  161. data/tracks/javascript/exercises/sieve/example.js +5 -2
  162. data/tracks/javascript/package-lock.json +129 -76
  163. data/tracks/javascript/package.json +6 -5
  164. data/tracks/ocaml/config.json +10 -0
  165. data/tracks/ocaml/exercises/hamming/test.ml +3 -3
  166. data/tracks/ocaml/exercises/leap/test.ml +2 -2
  167. data/tracks/ocaml/exercises/pangram/test.ml +3 -3
  168. data/tracks/ocaml/exercises/rectangles/.merlin +5 -0
  169. data/tracks/ocaml/exercises/rectangles/Makefile +11 -0
  170. data/tracks/ocaml/exercises/rectangles/example.ml +30 -0
  171. data/tracks/ocaml/exercises/rectangles/rectangles.mli +1 -0
  172. data/tracks/ocaml/exercises/rectangles/test.ml +72 -0
  173. data/tracks/ocaml/tools/test-generator/templates/ocaml/leap/test.ml +1 -1
  174. data/tracks/ocaml/tools/test-generator/templates/ocaml/rectangles/test.ml +15 -0
  175. data/tracks/pony/README.md +1 -1
  176. data/tracks/pony/exercises/atbash-cipher/example.pony +6 -10
  177. data/tracks/pony/exercises/difference-of-squares/example.pony +3 -7
  178. data/tracks/rust/_test/count-ignores.sh +2 -2
  179. data/tracks/rust/config.json +24 -0
  180. data/tracks/rust/config/maintainers.json +10 -0
  181. data/tracks/rust/exercises/acronym/README.md +0 -1
  182. data/tracks/rust/exercises/all-your-base/README.md +1 -1
  183. data/tracks/rust/exercises/allergies/README.md +0 -1
  184. data/tracks/rust/exercises/alphametics/README.md +2 -2
  185. data/tracks/rust/exercises/atbash-cipher/README.md +2 -1
  186. data/tracks/rust/exercises/beer-song/README.md +1 -1
  187. data/tracks/rust/exercises/bowling/README.md +20 -6
  188. data/tracks/rust/exercises/circular-buffer/README.md +13 -6
  189. data/tracks/rust/exercises/crypto-square/README.md +10 -8
  190. data/tracks/rust/exercises/dominoes/Cargo.toml +1 -1
  191. data/tracks/rust/exercises/etl/README.md +2 -0
  192. data/tracks/rust/exercises/grade-school/README.md +0 -1
  193. data/tracks/rust/exercises/grains/README.md +0 -1
  194. data/tracks/rust/exercises/isbn-verifier/Cargo.lock +4 -0
  195. data/tracks/rust/exercises/isbn-verifier/Cargo.toml +3 -0
  196. data/tracks/rust/exercises/isbn-verifier/README.md +74 -0
  197. data/tracks/rust/exercises/isbn-verifier/example.rs +44 -0
  198. data/tracks/rust/exercises/isbn-verifier/src/lib.rs +4 -0
  199. data/tracks/rust/exercises/isbn-verifier/tests/isbn-verifier.rs +83 -0
  200. data/tracks/rust/exercises/isogram/README.md +3 -2
  201. data/tracks/rust/exercises/leap/README.md +1 -1
  202. data/tracks/rust/exercises/luhn/README.md +7 -7
  203. data/tracks/rust/exercises/nucleotide-count/README.md +8 -22
  204. data/tracks/rust/exercises/ocr-numbers/README.md +5 -5
  205. data/tracks/rust/exercises/pangram/README.md +1 -1
  206. data/tracks/rust/exercises/pascals-triangle/README.md +1 -1
  207. data/tracks/rust/exercises/perfect-numbers/README.md +2 -2
  208. data/tracks/rust/exercises/phone-number/README.md +3 -2
  209. data/tracks/rust/exercises/protein-translation/README.md +4 -5
  210. data/tracks/rust/exercises/proverb/README.md +13 -11
  211. data/tracks/rust/exercises/proverb/example.rs +14 -15
  212. data/tracks/rust/exercises/proverb/tests/proverb.rs +40 -13
  213. data/tracks/rust/exercises/pythagorean-triplet/README.md +3 -3
  214. data/tracks/rust/exercises/queen-attack/README.md +1 -1
  215. data/tracks/rust/exercises/rectangles/README.md +7 -7
  216. data/tracks/rust/exercises/roman-numerals/README.md +1 -1
  217. data/tracks/rust/exercises/rotational-cipher/README.md +2 -1
  218. data/tracks/rust/exercises/run-length-encoding/README.md +4 -4
  219. data/tracks/rust/exercises/scrabble-score/README.md +3 -1
  220. data/tracks/rust/exercises/space-age/README.md +1 -1
  221. data/tracks/rust/exercises/tournament/README.md +5 -5
  222. data/tracks/rust/exercises/triangle/README.md +9 -6
  223. data/tracks/rust/exercises/two-bucket/Cargo.lock +4 -0
  224. data/tracks/rust/exercises/two-bucket/Cargo.toml +3 -0
  225. data/tracks/rust/exercises/two-bucket/README.md +69 -0
  226. data/tracks/rust/exercises/two-bucket/example.rs +129 -0
  227. data/tracks/rust/exercises/two-bucket/src/lib.rs +26 -0
  228. data/tracks/rust/exercises/two-bucket/tests/two-bucket.rs +68 -0
  229. data/tracks/rust/exercises/variable-length-quantity/README.md +6 -7
  230. data/tracks/rust/exercises/word-count/README.md +1 -2
  231. data/tracks/rust/exercises/wordy/README.md +0 -5
  232. metadata +33 -4
  233. data/tracks/go/.github/PULL_REQUEST_TEMPLATE.md +0 -23
  234. data/tracks/ruby/.github/PULL_REQUEST_TEMPLATE.md +0 -40
@@ -1,10 +1,10 @@
1
1
 
2
- var DiffieHellman = function(p, g){
2
+ var DiffieHellman = function (p, g) {
3
3
  this.p = p;
4
4
  this.g = g;
5
5
 
6
6
  // array of first 1000 primes.
7
- this.PRIMES= [
7
+ this.PRIMES = [
8
8
  2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101, 103, 107, 109, 113, 127, 131, 137, 139, 149, 151, 157, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211, 223, 227, 229, 233, 239, 241, 251, 257, 263, 269, 271, 277, 281, 283, 293, 307, 311, 313, 317, 331, 337, 347, 349, 353, 359, 367, 373, 379, 383, 389, 397, 401, 409, 419, 421, 431, 433, 439, 443, 449, 457, 461, 463, 467, 479, 487, 491, 499, 503, 509, 521, 523, 541, 547, 557, 563, 569, 571, 577, 587, 593, 599, 601, 607, 613, 617, 619, 631, 641, 643, 647, 653, 659, 661, 673, 677, 683, 691, 701, 709, 719, 727, 733, 739, 743, 751, 757, 761, 769, 773, 787, 797, 809, 811, 821, 823, 827, 829, 839, 853, 857, 859, 863, 877, 881, 883, 887, 907, 911, 919, 929, 937, 941, 947, 953, 967, 971, 977, 983, 991, 997, 1009, 1013, 1019, 1021, 1031, 1033, 1039, 1049, 1051, 1061, 1063, 1069, 1087, 1091, 1093, 1097, 1103, 1109, 1117, 1123, 1129, 1151, 1153, 1163, 1171, 1181, 1187, 1193, 1201, 1213, 1217, 1223, 1229, 1231, 1237, 1249, 1259, 1277, 1279, 1283, 1289, 1291, 1297, 1301, 1303, 1307, 1319, 1321, 1327, 1361, 1367, 1373, 1381, 1399, 1409, 1423, 1427, 1429, 1433, 1439, 1447, 1451, 1453, 1459, 1471, 1481, 1483, 1487, 1489, 1493, 1499, 1511, 1523, 1531, 1543, 1549, 1553, 1559, 1567, 1571, 1579, 1583, 1597, 1601, 1607, 1609, 1613, 1619, 1621, 1627, 1637, 1657, 1663, 1667, 1669, 1693, 1697, 1699, 1709, 1721, 1723, 1733, 1741, 1747, 1753, 1759, 1777, 1783, 1787, 1789, 1801, 1811, 1823, 1831, 1847, 1861, 1867, 1871, 1873, 1877, 1879, 1889, 1901, 1907, 1913, 1931, 1933, 1949, 1951, 1973, 1979, 1987, 1993, 1997, 1999, 2003, 2011, 2017, 2027, 2029, 2039, 2053, 2063, 2069, 2081, 2083, 2087, 2089, 2099, 2111, 2113, 2129, 2131, 2137, 2141, 2143, 2153, 2161, 2179, 2203, 2207, 2213, 2221, 2237, 2239, 2243, 2251, 2267, 2269, 2273, 2281, 2287, 2293, 2297, 2309, 2311, 2333, 2339, 2341, 2347, 2351, 2357, 2371, 2377, 2381, 2383, 2389, 2393, 2399, 2411, 2417, 2423, 2437, 2441, 2447, 2459, 2467, 2473, 2477, 2503, 2521, 2531, 2539, 2543, 2549, 2551, 2557, 2579, 2591, 2593, 2609, 2617, 2621, 2633, 2647, 2657, 2659, 2663, 2671, 2677, 2683, 2687, 2689, 2693, 2699, 2707, 2711, 2713, 2719, 2729, 2731, 2741, 2749, 2753, 2767, 2777, 2789, 2791, 2797, 2801, 2803, 2819, 2833, 2837, 2843, 2851, 2857, 2861, 2879, 2887, 2897, 2903, 2909, 2917, 2927, 2939, 2953, 2957, 2963, 2969, 2971, 2999, 3001, 3011, 3019, 3023, 3037, 3041, 3049, 3061, 3067, 3079, 3083, 3089, 3109, 3119, 3121, 3137, 3163, 3167, 3169, 3181, 3187, 3191, 3203, 3209, 3217, 3221, 3229, 3251, 3253, 3257, 3259, 3271, 3299, 3301, 3307, 3313, 3319, 3323, 3329, 3331, 3343, 3347, 3359, 3361, 3371, 3373, 3389, 3391, 3407, 3413, 3433, 3449, 3457, 3461, 3463, 3467, 3469, 3491, 3499, 3511, 3517, 3527, 3529, 3533, 3539, 3541, 3547, 3557, 3559, 3571, 3581, 3583, 3593, 3607, 3613, 3617, 3623, 3631, 3637, 3643, 3659, 3671, 3673, 3677, 3691, 3697, 3701, 3709, 3719, 3727, 3733, 3739, 3761, 3767, 3769, 3779, 3793, 3797, 3803, 3821, 3823, 3833, 3847, 3851, 3853, 3863, 3877, 3881, 3889, 3907, 3911, 3917, 3919, 3923, 3929, 3931, 3943, 3947, 3967, 3989, 4001, 4003, 4007, 4013, 4019, 4021, 4027, 4049, 4051, 4057, 4073, 4079, 4091, 4093, 4099, 4111, 4127, 4129, 4133, 4139, 4153, 4157, 4159, 4177, 4201, 4211, 4217, 4219, 4229, 4231, 4241, 4243, 4253, 4259, 4261, 4271, 4273, 4283, 4289, 4297, 4327, 4337, 4339, 4349, 4357, 4363, 4373, 4391, 4397, 4409, 4421, 4423, 4441, 4447, 4451, 4457, 4463, 4481, 4483, 4493, 4507, 4513, 4517, 4519, 4523, 4547, 4549, 4561, 4567, 4583, 4591, 4597, 4603, 4621, 4637, 4639, 4643, 4649, 4651, 4657, 4663, 4673, 4679, 4691, 4703, 4721, 4723, 4729, 4733, 4751, 4759, 4783, 4787, 4789, 4793, 4799, 4801, 4813, 4817, 4831, 4861, 4871, 4877, 4889, 4903, 4909, 4919, 4931, 4933, 4937, 4943, 4951, 4957, 4967, 4969, 4973, 4987, 4993, 4999, 5003, 5009, 5011, 5021, 5023, 5039, 5051, 5059, 5077, 5081, 5087, 5099, 5101, 5107, 5113, 5119, 5147, 5153, 5167, 5171, 5179, 5189, 5197, 5209, 5227, 5231, 5233, 5237, 5261, 5273, 5279, 5281, 5297, 5303, 5309, 5323, 5333, 5347, 5351, 5381, 5387, 5393, 5399, 5407, 5413, 5417, 5419, 5431, 5437, 5441, 5443, 5449, 5471, 5477, 5479, 5483, 5501, 5503, 5507, 5519, 5521, 5527, 5531, 5557, 5563, 5569, 5573, 5581, 5591, 5623, 5639, 5641, 5647, 5651, 5653, 5657, 5659, 5669, 5683, 5689, 5693, 5701, 5711, 5717, 5737, 5741, 5743, 5749, 5779, 5783, 5791, 5801, 5807, 5813, 5821, 5827, 5839, 5843, 5849, 5851, 5857, 5861, 5867, 5869, 5879, 5881, 5897, 5903, 5923, 5927, 5939, 5953, 5981, 5987, 6007, 6011, 6029, 6037, 6043, 6047, 6053, 6067, 6073, 6079, 6089, 6091, 6101, 6113, 6121, 6131, 6133, 6143, 6151, 6163, 6173, 6197, 6199, 6203, 6211, 6217, 6221, 6229, 6247, 6257, 6263, 6269, 6271, 6277, 6287, 6299, 6301, 6311, 6317, 6323, 6329, 6337, 6343, 6353, 6359, 6361, 6367, 6373, 6379, 6389, 6397, 6421, 6427, 6449, 6451, 6469, 6473, 6481, 6491, 6521, 6529, 6547, 6551, 6553, 6563, 6569, 6571, 6577, 6581, 6599, 6607, 6619, 6637, 6653, 6659, 6661, 6673, 6679, 6689, 6691, 6701, 6703, 6709, 6719, 6733, 6737, 6761, 6763, 6779, 6781, 6791, 6793, 6803, 6823, 6827, 6829, 6833, 6841, 6857, 6863, 6869, 6871, 6883, 6899, 6907, 6911, 6917, 6947, 6949, 6959, 6961, 6967, 6971, 6977, 6983, 6991, 6997, 7001, 7013, 7019, 7027, 7039, 7043, 7057, 7069, 7079, 7103, 7109, 7121, 7127, 7129, 7151, 7159, 7177, 7187, 7193, 7207, 7211, 7213, 7219, 7229, 7237, 7243, 7247, 7253, 7283, 7297, 7307, 7309, 7321, 7331, 7333, 7349, 7351, 7369, 7393, 7411, 7417, 7433, 7451, 7457, 7459, 7477, 7481, 7487, 7489, 7499, 7507, 7517, 7523, 7529, 7537, 7541, 7547, 7549, 7559, 7561, 7573, 7577, 7583, 7589, 7591, 7603, 7607, 7621, 7639, 7643, 7649, 7669, 7673, 7681, 7687, 7691, 7699, 7703, 7717, 7723, 7727, 7741, 7753, 7757, 7759, 7789, 7793, 7817, 7823, 7829, 7841, 7853, 7867, 7873, 7877, 7879, 7883, 7901, 7907, 7919
9
9
  ];
10
10
 
@@ -19,14 +19,14 @@ var DiffieHellman = function(p, g){
19
19
  return Math.pow(theirPublicKey, ourPrivateKey) % this.p;
20
20
  };
21
21
 
22
- this.validateInitialArguments = function (p, g){
22
+ this.validateInitialArguments = function (primeModulus, generator) {
23
23
  var BIGGEST_PRIME = this.PRIMES[this.PRIMES.length - 1];
24
- return p >= 2
25
- && g >= 2
26
- && p <= BIGGEST_PRIME
27
- && g <= BIGGEST_PRIME
28
- && arrIncludes(this.PRIMES, p)
29
- && arrIncludes(this.PRIMES, g);
24
+ return primeModulus >= 2
25
+ && generator >= 2
26
+ && primeModulus <= BIGGEST_PRIME
27
+ && generator <= BIGGEST_PRIME
28
+ && arrIncludes(this.PRIMES, primeModulus)
29
+ && arrIncludes(this.PRIMES, generator);
30
30
  };
31
31
 
32
32
  function arrIncludes(arr, a) {
@@ -40,7 +40,7 @@ var DiffieHellman = function(p, g){
40
40
 
41
41
 
42
42
  if (!this.validateInitialArguments(p, g)) {
43
- throw Error('Constructor arguments are out of range or non-prime!');
43
+ throw Error('Constructor arguments are out of range or non-prime!');
44
44
  }
45
45
  };
46
46
 
@@ -14,7 +14,8 @@ Series.prototype.getDigits = function () {
14
14
 
15
15
  Series.prototype.largestProduct = function (size) {
16
16
  if (size < 0) throw new Error('Invalid input.');
17
- var product, max = 0;
17
+ var product;
18
+ var max = 0;
18
19
  this.slices(size).forEach(function (slice) {
19
20
  product = slice.reduce(function (a, b) {
20
21
  return a * b;
@@ -1,7 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  function newArrayWithRange(first, last) {
4
- var i, array = [];
4
+ var i;
5
+ var array = [];
5
6
  for ( i = first; i <= last; i++ ) {
6
7
  array.push(i);
7
8
  }
@@ -13,7 +14,9 @@ function indivisibleBy(value) {
13
14
  }
14
15
 
15
16
  function sieve(n) {
16
- var i, prime, possibilities, primes = [];
17
+ var prime;
18
+ var possibilities;
19
+ var primes = [];
17
20
 
18
21
  possibilities = newArrayWithRange(2, n);
19
22
 
@@ -5,9 +5,9 @@
5
5
  "requires": true,
6
6
  "dependencies": {
7
7
  "acorn": {
8
- "version": "5.1.2",
9
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.1.2.tgz",
10
- "integrity": "sha512-o96FZLJBPY1lvTuJylGA9Bk3t/GKPPJG8H0ydQQl01crzwJgspa4AEIq/pVTXigmK0PHVQhiAtn8WMBLL9D2WA==",
8
+ "version": "5.2.1",
9
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.2.1.tgz",
10
+ "integrity": "sha512-jG0u7c4Ly+3QkkW18V+NRDN+4bWHdln30NL1ZL2AvFZZmQe/BfopYCtghCKKVBUSetZ4QKcyA0pY6/4Gw8Pv8w==",
11
11
  "dev": true
12
12
  },
13
13
  "acorn-jsx": {
@@ -28,21 +28,21 @@
28
28
  }
29
29
  },
30
30
  "ajv": {
31
- "version": "5.2.3",
32
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.2.3.tgz",
33
- "integrity": "sha1-wG9Zh3jETGsWGrr+NGa4GtGBTtI=",
31
+ "version": "5.3.0",
32
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz",
33
+ "integrity": "sha1-RBT/dKUIecII7l/cgm4ywwNUnto=",
34
34
  "dev": true,
35
35
  "requires": {
36
36
  "co": "4.6.0",
37
37
  "fast-deep-equal": "1.0.0",
38
- "json-schema-traverse": "0.3.1",
39
- "json-stable-stringify": "1.0.1"
38
+ "fast-json-stable-stringify": "2.0.0",
39
+ "json-schema-traverse": "0.3.1"
40
40
  }
41
41
  },
42
42
  "ajv-keywords": {
43
- "version": "2.1.0",
44
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.0.tgz",
45
- "integrity": "sha1-opbhf3v658HOT34N5T0pyzIWLfA=",
43
+ "version": "2.1.1",
44
+ "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz",
45
+ "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=",
46
46
  "dev": true
47
47
  },
48
48
  "ansi-escapes": {
@@ -356,9 +356,9 @@
356
356
  }
357
357
  },
358
358
  "debug": {
359
- "version": "2.6.8",
360
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.8.tgz",
361
- "integrity": "sha1-5zFTHKLt4n0YgiJCfaF4IdaP9Pw=",
359
+ "version": "3.1.0",
360
+ "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
361
+ "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
362
362
  "dev": true,
363
363
  "requires": {
364
364
  "ms": "2.0.0"
@@ -396,9 +396,9 @@
396
396
  }
397
397
  },
398
398
  "doctrine": {
399
- "version": "1.5.0",
400
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
401
- "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
399
+ "version": "2.0.0",
400
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz",
401
+ "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=",
402
402
  "dev": true,
403
403
  "requires": {
404
404
  "esutils": "2.0.2",
@@ -454,12 +454,12 @@
454
454
  "dev": true
455
455
  },
456
456
  "eslint": {
457
- "version": "4.7.2",
458
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.7.2.tgz",
459
- "integrity": "sha1-/29fUZOEiifum2J74+c/ucteZi4=",
457
+ "version": "4.10.0",
458
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.10.0.tgz",
459
+ "integrity": "sha512-MMVl8P/dYUFZEvolL8PYt7qc5LNdS2lwheq9BYa5Y07FblhcZqFyaUqlS8TW5QITGex21tV4Lk0a3fK8lsJIkA==",
460
460
  "dev": true,
461
461
  "requires": {
462
- "ajv": "5.2.3",
462
+ "ajv": "5.3.0",
463
463
  "babel-code-frame": "6.26.0",
464
464
  "chalk": "2.1.0",
465
465
  "concat-stream": "1.6.0",
@@ -475,7 +475,7 @@
475
475
  "functional-red-black-tree": "1.0.1",
476
476
  "glob": "7.1.2",
477
477
  "globals": "9.18.0",
478
- "ignore": "3.3.5",
478
+ "ignore": "3.3.7",
479
479
  "imurmurhash": "0.1.4",
480
480
  "inquirer": "3.3.0",
481
481
  "is-resolvable": "1.0.0",
@@ -539,25 +539,6 @@
539
539
  }
540
540
  }
541
541
  },
542
- "debug": {
543
- "version": "3.1.0",
544
- "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz",
545
- "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==",
546
- "dev": true,
547
- "requires": {
548
- "ms": "2.0.0"
549
- }
550
- },
551
- "doctrine": {
552
- "version": "2.0.0",
553
- "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.0.0.tgz",
554
- "integrity": "sha1-xz2NKQnSIpHhoAejlYBNqLZl/mM=",
555
- "dev": true,
556
- "requires": {
557
- "esutils": "2.0.2",
558
- "isarray": "1.0.0"
559
- }
560
- },
561
542
  "globals": {
562
543
  "version": "9.18.0",
563
544
  "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz",
@@ -573,9 +554,9 @@
573
554
  }
574
555
  },
575
556
  "eslint-config-airbnb-base": {
576
- "version": "12.0.0",
577
- "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.0.0.tgz",
578
- "integrity": "sha512-/XlFQGn3Mkwm642/GYBtOH3pgFX4Z7saBsqqyp96v0bEUPq24nIrZ6N72qAoD0lR2wAne4EC4YsHYkbPfaRfiA==",
557
+ "version": "12.1.0",
558
+ "resolved": "https://registry.npmjs.org/eslint-config-airbnb-base/-/eslint-config-airbnb-base-12.1.0.tgz",
559
+ "integrity": "sha512-/vjm0Px5ZCpmJqnjIzcFb9TKZrKWz0gnuG/7Gfkt0Db1ELJR51xkZth+t14rYdqWgX836XbuxtArbIHlVhbLBA==",
579
560
  "dev": true,
580
561
  "requires": {
581
562
  "eslint-restricted-globals": "0.1.1"
@@ -604,8 +585,19 @@
604
585
  "integrity": "sha512-yUtXS15gIcij68NmXmP9Ni77AQuCN0itXbCc/jWd8C6/yKZaSNXicpC8cgvjnxVdmfsosIXrjpzFq7GcDryb6A==",
605
586
  "dev": true,
606
587
  "requires": {
607
- "debug": "2.6.8",
608
- "resolve": "1.4.0"
588
+ "debug": "2.6.9",
589
+ "resolve": "1.5.0"
590
+ },
591
+ "dependencies": {
592
+ "debug": {
593
+ "version": "2.6.9",
594
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
595
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
596
+ "dev": true,
597
+ "requires": {
598
+ "ms": "2.0.0"
599
+ }
600
+ }
609
601
  }
610
602
  },
611
603
  "eslint-module-utils": {
@@ -614,19 +606,30 @@
614
606
  "integrity": "sha512-jDI/X5l/6D1rRD/3T43q8Qgbls2nq5km5KSqiwlyUbGo5+04fXhMKdCPhjwbqAa6HXWaMxj8Q4hQDIh7IadJQw==",
615
607
  "dev": true,
616
608
  "requires": {
617
- "debug": "2.6.8",
609
+ "debug": "2.6.9",
618
610
  "pkg-dir": "1.0.0"
611
+ },
612
+ "dependencies": {
613
+ "debug": {
614
+ "version": "2.6.9",
615
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
616
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
617
+ "dev": true,
618
+ "requires": {
619
+ "ms": "2.0.0"
620
+ }
621
+ }
619
622
  }
620
623
  },
621
624
  "eslint-plugin-import": {
622
- "version": "2.7.0",
623
- "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.7.0.tgz",
624
- "integrity": "sha512-HGYmpU9f/zJaQiKNQOVfHUh2oLWW3STBrCgH0sHTX1xtsxYlH1zjLh8FlQGEIdZSdTbUMaV36WaZ6ImXkenGxQ==",
625
+ "version": "2.8.0",
626
+ "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.8.0.tgz",
627
+ "integrity": "sha512-Rf7dfKJxZ16QuTgVv1OYNxkZcsu/hULFnC+e+w0Gzi6jMC3guQoWQgxYxc54IDRinlb6/0v5z/PxxIKmVctN+g==",
625
628
  "dev": true,
626
629
  "requires": {
627
630
  "builtin-modules": "1.1.1",
628
631
  "contains-path": "0.1.0",
629
- "debug": "2.6.8",
632
+ "debug": "2.6.9",
630
633
  "doctrine": "1.5.0",
631
634
  "eslint-import-resolver-node": "0.3.1",
632
635
  "eslint-module-utils": "2.1.1",
@@ -634,12 +637,33 @@
634
637
  "lodash.cond": "4.5.2",
635
638
  "minimatch": "3.0.4",
636
639
  "read-pkg-up": "2.0.0"
640
+ },
641
+ "dependencies": {
642
+ "debug": {
643
+ "version": "2.6.9",
644
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
645
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
646
+ "dev": true,
647
+ "requires": {
648
+ "ms": "2.0.0"
649
+ }
650
+ },
651
+ "doctrine": {
652
+ "version": "1.5.0",
653
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz",
654
+ "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=",
655
+ "dev": true,
656
+ "requires": {
657
+ "esutils": "2.0.2",
658
+ "isarray": "1.0.0"
659
+ }
660
+ }
637
661
  }
638
662
  },
639
663
  "eslint-plugin-jasmine": {
640
- "version": "2.8.4",
641
- "resolved": "https://registry.npmjs.org/eslint-plugin-jasmine/-/eslint-plugin-jasmine-2.8.4.tgz",
642
- "integrity": "sha1-Z6VVHj0dXguMa1Sq66uVNw9dN94=",
664
+ "version": "2.9.1",
665
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jasmine/-/eslint-plugin-jasmine-2.9.1.tgz",
666
+ "integrity": "sha1-IuGaWfFvOl9kOgSroEQ40OMEcDA=",
643
667
  "dev": true
644
668
  },
645
669
  "eslint-plugin-react": {
@@ -688,7 +712,7 @@
688
712
  "integrity": "sha1-DJiLirRttTEAoZVK5LqZXd0n2H4=",
689
713
  "dev": true,
690
714
  "requires": {
691
- "acorn": "5.1.2",
715
+ "acorn": "5.2.1",
692
716
  "acorn-jsx": "3.0.1"
693
717
  }
694
718
  },
@@ -729,6 +753,12 @@
729
753
  "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=",
730
754
  "dev": true
731
755
  },
756
+ "exit": {
757
+ "version": "0.1.2",
758
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
759
+ "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=",
760
+ "dev": true
761
+ },
732
762
  "external-editor": {
733
763
  "version": "2.0.5",
734
764
  "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.0.5.tgz",
@@ -736,7 +766,7 @@
736
766
  "dev": true,
737
767
  "requires": {
738
768
  "iconv-lite": "0.4.19",
739
- "jschardet": "1.5.1",
769
+ "jschardet": "1.6.0",
740
770
  "tmp": "0.0.33"
741
771
  }
742
772
  },
@@ -746,6 +776,12 @@
746
776
  "integrity": "sha1-liVqO8l1WV6zbYLpkp0GDYk0Of8=",
747
777
  "dev": true
748
778
  },
779
+ "fast-json-stable-stringify": {
780
+ "version": "2.0.0",
781
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz",
782
+ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=",
783
+ "dev": true
784
+ },
749
785
  "fast-levenshtein": {
750
786
  "version": "2.0.6",
751
787
  "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
@@ -909,9 +945,9 @@
909
945
  "dev": true
910
946
  },
911
947
  "ignore": {
912
- "version": "3.3.5",
913
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.5.tgz",
914
- "integrity": "sha512-JLH93mL8amZQhh/p6mfQgVBH3M6epNq3DfsXsTSuSrInVjwyYlFE1nv2AgfRCC8PoOhM0jwQ5v8s9LgbK7yGDw==",
948
+ "version": "3.3.7",
949
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.7.tgz",
950
+ "integrity": "sha512-YGG3ejvBNHRqu0559EOxxNFihD0AjpvHlC/pdGKd3X3ofe+CoJkYazwNJYTNebqpPKN+VVQbh4ZFn1DivMNuHA==",
915
951
  "dev": true
916
952
  },
917
953
  "imurmurhash": {
@@ -1082,6 +1118,23 @@
1082
1118
  "whatwg-fetch": "2.0.3"
1083
1119
  }
1084
1120
  },
1121
+ "jasmine": {
1122
+ "version": "2.8.0",
1123
+ "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz",
1124
+ "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=",
1125
+ "dev": true,
1126
+ "requires": {
1127
+ "exit": "0.1.2",
1128
+ "glob": "7.1.2",
1129
+ "jasmine-core": "2.8.0"
1130
+ }
1131
+ },
1132
+ "jasmine-core": {
1133
+ "version": "2.8.0",
1134
+ "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz",
1135
+ "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=",
1136
+ "dev": true
1137
+ },
1085
1138
  "js-tokens": {
1086
1139
  "version": "3.0.2",
1087
1140
  "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz",
@@ -1099,9 +1152,9 @@
1099
1152
  }
1100
1153
  },
1101
1154
  "jschardet": {
1102
- "version": "1.5.1",
1103
- "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.5.1.tgz",
1104
- "integrity": "sha512-vE2hT1D0HLZCLLclfBSfkfTTedhVj0fubHpJBHKwwUWX0nSbhPAfk+SG9rTX95BYNmau8rGFfCeaT6T5OW1C2A==",
1155
+ "version": "1.6.0",
1156
+ "resolved": "https://registry.npmjs.org/jschardet/-/jschardet-1.6.0.tgz",
1157
+ "integrity": "sha512-xYuhvQ7I9PDJIGBWev9xm0+SMSed3ZDBAmvVjbFR1ZRLAF+vlXcQu6cRI9uAlj81rzikElRVteehwV7DuX2ZmQ==",
1105
1158
  "dev": true
1106
1159
  },
1107
1160
  "json-schema-traverse": {
@@ -1523,9 +1576,9 @@
1523
1576
  }
1524
1577
  },
1525
1578
  "resolve": {
1526
- "version": "1.4.0",
1527
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz",
1528
- "integrity": "sha512-aW7sVKPufyHqOmyyLzg/J+8606v5nevBgaliIlV7nUpVMsDnoBGV/cbSLNjZAg9q0Cfd/+easKVKQ8vOu8fn1Q==",
1579
+ "version": "1.5.0",
1580
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz",
1581
+ "integrity": "sha512-hgoSGrc3pjzAPHNBg+KnFcK2HwlHTs/YrAGUr6qgTVUZmXv1UEXXl0bZNBKMA9fud6lRYFdPGz0xXxycPzmmiw==",
1529
1582
  "dev": true,
1530
1583
  "requires": {
1531
1584
  "path-parse": "1.0.5"
@@ -1655,15 +1708,6 @@
1655
1708
  "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
1656
1709
  "dev": true
1657
1710
  },
1658
- "string_decoder": {
1659
- "version": "1.0.3",
1660
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
1661
- "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
1662
- "dev": true,
1663
- "requires": {
1664
- "safe-buffer": "5.1.1"
1665
- }
1666
- },
1667
1711
  "string-width": {
1668
1712
  "version": "2.1.1",
1669
1713
  "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz",
@@ -1674,6 +1718,15 @@
1674
1718
  "strip-ansi": "4.0.0"
1675
1719
  }
1676
1720
  },
1721
+ "string_decoder": {
1722
+ "version": "1.0.3",
1723
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz",
1724
+ "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==",
1725
+ "dev": true,
1726
+ "requires": {
1727
+ "safe-buffer": "5.1.1"
1728
+ }
1729
+ },
1677
1730
  "strip-ansi": {
1678
1731
  "version": "4.0.0",
1679
1732
  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz",
@@ -1718,8 +1771,8 @@
1718
1771
  "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==",
1719
1772
  "dev": true,
1720
1773
  "requires": {
1721
- "ajv": "5.2.3",
1722
- "ajv-keywords": "2.1.0",
1774
+ "ajv": "5.3.0",
1775
+ "ajv-keywords": "2.1.1",
1723
1776
  "chalk": "2.1.0",
1724
1777
  "lodash": "4.17.4",
1725
1778
  "slice-ansi": "1.0.0",
@@ -8,12 +8,13 @@
8
8
  "license": "MIT",
9
9
  "devDependencies": {
10
10
  "babel-eslint": "^8.0.0",
11
- "eslint": "^4.6.1",
12
- "eslint-config-airbnb-base": "^12.0.0",
11
+ "eslint": "^4.10.0",
12
+ "eslint-config-airbnb-base": "^12.1.0",
13
13
  "eslint-config-airbnb-es5": "^1.2.0",
14
- "eslint-plugin-import": "^2.7.0",
15
- "eslint-plugin-jasmine": "^2.8.4",
16
- "eslint-plugin-react": "^7.3.0"
14
+ "eslint-plugin-import": "^2.8.0",
15
+ "eslint-plugin-jasmine": "^2.9.1",
16
+ "eslint-plugin-react": "^7.3.0",
17
+ "jasmine": "^2.8.0"
17
18
  },
18
19
  "scripts": {
19
20
  "lint": "eslint .",