cipher_bureau 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (57) hide show
  1. data/MIT-LICENSE +20 -0
  2. data/README.md +160 -0
  3. data/Rakefile +38 -0
  4. data/db/seeds/norwegian/wordloader.rb +47 -0
  5. data/lib/cipher_bureau.rb +59 -0
  6. data/lib/cipher_bureau/data_loader.rb +65 -0
  7. data/lib/cipher_bureau/dictionary.rb +63 -0
  8. data/lib/cipher_bureau/exceptions.rb +25 -0
  9. data/lib/cipher_bureau/password.rb +114 -0
  10. data/lib/cipher_bureau/password_meter.rb +183 -0
  11. data/lib/cipher_bureau/statistic.rb +48 -0
  12. data/lib/cipher_bureau/version.rb +3 -0
  13. data/lib/generators/cipher_bureau/create_migration_generator.rb +40 -0
  14. data/lib/generators/cipher_bureau/load_data_generator.rb +36 -0
  15. data/lib/generators/templates/create_cipher_bureau_dictionaries.rb +41 -0
  16. data/lib/generators/templates/create_cipher_bureau_statistics.rb +39 -0
  17. data/lib/tasks/cipher_bureau_tasks.rake +40 -0
  18. data/test/dummy/README.rdoc +261 -0
  19. data/test/dummy/Rakefile +7 -0
  20. data/test/dummy/app/assets/javascripts/application.js +15 -0
  21. data/test/dummy/app/assets/stylesheets/application.css +13 -0
  22. data/test/dummy/app/controllers/application_controller.rb +3 -0
  23. data/test/dummy/app/helpers/application_helper.rb +2 -0
  24. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  25. data/test/dummy/config.ru +4 -0
  26. data/test/dummy/config/application.rb +59 -0
  27. data/test/dummy/config/boot.rb +10 -0
  28. data/test/dummy/config/database.yml +25 -0
  29. data/test/dummy/config/environment.rb +5 -0
  30. data/test/dummy/config/environments/development.rb +37 -0
  31. data/test/dummy/config/environments/production.rb +67 -0
  32. data/test/dummy/config/environments/test.rb +37 -0
  33. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  34. data/test/dummy/config/initializers/inflections.rb +15 -0
  35. data/test/dummy/config/initializers/mime_types.rb +5 -0
  36. data/test/dummy/config/initializers/secret_token.rb +7 -0
  37. data/test/dummy/config/initializers/session_store.rb +8 -0
  38. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  39. data/test/dummy/config/locales/en.yml +5 -0
  40. data/test/dummy/config/routes.rb +58 -0
  41. data/test/dummy/db/migrate/201301290819401_create_cipher_bureau_dictionaries.rb +19 -0
  42. data/test/dummy/db/migrate/201301290819402_create_cipher_bureau_statistics.rb +17 -0
  43. data/test/dummy/db/schema.rb +46 -0
  44. data/test/dummy/public/404.html +26 -0
  45. data/test/dummy/public/422.html +26 -0
  46. data/test/dummy/public/500.html +25 -0
  47. data/test/dummy/public/favicon.ico +0 -0
  48. data/test/dummy/script/rails +6 -0
  49. data/test/fixtures/cipher_bureau_dictionaries.yml +704 -0
  50. data/test/fixtures/cipher_bureau_statistics.yml +40 -0
  51. data/test/test_helper.rb +15 -0
  52. data/test/units/cipher_bureau/dictionary_test.rb +74 -0
  53. data/test/units/cipher_bureau/password_meter_test.rb +128 -0
  54. data/test/units/cipher_bureau/password_test.rb +188 -0
  55. data/test/units/cipher_bureau/statistic_test.rb +78 -0
  56. data/test/units/cipher_bureau_test.rb +45 -0
  57. metadata +197 -0
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/404.html -->
21
+ <div class="dialog">
22
+ <h1>The page you were looking for doesn't exist.</h1>
23
+ <p>You may have mistyped the address or the page may have moved.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,26 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/422.html -->
21
+ <div class="dialog">
22
+ <h1>The change you wanted was rejected.</h1>
23
+ <p>Maybe you tried to change something you didn't have access to.</p>
24
+ </div>
25
+ </body>
26
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style type="text/css">
6
+ body { background-color: #fff; color: #666; text-align: center; font-family: arial, sans-serif; }
7
+ div.dialog {
8
+ width: 25em;
9
+ padding: 0 4em;
10
+ margin: 4em auto 0 auto;
11
+ border: 1px solid #ccc;
12
+ border-right-color: #999;
13
+ border-bottom-color: #999;
14
+ }
15
+ h1 { font-size: 100%; color: #f00; line-height: 1.5em; }
16
+ </style>
17
+ </head>
18
+
19
+ <body>
20
+ <!-- This file lives in public/500.html -->
21
+ <div class="dialog">
22
+ <h1>We're sorry, but something went wrong.</h1>
23
+ </div>
24
+ </body>
25
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,704 @@
1
+ noun_ascii_1:
2
+ word: ropa
3
+ length: 4
4
+ grammar: noun
5
+ name_type:
6
+ country_code: 47
7
+ ascii: true
8
+ noun_ascii_2:
9
+ word: kjel
10
+ length: 4
11
+ grammar: noun
12
+ name_type:
13
+ country_code: 47
14
+ ascii: true
15
+ noun_ascii_3:
16
+ word: pant
17
+ length: 4
18
+ grammar: noun
19
+ name_type:
20
+ country_code: 47
21
+ ascii: true
22
+ noun_ascii_4:
23
+ word: gisp
24
+ length: 4
25
+ grammar: noun
26
+ name_type:
27
+ country_code: 47
28
+ ascii: true
29
+ noun_ascii_5:
30
+ word: fres
31
+ length: 4
32
+ grammar: noun
33
+ name_type:
34
+ country_code: 47
35
+ ascii: true
36
+ noun_ascii_6:
37
+ word: nabb
38
+ length: 4
39
+ grammar: noun
40
+ name_type:
41
+ country_code: 47
42
+ ascii: true
43
+ noun_ascii_7:
44
+ word: ribb
45
+ length: 4
46
+ grammar: noun
47
+ name_type:
48
+ country_code: 47
49
+ ascii: true
50
+ noun_ascii_8:
51
+ word: elte
52
+ length: 4
53
+ grammar: noun
54
+ name_type:
55
+ country_code: 47
56
+ ascii: true
57
+ noun_ascii_9:
58
+ word: dill
59
+ length: 4
60
+ grammar: noun
61
+ name_type:
62
+ country_code: 47
63
+ ascii: true
64
+ noun_ascii_10:
65
+ word: oval
66
+ length: 4
67
+ grammar: noun
68
+ name_type:
69
+ country_code: 47
70
+ ascii: true
71
+ noun_ascii_11:
72
+ word: brua
73
+ length: 4
74
+ grammar: noun
75
+ name_type:
76
+ country_code: 47
77
+ ascii: true
78
+ noun_ascii_12:
79
+ word: issa
80
+ length: 4
81
+ grammar: noun
82
+ name_type:
83
+ country_code: 47
84
+ ascii: true
85
+ noun_ascii_13:
86
+ word: moms
87
+ length: 4
88
+ grammar: noun
89
+ name_type:
90
+ country_code: 47
91
+ ascii: true
92
+ noun_ascii_14:
93
+ word: tufs
94
+ length: 4
95
+ grammar: noun
96
+ name_type:
97
+ country_code: 47
98
+ ascii: true
99
+ noun_ascii_15:
100
+ word: kant
101
+ length: 4
102
+ grammar: noun
103
+ name_type:
104
+ country_code: 47
105
+ ascii: true
106
+ noun_ascii_16:
107
+ word: baks
108
+ length: 4
109
+ grammar: noun
110
+ name_type:
111
+ country_code: 47
112
+ ascii: true
113
+ noun_ascii_17:
114
+ word: nurk
115
+ length: 4
116
+ grammar: noun
117
+ name_type:
118
+ country_code: 47
119
+ ascii: true
120
+ noun_ascii_18:
121
+ word: asur
122
+ length: 4
123
+ grammar: noun
124
+ name_type:
125
+ country_code: 47
126
+ ascii: true
127
+ noun_ascii_19:
128
+ word: logn
129
+ length: 4
130
+ grammar: noun
131
+ name_type:
132
+ country_code: 47
133
+ ascii: true
134
+ noun_ascii_20:
135
+ word: lyst
136
+ length: 4
137
+ grammar: noun
138
+ name_type:
139
+ country_code: 47
140
+ ascii: true
141
+
142
+ noun_21:
143
+ word: bøff
144
+ length: 4
145
+ grammar: noun
146
+ name_type:
147
+ country_code: 47
148
+ ascii: false
149
+ noun_22:
150
+ word: pæra
151
+ length: 4
152
+ grammar: noun
153
+ name_type:
154
+ country_code: 47
155
+ ascii: false
156
+ noun_23:
157
+ word: træl
158
+ length: 4
159
+ grammar: noun
160
+ name_type:
161
+ country_code: 47
162
+ ascii: false
163
+ noun_24:
164
+ word: bløt
165
+ length: 4
166
+ grammar: noun
167
+ name_type:
168
+ country_code: 47
169
+ ascii: false
170
+ noun_25:
171
+ word: møet
172
+ length: 4
173
+ grammar: noun
174
+ name_type:
175
+ country_code: 47
176
+ ascii: false
177
+ noun_26:
178
+ word: tåre
179
+ length: 4
180
+ grammar: noun
181
+ name_type:
182
+ country_code: 47
183
+ ascii: false
184
+ noun_27:
185
+ word: bæet
186
+ length: 4
187
+ grammar: noun
188
+ name_type:
189
+ country_code: 47
190
+ ascii: false
191
+ noun_28:
192
+ word: bøer
193
+ length: 4
194
+ grammar: noun
195
+ name_type:
196
+ country_code: 47
197
+ ascii: false
198
+ noun_29:
199
+ word: bøss
200
+ length: 4
201
+ grammar: noun
202
+ name_type:
203
+ country_code: 47
204
+ ascii: false
205
+ noun_30:
206
+ word: ølen
207
+ length: 4
208
+ grammar: noun
209
+ name_type:
210
+ country_code: 47
211
+ ascii: false
212
+ noun_31:
213
+ word: åbot
214
+ length: 4
215
+ grammar: noun
216
+ name_type:
217
+ country_code: 47
218
+ ascii: false
219
+ noun_32:
220
+ word: nøtt
221
+ length: 4
222
+ grammar: noun
223
+ name_type:
224
+ country_code: 47
225
+ ascii: false
226
+ noun_33:
227
+ word: bøle
228
+ length: 4
229
+ grammar: noun
230
+ name_type:
231
+ country_code: 47
232
+ ascii: false
233
+ noun_34:
234
+ word: uvær
235
+ length: 4
236
+ grammar: noun
237
+ name_type:
238
+ country_code: 47
239
+ ascii: false
240
+ noun_35:
241
+ word: døle
242
+ length: 4
243
+ grammar: noun
244
+ name_type:
245
+ country_code: 47
246
+ ascii: false
247
+ noun_36:
248
+ word: sæde
249
+ length: 4
250
+ grammar: noun
251
+ name_type:
252
+ country_code: 47
253
+ ascii: false
254
+ noun_37:
255
+ word: skål
256
+ length: 4
257
+ grammar: noun
258
+ name_type:
259
+ country_code: 47
260
+ ascii: false
261
+ noun_38:
262
+ word: ståk
263
+ length: 4
264
+ grammar: noun
265
+ name_type:
266
+ country_code: 47
267
+ ascii: false
268
+ noun_39:
269
+ word: ulåt
270
+ length: 4
271
+ grammar: noun
272
+ name_type:
273
+ country_code: 47
274
+ ascii: false
275
+ noun_40:
276
+ word: nøle
277
+ length: 4
278
+ grammar: noun
279
+ name_type:
280
+ country_code: 47
281
+ ascii: false
282
+
283
+ surname_41:
284
+ word: Ustad
285
+ length: 5
286
+ grammar: name
287
+ name_type: surname
288
+ country_code: 47
289
+ ascii: false
290
+ surname_42:
291
+ word: Olden
292
+ length: 5
293
+ grammar: name
294
+ name_type: surname
295
+ country_code: 47
296
+ ascii: false
297
+ surname_43:
298
+ word: Håvik
299
+ length: 5
300
+ grammar: name
301
+ name_type: surname
302
+ country_code: 47
303
+ ascii: false
304
+ surname_44:
305
+ word: Molde
306
+ length: 5
307
+ grammar: name
308
+ name_type: surname
309
+ country_code: 47
310
+ ascii: false
311
+ surname_45:
312
+ word: Sjøli
313
+ length: 5
314
+ grammar: name
315
+ name_type: surname
316
+ country_code: 47
317
+ ascii: false
318
+ surname_46:
319
+ word: Skeie
320
+ length: 5
321
+ grammar: name
322
+ name_type: surname
323
+ country_code: 47
324
+ ascii: false
325
+ surname_47:
326
+ word: Misje
327
+ length: 5
328
+ grammar: name
329
+ name_type: surname
330
+ country_code: 47
331
+ ascii: false
332
+ surname_48:
333
+ word: Volle
334
+ length: 5
335
+ grammar: name
336
+ name_type: surname
337
+ country_code: 47
338
+ ascii: false
339
+ surname_49:
340
+ word: Muren
341
+ length: 5
342
+ grammar: name
343
+ name_type: surname
344
+ country_code: 47
345
+ ascii: false
346
+ surname_50:
347
+ word: Aglen
348
+ length: 5
349
+ grammar: name
350
+ name_type: surname
351
+ country_code: 47
352
+ ascii: false
353
+ surname_51:
354
+ word: Sagmo
355
+ length: 5
356
+ grammar: name
357
+ name_type: surname
358
+ country_code: 47
359
+ ascii: false
360
+ surname_52:
361
+ word: Hagen
362
+ length: 5
363
+ grammar: name
364
+ name_type: surname
365
+ country_code: 47
366
+ ascii: false
367
+ surname_53:
368
+ word: Waage
369
+ length: 5
370
+ grammar: name
371
+ name_type: surname
372
+ country_code: 47
373
+ ascii: false
374
+ surname_54:
375
+ word: Klokk
376
+ length: 5
377
+ grammar: name
378
+ name_type: surname
379
+ country_code: 47
380
+ ascii: false
381
+ surname_55:
382
+ word: Lenes
383
+ length: 5
384
+ grammar: name
385
+ name_type: surname
386
+ country_code: 47
387
+ ascii: false
388
+ surname_56:
389
+ word: Røine
390
+ length: 5
391
+ grammar: name
392
+ name_type: surname
393
+ country_code: 47
394
+ ascii: false
395
+ surname_57:
396
+ word: Tofte
397
+ length: 5
398
+ grammar: name
399
+ name_type: surname
400
+ country_code: 47
401
+ ascii: false
402
+ surname_58:
403
+ word: Smith
404
+ length: 5
405
+ grammar: name
406
+ name_type: surname
407
+ country_code: 47
408
+ ascii: false
409
+ surname_59:
410
+ word: Sømme
411
+ length: 5
412
+ grammar: name
413
+ name_type: surname
414
+ country_code: 47
415
+ ascii: false
416
+ surname_60:
417
+ word: Kvaal
418
+ length: 5
419
+ grammar: name
420
+ name_type: surname
421
+ country_code: 47
422
+ ascii: false
423
+
424
+ girlsname_61:
425
+ word: Vilja
426
+ length: 5
427
+ grammar: name
428
+ name_type: girlsname
429
+ country_code: 47
430
+ ascii: false
431
+ girlsname_62:
432
+ word: Mabel
433
+ length: 5
434
+ grammar: name
435
+ name_type: girlsname
436
+ country_code: 47
437
+ ascii: false
438
+ girlsname_63:
439
+ word: Maren
440
+ length: 5
441
+ grammar: name
442
+ name_type: girlsname
443
+ country_code: 47
444
+ ascii: false
445
+ girlsname_64:
446
+ word: Anine
447
+ length: 5
448
+ grammar: name
449
+ name_type: girlsname
450
+ country_code: 47
451
+ ascii: false
452
+ girlsname_65:
453
+ word: Elise
454
+ length: 5
455
+ grammar: name
456
+ name_type: girlsname
457
+ country_code: 47
458
+ ascii: false
459
+ girlsname_66:
460
+ word: Bodil
461
+ length: 5
462
+ grammar: name
463
+ name_type: girlsname
464
+ country_code: 47
465
+ ascii: false
466
+ girlsname_67:
467
+ word: Linea
468
+ length: 5
469
+ grammar: name
470
+ name_type: girlsname
471
+ country_code: 47
472
+ ascii: false
473
+ girlsname_68:
474
+ word: Milla
475
+ length: 5
476
+ grammar: name
477
+ name_type: girlsname
478
+ country_code: 47
479
+ ascii: false
480
+ girlsname_69:
481
+ word: Magda
482
+ length: 5
483
+ grammar: name
484
+ name_type: girlsname
485
+ country_code: 47
486
+ ascii: false
487
+ girlsname_70:
488
+ word: Hulda
489
+ length: 5
490
+ grammar: name
491
+ name_type: girlsname
492
+ country_code: 47
493
+ ascii: false
494
+ girlsname_71:
495
+ word: Mille
496
+ length: 5
497
+ grammar: name
498
+ name_type: girlsname
499
+ country_code: 47
500
+ ascii: false
501
+ girlsname_72:
502
+ word: Renee
503
+ length: 5
504
+ grammar: name
505
+ name_type: girlsname
506
+ country_code: 47
507
+ ascii: false
508
+ girlsname_73:
509
+ word: Cindy
510
+ length: 5
511
+ grammar: name
512
+ name_type: girlsname
513
+ country_code: 47
514
+ ascii: false
515
+ girlsname_74:
516
+ word: Elida
517
+ length: 5
518
+ grammar: name
519
+ name_type: girlsname
520
+ country_code: 47
521
+ ascii: false
522
+ girlsname_75:
523
+ word: Lilli
524
+ length: 5
525
+ grammar: name
526
+ name_type: girlsname
527
+ country_code: 47
528
+ ascii: false
529
+ girlsname_76:
530
+ word: Karen
531
+ length: 5
532
+ grammar: name
533
+ name_type: girlsname
534
+ country_code: 47
535
+ ascii: false
536
+ girlsname_77:
537
+ word: Judit
538
+ length: 5
539
+ grammar: name
540
+ name_type: girlsname
541
+ country_code: 47
542
+ ascii: false
543
+ girlsname_78:
544
+ word: Emine
545
+ length: 5
546
+ grammar: name
547
+ name_type: girlsname
548
+ country_code: 47
549
+ ascii: false
550
+ girlsname_79:
551
+ word: Eline
552
+ length: 5
553
+ grammar: name
554
+ name_type: girlsname
555
+ country_code: 47
556
+ ascii: false
557
+ girlsname_80:
558
+ word: Wendy
559
+ length: 5
560
+ grammar: name
561
+ name_type: girlsname
562
+ country_code: 47
563
+ ascii: false
564
+
565
+ boysname_81:
566
+ word: Adnan
567
+ length: 5
568
+ grammar: name
569
+ name_type: boysname
570
+ country_code: 47
571
+ ascii: false
572
+ boysname_82:
573
+ word: Gjert
574
+ length: 5
575
+ grammar: name
576
+ name_type: boysname
577
+ country_code: 47
578
+ ascii: false
579
+ boysname_83:
580
+ word: Aslak
581
+ length: 5
582
+ grammar: name
583
+ name_type: boysname
584
+ country_code: 47
585
+ ascii: false
586
+ boysname_84:
587
+ word: Scott
588
+ length: 5
589
+ grammar: name
590
+ name_type: boysname
591
+ country_code: 47
592
+ ascii: false
593
+ boysname_85:
594
+ word: Klaus
595
+ length: 5
596
+ grammar: name
597
+ name_type: boysname
598
+ country_code: 47
599
+ ascii: false
600
+ boysname_86:
601
+ word: Gøran
602
+ length: 5
603
+ grammar: name
604
+ name_type: boysname
605
+ country_code: 47
606
+ ascii: false
607
+ boysname_87:
608
+ word: Eigil
609
+ length: 5
610
+ grammar: name
611
+ name_type: boysname
612
+ country_code: 47
613
+ ascii: false
614
+ boysname_88:
615
+ word: Jonny
616
+ length: 5
617
+ grammar: name
618
+ name_type: boysname
619
+ country_code: 47
620
+ ascii: false
621
+ boysname_89:
622
+ word: Thore
623
+ length: 5
624
+ grammar: name
625
+ name_type: boysname
626
+ country_code: 47
627
+ ascii: false
628
+ boysname_90:
629
+ word: Lucas
630
+ length: 5
631
+ grammar: name
632
+ name_type: boysname
633
+ country_code: 47
634
+ ascii: false
635
+ boysname_91:
636
+ word: Esben
637
+ length: 5
638
+ grammar: name
639
+ name_type: boysname
640
+ country_code: 47
641
+ ascii: false
642
+ boysname_92:
643
+ word: Colin
644
+ length: 5
645
+ grammar: name
646
+ name_type: boysname
647
+ country_code: 47
648
+ ascii: false
649
+ boysname_93:
650
+ word: Øyvin
651
+ length: 5
652
+ grammar: name
653
+ name_type: boysname
654
+ country_code: 47
655
+ ascii: false
656
+ boysname_94:
657
+ word: Ruben
658
+ length: 5
659
+ grammar: name
660
+ name_type: boysname
661
+ country_code: 47
662
+ ascii: false
663
+ boysname_95:
664
+ word: Thanh
665
+ length: 5
666
+ grammar: name
667
+ name_type: boysname
668
+ country_code: 47
669
+ ascii: false
670
+ boysname_96:
671
+ word: Jakob
672
+ length: 5
673
+ grammar: name
674
+ name_type: boysname
675
+ country_code: 47
676
+ ascii: false
677
+ boysname_97:
678
+ word: Fritz
679
+ length: 5
680
+ grammar: name
681
+ name_type: boysname
682
+ country_code: 47
683
+ ascii: false
684
+ boysname_98:
685
+ word: Peter
686
+ length: 5
687
+ grammar: name
688
+ name_type: boysname
689
+ country_code: 47
690
+ ascii: false
691
+ boysname_99:
692
+ word: Evald
693
+ length: 5
694
+ grammar: name
695
+ name_type: boysname
696
+ country_code: 47
697
+ ascii: false
698
+ boysname_100:
699
+ word: Ingar
700
+ length: 5
701
+ grammar: name
702
+ name_type: boysname
703
+ country_code: 47
704
+ ascii: false