decidim 0.27.5 → 0.27.7

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of decidim might be problematic. Click here for more details.

Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +5 -0
  3. data/decidim-core/lib/decidim/webpacker/webpack/.modernizrrc +9 -0
  4. data/decidim.gemspec +65 -0
  5. data/docs/modules/develop/pages/releases.adoc +4 -0
  6. data/docs/modules/install/assets/attachments/.gitkeep +0 -0
  7. data/docs/modules/install/assets/images/.gitkeep +0 -0
  8. data/docs/modules/install/pages/manual.adoc +4 -0
  9. data/docs/modules/install/pages/update.adoc +5 -0
  10. data/docs/modules/install/partials/version_matrix.adoc +13 -0
  11. data/lib/decidim/gem_manager.rb +38 -0
  12. data/lib/decidim/version.rb +1 -1
  13. data/package-lock.json +32 -26
  14. data/packages/browserslist-config/package.json +1 -1
  15. data/packages/core/package.json +4 -4
  16. data/packages/dev/package.json +1 -1
  17. data/packages/elections/package.json +1 -1
  18. data/packages/eslint-config/package.json +1 -1
  19. data/packages/stylelint-config/package.json +1 -1
  20. data/packages/webpacker/package.json +1 -1
  21. metadata +50 -66
  22. data/packages/core/node_modules/uuid/AUTHORS +0 -5
  23. data/packages/core/node_modules/uuid/CHANGELOG.md +0 -119
  24. data/packages/core/node_modules/uuid/LICENSE.md +0 -21
  25. data/packages/core/node_modules/uuid/README.md +0 -276
  26. data/packages/core/node_modules/uuid/bin/uuid +0 -65
  27. data/packages/core/node_modules/uuid/index.js +0 -8
  28. data/packages/core/node_modules/uuid/lib/bytesToUuid.js +0 -26
  29. data/packages/core/node_modules/uuid/lib/md5-browser.js +0 -216
  30. data/packages/core/node_modules/uuid/lib/md5.js +0 -25
  31. data/packages/core/node_modules/uuid/lib/rng-browser.js +0 -34
  32. data/packages/core/node_modules/uuid/lib/rng.js +0 -8
  33. data/packages/core/node_modules/uuid/lib/sha1-browser.js +0 -89
  34. data/packages/core/node_modules/uuid/lib/sha1.js +0 -25
  35. data/packages/core/node_modules/uuid/lib/v35.js +0 -57
  36. data/packages/core/node_modules/uuid/package.json +0 -49
  37. data/packages/core/node_modules/uuid/v1.js +0 -109
  38. data/packages/core/node_modules/uuid/v3.js +0 -4
  39. data/packages/core/node_modules/uuid/v4.js +0 -29
  40. data/packages/core/node_modules/uuid/v5.js +0 -3
  41. data/packages/core/package-lock.json +0 -2157
  42. data/packages/eslint-config/package-lock.json +0 -4797
@@ -1,276 +0,0 @@
1
- <!--
2
- -- This file is auto-generated from README_js.md. Changes should be made there.
3
- -->
4
-
5
- # uuid [![Build Status](https://secure.travis-ci.org/kelektiv/node-uuid.svg?branch=master)](http://travis-ci.org/kelektiv/node-uuid) #
6
-
7
- Simple, fast generation of [RFC4122](http://www.ietf.org/rfc/rfc4122.txt) UUIDS.
8
-
9
- Features:
10
-
11
- * Support for version 1, 3, 4 and 5 UUIDs
12
- * Cross-platform
13
- * Uses cryptographically-strong random number APIs (when available)
14
- * Zero-dependency, small footprint (... but not [this small](https://gist.github.com/982883))
15
-
16
- [**Deprecation warning**: The use of `require('uuid')` is deprecated and will not be
17
- supported after version 3.x of this module. Instead, use `require('uuid/[v1|v3|v4|v5]')` as shown in the examples below.]
18
-
19
- ## Quickstart - CommonJS (Recommended)
20
-
21
- ```shell
22
- npm install uuid
23
- ```
24
-
25
- Then generate your uuid version of choice ...
26
-
27
- Version 1 (timestamp):
28
-
29
- ```javascript
30
- const uuidv1 = require('uuid/v1');
31
- uuidv1(); // ⇨ '2c5ea4c0-4067-11e9-8bad-9b1deb4d3b7d'
32
-
33
- ```
34
-
35
- Version 3 (namespace):
36
-
37
- ```javascript
38
- const uuidv3 = require('uuid/v3');
39
-
40
- // ... using predefined DNS namespace (for domain names)
41
- uuidv3('hello.example.com', uuidv3.DNS); // ⇨ '9125a8dc-52ee-365b-a5aa-81b0b3681cf6'
42
-
43
- // ... using predefined URL namespace (for, well, URLs)
44
- uuidv3('http://example.com/hello', uuidv3.URL); // ⇨ 'c6235813-3ba4-3801-ae84-e0a6ebb7d138'
45
-
46
- // ... using a custom namespace
47
- //
48
- // Note: Custom namespaces should be a UUID string specific to your application!
49
- // E.g. the one here was generated using this modules `uuid` CLI.
50
- const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';
51
- uuidv3('Hello, World!', MY_NAMESPACE); // ⇨ 'e8b5a51d-11c8-3310-a6ab-367563f20686'
52
-
53
- ```
54
-
55
- Version 4 (random):
56
-
57
- ```javascript
58
- const uuidv4 = require('uuid/v4');
59
- uuidv4(); // ⇨ '1b9d6bcd-bbfd-4b2d-9b5d-ab8dfbbd4bed'
60
-
61
- ```
62
-
63
- Version 5 (namespace):
64
-
65
- ```javascript
66
- const uuidv5 = require('uuid/v5');
67
-
68
- // ... using predefined DNS namespace (for domain names)
69
- uuidv5('hello.example.com', uuidv5.DNS); // ⇨ 'fdda765f-fc57-5604-a269-52a7df8164ec'
70
-
71
- // ... using predefined URL namespace (for, well, URLs)
72
- uuidv5('http://example.com/hello', uuidv5.URL); // ⇨ '3bbcee75-cecc-5b56-8031-b6641c1ed1f1'
73
-
74
- // ... using a custom namespace
75
- //
76
- // Note: Custom namespaces should be a UUID string specific to your application!
77
- // E.g. the one here was generated using this modules `uuid` CLI.
78
- const MY_NAMESPACE = '1b671a64-40d5-491e-99b0-da01ff1f3341';
79
- uuidv5('Hello, World!', MY_NAMESPACE); // ⇨ '630eb68f-e0fa-5ecc-887a-7c7a62614681'
80
-
81
- ```
82
-
83
- ## API
84
-
85
- ### Version 1
86
-
87
- ```javascript
88
- const uuidv1 = require('uuid/v1');
89
-
90
- // Incantations
91
- uuidv1();
92
- uuidv1(options);
93
- uuidv1(options, buffer, offset);
94
- ```
95
-
96
- Generate and return a RFC4122 v1 (timestamp-based) UUID.
97
-
98
- * `options` - (Object) Optional uuid state to apply. Properties may include:
99
-
100
- * `node` - (Array) Node id as Array of 6 bytes (per 4.1.6). Default: Randomly generated ID. See note 1.
101
- * `clockseq` - (Number between 0 - 0x3fff) RFC clock sequence. Default: An internally maintained clockseq is used.
102
- * `msecs` - (Number) Time in milliseconds since unix Epoch. Default: The current time is used.
103
- * `nsecs` - (Number between 0-9999) additional time, in 100-nanosecond units. Ignored if `msecs` is unspecified. Default: internal uuid counter is used, as per 4.2.1.2.
104
-
105
- * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
106
- * `offset` - (Number) Starting index in `buffer` at which to begin writing.
107
-
108
- Returns `buffer`, if specified, otherwise the string form of the UUID
109
-
110
- Note: The default [node id](https://tools.ietf.org/html/rfc4122#section-4.1.6) (the last 12 digits in the UUID) is generated once, randomly, on process startup, and then remains unchanged for the duration of the process.
111
-
112
- Example: Generate string UUID with fully-specified options
113
-
114
- ```javascript
115
- const v1options = {
116
- node: [0x01, 0x23, 0x45, 0x67, 0x89, 0xab],
117
- clockseq: 0x1234,
118
- msecs: new Date('2011-11-01').getTime(),
119
- nsecs: 5678
120
- };
121
- uuidv1(v1options); // ⇨ '710b962e-041c-11e1-9234-0123456789ab'
122
-
123
- ```
124
-
125
- Example: In-place generation of two binary IDs
126
-
127
- ```javascript
128
- // Generate two ids in an array
129
- const arr = new Array();
130
- uuidv1(null, arr, 0); // ⇨
131
- // [
132
- // 44, 94, 164, 192, 64, 103,
133
- // 17, 233, 146, 52, 155, 29,
134
- // 235, 77, 59, 125
135
- // ]
136
- uuidv1(null, arr, 16); // ⇨
137
- // [
138
- // 44, 94, 164, 192, 64, 103, 17, 233,
139
- // 146, 52, 155, 29, 235, 77, 59, 125,
140
- // 44, 94, 164, 193, 64, 103, 17, 233,
141
- // 146, 52, 155, 29, 235, 77, 59, 125
142
- // ]
143
-
144
- ```
145
-
146
- ### Version 3
147
-
148
- ```javascript
149
- const uuidv3 = require('uuid/v3');
150
-
151
- // Incantations
152
- uuidv3(name, namespace);
153
- uuidv3(name, namespace, buffer);
154
- uuidv3(name, namespace, buffer, offset);
155
- ```
156
-
157
- Generate and return a RFC4122 v3 UUID.
158
-
159
- * `name` - (String | Array[]) "name" to create UUID with
160
- * `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values
161
- * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
162
- * `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0
163
-
164
- Returns `buffer`, if specified, otherwise the string form of the UUID
165
-
166
- Example:
167
-
168
- ```javascript
169
- uuidv3('hello world', MY_NAMESPACE); // ⇨ '042ffd34-d989-321c-ad06-f60826172424'
170
-
171
- ```
172
-
173
- ### Version 4
174
-
175
- ```javascript
176
- const uuidv4 = require('uuid/v4')
177
-
178
- // Incantations
179
- uuidv4();
180
- uuidv4(options);
181
- uuidv4(options, buffer, offset);
182
- ```
183
-
184
- Generate and return a RFC4122 v4 UUID.
185
-
186
- * `options` - (Object) Optional uuid state to apply. Properties may include:
187
- * `random` - (Number[16]) Array of 16 numbers (0-255) to use in place of randomly generated values
188
- * `rng` - (Function) Random # generator function that returns an Array[16] of byte values (0-255)
189
- * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
190
- * `offset` - (Number) Starting index in `buffer` at which to begin writing.
191
-
192
- Returns `buffer`, if specified, otherwise the string form of the UUID
193
-
194
- Example: Generate string UUID with predefined `random` values
195
-
196
- ```javascript
197
- const v4options = {
198
- random: [
199
- 0x10, 0x91, 0x56, 0xbe, 0xc4, 0xfb, 0xc1, 0xea,
200
- 0x71, 0xb4, 0xef, 0xe1, 0x67, 0x1c, 0x58, 0x36
201
- ]
202
- };
203
- uuidv4(v4options); // ⇨ '109156be-c4fb-41ea-b1b4-efe1671c5836'
204
-
205
- ```
206
-
207
- Example: Generate two IDs in a single buffer
208
-
209
- ```javascript
210
- const buffer = new Array();
211
- uuidv4(null, buffer, 0); // ⇨
212
- // [
213
- // 155, 29, 235, 77, 59,
214
- // 125, 75, 173, 155, 221,
215
- // 43, 13, 123, 61, 203,
216
- // 109
217
- // ]
218
- uuidv4(null, buffer, 16); // ⇨
219
- // [
220
- // 155, 29, 235, 77, 59, 125, 75, 173,
221
- // 155, 221, 43, 13, 123, 61, 203, 109,
222
- // 27, 157, 107, 205, 187, 253, 75, 45,
223
- // 155, 93, 171, 141, 251, 189, 75, 237
224
- // ]
225
-
226
- ```
227
-
228
- ### Version 5
229
-
230
- ```javascript
231
- const uuidv5 = require('uuid/v5');
232
-
233
- // Incantations
234
- uuidv5(name, namespace);
235
- uuidv5(name, namespace, buffer);
236
- uuidv5(name, namespace, buffer, offset);
237
- ```
238
-
239
- Generate and return a RFC4122 v5 UUID.
240
-
241
- * `name` - (String | Array[]) "name" to create UUID with
242
- * `namespace` - (String | Array[]) "namespace" UUID either as a String or Array[16] of byte values
243
- * `buffer` - (Array | Buffer) Array or buffer where UUID bytes are to be written.
244
- * `offset` - (Number) Starting index in `buffer` at which to begin writing. Default = 0
245
-
246
- Returns `buffer`, if specified, otherwise the string form of the UUID
247
-
248
- Example:
249
-
250
- ```javascript
251
- uuidv5('hello world', MY_NAMESPACE); // ⇨ '9f282611-e0fd-5650-8953-89c8e342da0b'
252
-
253
- ```
254
-
255
- ## Command Line
256
-
257
- UUIDs can be generated from the command line with the `uuid` command.
258
-
259
- ```shell
260
- $ uuid
261
- ddeb27fb-d9a0-4624-be4d-4615062daed4
262
-
263
- $ uuid v1
264
- 02d37060-d446-11e7-a9fa-7bdae751ebe1
265
- ```
266
-
267
- Type `uuid --help` for usage details
268
-
269
- ## Testing
270
-
271
- ```shell
272
- npm test
273
- ```
274
-
275
- ----
276
- Markdown generated from [README_js.md](README_js.md) by [![RunMD Logo](http://i.imgur.com/h0FVyzU.png)](https://github.com/broofa/runmd)
@@ -1,65 +0,0 @@
1
- #!/usr/bin/env node
2
- var assert = require('assert');
3
-
4
- function usage() {
5
- console.log('Usage:');
6
- console.log(' uuid');
7
- console.log(' uuid v1');
8
- console.log(' uuid v3 <name> <namespace uuid>');
9
- console.log(' uuid v4');
10
- console.log(' uuid v5 <name> <namespace uuid>');
11
- console.log(' uuid --help');
12
- console.log('\nNote: <namespace uuid> may be "URL" or "DNS" to use the corresponding UUIDs defined by RFC4122');
13
- }
14
-
15
- var args = process.argv.slice(2);
16
-
17
- if (args.indexOf('--help') >= 0) {
18
- usage();
19
- process.exit(0);
20
- }
21
- var version = args.shift() || 'v4';
22
-
23
- switch (version) {
24
- case 'v1':
25
- var uuidV1 = require('../v1');
26
- console.log(uuidV1());
27
- break;
28
-
29
- case 'v3':
30
- var uuidV3 = require('../v3');
31
-
32
- var name = args.shift();
33
- var namespace = args.shift();
34
- assert(name != null, 'v3 name not specified');
35
- assert(namespace != null, 'v3 namespace not specified');
36
-
37
- if (namespace == 'URL') namespace = uuidV3.URL;
38
- if (namespace == 'DNS') namespace = uuidV3.DNS;
39
-
40
- console.log(uuidV3(name, namespace));
41
- break;
42
-
43
- case 'v4':
44
- var uuidV4 = require('../v4');
45
- console.log(uuidV4());
46
- break;
47
-
48
- case 'v5':
49
- var uuidV5 = require('../v5');
50
-
51
- var name = args.shift();
52
- var namespace = args.shift();
53
- assert(name != null, 'v5 name not specified');
54
- assert(namespace != null, 'v5 namespace not specified');
55
-
56
- if (namespace == 'URL') namespace = uuidV5.URL;
57
- if (namespace == 'DNS') namespace = uuidV5.DNS;
58
-
59
- console.log(uuidV5(name, namespace));
60
- break;
61
-
62
- default:
63
- usage();
64
- process.exit(1);
65
- }
@@ -1,8 +0,0 @@
1
- var v1 = require('./v1');
2
- var v4 = require('./v4');
3
-
4
- var uuid = v4;
5
- uuid.v1 = v1;
6
- uuid.v4 = v4;
7
-
8
- module.exports = uuid;
@@ -1,26 +0,0 @@
1
- /**
2
- * Convert array of 16 byte values to UUID string format of the form:
3
- * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
4
- */
5
- var byteToHex = [];
6
- for (var i = 0; i < 256; ++i) {
7
- byteToHex[i] = (i + 0x100).toString(16).substr(1);
8
- }
9
-
10
- function bytesToUuid(buf, offset) {
11
- var i = offset || 0;
12
- var bth = byteToHex;
13
- // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4
14
- return ([
15
- bth[buf[i++]], bth[buf[i++]],
16
- bth[buf[i++]], bth[buf[i++]], '-',
17
- bth[buf[i++]], bth[buf[i++]], '-',
18
- bth[buf[i++]], bth[buf[i++]], '-',
19
- bth[buf[i++]], bth[buf[i++]], '-',
20
- bth[buf[i++]], bth[buf[i++]],
21
- bth[buf[i++]], bth[buf[i++]],
22
- bth[buf[i++]], bth[buf[i++]]
23
- ]).join('');
24
- }
25
-
26
- module.exports = bytesToUuid;
@@ -1,216 +0,0 @@
1
- /*
2
- * Browser-compatible JavaScript MD5
3
- *
4
- * Modification of JavaScript MD5
5
- * https://github.com/blueimp/JavaScript-MD5
6
- *
7
- * Copyright 2011, Sebastian Tschan
8
- * https://blueimp.net
9
- *
10
- * Licensed under the MIT license:
11
- * https://opensource.org/licenses/MIT
12
- *
13
- * Based on
14
- * A JavaScript implementation of the RSA Data Security, Inc. MD5 Message
15
- * Digest Algorithm, as defined in RFC 1321.
16
- * Version 2.2 Copyright (C) Paul Johnston 1999 - 2009
17
- * Other contributors: Greg Holt, Andrew Kepert, Ydnar, Lostinet
18
- * Distributed under the BSD License
19
- * See http://pajhome.org.uk/crypt/md5 for more info.
20
- */
21
-
22
- 'use strict';
23
-
24
- function md5(bytes) {
25
- if (typeof(bytes) == 'string') {
26
- var msg = unescape(encodeURIComponent(bytes)); // UTF8 escape
27
- bytes = new Array(msg.length);
28
- for (var i = 0; i < msg.length; i++) bytes[i] = msg.charCodeAt(i);
29
- }
30
-
31
- return md5ToHexEncodedArray(
32
- wordsToMd5(
33
- bytesToWords(bytes)
34
- , bytes.length * 8)
35
- );
36
- }
37
-
38
-
39
- /*
40
- * Convert an array of little-endian words to an array of bytes
41
- */
42
- function md5ToHexEncodedArray(input) {
43
- var i;
44
- var x;
45
- var output = [];
46
- var length32 = input.length * 32;
47
- var hexTab = '0123456789abcdef';
48
- var hex;
49
-
50
- for (i = 0; i < length32; i += 8) {
51
- x = (input[i >> 5] >>> (i % 32)) & 0xFF;
52
-
53
- hex = parseInt(hexTab.charAt((x >>> 4) & 0x0F) + hexTab.charAt(x & 0x0F), 16);
54
-
55
- output.push(hex);
56
- }
57
- return output;
58
- }
59
-
60
- /*
61
- * Calculate the MD5 of an array of little-endian words, and a bit length.
62
- */
63
- function wordsToMd5(x, len) {
64
- /* append padding */
65
- x[len >> 5] |= 0x80 << (len % 32);
66
- x[(((len + 64) >>> 9) << 4) + 14] = len;
67
-
68
- var i;
69
- var olda;
70
- var oldb;
71
- var oldc;
72
- var oldd;
73
- var a = 1732584193;
74
- var b = -271733879;
75
- var c = -1732584194;
76
-
77
- var d = 271733878;
78
-
79
- for (i = 0; i < x.length; i += 16) {
80
- olda = a;
81
- oldb = b;
82
- oldc = c;
83
- oldd = d;
84
-
85
- a = md5ff(a, b, c, d, x[i], 7, -680876936);
86
- d = md5ff(d, a, b, c, x[i + 1], 12, -389564586);
87
- c = md5ff(c, d, a, b, x[i + 2], 17, 606105819);
88
- b = md5ff(b, c, d, a, x[i + 3], 22, -1044525330);
89
- a = md5ff(a, b, c, d, x[i + 4], 7, -176418897);
90
- d = md5ff(d, a, b, c, x[i + 5], 12, 1200080426);
91
- c = md5ff(c, d, a, b, x[i + 6], 17, -1473231341);
92
- b = md5ff(b, c, d, a, x[i + 7], 22, -45705983);
93
- a = md5ff(a, b, c, d, x[i + 8], 7, 1770035416);
94
- d = md5ff(d, a, b, c, x[i + 9], 12, -1958414417);
95
- c = md5ff(c, d, a, b, x[i + 10], 17, -42063);
96
- b = md5ff(b, c, d, a, x[i + 11], 22, -1990404162);
97
- a = md5ff(a, b, c, d, x[i + 12], 7, 1804603682);
98
- d = md5ff(d, a, b, c, x[i + 13], 12, -40341101);
99
- c = md5ff(c, d, a, b, x[i + 14], 17, -1502002290);
100
- b = md5ff(b, c, d, a, x[i + 15], 22, 1236535329);
101
-
102
- a = md5gg(a, b, c, d, x[i + 1], 5, -165796510);
103
- d = md5gg(d, a, b, c, x[i + 6], 9, -1069501632);
104
- c = md5gg(c, d, a, b, x[i + 11], 14, 643717713);
105
- b = md5gg(b, c, d, a, x[i], 20, -373897302);
106
- a = md5gg(a, b, c, d, x[i + 5], 5, -701558691);
107
- d = md5gg(d, a, b, c, x[i + 10], 9, 38016083);
108
- c = md5gg(c, d, a, b, x[i + 15], 14, -660478335);
109
- b = md5gg(b, c, d, a, x[i + 4], 20, -405537848);
110
- a = md5gg(a, b, c, d, x[i + 9], 5, 568446438);
111
- d = md5gg(d, a, b, c, x[i + 14], 9, -1019803690);
112
- c = md5gg(c, d, a, b, x[i + 3], 14, -187363961);
113
- b = md5gg(b, c, d, a, x[i + 8], 20, 1163531501);
114
- a = md5gg(a, b, c, d, x[i + 13], 5, -1444681467);
115
- d = md5gg(d, a, b, c, x[i + 2], 9, -51403784);
116
- c = md5gg(c, d, a, b, x[i + 7], 14, 1735328473);
117
- b = md5gg(b, c, d, a, x[i + 12], 20, -1926607734);
118
-
119
- a = md5hh(a, b, c, d, x[i + 5], 4, -378558);
120
- d = md5hh(d, a, b, c, x[i + 8], 11, -2022574463);
121
- c = md5hh(c, d, a, b, x[i + 11], 16, 1839030562);
122
- b = md5hh(b, c, d, a, x[i + 14], 23, -35309556);
123
- a = md5hh(a, b, c, d, x[i + 1], 4, -1530992060);
124
- d = md5hh(d, a, b, c, x[i + 4], 11, 1272893353);
125
- c = md5hh(c, d, a, b, x[i + 7], 16, -155497632);
126
- b = md5hh(b, c, d, a, x[i + 10], 23, -1094730640);
127
- a = md5hh(a, b, c, d, x[i + 13], 4, 681279174);
128
- d = md5hh(d, a, b, c, x[i], 11, -358537222);
129
- c = md5hh(c, d, a, b, x[i + 3], 16, -722521979);
130
- b = md5hh(b, c, d, a, x[i + 6], 23, 76029189);
131
- a = md5hh(a, b, c, d, x[i + 9], 4, -640364487);
132
- d = md5hh(d, a, b, c, x[i + 12], 11, -421815835);
133
- c = md5hh(c, d, a, b, x[i + 15], 16, 530742520);
134
- b = md5hh(b, c, d, a, x[i + 2], 23, -995338651);
135
-
136
- a = md5ii(a, b, c, d, x[i], 6, -198630844);
137
- d = md5ii(d, a, b, c, x[i + 7], 10, 1126891415);
138
- c = md5ii(c, d, a, b, x[i + 14], 15, -1416354905);
139
- b = md5ii(b, c, d, a, x[i + 5], 21, -57434055);
140
- a = md5ii(a, b, c, d, x[i + 12], 6, 1700485571);
141
- d = md5ii(d, a, b, c, x[i + 3], 10, -1894986606);
142
- c = md5ii(c, d, a, b, x[i + 10], 15, -1051523);
143
- b = md5ii(b, c, d, a, x[i + 1], 21, -2054922799);
144
- a = md5ii(a, b, c, d, x[i + 8], 6, 1873313359);
145
- d = md5ii(d, a, b, c, x[i + 15], 10, -30611744);
146
- c = md5ii(c, d, a, b, x[i + 6], 15, -1560198380);
147
- b = md5ii(b, c, d, a, x[i + 13], 21, 1309151649);
148
- a = md5ii(a, b, c, d, x[i + 4], 6, -145523070);
149
- d = md5ii(d, a, b, c, x[i + 11], 10, -1120210379);
150
- c = md5ii(c, d, a, b, x[i + 2], 15, 718787259);
151
- b = md5ii(b, c, d, a, x[i + 9], 21, -343485551);
152
-
153
- a = safeAdd(a, olda);
154
- b = safeAdd(b, oldb);
155
- c = safeAdd(c, oldc);
156
- d = safeAdd(d, oldd);
157
- }
158
- return [a, b, c, d];
159
- }
160
-
161
- /*
162
- * Convert an array bytes to an array of little-endian words
163
- * Characters >255 have their high-byte silently ignored.
164
- */
165
- function bytesToWords(input) {
166
- var i;
167
- var output = [];
168
- output[(input.length >> 2) - 1] = undefined;
169
- for (i = 0; i < output.length; i += 1) {
170
- output[i] = 0;
171
- }
172
- var length8 = input.length * 8;
173
- for (i = 0; i < length8; i += 8) {
174
- output[i >> 5] |= (input[(i / 8)] & 0xFF) << (i % 32);
175
- }
176
-
177
- return output;
178
- }
179
-
180
- /*
181
- * Add integers, wrapping at 2^32. This uses 16-bit operations internally
182
- * to work around bugs in some JS interpreters.
183
- */
184
- function safeAdd(x, y) {
185
- var lsw = (x & 0xFFFF) + (y & 0xFFFF);
186
- var msw = (x >> 16) + (y >> 16) + (lsw >> 16);
187
- return (msw << 16) | (lsw & 0xFFFF);
188
- }
189
-
190
- /*
191
- * Bitwise rotate a 32-bit number to the left.
192
- */
193
- function bitRotateLeft(num, cnt) {
194
- return (num << cnt) | (num >>> (32 - cnt));
195
- }
196
-
197
- /*
198
- * These functions implement the four basic operations the algorithm uses.
199
- */
200
- function md5cmn(q, a, b, x, s, t) {
201
- return safeAdd(bitRotateLeft(safeAdd(safeAdd(a, q), safeAdd(x, t)), s), b);
202
- }
203
- function md5ff(a, b, c, d, x, s, t) {
204
- return md5cmn((b & c) | ((~b) & d), a, b, x, s, t);
205
- }
206
- function md5gg(a, b, c, d, x, s, t) {
207
- return md5cmn((b & d) | (c & (~d)), a, b, x, s, t);
208
- }
209
- function md5hh(a, b, c, d, x, s, t) {
210
- return md5cmn(b ^ c ^ d, a, b, x, s, t);
211
- }
212
- function md5ii(a, b, c, d, x, s, t) {
213
- return md5cmn(c ^ (b | (~d)), a, b, x, s, t);
214
- }
215
-
216
- module.exports = md5;
@@ -1,25 +0,0 @@
1
- 'use strict';
2
-
3
- var crypto = require('crypto');
4
-
5
- function md5(bytes) {
6
- if (typeof Buffer.from === 'function') {
7
- // Modern Buffer API
8
- if (Array.isArray(bytes)) {
9
- bytes = Buffer.from(bytes);
10
- } else if (typeof bytes === 'string') {
11
- bytes = Buffer.from(bytes, 'utf8');
12
- }
13
- } else {
14
- // Pre-v4 Buffer API
15
- if (Array.isArray(bytes)) {
16
- bytes = new Buffer(bytes);
17
- } else if (typeof bytes === 'string') {
18
- bytes = new Buffer(bytes, 'utf8');
19
- }
20
- }
21
-
22
- return crypto.createHash('md5').update(bytes).digest();
23
- }
24
-
25
- module.exports = md5;
@@ -1,34 +0,0 @@
1
- // Unique ID creation requires a high quality random # generator. In the
2
- // browser this is a little complicated due to unknown quality of Math.random()
3
- // and inconsistent support for the `crypto` API. We do the best we can via
4
- // feature-detection
5
-
6
- // getRandomValues needs to be invoked in a context where "this" is a Crypto
7
- // implementation. Also, find the complete implementation of crypto on IE11.
8
- var getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||
9
- (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));
10
-
11
- if (getRandomValues) {
12
- // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto
13
- var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef
14
-
15
- module.exports = function whatwgRNG() {
16
- getRandomValues(rnds8);
17
- return rnds8;
18
- };
19
- } else {
20
- // Math.random()-based (RNG)
21
- //
22
- // If all else fails, use Math.random(). It's fast, but is of unspecified
23
- // quality.
24
- var rnds = new Array(16);
25
-
26
- module.exports = function mathRNG() {
27
- for (var i = 0, r; i < 16; i++) {
28
- if ((i & 0x03) === 0) r = Math.random() * 0x100000000;
29
- rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;
30
- }
31
-
32
- return rnds;
33
- };
34
- }
@@ -1,8 +0,0 @@
1
- // Unique ID creation requires a high quality random # generator. In node.js
2
- // this is pretty straight-forward - we use the crypto API.
3
-
4
- var crypto = require('crypto');
5
-
6
- module.exports = function nodeRNG() {
7
- return crypto.randomBytes(16);
8
- };