elm-pages 3.0.0-beta.4 → 3.0.0-beta.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/README.md +10 -1
  2. package/adapter/netlify.js +207 -0
  3. package/codegen/{elm-pages-codegen.js → elm-pages-codegen.cjs} +2828 -2933
  4. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
  5. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
  6. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
  7. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  8. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  9. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  10. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm.json +1 -1
  11. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1447 -342
  12. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +17004 -13817
  13. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
  14. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
  15. package/generator/dead-code-review/elm.json +9 -7
  16. package/generator/dead-code-review/src/Pages/Review/DeadCodeEliminateData.elm +59 -10
  17. package/generator/dead-code-review/tests/Pages/Review/DeadCodeEliminateDataTest.elm +52 -36
  18. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmi +0 -0
  19. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmo +0 -0
  20. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmi +0 -0
  21. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmo +0 -0
  22. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  23. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  24. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  25. package/generator/review/elm-stuff/tests-0.19.1/elm.json +1 -1
  26. package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1447 -342
  27. package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +25025 -21739
  28. package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
  29. package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
  30. package/generator/review/elm.json +10 -10
  31. package/generator/src/RouteBuilder.elm +121 -114
  32. package/generator/src/SharedTemplate.elm +8 -7
  33. package/generator/src/SiteConfig.elm +3 -2
  34. package/generator/src/basepath-middleware.js +3 -3
  35. package/generator/src/build.js +209 -92
  36. package/generator/src/cli.js +292 -88
  37. package/generator/src/codegen.js +29 -27
  38. package/generator/src/compatibility-key.js +3 -0
  39. package/generator/src/compile-elm.js +43 -26
  40. package/generator/src/config.js +39 -0
  41. package/generator/src/copy-dir.js +2 -2
  42. package/generator/src/dev-server.js +176 -138
  43. package/generator/src/dir-helpers.js +9 -26
  44. package/generator/src/elm-codegen.js +5 -4
  45. package/generator/src/elm-file-constants.js +2 -3
  46. package/generator/src/error-formatter.js +12 -11
  47. package/generator/src/file-helpers.js +3 -4
  48. package/generator/src/generate-template-module-connector.js +23 -23
  49. package/generator/src/init.js +9 -8
  50. package/generator/src/pre-render-html.js +39 -28
  51. package/generator/src/render-test.js +109 -0
  52. package/generator/src/render-worker.js +25 -28
  53. package/generator/src/render.js +321 -142
  54. package/generator/src/request-cache.js +265 -162
  55. package/generator/src/resolve-elm-module.js +64 -0
  56. package/generator/src/rewrite-client-elm-json.js +6 -5
  57. package/generator/src/rewrite-elm-json-help.js +56 -0
  58. package/generator/src/rewrite-elm-json.js +17 -7
  59. package/generator/src/route-codegen-helpers.js +16 -31
  60. package/generator/src/seo-renderer.js +12 -7
  61. package/generator/src/vite-utils.js +77 -0
  62. package/generator/static-code/elm-pages.js +10 -0
  63. package/generator/static-code/hmr.js +79 -13
  64. package/generator/template/app/Api.elm +6 -5
  65. package/generator/template/app/Effect.elm +123 -0
  66. package/generator/template/app/ErrorPage.elm +37 -6
  67. package/generator/template/app/Route/Index.elm +17 -10
  68. package/generator/template/app/Shared.elm +24 -47
  69. package/generator/template/app/Site.elm +19 -6
  70. package/generator/template/app/View.elm +1 -8
  71. package/generator/template/elm-tooling.json +0 -3
  72. package/generator/template/elm.json +32 -24
  73. package/generator/template/package.json +10 -4
  74. package/package.json +30 -27
  75. package/src/ApiRoute.elm +199 -61
  76. package/src/BackendTask/Custom.elm +325 -0
  77. package/src/BackendTask/Env.elm +90 -0
  78. package/src/{DataSource → BackendTask}/File.elm +171 -56
  79. package/src/{DataSource → BackendTask}/Glob.elm +136 -125
  80. package/src/BackendTask/Http.elm +679 -0
  81. package/src/{DataSource → BackendTask}/Internal/Glob.elm +1 -1
  82. package/src/BackendTask/Internal/Request.elm +69 -0
  83. package/src/BackendTask/Random.elm +79 -0
  84. package/src/BackendTask/Time.elm +47 -0
  85. package/src/BackendTask.elm +531 -0
  86. package/src/FatalError.elm +90 -0
  87. package/src/Head/Seo.elm +4 -4
  88. package/src/Head.elm +237 -7
  89. package/src/HtmlPrinter.elm +7 -3
  90. package/src/Internal/ApiRoute.elm +7 -5
  91. package/src/PageServerResponse.elm +6 -1
  92. package/src/Pages/ConcurrentSubmission.elm +127 -0
  93. package/src/Pages/Form.elm +340 -0
  94. package/src/Pages/FormData.elm +18 -0
  95. package/src/Pages/GeneratorProgramConfig.elm +15 -0
  96. package/src/Pages/Internal/FatalError.elm +5 -0
  97. package/src/Pages/Internal/Msg.elm +93 -0
  98. package/src/Pages/Internal/NotFoundReason.elm +4 -4
  99. package/src/Pages/Internal/Platform/Cli.elm +617 -768
  100. package/src/Pages/Internal/Platform/CompatibilityKey.elm +6 -0
  101. package/src/Pages/Internal/Platform/Effect.elm +1 -2
  102. package/src/Pages/Internal/Platform/GeneratorApplication.elm +379 -0
  103. package/src/Pages/Internal/Platform/StaticResponses.elm +65 -276
  104. package/src/Pages/Internal/Platform/ToJsPayload.elm +6 -9
  105. package/src/Pages/Internal/Platform.elm +359 -225
  106. package/src/Pages/Internal/ResponseSketch.elm +2 -2
  107. package/src/Pages/Internal/Script.elm +17 -0
  108. package/src/Pages/Internal/StaticHttpBody.elm +35 -1
  109. package/src/Pages/Manifest.elm +52 -11
  110. package/src/Pages/Navigation.elm +87 -0
  111. package/src/Pages/PageUrl.elm +26 -12
  112. package/src/Pages/ProgramConfig.elm +35 -23
  113. package/src/Pages/Script.elm +166 -0
  114. package/src/Pages/SiteConfig.elm +3 -2
  115. package/src/Pages/StaticHttp/Request.elm +2 -2
  116. package/src/Pages/StaticHttpRequest.elm +23 -99
  117. package/src/Pages/Url.elm +3 -3
  118. package/src/PagesMsg.elm +88 -0
  119. package/src/QueryParams.elm +21 -172
  120. package/src/RenderRequest.elm +7 -7
  121. package/src/RequestsAndPending.elm +37 -20
  122. package/src/Result/Extra.elm +26 -0
  123. package/src/Scaffold/Form.elm +569 -0
  124. package/src/Scaffold/Route.elm +1411 -0
  125. package/src/Server/Request.elm +74 -72
  126. package/src/Server/Session.elm +62 -42
  127. package/src/Server/SetCookie.elm +80 -32
  128. package/src/Stub.elm +53 -0
  129. package/src/Test/Html/Internal/ElmHtml/ToString.elm +8 -9
  130. package/src/{Path.elm → UrlPath.elm} +33 -36
  131. package/src/DataSource/Env.elm +0 -38
  132. package/src/DataSource/Http.elm +0 -446
  133. package/src/DataSource/Internal/Request.elm +0 -20
  134. package/src/DataSource/Port.elm +0 -90
  135. package/src/DataSource.elm +0 -538
  136. package/src/Form/Field.elm +0 -717
  137. package/src/Form/FieldStatus.elm +0 -36
  138. package/src/Form/FieldView.elm +0 -417
  139. package/src/Form/FormData.elm +0 -22
  140. package/src/Form/Validation.elm +0 -391
  141. package/src/Form/Value.elm +0 -118
  142. package/src/Form.elm +0 -1683
  143. package/src/FormDecoder.elm +0 -102
  144. package/src/Pages/FormState.elm +0 -256
  145. package/src/Pages/Generate.elm +0 -800
  146. package/src/Pages/Internal/Form.elm +0 -17
  147. package/src/Pages/Msg.elm +0 -79
  148. package/src/Pages/Transition.elm +0 -70
@@ -77,7 +77,7 @@ function A9(fun, a, b, c, d, e, f, g, h, i) {
77
77
  return fun.a === 9 ? fun.f(a, b, c, d, e, f, g, h, i) : fun(a)(b)(c)(d)(e)(f)(g)(h)(i);
78
78
  }
79
79
 
80
-
80
+ console.warn('Compiled in DEV mode. Follow the advice at https://elm-lang.org/0.19.1/optimize for better performance and smaller assets.');
81
81
 
82
82
 
83
83
  var _JsArray_empty = [];
@@ -3647,11 +3647,6 @@ var $elm$core$List$append = F2(
3647
3647
  var $elm$core$List$concat = function (lists) {
3648
3648
  return A3($elm$core$List$foldr, $elm$core$List$append, _List_Nil, lists);
3649
3649
  };
3650
- var $elm$core$Basics$composeL = F3(
3651
- function (g, f, x) {
3652
- return g(
3653
- f(x));
3654
- });
3655
3650
  var $elm$core$List$filter = F2(
3656
3651
  function (isGood, list) {
3657
3652
  return A3(
@@ -3663,160 +3658,1135 @@ var $elm$core$List$filter = F2(
3663
3658
  _List_Nil,
3664
3659
  list);
3665
3660
  });
3666
- var $elm$core$String$isEmpty = function (string) {
3667
- return string === '';
3668
- };
3669
- var $elm$core$Basics$not = _Basics_not;
3670
- var $elm_explorations$test$Test$Runner$formatLabels = F3(
3671
- function (formatDescription, formatTest, labels) {
3672
- var _v0 = A2(
3673
- $elm$core$List$filter,
3674
- A2($elm$core$Basics$composeL, $elm$core$Basics$not, $elm$core$String$isEmpty),
3675
- labels);
3676
- if (!_v0.b) {
3677
- return _List_Nil;
3678
- } else {
3679
- var test = _v0.a;
3680
- var descriptions = _v0.b;
3681
- return $elm$core$List$reverse(
3682
- A2(
3683
- $elm$core$List$cons,
3684
- formatTest(test),
3685
- A2($elm$core$List$map, formatDescription, descriptions)));
3686
- }
3687
- });
3661
+ var $elm_explorations$test$AsciiTable$AlignLeft = {$: 'AlignLeft'};
3662
+ var $elm_explorations$test$AsciiTable$AlignRight = {$: 'AlignRight'};
3663
+ var $elm_explorations$test$Test$Runner$Distribution$bars = 30;
3688
3664
  var $elm$core$String$cons = _String_cons;
3689
3665
  var $elm$core$String$fromChar = function (_char) {
3690
3666
  return A2($elm$core$String$cons, _char, '');
3691
3667
  };
3692
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar = F2(
3693
- function (icon, str) {
3694
- return $elm$core$String$fromChar(icon) + (' ' + (str + '\n'));
3695
- });
3696
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureLabelsToText = A2(
3697
- $elm$core$Basics$composeR,
3698
- A2(
3699
- $elm_explorations$test$Test$Runner$formatLabels,
3700
- A2(
3701
- $elm$core$Basics$composeL,
3702
- A2($elm$core$Basics$composeL, $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark, $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain),
3703
- $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar(
3704
- _Utils_chr('↓'))),
3705
- A2(
3706
- $elm$core$Basics$composeL,
3707
- $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$red,
3708
- $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar(
3709
- _Utils_chr('✗')))),
3710
- $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat);
3711
- var $elm$core$Basics$always = F2(
3712
- function (a, _v0) {
3713
- return a;
3714
- });
3715
- var $elm$core$List$concatMap = F2(
3716
- function (f, list) {
3717
- return $elm$core$List$concat(
3718
- A2($elm$core$List$map, f, list));
3668
+ var $elm$core$String$length = _String_length;
3669
+ var $elm$core$String$padRight = F3(
3670
+ function (n, _char, string) {
3671
+ return _Utils_ap(
3672
+ string,
3673
+ A2(
3674
+ $elm$core$String$repeat,
3675
+ n - $elm$core$String$length(string),
3676
+ $elm$core$String$fromChar(_char)));
3677
+ });
3678
+ var $elm_explorations$test$Test$Runner$Distribution$barView = function (_v0) {
3679
+ var count = _v0.count;
3680
+ var runsElapsed = _v0.runsElapsed;
3681
+ var percentage = count / runsElapsed;
3682
+ var barsForPercentage = percentage * $elm_explorations$test$Test$Runner$Distribution$bars;
3683
+ var fullBars = $elm$core$Basics$round(barsForPercentage);
3684
+ return A3(
3685
+ $elm$core$String$padRight,
3686
+ $elm_explorations$test$Test$Runner$Distribution$bars,
3687
+ _Utils_chr('░'),
3688
+ A2($elm$core$String$repeat, fullBars, '█'));
3689
+ };
3690
+ var $elm$core$String$fromFloat = _String_fromNumber;
3691
+ var $elm$core$List$map3 = _List_map3;
3692
+ var $elm$core$List$maximum = function (list) {
3693
+ if (list.b) {
3694
+ var x = list.a;
3695
+ var xs = list.b;
3696
+ return $elm$core$Maybe$Just(
3697
+ A3($elm$core$List$foldl, $elm$core$Basics$max, x, xs));
3698
+ } else {
3699
+ return $elm$core$Maybe$Nothing;
3700
+ }
3701
+ };
3702
+ var $elm$core$String$padLeft = F3(
3703
+ function (n, _char, string) {
3704
+ return _Utils_ap(
3705
+ A2(
3706
+ $elm$core$String$repeat,
3707
+ n - $elm$core$String$length(string),
3708
+ $elm$core$String$fromChar(_char)),
3709
+ string);
3719
3710
  });
3720
- var $elm$core$Array$fromListHelp = F3(
3721
- function (list, nodeList, nodeListSize) {
3722
- fromListHelp:
3711
+ var $elm$core$List$repeatHelp = F3(
3712
+ function (result, n, value) {
3713
+ repeatHelp:
3723
3714
  while (true) {
3724
- var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, list);
3725
- var jsArray = _v0.a;
3726
- var remainingItems = _v0.b;
3727
- if (_Utils_cmp(
3728
- $elm$core$Elm$JsArray$length(jsArray),
3729
- $elm$core$Array$branchFactor) < 0) {
3730
- return A2(
3731
- $elm$core$Array$builderToArray,
3732
- true,
3733
- {nodeList: nodeList, nodeListSize: nodeListSize, tail: jsArray});
3715
+ if (n <= 0) {
3716
+ return result;
3734
3717
  } else {
3735
- var $temp$list = remainingItems,
3736
- $temp$nodeList = A2(
3737
- $elm$core$List$cons,
3738
- $elm$core$Array$Leaf(jsArray),
3739
- nodeList),
3740
- $temp$nodeListSize = nodeListSize + 1;
3741
- list = $temp$list;
3742
- nodeList = $temp$nodeList;
3743
- nodeListSize = $temp$nodeListSize;
3744
- continue fromListHelp;
3718
+ var $temp$result = A2($elm$core$List$cons, value, result),
3719
+ $temp$n = n - 1,
3720
+ $temp$value = value;
3721
+ result = $temp$result;
3722
+ n = $temp$n;
3723
+ value = $temp$value;
3724
+ continue repeatHelp;
3745
3725
  }
3746
3726
  }
3747
3727
  });
3748
- var $elm$core$Array$fromList = function (list) {
3749
- if (!list.b) {
3750
- return $elm$core$Array$empty;
3728
+ var $elm$core$List$repeat = F2(
3729
+ function (n, value) {
3730
+ return A3($elm$core$List$repeatHelp, _List_Nil, n, value);
3731
+ });
3732
+ var $elm_explorations$test$MicroListExtra$rowsLength = function (listOfLists) {
3733
+ if (!listOfLists.b) {
3734
+ return 0;
3751
3735
  } else {
3752
- return A3($elm$core$Array$fromListHelp, list, _List_Nil, 0);
3736
+ var x = listOfLists.a;
3737
+ return $elm$core$List$length(x);
3753
3738
  }
3754
3739
  };
3755
- var $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy;
3756
- var $elm$core$Array$bitMask = 4294967295 >>> (32 - $elm$core$Array$shiftStep);
3757
- var $elm$core$Basics$ge = _Utils_ge;
3758
- var $elm$core$Elm$JsArray$unsafeGet = _JsArray_unsafeGet;
3759
- var $elm$core$Array$getHelp = F3(
3760
- function (shift, index, tree) {
3761
- getHelp:
3740
+ var $elm_explorations$test$MicroListExtra$transpose = function (listOfLists) {
3741
+ return A3(
3742
+ $elm$core$List$foldr,
3743
+ $elm$core$List$map2($elm$core$List$cons),
3744
+ A2(
3745
+ $elm$core$List$repeat,
3746
+ $elm_explorations$test$MicroListExtra$rowsLength(listOfLists),
3747
+ _List_Nil),
3748
+ listOfLists);
3749
+ };
3750
+ var $elm_explorations$test$AsciiTable$view = F2(
3751
+ function (columns, items) {
3752
+ var padFn = F3(
3753
+ function (length, align, string) {
3754
+ if (align.$ === 'AlignLeft') {
3755
+ return A3(
3756
+ $elm$core$String$padRight,
3757
+ length,
3758
+ _Utils_chr(' '),
3759
+ string);
3760
+ } else {
3761
+ return A3(
3762
+ $elm$core$String$padLeft,
3763
+ length,
3764
+ _Utils_chr(' '),
3765
+ string);
3766
+ }
3767
+ });
3768
+ var columnData = A2(
3769
+ $elm$core$List$map,
3770
+ function (col) {
3771
+ return A2($elm$core$List$map, col.toString, items);
3772
+ },
3773
+ columns);
3774
+ var columnLengths = A2(
3775
+ $elm$core$List$map,
3776
+ function (colRows) {
3777
+ return A2(
3778
+ $elm$core$Maybe$withDefault,
3779
+ 0,
3780
+ $elm$core$List$maximum(
3781
+ A2($elm$core$List$map, $elm$core$String$length, colRows)));
3782
+ },
3783
+ columnData);
3784
+ var paddedColumnData = A4(
3785
+ $elm$core$List$map3,
3786
+ F3(
3787
+ function (col, colLength, colStrings) {
3788
+ return A2(
3789
+ $elm$core$List$map,
3790
+ A2(padFn, colLength, col.align),
3791
+ colStrings);
3792
+ }),
3793
+ columns,
3794
+ columnLengths,
3795
+ columnData);
3796
+ return A3(
3797
+ $elm$core$List$map2,
3798
+ F2(
3799
+ function (item, rowCells) {
3800
+ return {
3801
+ item: item,
3802
+ renderedRow: A2($elm$core$String$join, ' ', rowCells)
3803
+ };
3804
+ }),
3805
+ items,
3806
+ $elm_explorations$test$MicroListExtra$transpose(paddedColumnData));
3807
+ });
3808
+ var $elm_explorations$test$Test$Runner$Distribution$viewLabels = function (labels) {
3809
+ return $elm$core$List$isEmpty(labels) ? '<uncategorized>' : A2($elm$core$String$join, ', ', labels);
3810
+ };
3811
+ var $elm_explorations$test$Test$Runner$Distribution$formatAsciiTable = F2(
3812
+ function (runsElapsed, items) {
3813
+ return A2(
3814
+ $elm_explorations$test$AsciiTable$view,
3815
+ _List_fromArray(
3816
+ [
3817
+ {
3818
+ align: $elm_explorations$test$AsciiTable$AlignLeft,
3819
+ toString: function (_v0) {
3820
+ var labels = _v0.a;
3821
+ return ' ' + ($elm_explorations$test$Test$Runner$Distribution$viewLabels(labels) + ':');
3822
+ }
3823
+ },
3824
+ {
3825
+ align: $elm_explorations$test$AsciiTable$AlignRight,
3826
+ toString: function (_v1) {
3827
+ var percentage = _v1.c;
3828
+ return $elm$core$String$fromFloat(percentage) + '%';
3829
+ }
3830
+ },
3831
+ {
3832
+ align: $elm_explorations$test$AsciiTable$AlignRight,
3833
+ toString: function (_v2) {
3834
+ var count = _v2.b;
3835
+ return '(' + ($elm$core$String$fromInt(count) + 'x)');
3836
+ }
3837
+ },
3838
+ {
3839
+ align: $elm_explorations$test$AsciiTable$AlignLeft,
3840
+ toString: function (_v3) {
3841
+ var count = _v3.b;
3842
+ return $elm_explorations$test$Test$Runner$Distribution$barView(
3843
+ {count: count, runsElapsed: runsElapsed});
3844
+ }
3845
+ }
3846
+ ]),
3847
+ items);
3848
+ });
3849
+ var $elm$core$List$any = F2(
3850
+ function (isOkay, list) {
3851
+ any:
3762
3852
  while (true) {
3763
- var pos = $elm$core$Array$bitMask & (index >>> shift);
3764
- var _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);
3765
- if (_v0.$ === 'SubTree') {
3766
- var subTree = _v0.a;
3767
- var $temp$shift = shift - $elm$core$Array$shiftStep,
3768
- $temp$index = index,
3769
- $temp$tree = subTree;
3770
- shift = $temp$shift;
3771
- index = $temp$index;
3772
- tree = $temp$tree;
3773
- continue getHelp;
3853
+ if (!list.b) {
3854
+ return false;
3774
3855
  } else {
3775
- var values = _v0.a;
3776
- return A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, values);
3856
+ var x = list.a;
3857
+ var xs = list.b;
3858
+ if (isOkay(x)) {
3859
+ return true;
3860
+ } else {
3861
+ var $temp$isOkay = isOkay,
3862
+ $temp$list = xs;
3863
+ isOkay = $temp$isOkay;
3864
+ list = $temp$list;
3865
+ continue any;
3866
+ }
3777
3867
  }
3778
3868
  }
3779
3869
  });
3780
- var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy;
3781
- var $elm$core$Array$tailIndex = function (len) {
3782
- return (len >>> 5) << 5;
3870
+ var $elm$core$Set$Set_elm_builtin = function (a) {
3871
+ return {$: 'Set_elm_builtin', a: a};
3783
3872
  };
3784
- var $elm$core$Array$get = F2(
3785
- function (index, _v0) {
3786
- var len = _v0.a;
3787
- var startShift = _v0.b;
3788
- var tree = _v0.c;
3789
- var tail = _v0.d;
3790
- return ((index < 0) || (_Utils_cmp(index, len) > -1)) ? $elm$core$Maybe$Nothing : ((_Utils_cmp(
3791
- index,
3792
- $elm$core$Array$tailIndex(len)) > -1) ? $elm$core$Maybe$Just(
3793
- A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, tail)) : $elm$core$Maybe$Just(
3794
- A3($elm$core$Array$getHelp, startShift, index, tree)));
3873
+ var $elm$core$Dict$foldl = F3(
3874
+ function (func, acc, dict) {
3875
+ foldl:
3876
+ while (true) {
3877
+ if (dict.$ === 'RBEmpty_elm_builtin') {
3878
+ return acc;
3879
+ } else {
3880
+ var key = dict.b;
3881
+ var value = dict.c;
3882
+ var left = dict.d;
3883
+ var right = dict.e;
3884
+ var $temp$func = func,
3885
+ $temp$acc = A3(
3886
+ func,
3887
+ key,
3888
+ value,
3889
+ A3($elm$core$Dict$foldl, func, acc, left)),
3890
+ $temp$dict = right;
3891
+ func = $temp$func;
3892
+ acc = $temp$acc;
3893
+ dict = $temp$dict;
3894
+ continue foldl;
3895
+ }
3896
+ }
3795
3897
  });
3796
- var $elm$core$Array$length = function (_v0) {
3797
- var len = _v0.a;
3798
- return len;
3799
- };
3800
- var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$Added = function (a) {
3801
- return {$: 'Added', a: a};
3802
- };
3803
- var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$CannotGetA = function (a) {
3804
- return {$: 'CannotGetA', a: a};
3805
- };
3806
- var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$CannotGetB = function (a) {
3807
- return {$: 'CannotGetB', a: a};
3898
+ var $elm$core$Dict$getMin = function (dict) {
3899
+ getMin:
3900
+ while (true) {
3901
+ if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
3902
+ var left = dict.d;
3903
+ var $temp$dict = left;
3904
+ dict = $temp$dict;
3905
+ continue getMin;
3906
+ } else {
3907
+ return dict;
3908
+ }
3909
+ }
3808
3910
  };
3809
- var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$NoChange = function (a) {
3810
- return {$: 'NoChange', a: a};
3911
+ var $elm$core$Dict$moveRedLeft = function (dict) {
3912
+ if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
3913
+ if ((dict.e.d.$ === 'RBNode_elm_builtin') && (dict.e.d.a.$ === 'Red')) {
3914
+ var clr = dict.a;
3915
+ var k = dict.b;
3916
+ var v = dict.c;
3917
+ var _v1 = dict.d;
3918
+ var lClr = _v1.a;
3919
+ var lK = _v1.b;
3920
+ var lV = _v1.c;
3921
+ var lLeft = _v1.d;
3922
+ var lRight = _v1.e;
3923
+ var _v2 = dict.e;
3924
+ var rClr = _v2.a;
3925
+ var rK = _v2.b;
3926
+ var rV = _v2.c;
3927
+ var rLeft = _v2.d;
3928
+ var _v3 = rLeft.a;
3929
+ var rlK = rLeft.b;
3930
+ var rlV = rLeft.c;
3931
+ var rlL = rLeft.d;
3932
+ var rlR = rLeft.e;
3933
+ var rRight = _v2.e;
3934
+ return A5(
3935
+ $elm$core$Dict$RBNode_elm_builtin,
3936
+ $elm$core$Dict$Red,
3937
+ rlK,
3938
+ rlV,
3939
+ A5(
3940
+ $elm$core$Dict$RBNode_elm_builtin,
3941
+ $elm$core$Dict$Black,
3942
+ k,
3943
+ v,
3944
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
3945
+ rlL),
3946
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, rK, rV, rlR, rRight));
3947
+ } else {
3948
+ var clr = dict.a;
3949
+ var k = dict.b;
3950
+ var v = dict.c;
3951
+ var _v4 = dict.d;
3952
+ var lClr = _v4.a;
3953
+ var lK = _v4.b;
3954
+ var lV = _v4.c;
3955
+ var lLeft = _v4.d;
3956
+ var lRight = _v4.e;
3957
+ var _v5 = dict.e;
3958
+ var rClr = _v5.a;
3959
+ var rK = _v5.b;
3960
+ var rV = _v5.c;
3961
+ var rLeft = _v5.d;
3962
+ var rRight = _v5.e;
3963
+ if (clr.$ === 'Black') {
3964
+ return A5(
3965
+ $elm$core$Dict$RBNode_elm_builtin,
3966
+ $elm$core$Dict$Black,
3967
+ k,
3968
+ v,
3969
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
3970
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
3971
+ } else {
3972
+ return A5(
3973
+ $elm$core$Dict$RBNode_elm_builtin,
3974
+ $elm$core$Dict$Black,
3975
+ k,
3976
+ v,
3977
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
3978
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
3979
+ }
3980
+ }
3981
+ } else {
3982
+ return dict;
3983
+ }
3811
3984
  };
3812
- var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$Removed = function (a) {
3813
- return {$: 'Removed', a: a};
3985
+ var $elm$core$Dict$moveRedRight = function (dict) {
3986
+ if (((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) && (dict.e.$ === 'RBNode_elm_builtin')) {
3987
+ if ((dict.d.d.$ === 'RBNode_elm_builtin') && (dict.d.d.a.$ === 'Red')) {
3988
+ var clr = dict.a;
3989
+ var k = dict.b;
3990
+ var v = dict.c;
3991
+ var _v1 = dict.d;
3992
+ var lClr = _v1.a;
3993
+ var lK = _v1.b;
3994
+ var lV = _v1.c;
3995
+ var _v2 = _v1.d;
3996
+ var _v3 = _v2.a;
3997
+ var llK = _v2.b;
3998
+ var llV = _v2.c;
3999
+ var llLeft = _v2.d;
4000
+ var llRight = _v2.e;
4001
+ var lRight = _v1.e;
4002
+ var _v4 = dict.e;
4003
+ var rClr = _v4.a;
4004
+ var rK = _v4.b;
4005
+ var rV = _v4.c;
4006
+ var rLeft = _v4.d;
4007
+ var rRight = _v4.e;
4008
+ return A5(
4009
+ $elm$core$Dict$RBNode_elm_builtin,
4010
+ $elm$core$Dict$Red,
4011
+ lK,
4012
+ lV,
4013
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, llK, llV, llLeft, llRight),
4014
+ A5(
4015
+ $elm$core$Dict$RBNode_elm_builtin,
4016
+ $elm$core$Dict$Black,
4017
+ k,
4018
+ v,
4019
+ lRight,
4020
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight)));
4021
+ } else {
4022
+ var clr = dict.a;
4023
+ var k = dict.b;
4024
+ var v = dict.c;
4025
+ var _v5 = dict.d;
4026
+ var lClr = _v5.a;
4027
+ var lK = _v5.b;
4028
+ var lV = _v5.c;
4029
+ var lLeft = _v5.d;
4030
+ var lRight = _v5.e;
4031
+ var _v6 = dict.e;
4032
+ var rClr = _v6.a;
4033
+ var rK = _v6.b;
4034
+ var rV = _v6.c;
4035
+ var rLeft = _v6.d;
4036
+ var rRight = _v6.e;
4037
+ if (clr.$ === 'Black') {
4038
+ return A5(
4039
+ $elm$core$Dict$RBNode_elm_builtin,
4040
+ $elm$core$Dict$Black,
4041
+ k,
4042
+ v,
4043
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
4044
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
4045
+ } else {
4046
+ return A5(
4047
+ $elm$core$Dict$RBNode_elm_builtin,
4048
+ $elm$core$Dict$Black,
4049
+ k,
4050
+ v,
4051
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, lK, lV, lLeft, lRight),
4052
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, rK, rV, rLeft, rRight));
4053
+ }
4054
+ }
4055
+ } else {
4056
+ return dict;
4057
+ }
3814
4058
  };
3815
- var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$UnexpectedPath = F2(
3816
- function (a, b) {
3817
- return {$: 'UnexpectedPath', a: a, b: b};
4059
+ var $elm$core$Dict$removeHelpPrepEQGT = F7(
4060
+ function (targetKey, dict, color, key, value, left, right) {
4061
+ if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Red')) {
4062
+ var _v1 = left.a;
4063
+ var lK = left.b;
4064
+ var lV = left.c;
4065
+ var lLeft = left.d;
4066
+ var lRight = left.e;
4067
+ return A5(
4068
+ $elm$core$Dict$RBNode_elm_builtin,
4069
+ color,
4070
+ lK,
4071
+ lV,
4072
+ lLeft,
4073
+ A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Red, key, value, lRight, right));
4074
+ } else {
4075
+ _v2$2:
4076
+ while (true) {
4077
+ if ((right.$ === 'RBNode_elm_builtin') && (right.a.$ === 'Black')) {
4078
+ if (right.d.$ === 'RBNode_elm_builtin') {
4079
+ if (right.d.a.$ === 'Black') {
4080
+ var _v3 = right.a;
4081
+ var _v4 = right.d;
4082
+ var _v5 = _v4.a;
4083
+ return $elm$core$Dict$moveRedRight(dict);
4084
+ } else {
4085
+ break _v2$2;
4086
+ }
4087
+ } else {
4088
+ var _v6 = right.a;
4089
+ var _v7 = right.d;
4090
+ return $elm$core$Dict$moveRedRight(dict);
4091
+ }
4092
+ } else {
4093
+ break _v2$2;
4094
+ }
4095
+ }
4096
+ return dict;
4097
+ }
3818
4098
  });
3819
- var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$makeChangesHelp = F5(
4099
+ var $elm$core$Dict$removeMin = function (dict) {
4100
+ if ((dict.$ === 'RBNode_elm_builtin') && (dict.d.$ === 'RBNode_elm_builtin')) {
4101
+ var color = dict.a;
4102
+ var key = dict.b;
4103
+ var value = dict.c;
4104
+ var left = dict.d;
4105
+ var lColor = left.a;
4106
+ var lLeft = left.d;
4107
+ var right = dict.e;
4108
+ if (lColor.$ === 'Black') {
4109
+ if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
4110
+ var _v3 = lLeft.a;
4111
+ return A5(
4112
+ $elm$core$Dict$RBNode_elm_builtin,
4113
+ color,
4114
+ key,
4115
+ value,
4116
+ $elm$core$Dict$removeMin(left),
4117
+ right);
4118
+ } else {
4119
+ var _v4 = $elm$core$Dict$moveRedLeft(dict);
4120
+ if (_v4.$ === 'RBNode_elm_builtin') {
4121
+ var nColor = _v4.a;
4122
+ var nKey = _v4.b;
4123
+ var nValue = _v4.c;
4124
+ var nLeft = _v4.d;
4125
+ var nRight = _v4.e;
4126
+ return A5(
4127
+ $elm$core$Dict$balance,
4128
+ nColor,
4129
+ nKey,
4130
+ nValue,
4131
+ $elm$core$Dict$removeMin(nLeft),
4132
+ nRight);
4133
+ } else {
4134
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4135
+ }
4136
+ }
4137
+ } else {
4138
+ return A5(
4139
+ $elm$core$Dict$RBNode_elm_builtin,
4140
+ color,
4141
+ key,
4142
+ value,
4143
+ $elm$core$Dict$removeMin(left),
4144
+ right);
4145
+ }
4146
+ } else {
4147
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4148
+ }
4149
+ };
4150
+ var $elm$core$Dict$removeHelp = F2(
4151
+ function (targetKey, dict) {
4152
+ if (dict.$ === 'RBEmpty_elm_builtin') {
4153
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4154
+ } else {
4155
+ var color = dict.a;
4156
+ var key = dict.b;
4157
+ var value = dict.c;
4158
+ var left = dict.d;
4159
+ var right = dict.e;
4160
+ if (_Utils_cmp(targetKey, key) < 0) {
4161
+ if ((left.$ === 'RBNode_elm_builtin') && (left.a.$ === 'Black')) {
4162
+ var _v4 = left.a;
4163
+ var lLeft = left.d;
4164
+ if ((lLeft.$ === 'RBNode_elm_builtin') && (lLeft.a.$ === 'Red')) {
4165
+ var _v6 = lLeft.a;
4166
+ return A5(
4167
+ $elm$core$Dict$RBNode_elm_builtin,
4168
+ color,
4169
+ key,
4170
+ value,
4171
+ A2($elm$core$Dict$removeHelp, targetKey, left),
4172
+ right);
4173
+ } else {
4174
+ var _v7 = $elm$core$Dict$moveRedLeft(dict);
4175
+ if (_v7.$ === 'RBNode_elm_builtin') {
4176
+ var nColor = _v7.a;
4177
+ var nKey = _v7.b;
4178
+ var nValue = _v7.c;
4179
+ var nLeft = _v7.d;
4180
+ var nRight = _v7.e;
4181
+ return A5(
4182
+ $elm$core$Dict$balance,
4183
+ nColor,
4184
+ nKey,
4185
+ nValue,
4186
+ A2($elm$core$Dict$removeHelp, targetKey, nLeft),
4187
+ nRight);
4188
+ } else {
4189
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4190
+ }
4191
+ }
4192
+ } else {
4193
+ return A5(
4194
+ $elm$core$Dict$RBNode_elm_builtin,
4195
+ color,
4196
+ key,
4197
+ value,
4198
+ A2($elm$core$Dict$removeHelp, targetKey, left),
4199
+ right);
4200
+ }
4201
+ } else {
4202
+ return A2(
4203
+ $elm$core$Dict$removeHelpEQGT,
4204
+ targetKey,
4205
+ A7($elm$core$Dict$removeHelpPrepEQGT, targetKey, dict, color, key, value, left, right));
4206
+ }
4207
+ }
4208
+ });
4209
+ var $elm$core$Dict$removeHelpEQGT = F2(
4210
+ function (targetKey, dict) {
4211
+ if (dict.$ === 'RBNode_elm_builtin') {
4212
+ var color = dict.a;
4213
+ var key = dict.b;
4214
+ var value = dict.c;
4215
+ var left = dict.d;
4216
+ var right = dict.e;
4217
+ if (_Utils_eq(targetKey, key)) {
4218
+ var _v1 = $elm$core$Dict$getMin(right);
4219
+ if (_v1.$ === 'RBNode_elm_builtin') {
4220
+ var minKey = _v1.b;
4221
+ var minValue = _v1.c;
4222
+ return A5(
4223
+ $elm$core$Dict$balance,
4224
+ color,
4225
+ minKey,
4226
+ minValue,
4227
+ left,
4228
+ $elm$core$Dict$removeMin(right));
4229
+ } else {
4230
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4231
+ }
4232
+ } else {
4233
+ return A5(
4234
+ $elm$core$Dict$balance,
4235
+ color,
4236
+ key,
4237
+ value,
4238
+ left,
4239
+ A2($elm$core$Dict$removeHelp, targetKey, right));
4240
+ }
4241
+ } else {
4242
+ return $elm$core$Dict$RBEmpty_elm_builtin;
4243
+ }
4244
+ });
4245
+ var $elm$core$Dict$remove = F2(
4246
+ function (key, dict) {
4247
+ var _v0 = A2($elm$core$Dict$removeHelp, key, dict);
4248
+ if ((_v0.$ === 'RBNode_elm_builtin') && (_v0.a.$ === 'Red')) {
4249
+ var _v1 = _v0.a;
4250
+ var k = _v0.b;
4251
+ var v = _v0.c;
4252
+ var l = _v0.d;
4253
+ var r = _v0.e;
4254
+ return A5($elm$core$Dict$RBNode_elm_builtin, $elm$core$Dict$Black, k, v, l, r);
4255
+ } else {
4256
+ var x = _v0;
4257
+ return x;
4258
+ }
4259
+ });
4260
+ var $elm$core$Dict$diff = F2(
4261
+ function (t1, t2) {
4262
+ return A3(
4263
+ $elm$core$Dict$foldl,
4264
+ F3(
4265
+ function (k, v, t) {
4266
+ return A2($elm$core$Dict$remove, k, t);
4267
+ }),
4268
+ t1,
4269
+ t2);
4270
+ });
4271
+ var $elm$core$Set$diff = F2(
4272
+ function (_v0, _v1) {
4273
+ var dict1 = _v0.a;
4274
+ var dict2 = _v1.a;
4275
+ return $elm$core$Set$Set_elm_builtin(
4276
+ A2($elm$core$Dict$diff, dict1, dict2));
4277
+ });
4278
+ var $elm$core$Set$empty = $elm$core$Set$Set_elm_builtin($elm$core$Dict$empty);
4279
+ var $elm$core$Set$insert = F2(
4280
+ function (key, _v0) {
4281
+ var dict = _v0.a;
4282
+ return $elm$core$Set$Set_elm_builtin(
4283
+ A3($elm$core$Dict$insert, key, _Utils_Tuple0, dict));
4284
+ });
4285
+ var $elm$core$Set$fromList = function (list) {
4286
+ return A3($elm$core$List$foldl, $elm$core$Set$insert, $elm$core$Set$empty, list);
4287
+ };
4288
+ var $elm$core$Dict$isEmpty = function (dict) {
4289
+ if (dict.$ === 'RBEmpty_elm_builtin') {
4290
+ return true;
4291
+ } else {
4292
+ return false;
4293
+ }
4294
+ };
4295
+ var $elm$core$Set$isEmpty = function (_v0) {
4296
+ var dict = _v0.a;
4297
+ return $elm$core$Dict$isEmpty(dict);
4298
+ };
4299
+ var $elm$core$Basics$not = _Basics_not;
4300
+ var $elm_explorations$test$Test$Runner$Distribution$isStrictSubset = F2(
4301
+ function (all, combination) {
4302
+ var combinationSet = $elm$core$Set$fromList(combination);
4303
+ var containsCombinationFully = function (set) {
4304
+ return (!$elm$core$Set$isEmpty(
4305
+ A2($elm$core$Set$diff, set, combinationSet))) && $elm$core$Set$isEmpty(
4306
+ A2($elm$core$Set$diff, combinationSet, set));
4307
+ };
4308
+ var allSets = A2(
4309
+ $elm$core$List$map,
4310
+ A2($elm$core$Basics$composeR, $elm$core$Tuple$first, $elm$core$Set$fromList),
4311
+ all);
4312
+ return A2($elm$core$List$any, containsCombinationFully, allSets);
4313
+ });
4314
+ var $elm$core$Basics$negate = function (n) {
4315
+ return -n;
4316
+ };
4317
+ var $elm$core$List$partition = F2(
4318
+ function (pred, list) {
4319
+ var step = F2(
4320
+ function (x, _v0) {
4321
+ var trues = _v0.a;
4322
+ var falses = _v0.b;
4323
+ return pred(x) ? _Utils_Tuple2(
4324
+ A2($elm$core$List$cons, x, trues),
4325
+ falses) : _Utils_Tuple2(
4326
+ trues,
4327
+ A2($elm$core$List$cons, x, falses));
4328
+ });
4329
+ return A3(
4330
+ $elm$core$List$foldr,
4331
+ step,
4332
+ _Utils_Tuple2(_List_Nil, _List_Nil),
4333
+ list);
4334
+ });
4335
+ var $elm$core$List$sortBy = _List_sortBy;
4336
+ var $elm_explorations$test$MicroListExtra$findIndexHelp = F3(
4337
+ function (index, predicate, list) {
4338
+ findIndexHelp:
4339
+ while (true) {
4340
+ if (!list.b) {
4341
+ return $elm$core$Maybe$Nothing;
4342
+ } else {
4343
+ var x = list.a;
4344
+ var xs = list.b;
4345
+ if (predicate(x)) {
4346
+ return $elm$core$Maybe$Just(index);
4347
+ } else {
4348
+ var $temp$index = index + 1,
4349
+ $temp$predicate = predicate,
4350
+ $temp$list = xs;
4351
+ index = $temp$index;
4352
+ predicate = $temp$predicate;
4353
+ list = $temp$list;
4354
+ continue findIndexHelp;
4355
+ }
4356
+ }
4357
+ }
4358
+ });
4359
+ var $elm_explorations$test$MicroListExtra$findIndex = $elm_explorations$test$MicroListExtra$findIndexHelp(0);
4360
+ var $elm$core$List$drop = F2(
4361
+ function (n, list) {
4362
+ drop:
4363
+ while (true) {
4364
+ if (n <= 0) {
4365
+ return list;
4366
+ } else {
4367
+ if (!list.b) {
4368
+ return list;
4369
+ } else {
4370
+ var x = list.a;
4371
+ var xs = list.b;
4372
+ var $temp$n = n - 1,
4373
+ $temp$list = xs;
4374
+ n = $temp$n;
4375
+ list = $temp$list;
4376
+ continue drop;
4377
+ }
4378
+ }
4379
+ }
4380
+ });
4381
+ var $elm$core$List$takeReverse = F3(
4382
+ function (n, list, kept) {
4383
+ takeReverse:
4384
+ while (true) {
4385
+ if (n <= 0) {
4386
+ return kept;
4387
+ } else {
4388
+ if (!list.b) {
4389
+ return kept;
4390
+ } else {
4391
+ var x = list.a;
4392
+ var xs = list.b;
4393
+ var $temp$n = n - 1,
4394
+ $temp$list = xs,
4395
+ $temp$kept = A2($elm$core$List$cons, x, kept);
4396
+ n = $temp$n;
4397
+ list = $temp$list;
4398
+ kept = $temp$kept;
4399
+ continue takeReverse;
4400
+ }
4401
+ }
4402
+ }
4403
+ });
4404
+ var $elm$core$List$takeTailRec = F2(
4405
+ function (n, list) {
4406
+ return $elm$core$List$reverse(
4407
+ A3($elm$core$List$takeReverse, n, list, _List_Nil));
4408
+ });
4409
+ var $elm$core$List$takeFast = F3(
4410
+ function (ctr, n, list) {
4411
+ if (n <= 0) {
4412
+ return _List_Nil;
4413
+ } else {
4414
+ var _v0 = _Utils_Tuple2(n, list);
4415
+ _v0$1:
4416
+ while (true) {
4417
+ _v0$5:
4418
+ while (true) {
4419
+ if (!_v0.b.b) {
4420
+ return list;
4421
+ } else {
4422
+ if (_v0.b.b.b) {
4423
+ switch (_v0.a) {
4424
+ case 1:
4425
+ break _v0$1;
4426
+ case 2:
4427
+ var _v2 = _v0.b;
4428
+ var x = _v2.a;
4429
+ var _v3 = _v2.b;
4430
+ var y = _v3.a;
4431
+ return _List_fromArray(
4432
+ [x, y]);
4433
+ case 3:
4434
+ if (_v0.b.b.b.b) {
4435
+ var _v4 = _v0.b;
4436
+ var x = _v4.a;
4437
+ var _v5 = _v4.b;
4438
+ var y = _v5.a;
4439
+ var _v6 = _v5.b;
4440
+ var z = _v6.a;
4441
+ return _List_fromArray(
4442
+ [x, y, z]);
4443
+ } else {
4444
+ break _v0$5;
4445
+ }
4446
+ default:
4447
+ if (_v0.b.b.b.b && _v0.b.b.b.b.b) {
4448
+ var _v7 = _v0.b;
4449
+ var x = _v7.a;
4450
+ var _v8 = _v7.b;
4451
+ var y = _v8.a;
4452
+ var _v9 = _v8.b;
4453
+ var z = _v9.a;
4454
+ var _v10 = _v9.b;
4455
+ var w = _v10.a;
4456
+ var tl = _v10.b;
4457
+ return (ctr > 1000) ? A2(
4458
+ $elm$core$List$cons,
4459
+ x,
4460
+ A2(
4461
+ $elm$core$List$cons,
4462
+ y,
4463
+ A2(
4464
+ $elm$core$List$cons,
4465
+ z,
4466
+ A2(
4467
+ $elm$core$List$cons,
4468
+ w,
4469
+ A2($elm$core$List$takeTailRec, n - 4, tl))))) : A2(
4470
+ $elm$core$List$cons,
4471
+ x,
4472
+ A2(
4473
+ $elm$core$List$cons,
4474
+ y,
4475
+ A2(
4476
+ $elm$core$List$cons,
4477
+ z,
4478
+ A2(
4479
+ $elm$core$List$cons,
4480
+ w,
4481
+ A3($elm$core$List$takeFast, ctr + 1, n - 4, tl)))));
4482
+ } else {
4483
+ break _v0$5;
4484
+ }
4485
+ }
4486
+ } else {
4487
+ if (_v0.a === 1) {
4488
+ break _v0$1;
4489
+ } else {
4490
+ break _v0$5;
4491
+ }
4492
+ }
4493
+ }
4494
+ }
4495
+ return list;
4496
+ }
4497
+ var _v1 = _v0.b;
4498
+ var x = _v1.a;
4499
+ return _List_fromArray(
4500
+ [x]);
4501
+ }
4502
+ });
4503
+ var $elm$core$List$take = F2(
4504
+ function (n, list) {
4505
+ return A3($elm$core$List$takeFast, 0, n, list);
4506
+ });
4507
+ var $elm_explorations$test$MicroListExtra$splitAt = F2(
4508
+ function (n, xs) {
4509
+ return _Utils_Tuple2(
4510
+ A2($elm$core$List$take, n, xs),
4511
+ A2($elm$core$List$drop, n, xs));
4512
+ });
4513
+ var $elm_explorations$test$MicroListExtra$splitWhen = F2(
4514
+ function (predicate, list) {
4515
+ return A2(
4516
+ $elm$core$Maybe$map,
4517
+ function (i) {
4518
+ return A2($elm_explorations$test$MicroListExtra$splitAt, i, list);
4519
+ },
4520
+ A2($elm_explorations$test$MicroListExtra$findIndex, predicate, list));
4521
+ });
4522
+ var $elm_explorations$test$Test$Runner$Distribution$formatTable = function (_v0) {
4523
+ var runsElapsed = _v0.runsElapsed;
4524
+ var distributionCount = _v0.distributionCount;
4525
+ var runsElapsed_ = runsElapsed;
4526
+ var distributionList = $elm$core$Dict$toList(distributionCount);
4527
+ var distribution = A2(
4528
+ $elm$core$List$map,
4529
+ function (_v8) {
4530
+ var labels = _v8.a;
4531
+ var count = _v8.b;
4532
+ var percentage = $elm$core$Basics$round((count / runsElapsed_) * 1000) / 10;
4533
+ return _Utils_Tuple3(labels, count, percentage);
4534
+ },
4535
+ A2(
4536
+ $elm$core$List$filter,
4537
+ function (_v7) {
4538
+ var labels = _v7.a;
4539
+ var count = _v7.b;
4540
+ return !(($elm$core$List$length(labels) === 1) && ((!count) && A2($elm_explorations$test$Test$Runner$Distribution$isStrictSubset, distributionList, labels)));
4541
+ },
4542
+ distributionList));
4543
+ var _v1 = A2(
4544
+ $elm$core$List$partition,
4545
+ function (_v3) {
4546
+ var labels = _v3.a;
4547
+ return $elm$core$List$length(labels) <= 1;
4548
+ },
4549
+ A2(
4550
+ $elm$core$List$sortBy,
4551
+ function (_v2) {
4552
+ var count = _v2.b;
4553
+ return -count;
4554
+ },
4555
+ distribution));
4556
+ var baseRows = _v1.a;
4557
+ var combinationsRows = _v1.b;
4558
+ var reorderedTable = _Utils_ap(baseRows, combinationsRows);
4559
+ var rawTable = A2($elm_explorations$test$Test$Runner$Distribution$formatAsciiTable, runsElapsed_, reorderedTable);
4560
+ var _v4 = A2(
4561
+ $elm$core$Maybe$withDefault,
4562
+ _Utils_Tuple2(rawTable, _List_Nil),
4563
+ A2(
4564
+ $elm_explorations$test$MicroListExtra$splitWhen,
4565
+ function (_v5) {
4566
+ var item = _v5.item;
4567
+ var _v6 = item;
4568
+ var labels = _v6.a;
4569
+ return $elm$core$List$length(labels) > 1;
4570
+ },
4571
+ rawTable));
4572
+ var base = _v4.a;
4573
+ var combinations = _v4.b;
4574
+ var baseString = A2(
4575
+ $elm$core$String$join,
4576
+ '\n',
4577
+ A2(
4578
+ $elm$core$List$map,
4579
+ function ($) {
4580
+ return $.renderedRow;
4581
+ },
4582
+ base));
4583
+ var combinationsString_ = $elm$core$List$isEmpty(combinations) ? '' : A3(
4584
+ $elm$core$String$replace,
4585
+ '{COMBINATIONS}',
4586
+ A2(
4587
+ $elm$core$String$join,
4588
+ '\n',
4589
+ A2(
4590
+ $elm$core$List$map,
4591
+ function ($) {
4592
+ return $.renderedRow;
4593
+ },
4594
+ combinations)),
4595
+ '\n\nCombinations (included in the above base counts):\n{COMBINATIONS}');
4596
+ var table = _Utils_ap(baseString, combinationsString_);
4597
+ return A3($elm$core$String$replace, '{CATEGORIES}', table, 'Distribution report:\n====================\n{CATEGORIES}');
4598
+ };
4599
+ var $elm_explorations$test$Test$Distribution$distributionReportTable = function (r) {
4600
+ return $elm_explorations$test$Test$Runner$Distribution$formatTable(r);
4601
+ };
4602
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$distributionReportToString = function (distributionReport) {
4603
+ switch (distributionReport.$) {
4604
+ case 'NoDistribution':
4605
+ return $elm$core$Maybe$Nothing;
4606
+ case 'DistributionToReport':
4607
+ var r = distributionReport.a;
4608
+ return $elm$core$Maybe$Just(
4609
+ $elm_explorations$test$Test$Distribution$distributionReportTable(r));
4610
+ case 'DistributionCheckSucceeded':
4611
+ return $elm$core$Maybe$Nothing;
4612
+ default:
4613
+ var r = distributionReport.a;
4614
+ return $elm$core$Maybe$Just(
4615
+ $elm_explorations$test$Test$Distribution$distributionReportTable(r));
4616
+ }
4617
+ };
4618
+ var $elm$core$Basics$composeL = F3(
4619
+ function (g, f, x) {
4620
+ return g(
4621
+ f(x));
4622
+ });
4623
+ var $elm$core$String$isEmpty = function (string) {
4624
+ return string === '';
4625
+ };
4626
+ var $elm_explorations$test$Test$Runner$formatLabels = F3(
4627
+ function (formatDescription, formatTest, labels) {
4628
+ var _v0 = A2(
4629
+ $elm$core$List$filter,
4630
+ A2($elm$core$Basics$composeL, $elm$core$Basics$not, $elm$core$String$isEmpty),
4631
+ labels);
4632
+ if (!_v0.b) {
4633
+ return _List_Nil;
4634
+ } else {
4635
+ var test = _v0.a;
4636
+ var descriptions = _v0.b;
4637
+ return $elm$core$List$reverse(
4638
+ A2(
4639
+ $elm$core$List$cons,
4640
+ formatTest(test),
4641
+ A2($elm$core$List$map, formatDescription, descriptions)));
4642
+ }
4643
+ });
4644
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar = F2(
4645
+ function (icon, str) {
4646
+ return $elm$core$String$fromChar(icon) + (' ' + (str + '\n'));
4647
+ });
4648
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureLabelsToText = A2(
4649
+ $elm$core$Basics$composeR,
4650
+ A2(
4651
+ $elm_explorations$test$Test$Runner$formatLabels,
4652
+ A2(
4653
+ $elm$core$Basics$composeL,
4654
+ A2($elm$core$Basics$composeL, $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark, $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain),
4655
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar(
4656
+ _Utils_chr('↓'))),
4657
+ A2(
4658
+ $elm$core$Basics$composeL,
4659
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$red,
4660
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar(
4661
+ _Utils_chr('✗')))),
4662
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat);
4663
+ var $elm$core$List$maybeCons = F3(
4664
+ function (f, mx, xs) {
4665
+ var _v0 = f(mx);
4666
+ if (_v0.$ === 'Just') {
4667
+ var x = _v0.a;
4668
+ return A2($elm$core$List$cons, x, xs);
4669
+ } else {
4670
+ return xs;
4671
+ }
4672
+ });
4673
+ var $elm$core$List$filterMap = F2(
4674
+ function (f, xs) {
4675
+ return A3(
4676
+ $elm$core$List$foldr,
4677
+ $elm$core$List$maybeCons(f),
4678
+ _List_Nil,
4679
+ xs);
4680
+ });
4681
+ var $elm$core$Basics$always = F2(
4682
+ function (a, _v0) {
4683
+ return a;
4684
+ });
4685
+ var $elm$core$List$concatMap = F2(
4686
+ function (f, list) {
4687
+ return $elm$core$List$concat(
4688
+ A2($elm$core$List$map, f, list));
4689
+ });
4690
+ var $elm$core$Array$fromListHelp = F3(
4691
+ function (list, nodeList, nodeListSize) {
4692
+ fromListHelp:
4693
+ while (true) {
4694
+ var _v0 = A2($elm$core$Elm$JsArray$initializeFromList, $elm$core$Array$branchFactor, list);
4695
+ var jsArray = _v0.a;
4696
+ var remainingItems = _v0.b;
4697
+ if (_Utils_cmp(
4698
+ $elm$core$Elm$JsArray$length(jsArray),
4699
+ $elm$core$Array$branchFactor) < 0) {
4700
+ return A2(
4701
+ $elm$core$Array$builderToArray,
4702
+ true,
4703
+ {nodeList: nodeList, nodeListSize: nodeListSize, tail: jsArray});
4704
+ } else {
4705
+ var $temp$list = remainingItems,
4706
+ $temp$nodeList = A2(
4707
+ $elm$core$List$cons,
4708
+ $elm$core$Array$Leaf(jsArray),
4709
+ nodeList),
4710
+ $temp$nodeListSize = nodeListSize + 1;
4711
+ list = $temp$list;
4712
+ nodeList = $temp$nodeList;
4713
+ nodeListSize = $temp$nodeListSize;
4714
+ continue fromListHelp;
4715
+ }
4716
+ }
4717
+ });
4718
+ var $elm$core$Array$fromList = function (list) {
4719
+ if (!list.b) {
4720
+ return $elm$core$Array$empty;
4721
+ } else {
4722
+ return A3($elm$core$Array$fromListHelp, list, _List_Nil, 0);
4723
+ }
4724
+ };
4725
+ var $elm$core$Bitwise$shiftRightZfBy = _Bitwise_shiftRightZfBy;
4726
+ var $elm$core$Array$bitMask = 4294967295 >>> (32 - $elm$core$Array$shiftStep);
4727
+ var $elm$core$Basics$ge = _Utils_ge;
4728
+ var $elm$core$Elm$JsArray$unsafeGet = _JsArray_unsafeGet;
4729
+ var $elm$core$Array$getHelp = F3(
4730
+ function (shift, index, tree) {
4731
+ getHelp:
4732
+ while (true) {
4733
+ var pos = $elm$core$Array$bitMask & (index >>> shift);
4734
+ var _v0 = A2($elm$core$Elm$JsArray$unsafeGet, pos, tree);
4735
+ if (_v0.$ === 'SubTree') {
4736
+ var subTree = _v0.a;
4737
+ var $temp$shift = shift - $elm$core$Array$shiftStep,
4738
+ $temp$index = index,
4739
+ $temp$tree = subTree;
4740
+ shift = $temp$shift;
4741
+ index = $temp$index;
4742
+ tree = $temp$tree;
4743
+ continue getHelp;
4744
+ } else {
4745
+ var values = _v0.a;
4746
+ return A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, values);
4747
+ }
4748
+ }
4749
+ });
4750
+ var $elm$core$Bitwise$shiftLeftBy = _Bitwise_shiftLeftBy;
4751
+ var $elm$core$Array$tailIndex = function (len) {
4752
+ return (len >>> 5) << 5;
4753
+ };
4754
+ var $elm$core$Array$get = F2(
4755
+ function (index, _v0) {
4756
+ var len = _v0.a;
4757
+ var startShift = _v0.b;
4758
+ var tree = _v0.c;
4759
+ var tail = _v0.d;
4760
+ return ((index < 0) || (_Utils_cmp(index, len) > -1)) ? $elm$core$Maybe$Nothing : ((_Utils_cmp(
4761
+ index,
4762
+ $elm$core$Array$tailIndex(len)) > -1) ? $elm$core$Maybe$Just(
4763
+ A2($elm$core$Elm$JsArray$unsafeGet, $elm$core$Array$bitMask & index, tail)) : $elm$core$Maybe$Just(
4764
+ A3($elm$core$Array$getHelp, startShift, index, tree)));
4765
+ });
4766
+ var $elm$core$Array$length = function (_v0) {
4767
+ var len = _v0.a;
4768
+ return len;
4769
+ };
4770
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$Added = function (a) {
4771
+ return {$: 'Added', a: a};
4772
+ };
4773
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$CannotGetA = function (a) {
4774
+ return {$: 'CannotGetA', a: a};
4775
+ };
4776
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$CannotGetB = function (a) {
4777
+ return {$: 'CannotGetB', a: a};
4778
+ };
4779
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$NoChange = function (a) {
4780
+ return {$: 'NoChange', a: a};
4781
+ };
4782
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$Removed = function (a) {
4783
+ return {$: 'Removed', a: a};
4784
+ };
4785
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$UnexpectedPath = F2(
4786
+ function (a, b) {
4787
+ return {$: 'UnexpectedPath', a: a, b: b};
4788
+ });
4789
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$makeChangesHelp = F5(
3820
4790
  function (changes, getA, getB, _v0, path) {
3821
4791
  makeChangesHelp:
3822
4792
  while (true) {
@@ -3902,9 +4872,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$makeChanges = F3(
3902
4872
  return A5($mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$makeChangesHelp, _List_Nil, getA, getB, latest, tail);
3903
4873
  }
3904
4874
  });
3905
- var $elm$core$Basics$negate = function (n) {
3906
- return -n;
3907
- };
3908
4875
  var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$Continue = function (a) {
3909
4876
  return {$: 'Continue', a: a};
3910
4877
  };
@@ -4200,27 +5167,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Highlightable$diffLists = F
4200
5167
  $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Highlightable$fromDiff,
4201
5168
  A2($mpizenberg$elm_test_runner$ElmTestRunner$Vendor$Diff$diff, expected, actual));
4202
5169
  });
4203
- var $elm$core$List$drop = F2(
4204
- function (n, list) {
4205
- drop:
4206
- while (true) {
4207
- if (n <= 0) {
4208
- return list;
4209
- } else {
4210
- if (!list.b) {
4211
- return list;
4212
- } else {
4213
- var x = list.a;
4214
- var xs = list.b;
4215
- var $temp$n = n - 1,
4216
- $temp$list = xs;
4217
- n = $temp$n;
4218
- list = $temp$list;
4219
- continue drop;
4220
- }
4221
- }
4222
- }
4223
- });
4224
5170
  var $elm$core$String$toFloat = _String_toFloat;
4225
5171
  var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleFormat$isFloat = function (str) {
4226
5172
  var _v0 = $elm$core$String$toFloat(str);
@@ -4564,8 +5510,8 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$indent = fun
4564
5510
  },
4565
5511
  A2($elm$core$String$split, '\n', str)));
4566
5512
  };
4567
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureToText = F2(
4568
- function (useColor, _v0) {
5513
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureToText = F3(
5514
+ function (useColor, _v0, distributionReport) {
4569
5515
  var reason = _v0.reason;
4570
5516
  var description = _v0.description;
4571
5517
  var given = _v0.given;
@@ -4579,18 +5525,29 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureToTex
4579
5525
  var messageText = $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain(
4580
5526
  '\n' + ($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$indent(
4581
5527
  A3($mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleFormat$format, formatEquality, description, reason)) + '\n\n'));
4582
- if (given.$ === 'Nothing') {
4583
- return messageText;
4584
- } else {
4585
- var givenStr = given.a;
4586
- return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat(
5528
+ return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat(
5529
+ A2(
5530
+ $elm$core$List$filterMap,
5531
+ $elm$core$Basics$identity,
4587
5532
  _List_fromArray(
4588
5533
  [
4589
- $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark(
4590
- $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain('\nGiven ' + (givenStr + '\n'))),
4591
- messageText
4592
- ]));
4593
- }
5534
+ A2(
5535
+ $elm$core$Maybe$map,
5536
+ function (s) {
5537
+ return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark(
5538
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain(
5539
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$indent('\n' + (s + '\n'))));
5540
+ },
5541
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$distributionReportToString(distributionReport)),
5542
+ A2(
5543
+ $elm$core$Maybe$map,
5544
+ function (str) {
5545
+ return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark(
5546
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain('\nGiven ' + (str + '\n')));
5547
+ },
5548
+ given),
5549
+ $elm$core$Maybe$Just(messageText)
5550
+ ])));
4594
5551
  });
4595
5552
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$formatTodo = F2(
4596
5553
  function (labels, todo) {
@@ -4621,11 +5578,41 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$logsToText =
4621
5578
  ''
4622
5579
  ])));
4623
5580
  };
5581
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$successLabelsToText = A2(
5582
+ $elm$core$Basics$composeR,
5583
+ A2(
5584
+ $elm_explorations$test$Test$Runner$formatLabels,
5585
+ A2(
5586
+ $elm$core$Basics$composeL,
5587
+ A2($elm$core$Basics$composeL, $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark, $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain),
5588
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar(
5589
+ _Utils_chr('↓'))),
5590
+ A2(
5591
+ $elm$core$Basics$composeL,
5592
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$green,
5593
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$withChar(
5594
+ _Utils_chr('✓')))),
5595
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat);
4624
5596
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$onResult = F2(
4625
5597
  function (useColor, testResult) {
4626
5598
  if (testResult.$ === 'Passed') {
4627
- return $elm$core$Maybe$Nothing;
5599
+ var distributionReports = testResult.a.distributionReports;
5600
+ var labels = testResult.a.labels;
5601
+ var successDistributionReports = A2($elm$core$List$filterMap, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$distributionReportToString, distributionReports);
5602
+ return $elm$core$List$isEmpty(successDistributionReports) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(
5603
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$concat(
5604
+ _List_fromArray(
5605
+ [
5606
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$successLabelsToText(labels),
5607
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain('\n'),
5608
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$dark(
5609
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain(
5610
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$indent(
5611
+ A2($elm$core$String$join, '\n\n\n', successDistributionReports)))),
5612
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$ConsoleText$plain('\n\n')
5613
+ ])));
4628
5614
  } else {
5615
+ var distributionReports = testResult.a.distributionReports;
4629
5616
  var logs = testResult.a.logs;
4630
5617
  var failures = testResult.a.failures;
4631
5618
  var todos = testResult.a.todos;
@@ -4639,10 +5626,11 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$onResult = F
4639
5626
  [
4640
5627
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureLabelsToText(labels)
4641
5628
  ]),
4642
- A2(
4643
- $elm$core$List$map,
5629
+ A3(
5630
+ $elm$core$List$map2,
4644
5631
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$failureToText(useColor),
4645
- failures),
5632
+ failures,
5633
+ distributionReports),
4646
5634
  _List_fromArray(
4647
5635
  [
4648
5636
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleColor$logsToText(logs)
@@ -4999,21 +5987,25 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$onEnd = F2(
4999
5987
  }
5000
5988
  });
5001
5989
  var $elm$core$Debug$toString = _Debug_toString;
5002
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$displayFailureContent = F3(
5003
- function (todos, failures, logs) {
5990
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$displayFailureContent = F4(
5991
+ function (todos, failures, distributionReports, logs) {
5004
5992
  return A3(
5005
5993
  $elm$core$String$replace,
5006
5994
  '{{ logs }}',
5007
5995
  $elm$core$String$concat(logs),
5008
5996
  A3(
5009
5997
  $elm$core$String$replace,
5010
- '{{ failures }}',
5011
- $elm$core$Debug$toString(failures),
5998
+ '{{ distributionReports }}',
5999
+ $elm$core$Debug$toString(distributionReports),
5012
6000
  A3(
5013
6001
  $elm$core$String$replace,
5014
- '{{ todos }}',
5015
- $elm$core$Debug$toString(todos),
5016
- 'with todos: {{ todos }}\nwith failures: {{ failures }}\nwith debug logs:\n\n{{ logs }}\n')));
6002
+ '{{ failures }}',
6003
+ $elm$core$Debug$toString(failures),
6004
+ A3(
6005
+ $elm$core$String$replace,
6006
+ '{{ todos }}',
6007
+ $elm$core$Debug$toString(todos),
6008
+ 'with todos: {{ todos }}\nwith failures: {{ failures }}\nwith distribution reports: {{ distributionReports }}\nwith debug logs:\n\n{{ logs }}\n'))));
5017
6009
  });
5018
6010
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$formatLabelsHelp = F2(
5019
6011
  function (formattedLines, labels) {
@@ -5062,6 +6054,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$onResult = f
5062
6054
  if (result.$ === 'Passed') {
5063
6055
  return $elm$core$Maybe$Nothing;
5064
6056
  } else {
6057
+ var distributionReports = result.a.distributionReports;
5065
6058
  var logs = result.a.logs;
5066
6059
  var failures = result.a.failures;
5067
6060
  var todos = result.a.todos;
@@ -5076,7 +6069,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$onResult = f
5076
6069
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$formatLabels(labels),
5077
6070
  '',
5078
6071
  $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$indent(
5079
- A3($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$displayFailureContent, todos, failures, logs))
6072
+ A4($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$ConsoleDebug$displayFailureContent, todos, failures, distributionReports, logs))
5080
6073
  ])));
5081
6074
  }
5082
6075
  };
@@ -5170,24 +6163,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Exercism$summaryStatus =
5170
6163
  return 'fail';
5171
6164
  }
5172
6165
  });
5173
- var $elm$core$List$maybeCons = F3(
5174
- function (f, mx, xs) {
5175
- var _v0 = f(mx);
5176
- if (_v0.$ === 'Just') {
5177
- var x = _v0.a;
5178
- return A2($elm$core$List$cons, x, xs);
5179
- } else {
5180
- return xs;
5181
- }
5182
- });
5183
- var $elm$core$List$filterMap = F2(
5184
- function (f, xs) {
5185
- return A3(
5186
- $elm$core$List$foldr,
5187
- $elm$core$List$maybeCons(f),
5188
- _List_Nil,
5189
- xs);
5190
- });
5191
6166
  var $elm$core$List$head = function (list) {
5192
6167
  if (list.b) {
5193
6168
  var x = list.a;
@@ -5273,6 +6248,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Exercism$toExercismResult
5273
6248
  taskId: $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Exercism$extractTaskId(labels)
5274
6249
  };
5275
6250
  } else {
6251
+ var distributionReports = testResult.a.distributionReports;
5276
6252
  var logs = testResult.a.logs;
5277
6253
  var todos = testResult.a.todos;
5278
6254
  var failures = testResult.a.failures;
@@ -5393,7 +6369,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onBegin = F2(
5393
6369
  A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, paths))
5394
6370
  ]))) + '\n');
5395
6371
  });
5396
- var $elm$core$String$fromFloat = _String_fromNumber;
5397
6372
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onEnd = F2(
5398
6373
  function (kind, results) {
5399
6374
  var autofail = function () {
@@ -5443,6 +6418,97 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onEnd = F2(
5443
6418
  _Utils_Tuple2('autoFail', autofail)
5444
6419
  ]))) + '\n');
5445
6420
  });
6421
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionCount = function (dict) {
6422
+ return A2(
6423
+ $elm$json$Json$Encode$list,
6424
+ function (_v0) {
6425
+ var labels = _v0.a;
6426
+ var count = _v0.b;
6427
+ return $elm$json$Json$Encode$object(
6428
+ _List_fromArray(
6429
+ [
6430
+ _Utils_Tuple2(
6431
+ 'labels',
6432
+ A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, labels)),
6433
+ _Utils_Tuple2(
6434
+ 'count',
6435
+ $elm$json$Json$Encode$int(count))
6436
+ ]));
6437
+ },
6438
+ $elm$core$Dict$toList(dict));
6439
+ };
6440
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType = F2(
6441
+ function (sumType, data) {
6442
+ return $elm$json$Json$Encode$object(
6443
+ _List_fromArray(
6444
+ [
6445
+ _Utils_Tuple2(
6446
+ 'type',
6447
+ $elm$json$Json$Encode$string(sumType)),
6448
+ _Utils_Tuple2('data', data)
6449
+ ]));
6450
+ });
6451
+ var $elm$json$Json$Encode$float = _Json_wrap;
6452
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionReport = function (distributionReport) {
6453
+ switch (distributionReport.$) {
6454
+ case 'NoDistribution':
6455
+ return A2($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType, 'NoDistribution', $elm$json$Json$Encode$null);
6456
+ case 'DistributionToReport':
6457
+ var r = distributionReport.a;
6458
+ return A2(
6459
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType,
6460
+ 'DistributionToReport',
6461
+ $elm$json$Json$Encode$object(
6462
+ _List_fromArray(
6463
+ [
6464
+ _Utils_Tuple2(
6465
+ 'distributionCount',
6466
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionCount(r.distributionCount)),
6467
+ _Utils_Tuple2(
6468
+ 'runsElapsed',
6469
+ $elm$json$Json$Encode$int(r.runsElapsed))
6470
+ ])));
6471
+ case 'DistributionCheckSucceeded':
6472
+ var r = distributionReport.a;
6473
+ return A2(
6474
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType,
6475
+ 'DistributionCheckSucceeded',
6476
+ $elm$json$Json$Encode$object(
6477
+ _List_fromArray(
6478
+ [
6479
+ _Utils_Tuple2(
6480
+ 'distributionCount',
6481
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionCount(r.distributionCount)),
6482
+ _Utils_Tuple2(
6483
+ 'runsElapsed',
6484
+ $elm$json$Json$Encode$int(r.runsElapsed))
6485
+ ])));
6486
+ default:
6487
+ var r = distributionReport.a;
6488
+ return A2(
6489
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeSumType,
6490
+ 'DistributionCheckFailed',
6491
+ $elm$json$Json$Encode$object(
6492
+ _List_fromArray(
6493
+ [
6494
+ _Utils_Tuple2(
6495
+ 'distributionCount',
6496
+ $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionCount(r.distributionCount)),
6497
+ _Utils_Tuple2(
6498
+ 'runsElapsed',
6499
+ $elm$json$Json$Encode$int(r.runsElapsed)),
6500
+ _Utils_Tuple2(
6501
+ 'badLabel',
6502
+ $elm$json$Json$Encode$string(r.badLabel)),
6503
+ _Utils_Tuple2(
6504
+ 'badLabelPercentage',
6505
+ $elm$json$Json$Encode$float(r.badLabelPercentage)),
6506
+ _Utils_Tuple2(
6507
+ 'expectedDistribution',
6508
+ $elm$json$Json$Encode$string(r.expectedDistribution))
6509
+ ])));
6510
+ }
6511
+ };
5446
6512
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeReasonType = F2(
5447
6513
  function (reasonType, data) {
5448
6514
  return $elm$json$Json$Encode$object(
@@ -5561,7 +6627,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeReason = F2(
5561
6627
  ])));
5562
6628
  }
5563
6629
  });
5564
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$jsonEncodeFailure = function (_v0) {
6630
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeFailure = function (_v0) {
5565
6631
  var reason = _v0.reason;
5566
6632
  var description = _v0.description;
5567
6633
  var given = _v0.given;
@@ -5585,33 +6651,39 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$jsonEncodeFailure =
5585
6651
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onResult = function (result) {
5586
6652
  var _v0 = function () {
5587
6653
  if (result.$ === 'Passed') {
6654
+ var distributionReports = result.a.distributionReports;
5588
6655
  var duration = result.a.duration;
5589
6656
  var labels = result.a.labels;
5590
6657
  return {
5591
6658
  status: 'pass',
6659
+ testDistributionReports: A2($elm$json$Json$Encode$list, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionReport, distributionReports),
5592
6660
  testDuration: duration,
5593
6661
  testFailures: A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, _List_Nil),
5594
6662
  testLabels: $elm$core$List$reverse(labels)
5595
6663
  };
5596
6664
  } else {
6665
+ var distributionReports = result.a.distributionReports;
5597
6666
  var failures = result.a.failures;
5598
6667
  var todos = result.a.todos;
5599
6668
  var duration = result.a.duration;
5600
6669
  var labels = result.a.labels;
5601
6670
  return (!$elm$core$List$isEmpty(todos)) ? {
5602
6671
  status: 'todo',
6672
+ testDistributionReports: A2($elm$json$Json$Encode$list, $elm$core$Basics$identity, _List_Nil),
5603
6673
  testDuration: duration,
5604
6674
  testFailures: A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, todos),
5605
6675
  testLabels: $elm$core$List$reverse(labels)
5606
6676
  } : {
5607
6677
  status: 'fail',
6678
+ testDistributionReports: A2($elm$json$Json$Encode$list, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeDistributionReport, distributionReports),
5608
6679
  testDuration: duration,
5609
- testFailures: A2($elm$json$Json$Encode$list, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$jsonEncodeFailure, failures),
6680
+ testFailures: A2($elm$json$Json$Encode$list, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$encodeFailure, failures),
5610
6681
  testLabels: $elm$core$List$reverse(labels)
5611
6682
  };
5612
6683
  }
5613
6684
  }();
5614
6685
  var testDuration = _v0.testDuration;
6686
+ var testDistributionReports = _v0.testDistributionReports;
5615
6687
  var testFailures = _v0.testFailures;
5616
6688
  var testLabels = _v0.testLabels;
5617
6689
  var status = _v0.status;
@@ -5632,6 +6704,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Json$onResult = function
5632
6704
  'labels',
5633
6705
  A2($elm$json$Json$Encode$list, $elm$json$Json$Encode$string, testLabels)),
5634
6706
  _Utils_Tuple2('failures', testFailures),
6707
+ _Utils_Tuple2('distributionReports', testDistributionReports),
5635
6708
  _Utils_Tuple2(
5636
6709
  'duration',
5637
6710
  $elm$json$Json$Encode$string(
@@ -5662,7 +6735,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$needsIndent = fun
5662
6735
  return false;
5663
6736
  }
5664
6737
  };
5665
- var $elm$core$String$length = _String_length;
5666
6738
  var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$propToString = function (value) {
5667
6739
  switch (value.$) {
5668
6740
  case 'StrNode':
@@ -5755,6 +6827,22 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$classAndName = func
5755
6827
  name);
5756
6828
  }
5757
6829
  };
6830
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$distributionReportToString = function (distributionReport) {
6831
+ switch (distributionReport.$) {
6832
+ case 'NoDistribution':
6833
+ return $elm$core$Maybe$Nothing;
6834
+ case 'DistributionToReport':
6835
+ var r = distributionReport.a;
6836
+ return $elm$core$Maybe$Just(
6837
+ $elm_explorations$test$Test$Distribution$distributionReportTable(r));
6838
+ case 'DistributionCheckSucceeded':
6839
+ return $elm$core$Maybe$Nothing;
6840
+ default:
6841
+ var r = distributionReport.a;
6842
+ return $elm$core$Maybe$Just(
6843
+ $elm_explorations$test$Test$Distribution$distributionReportTable(r));
6844
+ }
6845
+ };
5758
6846
  var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$reasonToString = F2(
5759
6847
  function (description, reason) {
5760
6848
  switch (reason.$) {
@@ -5840,8 +6928,18 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$StrNode = functio
5840
6928
  var $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$string = function (str) {
5841
6929
  return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$StrNode(str);
5842
6930
  };
5843
- var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures = F2(
5844
- function (failures, todos) {
6931
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures = F3(
6932
+ function (failures, distributionReports, todos) {
6933
+ var stdout = function () {
6934
+ var _v0 = A2($elm$core$List$filterMap, $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$distributionReportToString, distributionReports);
6935
+ if (!_v0.b) {
6936
+ return $elm$core$Maybe$Nothing;
6937
+ } else {
6938
+ var list = _v0;
6939
+ return $elm$core$Maybe$Just(
6940
+ A2($elm$core$String$join, '\n\n\n', list));
6941
+ }
6942
+ }();
5845
6943
  var message = (!$elm$core$List$isEmpty(failures)) ? A2(
5846
6944
  $elm$core$String$join,
5847
6945
  '\n\n\n',
@@ -5853,12 +6951,24 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures = F2
5853
6951
  $elm$core$Basics$append('TODO: '),
5854
6952
  todos));
5855
6953
  var attributesDict = $elm$core$Dict$fromList(
5856
- _List_fromArray(
5857
- [
5858
- _Utils_Tuple2(
5859
- 'message',
5860
- $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$string(message))
5861
- ]));
6954
+ A2(
6955
+ $elm$core$List$filterMap,
6956
+ $elm$core$Basics$identity,
6957
+ _List_fromArray(
6958
+ [
6959
+ $elm$core$Maybe$Just(
6960
+ _Utils_Tuple2(
6961
+ 'message',
6962
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$string(message))),
6963
+ A2(
6964
+ $elm$core$Maybe$map,
6965
+ function (out) {
6966
+ return _Utils_Tuple2(
6967
+ 'system-out',
6968
+ $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$string(out));
6969
+ },
6970
+ stdout)
6971
+ ])));
5862
6972
  return $mpizenberg$elm_test_runner$ElmTestRunner$Vendor$XmlEncode$object(
5863
6973
  _List_fromArray(
5864
6974
  [
@@ -5880,7 +6990,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeTestResult =
5880
6990
  var test = result.a;
5881
6991
  return {
5882
6992
  duration: test.duration,
5883
- failures: A2($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures, test.failures, test.todos),
6993
+ failures: A3($mpizenberg$elm_test_runner$ElmTestRunner$Reporter$Junit$encodeFailures, test.failures, test.distributionReports, test.todos),
5884
6994
  labels: test.labels,
5885
6995
  logs: test.logs
5886
6996
  };
@@ -6058,14 +7168,94 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Failed = function (a) {
6058
7168
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Passed = function (a) {
6059
7169
  return {$: 'Passed', a: a};
6060
7170
  };
6061
- var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_ = F3(
6062
- function (labels, duration, logs) {
6063
- return {duration: duration, labels: labels, logs: logs};
7171
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_distributionReports_ListDistributionReport_ = F4(
7172
+ function (labels, duration, logs, distributionReports) {
7173
+ return {distributionReports: distributionReports, duration: duration, labels: labels, logs: logs};
6064
7174
  });
6065
- var $elm$json$Json$Decode$map3 = _Json_map3;
6066
- var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_ = A4(
6067
- $elm$json$Json$Decode$map3,
6068
- $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_,
7175
+ var $elm_explorations$test$Test$Distribution$DistributionCheckFailed = function (a) {
7176
+ return {$: 'DistributionCheckFailed', a: a};
7177
+ };
7178
+ var $elm_explorations$test$Test$Distribution$DistributionCheckSucceeded = function (a) {
7179
+ return {$: 'DistributionCheckSucceeded', a: a};
7180
+ };
7181
+ var $elm_explorations$test$Test$Distribution$DistributionToReport = function (a) {
7182
+ return {$: 'DistributionToReport', a: a};
7183
+ };
7184
+ var $elm_explorations$test$Test$Distribution$NoDistribution = {$: 'NoDistribution'};
7185
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_distributionCount_Dict_ListString_Int_runsElapsed_Int_ = F2(
7186
+ function (distributionCount, runsElapsed) {
7187
+ return {distributionCount: distributionCount, runsElapsed: runsElapsed};
7188
+ });
7189
+ var $elm$json$Json$Decode$map = _Json_map1;
7190
+ var $elm$json$Json$Decode$map2 = _Json_map2;
7191
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDict_ListString_Int = function () {
7192
+ var decodeDict_ListString_IntTuple = A3(
7193
+ $elm$json$Json$Decode$map2,
7194
+ F2(
7195
+ function (a1, a2) {
7196
+ return _Utils_Tuple2(a1, a2);
7197
+ }),
7198
+ A2(
7199
+ $elm$json$Json$Decode$field,
7200
+ 'A1',
7201
+ $elm$json$Json$Decode$list($elm$json$Json$Decode$string)),
7202
+ A2($elm$json$Json$Decode$field, 'A2', $elm$json$Json$Decode$int));
7203
+ return A2(
7204
+ $elm$json$Json$Decode$map,
7205
+ $elm$core$Dict$fromList,
7206
+ $elm$json$Json$Decode$list(decodeDict_ListString_IntTuple));
7207
+ }();
7208
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_ = A3(
7209
+ $elm$json$Json$Decode$map2,
7210
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_distributionCount_Dict_ListString_Int_runsElapsed_Int_,
7211
+ A2($elm$json$Json$Decode$field, 'distributionCount', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDict_ListString_Int),
7212
+ A2($elm$json$Json$Decode$field, 'runsElapsed', $elm$json$Json$Decode$int));
7213
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_distributionCount_Dict_ListString_Int_runsElapsed_Int_badLabel_String_badLabelPercentage_Float_expectedDistribution_String_ = F5(
7214
+ function (distributionCount, runsElapsed, badLabel, badLabelPercentage, expectedDistribution) {
7215
+ return {badLabel: badLabel, badLabelPercentage: badLabelPercentage, distributionCount: distributionCount, expectedDistribution: expectedDistribution, runsElapsed: runsElapsed};
7216
+ });
7217
+ var $elm$json$Json$Decode$map5 = _Json_map5;
7218
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_badLabel_String_badLabelPercentage_Float_expectedDistribution_String_ = A6(
7219
+ $elm$json$Json$Decode$map5,
7220
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_distributionCount_Dict_ListString_Int_runsElapsed_Int_badLabel_String_badLabelPercentage_Float_expectedDistribution_String_,
7221
+ A2($elm$json$Json$Decode$field, 'distributionCount', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDict_ListString_Int),
7222
+ A2($elm$json$Json$Decode$field, 'runsElapsed', $elm$json$Json$Decode$int),
7223
+ A2($elm$json$Json$Decode$field, 'badLabel', $elm$json$Json$Decode$string),
7224
+ A2($elm$json$Json$Decode$field, 'badLabelPercentage', $elm$json$Json$Decode$float),
7225
+ A2($elm$json$Json$Decode$field, 'expectedDistribution', $elm$json$Json$Decode$string));
7226
+ var $elm$json$Json$Decode$fail = _Json_fail;
7227
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReportHelp = function (constructor) {
7228
+ switch (constructor) {
7229
+ case 'NoDistribution':
7230
+ return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Distribution$NoDistribution);
7231
+ case 'DistributionToReport':
7232
+ return A2(
7233
+ $elm$json$Json$Decode$map,
7234
+ $elm_explorations$test$Test$Distribution$DistributionToReport,
7235
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_));
7236
+ case 'DistributionCheckSucceeded':
7237
+ return A2(
7238
+ $elm$json$Json$Decode$map,
7239
+ $elm_explorations$test$Test$Distribution$DistributionCheckSucceeded,
7240
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_));
7241
+ case 'DistributionCheckFailed':
7242
+ return A2(
7243
+ $elm$json$Json$Decode$map,
7244
+ $elm_explorations$test$Test$Distribution$DistributionCheckFailed,
7245
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_distributionCount_Dict_ListString_Int_runsElapsed_Int_badLabel_String_badLabelPercentage_Float_expectedDistribution_String_));
7246
+ default:
7247
+ var other = constructor;
7248
+ return $elm$json$Json$Decode$fail('Unknown constructor for type DistributionReport: ' + other);
7249
+ }
7250
+ };
7251
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReport = A2(
7252
+ $elm$json$Json$Decode$andThen,
7253
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReportHelp,
7254
+ A2($elm$json$Json$Decode$field, 'Constructor', $elm$json$Json$Decode$string));
7255
+ var $elm$json$Json$Decode$map4 = _Json_map4;
7256
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_distributionReports_ListDistributionReport_ = A5(
7257
+ $elm$json$Json$Decode$map4,
7258
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_distributionReports_ListDistributionReport_,
6069
7259
  A2(
6070
7260
  $elm$json$Json$Decode$field,
6071
7261
  'labels',
@@ -6074,10 +7264,14 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListStr
6074
7264
  A2(
6075
7265
  $elm$json$Json$Decode$field,
6076
7266
  'logs',
6077
- $elm$json$Json$Decode$list($elm$json$Json$Decode$string)));
6078
- var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_ = F5(
6079
- function (labels, duration, logs, todos, failures) {
6080
- return {duration: duration, failures: failures, labels: labels, logs: logs, todos: todos};
7267
+ $elm$json$Json$Decode$list($elm$json$Json$Decode$string)),
7268
+ A2(
7269
+ $elm$json$Json$Decode$field,
7270
+ 'distributionReports',
7271
+ $elm$json$Json$Decode$list($mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReport)));
7272
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_distributionReports_ListDistributionReport_ = F6(
7273
+ function (labels, duration, logs, todos, failures, distributionReports) {
7274
+ return {distributionReports: distributionReports, duration: duration, failures: failures, labels: labels, logs: logs, todos: todos};
6081
7275
  });
6082
7276
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$Failure = F3(
6083
7277
  function (given, description, reason) {
@@ -6104,11 +7298,12 @@ var $elm_explorations$test$Test$Runner$Failure$ListDiff = F2(
6104
7298
  });
6105
7299
  var $elm_explorations$test$Test$Runner$Failure$TODO = {$: 'TODO'};
6106
7300
  var $elm_explorations$test$Test$Runner$Failure$BadDescription = {$: 'BadDescription'};
7301
+ var $elm_explorations$test$Test$Runner$Failure$DistributionBug = {$: 'DistributionBug'};
7302
+ var $elm_explorations$test$Test$Runner$Failure$DistributionInsufficient = {$: 'DistributionInsufficient'};
6107
7303
  var $elm_explorations$test$Test$Runner$Failure$DuplicatedName = {$: 'DuplicatedName'};
6108
7304
  var $elm_explorations$test$Test$Runner$Failure$EmptyList = {$: 'EmptyList'};
6109
7305
  var $elm_explorations$test$Test$Runner$Failure$InvalidFuzzer = {$: 'InvalidFuzzer'};
6110
7306
  var $elm_explorations$test$Test$Runner$Failure$NonpositiveFuzzCount = {$: 'NonpositiveFuzzCount'};
6111
- var $elm$json$Json$Decode$fail = _Json_fail;
6112
7307
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeInvalidReason = function () {
6113
7308
  var recover = function (x) {
6114
7309
  switch (x) {
@@ -6122,6 +7317,10 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeInvalidReason = func
6122
7317
  return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Runner$Failure$BadDescription);
6123
7318
  case 'DuplicatedName':
6124
7319
  return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Runner$Failure$DuplicatedName);
7320
+ case 'DistributionInsufficient':
7321
+ return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Runner$Failure$DistributionInsufficient);
7322
+ case 'DistributionBug':
7323
+ return $elm$json$Json$Decode$succeed($elm_explorations$test$Test$Runner$Failure$DistributionBug);
6125
7324
  default:
6126
7325
  var other = x;
6127
7326
  return $elm$json$Json$Decode$fail('Unknown constructor for type InvalidReason: ' + other);
@@ -6133,7 +7332,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$Record_expected_String_act
6133
7332
  function (expected, actual, extra, missing) {
6134
7333
  return {actual: actual, expected: expected, extra: extra, missing: missing};
6135
7334
  });
6136
- var $elm$json$Json$Decode$map4 = _Json_map4;
6137
7335
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeRecord_expected_String_actual_String_extra_ListString_missing_ListString_ = A5(
6138
7336
  $elm$json$Json$Decode$map4,
6139
7337
  $mpizenberg$elm_test_runner$ElmTestRunner$Failure$Record_expected_String_actual_String_extra_ListString_missing_ListString_,
@@ -6147,8 +7345,6 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeRecord_expected_Stri
6147
7345
  $elm$json$Json$Decode$field,
6148
7346
  'missing',
6149
7347
  $elm$json$Json$Decode$list($elm$json$Json$Decode$string)));
6150
- var $elm$json$Json$Decode$map = _Json_map1;
6151
- var $elm$json$Json$Decode$map2 = _Json_map2;
6152
7348
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeReasonHelp = function (constructor) {
6153
7349
  switch (constructor) {
6154
7350
  case 'Custom':
@@ -6198,6 +7394,7 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeReason = A2(
6198
7394
  $elm$json$Json$Decode$andThen,
6199
7395
  $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeReasonHelp,
6200
7396
  A2($elm$json$Json$Decode$field, 'Constructor', $elm$json$Json$Decode$string));
7397
+ var $elm$json$Json$Decode$map3 = _Json_map3;
6201
7398
  var $elm$json$Json$Decode$oneOf = _Json_oneOf;
6202
7399
  var $elm$json$Json$Decode$maybe = function (decoder) {
6203
7400
  return $elm$json$Json$Decode$oneOf(
@@ -6218,10 +7415,10 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeFailure = A4(
6218
7415
  A2($elm$json$Json$Decode$field, 'reason', $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeReason));
6219
7416
  var $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decoder = $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decodeFailure;
6220
7417
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeFailure = $mpizenberg$elm_test_runner$ElmTestRunner$Failure$decoder;
6221
- var $elm$json$Json$Decode$map5 = _Json_map5;
6222
- var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_ = A6(
6223
- $elm$json$Json$Decode$map5,
6224
- $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_,
7418
+ var $elm$json$Json$Decode$map6 = _Json_map6;
7419
+ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_distributionReports_ListDistributionReport_ = A7(
7420
+ $elm$json$Json$Decode$map6,
7421
+ $mpizenberg$elm_test_runner$ElmTestRunner$Result$Record_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_distributionReports_ListDistributionReport_,
6225
7422
  A2(
6226
7423
  $elm$json$Json$Decode$field,
6227
7424
  'labels',
@@ -6238,19 +7435,23 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListStr
6238
7435
  A2(
6239
7436
  $elm$json$Json$Decode$field,
6240
7437
  'failures',
6241
- $elm$json$Json$Decode$list($mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeFailure)));
7438
+ $elm$json$Json$Decode$list($mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeFailure)),
7439
+ A2(
7440
+ $elm$json$Json$Decode$field,
7441
+ 'distributionReports',
7442
+ $elm$json$Json$Decode$list($mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeDistributionReport)));
6242
7443
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeTestResultHelp = function (constructor) {
6243
7444
  switch (constructor) {
6244
7445
  case 'Passed':
6245
7446
  return A2(
6246
7447
  $elm$json$Json$Decode$map,
6247
7448
  $mpizenberg$elm_test_runner$ElmTestRunner$Result$Passed,
6248
- A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_));
7449
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_distributionReports_ListDistributionReport_));
6249
7450
  case 'Failed':
6250
7451
  return A2(
6251
7452
  $elm$json$Json$Decode$map,
6252
7453
  $mpizenberg$elm_test_runner$ElmTestRunner$Result$Failed,
6253
- A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_));
7454
+ A2($elm$json$Json$Decode$field, 'A1', $mpizenberg$elm_test_runner$ElmTestRunner$Result$decodeRecord_labels_ListString_duration_Float_logs_ListString_todos_ListString_failures_ListFailure_distributionReports_ListDistributionReport_));
6254
7455
  default:
6255
7456
  var other = constructor;
6256
7457
  return $elm$json$Json$Decode$fail('Unknown constructor for type TestResult: ' + other);
@@ -6492,33 +7693,37 @@ var $mpizenberg$elm_test_runner$ElmTestRunner$Reporter$reportAndThenSummarize =
6492
7693
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$setDuration = F2(
6493
7694
  function (duration, testResult) {
6494
7695
  if (testResult.$ === 'Passed') {
7696
+ var distributionReports = testResult.a.distributionReports;
6495
7697
  var logs = testResult.a.logs;
6496
7698
  var labels = testResult.a.labels;
6497
7699
  return $mpizenberg$elm_test_runner$ElmTestRunner$Result$Passed(
6498
- {duration: duration, labels: labels, logs: logs});
7700
+ {distributionReports: distributionReports, duration: duration, labels: labels, logs: logs});
6499
7701
  } else {
7702
+ var distributionReports = testResult.a.distributionReports;
6500
7703
  var failures = testResult.a.failures;
6501
7704
  var todos = testResult.a.todos;
6502
7705
  var logs = testResult.a.logs;
6503
7706
  var labels = testResult.a.labels;
6504
7707
  return $mpizenberg$elm_test_runner$ElmTestRunner$Result$Failed(
6505
- {duration: duration, failures: failures, labels: labels, logs: logs, todos: todos});
7708
+ {distributionReports: distributionReports, duration: duration, failures: failures, labels: labels, logs: logs, todos: todos});
6506
7709
  }
6507
7710
  });
6508
7711
  var $mpizenberg$elm_test_runner$ElmTestRunner$Result$setLogs = F2(
6509
7712
  function (logs, testResult) {
6510
7713
  if (testResult.$ === 'Passed') {
7714
+ var distributionReports = testResult.a.distributionReports;
6511
7715
  var duration = testResult.a.duration;
6512
7716
  var labels = testResult.a.labels;
6513
7717
  return $mpizenberg$elm_test_runner$ElmTestRunner$Result$Passed(
6514
- {duration: duration, labels: labels, logs: logs});
7718
+ {distributionReports: distributionReports, duration: duration, labels: labels, logs: logs});
6515
7719
  } else {
7720
+ var distributionReports = testResult.a.distributionReports;
6516
7721
  var failures = testResult.a.failures;
6517
7722
  var todos = testResult.a.todos;
6518
7723
  var duration = testResult.a.duration;
6519
7724
  var labels = testResult.a.labels;
6520
7725
  return $mpizenberg$elm_test_runner$ElmTestRunner$Result$Failed(
6521
- {duration: duration, failures: failures, labels: labels, logs: logs, todos: todos});
7726
+ {distributionReports: distributionReports, duration: duration, failures: failures, labels: labels, logs: logs, todos: todos});
6522
7727
  }
6523
7728
  });
6524
7729
  var $elm$core$String$startsWith = _String_startsWith;
@@ -6692,104 +7897,4 @@ _Platform_export({'Reporter':{'init':$author$project$Reporter$main(
6692
7897
  'paths',
6693
7898
  $elm$json$Json$Decode$list($elm$json$Json$Decode$string)));
6694
7899
  },
6695
- A2($elm$json$Json$Decode$field, 'verbosity', $elm$json$Json$Decode$int)))(0)}});var isBackend = false && typeof isLamdera !== 'undefined'
6696
-
6697
- function _Platform_initialize(flagDecoder, args, init, update, subscriptions, stepperBuilder)
6698
- {
6699
- var result = A2(_Json_run, flagDecoder, _Json_wrap(args ? args['flags'] : undefined));
6700
-
6701
- // @TODO need to figure out how to get this to automatically escape by mode?
6702
- //$elm$core$Result$isOk(result) || _Debug_crash(2 /**/, _Json_errorToString(result.a) /**/);
6703
- $elm$core$Result$isOk(result) || _Debug_crash(2 /**_UNUSED/, _Json_errorToString(result.a) /**/);
6704
-
6705
- var managers = {};
6706
- var initPair = init(result.a);
6707
- var model = (args && args['model']) || initPair.a;
6708
-
6709
- var stepper = stepperBuilder(sendToApp, model);
6710
- var ports = _Platform_setupEffects(managers, sendToApp);
6711
-
6712
- var pos = 0;
6713
-
6714
- //console.log('managers', managers)
6715
- //console.log('ports', ports)
6716
-
6717
- var dead = false;
6718
- var upgradeMode = false;
6719
-
6720
- function mtime() { // microseconds
6721
- if (!isBackend) { return 0; }
6722
- const hrTime = process.hrtime();
6723
- return Math.floor(hrTime[0] * 1000000 + hrTime[1] / 1000);
6724
- }
6725
-
6726
- function sendToApp(msg, viewMetadata)
6727
- {
6728
- if(dead){ return }
6729
- if (upgradeMode) {
6730
- // console.log('sendToApp.inactive',msg);
6731
- // No more messages should run in upgrade mode
6732
- // @TODO redirect messages somewhere
6733
- _Platform_enqueueEffects(managers, $elm$core$Platform$Cmd$none, $elm$core$Platform$Sub$none);
6734
- return;
6735
- }
6736
- //console.log('sendToApp.active',msg);
6737
-
6738
-
6739
-
6740
- var serializeDuration, logDuration = null;
6741
- var start = mtime();
6742
-
6743
- try {
6744
- var pair = A2(update, msg, model);
6745
- } catch(err) {
6746
- if (isBackend) { bugsnag.notify(err); }
6747
- return;
6748
- }
6749
-
6750
- const updateDuration = mtime() - start;
6751
- start = mtime();
6752
-
6753
- if (isBackend && loggingEnabled) {
6754
- pos = pos + 1;
6755
- const s = $author$project$LBR$serialize(msg);
6756
- serializeDuration = mtime() - start;
6757
- start = mtime();
6758
- insertEvent(pos, global.config.version, s.a, updateDuration, serializeDuration, A2($elm$core$Maybe$withDefault, null, s.b));
6759
- logDuration = mtime() - start;
6760
- }
6761
-
6762
- // console.log(`model size: ${global.sizeof(pair.a)}`);
6763
- // console.log(pair.a);
6764
-
6765
- stepper(model = pair.a, viewMetadata);
6766
- //console.log('cmds', pair.b);
6767
- _Platform_enqueueEffects(managers, pair.b, subscriptions(model));
6768
-
6769
- const stepEnqueueDuration = mtime() - start;
6770
-
6771
- if (isBackend) {
6772
- //console.log({serialize: serializeDuration, log: logDuration, update: updateDuration, stepEnqueue: stepEnqueueDuration})
6773
- }
6774
- }
6775
-
6776
- if ((args && args['model']) === undefined) {
6777
- _Platform_enqueueEffects(managers, initPair.b, subscriptions(model));
6778
- }
6779
-
6780
- var fns = {}
6781
-
6782
- const die = function() {
6783
- //console.log('App dying');
6784
- managers = null;
6785
- model = null;
6786
- stepper = null;
6787
- ports = null;
6788
- }
6789
-
6790
- return ports ? { ports: ports, gm: function() { return model }, eum: function() { upgradeMode = true }, die: die, fns: fns } : {};
6791
- }}(this));
6792
- const pkgExports = {
6793
-
6794
- }
6795
- if (typeof window !== 'undefined') { window.elmPkgJsInit = function(app) { for (var pkgId in pkgExports) { if (pkgExports.hasOwnProperty(pkgId)) { pkgExports[pkgId]({}).init(app) } } }}
7900
+ A2($elm$json$Json$Decode$field, 'verbosity', $elm$json$Json$Decode$int)))(0)}});}(this));