[Question]
  [
## Task
Given a non-empty list of positive digits, group them into sublists of equal sum. You may output any subset of solutions with maximal number of sublists (equivalently, minimal sum).
The input may contain repeat elements. There may not exist any solution but the singleton list containing the input itself. The output does not need to be in any particular order. You may not assume in the input list is in any particular order.
## Format
You must accept a non-empty list of positive integers and output a 2D list of those integers, both in any reasonable format. Since I have restricted the inputs to 1-9, you may just accept a string of digits as input. However, your output give an obvious indication as to how the sublists are split.
## Test Cases
These only show one solution, but if more exist, you may output them instead, or multiple, etc.
```
[9, 5, 1, 2, 9, 2]        ->  [[9, 5], [1, 2, 9, 2]]
[1, 1, 3, 5, 7, 4]        ->  [[1, 1, 5], [3, 4], [7]]
[2, 9, 6, 1, 5, 8, 2]     ->  [[2, 9], [6, 5], [1, 8, 2]]
[2, 8, 3, 9, 6, 9, 3]     ->  [[2, 3, 9, 6], [8, 9, 3]]
[5, 4, 1]                 ->  [[5], [4, 1]]
[3, 8, 1, 4, 2, 2]        ->  [[3, 1, 4, 2], [8, 2]]
[6, 9, 3, 8, 1]           ->  [[6, 3], [9], [8, 1]]
[4, 1, 6, 9, 1, 4, 5, 2]  ->  [[4, 1, 6, 1, 4], [9, 5, 2]]
[8, 7, 8, 6, 1]           ->  [[8, 7], [8, 6, 1]]
[2, 7, 4, 5]              ->  [[2, 7], [4, 5]]
[5, 2, 1, 4, 4]           ->  [[5, 2, 1], [4, 4]]
[5, 7, 4, 6, 2]           ->  [[5, 7], [4, 6, 2]]
[4, 1, 6, 6, 9]           ->  [[4, 9], [1, 6, 6]]
[2, 6, 4]                 ->  [[2, 4], [6]]
[6, 3, 1, 6, 8, 4, 5, 7]  ->  [[6, 3, 1, 6, 4], [8, 5, 7]]
[2, 2, 2]                 ->  [[2], [2], [2]]
[2, 4, 5]                 ->  [[2, 4, 5]]
```
[Here](https://tio.run/##XVHLboMwEDzjr1jlFFRaJapyiUS@IjcUVW5YiFU/0LK0yddTr0GF9OTRzsOj3e7Bt@Dfx7Gh4MAwEodgezCuC8TQIbmBNZvge6VqbKAP9hu3mkg/8qPKOLC2UEI/uHmosiYQsKYWGYwH0r7FrTN@5gtIHjEnZaAaSYTrv5YPskzH@Ooi6PqH@oh2AiThLu4Uk/SZiS3hJY5Pc41pnH0S6q8EI13CPcGrwOp@WZxl@WzTSXGdFKsOqxZoezw@JexmMyEP5EErNW80rqMOTqmfm7EIZxrEaNG3fItpE/smj/G8PRSw38WN@sHJX9U/eh/pQw6yg49l1VNYHjvGW8lp0sUkIiaZdEEp15FEyLiAzetpUwiRj@Mv) is an extremely inefficient test case generator.
  
[Answer]
# [J](http://jsoftware.com/), 65 bytes
```
<@/:~((i.~/:~@;&.>)>@{])[:(\:#&>)@,@(g/.~+/&>)g=:<@#~"#.2#:@i.@^#
```
[Try it online!](https://tio.run/##RY9Ra4MwFIXf/RWHCjXZbDq1WpvWEjbY09jDXrsOpLPVYW2HCi0D/3p3Y5EQJNzvHM@5@bmNhLNHIuHAxRMkfROBl4@319tKTWXHWCE6utVyLNZ8rf62fCPZp7THa65cxQ5T0T1OaTgkcqXsbmQL35aqEOrLvnHr/VkgT2tkl3O2a7JvlFl1aHIXaVmibo@k/LZp6aKtilOFY9rs8qxGUZ3bxmqyukkEZpDOBdkuPykGltgcD2BespG26kTfrbYaXTGRY0a7cizVlnPscXUsy4fOwQIhPPh0@1ZwRx6dgPAcswFpPSIcIiafP8CYfFpYIBhgSHt5wxCQwyPgm/DerPHgIXsPtS804THVx7rTtM21w/T4/S8zA7QemYR7MEWbhMjYI9pC63FfOzcP1bt6w0Da7R8 "J – Try It Online")
A different approach to brute force. All test cases execute in a few seconds
on TIO.
Consider `2 7 4 5`...
* `g=:<@#~"#.2#:@i.@^#` Generate all subsets of the input, and save the verb
that does this as `g` so we can use it again later.
```
┌┬─┬─┬───┬─┬───┬───┬─────┬─┬───┬───┬─────┬───┬─────┬─────┬───────┐
││5│4│4 5│7│7 5│7 4│7 4 5│2│2 5│2 4│2 4 5│2 7│2 7 5│2 7 4│2 7 4 5│
└┴─┴─┴───┴─┴───┴───┴─────┴─┴───┴───┴─────┴───┴─────┴─────┴───────┘
```
* `(g/.~+/&>)` Group subset elements by sum, and for each group of same-sum
elements, generate all of *its* subsets:
```
┌┬─────────┬─────┬───────────┐
││┌┐       │     │           │
││││       │     │           │
││└┘       │     │           │
├┼─────────┼─────┼───────────┤
││┌─┐      │     │           │
│││5│      │     │           │
││└─┘      │     │           │
├┼─────────┼─────┼───────────┤
││┌─┐      │     │           │
│││4│      │     │           │
││└─┘      │     │           │
├┼─────────┼─────┼───────────┤
││┌───┐    │┌───┐│┌───┬───┐  │
│││2 7│    ││4 5│││4 5│2 7│  │
││└───┘    │└───┘│└───┴───┘  │
├┼─────────┼─────┼───────────┤
││┌───┐    │┌─┐  │┌─┬───┐    │
│││2 5│    ││7│  ││7│2 5│    │
││└───┘    │└─┘  │└─┴───┘    │
├┼─────────┼─────┼───────────┤
││┌───┐    │     │           │
│││7 5│    │     │           │
││└───┘    │     │           │
├┼─────────┼─────┼───────────┤
 etc...
```
* `[:(\:#&>)@,@` Flatten, and sort down by length:
```
┌─────────┬───────┬───────────┬──┬───┬───┐
│┌───┬───┐│┌─┬───┐│┌───┬─────┐│┌┐│┌─┐│┌─┐│
││4 5│2 7│││7│2 5│││7 4│2 4 5││││││5│││4││ ...etc..
│└───┴───┘│└─┴───┘│└───┴─────┘│└┘│└─┘│└─┘│
└─────────┴───────┴───────────┴──┴───┴───┘
```
* `<@/:~((i.~/:~@;&.>)>@{])` Find the first one whose elements match those of
the input, and open it:
```
┌───┬───┐
│4 5│2 7│
└───┴───┘
```
[Answer]
# [Jelly](https://github.com/DennisMitchell/jelly), 13 bytes
```
Œ!ŒṖ€Ẏ§E$ƇLÐṀ
```
[Try it online!](https://tio.run/##fZKxSsRAEIb7e4oVLGORyybZbezsrAUJW9rIvYBdFCHdISeIoCJoYWMpctHOEN9j8yJxZnZ2L5e7M4SQZP5v5p@ZPT@bzS76vl3stQtb33VX7/Zr/vN2tP9bHTc3ti779tbWr135KA4ORVc@2eWLXT53l58nTQXvSN3b@trWD6CB@MR@fzQV5Dnt@2IaiSwS0ojxBblEgWFpIlFkxkzwA@@dWhTyw6llJNL/MmMYlCm9xruUKaYkgcuab00csuYsp9SIUYdwa7Mhl/gX5KxhM1OC5GgsbMaFuYZkwlnKRsMJhLdEAiDQTCSSSKhR246AcIIEWVPcuKIqipJsYRRX8QIgYmoDqrBBs064MA034S3niLEt6mht3Q5LQozLUUeaqsRE6E1Ic6GBwO1SO7tEq8CFXdIEshWsVqSi1hyPwxyRHGOPJBgeB@27SF3RcBxib4gGolngdpb4sPJoboY782HJVUlg/gA "Jelly – Try It Online")
Very slow, works on \$O(2^{n!})\$ complexity, where \$n\$ is the length of the array. Times out for anything with \$n \ge 8\$ on TIO.
This feels too long, especially the `Œ!ŒṖ€Ẏ` bit to generate all possible partitions.
This outputs all possible solutions, but the TIO link (the `ÇḢ` bit in the Footer) limits it to just one
## How it works
```
Œ!ŒṖ€Ẏ§E$ƇLÐṀ - Main link. Takes a list L on the left
Œ!            - All permutations of L
  ŒṖ€         - Get all partitions of each permutation
     Ẏ        - Drop these down into a single list of 2d lists
        $Ƈ    - Keep those for which the following is true:
      §       -   Sums of each sublist
       E      -   Are all equal
          LÐṀ - Get those with a maximal length
```
[Answer]
# [05AB1E](https://github.com/Adriandmen/05AB1E), 12 bytes
```
œ€.œ€`éR.ΔOË
```
[Try it online!](https://tio.run/##yy9OTMpM/V9WeXjD4b1BhsZZQfZKCrp2Ckr2lf@PTn7UtEYPTCYcXhmkd26K/@Hu/7U6/6OjLXUUTHUUDHUUjHQUgGyjWB2FaEOwgDFYxlxHwQQkBpE2A8sAhS2gSo3ATGOYJJA0BgkDVZgAlYKYxmAVhmABI6guqEqIDEjAAmyRBcQCqLnmYC2mUOOMYGaYQAUg0mZQE03A0mYQR0ANMEM43QjhXLCZsQA "05AB1E – Try It Online")
```
œ             # all permutations of the input
 €.œ          # for €ach permutation, get each partition
    €`        # flatten by one level to get a list of many partitions
      é       # sort by length (number of sublists in a partition)
       R      # reverse, longest are now at the front
        .Δ    # find the first partition where ...
          OË  # ... each sublist sums to the same value
```
[Answer]
# [Brachylog](https://github.com/JCumin/Brachylog), 12 bytes
```
∧≜S&p~c.+ᵛS∧
```
[Try it online!](https://tio.run/##RY@hDsIwEIZf5TKBoZCs7bph4CEmlwmYALEEglkIATFBmCNY8FjMDG/TvkhprzcwzeX7v97frvbLanOot2tua93fj00EkzlEzcJc3qZt9ac76f5mzfVlumc@2p2r6Vj3j9wBa4tixiBhEDPgDNzMSwZFjEBgkjKQnoVYYeJwRirHUQyhO4XHzpBO9aNAI0bA6RaZIfFAohFwUBNSM3xCFqqpMQ0GFfHhiiQQYkULfqv9dlqgSFb4iBBnQ21KEv9/EdvKLw "Brachylog – Try It Online")
Even less efficient than caird's Jelly solution, as it recomputes every partition of every permutation for each sum it tries.
```
     ~c.        Output a partition of
   &p           a permutation of the input
        +ᵛ      in which every sublist has the same sum,
∧≜S       S∧    which is as small as possible.
```
[Answer]
# JavaScript (ES6), 124 bytes
```
f=(a,n=1)=>(g=(a,q=[],b=[],s=n)=>s?a.some((x,i)=>g(a.filter(_=>i--),q,[...b,x],s-x)):!a[Q=[...q,b],0]||g(a,Q))(a)?Q:f(a,n+1)
```
[Try it online!](https://tio.run/##bVJNjtMwGN3PKT4qodiq65kmmTQtSruCBQtQ1WWIkNs6JSiTtHEYdcRwAyQ2LOEenGcuwBGK/xLaZKrItfPe@973Peczu2diU2X7elSUW346pRFipIjGOJqjndofojgha7WIqJBvxYJRUd5xhI4kk@cdYjTN8ppX6GM0z0YjTA4kppSuyVFqRkeMZy9YvIzUuwNZJ@QmeXyUKrLEGDG8WM5SZTkc41PFD1@yiiMnFQ6mFWfbN1nOVw/FBt1gWperusqKHcJU7POsRoMPxQDTtKxes80nJCCaw9crgBgYAX7c803Nt5BABMIKrmE4msPwGtM7tkf8nuX4lRRUXGpBdqFPoq7k6e3q/TsqtF@WPiBJ0eCmLESZc5qXOzR4KUA/A9KlM0xUHWKK9ao1zWFYgPP3z4@nXz/l6sAMnKff3x3p9A2f4imBWwJjAi4BuXcTsD85A8QaTgjEZ4TkSp3k42nphIDfERlY6zyFyv@JkpkKgUEJhK2dkSlYcYP/nqE1dPXWa/Ry9TpKiyldaAlSJ118adf2B5eNahtNkFxPe4y1wu0n4bWY9dCN2WaMNOkZBKoPSZ9ajTbydSWjNCVvjZ3RtPDYZje1BCkNdd6hgft2CrZOgTVzzQ2pSJ9LwLUKTTCBuU1Xft/AwlbhW4UxCM4zO1c0BoEdoh1QRdBX@PYzsBw7RNDppzOEDiqwN@I1BmGT7iQ5v5EG9m1WmmBs3M4QFzaKbhfDfibWi6Z0qP8A "JavaScript (Node.js) – Try It Online")
### Commented
```
f = (                       // f is a recursive function taking:
  a,                        //   a[] = input list
  n = 1                     //   n = target sum, starting with 1
) => (                      //
  g = (                     // g is a recursive function taking:
    a,                      //   the original a[] or a subset of it
    q = [],                 //   q[] = list of sublists
    b = [],                 //   b[] = current sublist
    s = n                   //   s = n minus the sum of the terms in b[]
  ) =>                      //
  s ?                       //   if s is not equal to 0:
    a.some((x, i) =>        //     for each value x at index i in a[]:
      g(                    //       do a recursive call to g:
        a.filter(_ => i--), //         remove the i-th element from a[]
        q,                  //         pass q[] unchanged
        [...b, x],          //         append x to b[]
        s - x               //         subtract x from s
      )                     //       end of recursive call
    )                       //     end of some()
  :                         //   else:
    !a[ Q = [...q, b],      //     Q[] = copy of q[] with b[] appended
        0                   //     test whether a[] is empty
    ] ||                    //     if it's not:
      g(a, Q)               //       recursive call to g with q[] = Q[]
)(a) ?                      // initial call to g; if a solution is found:
  Q                         //   return it
:                           // else:
  f(a, n + 1)               //   try again with n + 1
```
[Answer]
# [Ruby](https://www.ruby-lang.org/), ~~110 109~~ 107 bytes
```
->l,*r{1.step.find{|x|l.permutation.find{|c|w=-1;r=c.chunk{|z|(w+=z)/x}.map &:last;r.all?{|v|v.sum==x}}};r}
```
[Try it online!](https://tio.run/##TYxLDoIwFEXnrqIj46fUFPFLqgshDCpCJBZsSgtI27VXUjVh9u459z6hbm9XEBdcGFwJjVEjc46Ksr5r0xuGeC4qJaksX/WPZqYjAY4FyVD2UPVTm8EsujUZlpveoopyMD8z2shYIMrYVZvWtKhRFSG9tTYW1nFQJMkJgh0EGIIQgvEO03TmOfZw6@0BgujPv7W9t6M6TiahfzKN0dhJU/cB "Ruby – Try It Online")
### How:
* Starting with x=1, check if we can split the list into chunks whose sum is x.
* Do the same check with every possible permutation of the list.
* If not, increase x and try again.
* The trick is here: `c.chunk{|z|(w+=z)/x}`. This function splits an array into smaller
[Answer]
# [Wolfram Language (Mathematica)](https://www.wolfram.com/wolframscript/), 145 bytes
```
(l=Length@#;Catch[Do[If[SameQ@@Total/@(t=TakeList[p,i]),Throw@t],{d,Reverse@Divisors@Total@#},{i,IntegerPartitions[l,{d}]},{p,Permutations@#}]])&
```
[Try it online!](https://tio.run/##TctBS8NAEAXgu78iUJAWBsRoqyKBAXsp9BBtbssehjppBpNs2Z22h5DfHpctFW/z5n2vI224I5U9TXUxzdtiy/1BG5y9f5DuG7N2ZlObHXX8iVg5pfYB51pU9MNbCWqOIHYBVePdBdXC8A1ffGYfGNdyluB8uK5wNsIgsOmVD@xL8ioqrg@mjZvRxvIIJfvupJT@0Vu7uJ9KL71ijcMzZI@QrSB7S0eMS8jy8e4PxOrpZl5v4OUfyNN2lcwymXycfgE "Wolfram Language (Mathematica) – Try It Online")
Rough compromise between speed/memory optimization and code-golf.  
The following facts are used:
* Array can only be splitted by the number of parts that are dividing its sum
* The lengths of parts of any split must be integer partition of length of array
Of course, one can optimize the search much better (for example, the dividers of the sum of the array must be less than its length), but it lengthens the code. On the other hand, I don’t want to take away given optimization, because it reduces runtime significantly.
[Answer]
# [Scala](https://www.scala-lang.org/), 773 bytes
\$\text{773 bytes, it can be golfed much more.}\$
Golfed version. [Try it online!](https://tio.run/##pZJta9swFIW/51ecjzIzgmTdmyFl@9DBYC/QMhiEMFRFSbTKspGU0Wb1b091pSRzWpoWajBY9z73XJ9jeymM2Oi6bVyApwMX1jZBBN1YHoQ2TsnBoLn8o2TAN6Et/g2AmZqjjgcm3MJX@OScuJlcBKftYlpU@Gl1wDiRQBurwVg213b2i33VPrAPJd6UGJYYlYjPo6IoHkOHiXudBt6VODmCZrG3aSDS748Lj9L2J4iTqJSJbkOec9fEbgViJl9sIMM/Wsprkkr7@nS6zeDjLsccXBI5V5JdV4jck@MALeStcvUqfxjPZWNM/CKftfNhCwFSeAXCoOf7Yr7@CgO5XNkrH0UJ4fPGzM71YhmSWa7qNtz0lhf3BLbqbF1CSFlgfHqvDVrKYo9rf0ZiuL0llC@VmHG/qvEKa5ziukjJsXWBqiLggY4yadG2neZ3bPojDwa6g1O2GL05YQz7ndaOx3Fnj@r6705RDHK1FkEuD7O8aGrFCCG/vUD29WekeCy3lyf27Ky6XQRd3@D3xiqy9v@XjDuHGSWQ7n0v1rtNt7kD)
```
def findX(list: List[Int]): Option[List[List[Int]]] = {
  @tailrec
  def findXRec(x: Int): Option[List[List[Int]]] = {
    list.permutations.collectFirst {
      case perm if {
            val chunks = perm.foldRight(List.empty[List[Int]]) {
              case (z, acc) =>
                if (acc.isEmpty || acc.head.sum + z > x) List(z) :: acc
                else (z :: acc.head) :: acc.tail
            }
            chunks.forall(_.sum == x)
          } =>
        perm
    } match {
      case Some(perm) => {
        Some(perm.foldRight(List.empty[List[Int]]) { case (z, acc) =>
          if (acc.isEmpty || acc.head.sum + z > x) List(z) :: acc
          else (z :: acc.head) :: acc.tail
        })
      }
      case None => findXRec(x + 1)
    }
  }
  findXRec(1)
}
```
Ungolfed version. [Try it online!](https://tio.run/##1ZNfa9swFMXf/SnOo8Q8gbN2fwwp3cMGg7YbLYNBCEOVlUSbLBtJ2dqs@eyZJKeeHVjb1z7YWPf@7rm6R5YTXPPdTtVtYz1cXDFuTOO5V41hnittpciy5vqHFB7nXBn8yYBKLlCHBeF26Uq8t5bfzq68VWY5pyW@GuUxTSTQhqjXhiyUqb6RM@U8eZfjOEeRY5IjfE8opf9Di8S9SgVvchw9gHZir1NBoN8@LDxJ3R8hjoJSR2yz/dgdoANQImKzT8bHmT@30bJZCvXx@by34fTezLjohS6lIDclAvsECeAX12ilrdfdAbmQijthw9gADY@qvnDrVcwEeMgx0WgdTvWjss73HQDBnUwg1GIQjooWv4PIy2IU1BCrtfnp9vJs0ejqUi1XPrnIZN3628E4dKS5b0c2ObgQFNOTURJxDyRkmHIfohDu7iLIVpJXzK1rvMAGJ7ih6SzIhqIsI3CgInVqsk@m6nsy/eQDfDv47gYLE1muNfmeGk6noVvPbMOO09jZuPrA@Zp7sTr0@KqpJYm1cezHne7xZ@/wwL6xIxeNkdGLf1cjdC/oyNvu3RNFdzm32W73Fw)
```
import scala.annotation.tailrec
object Main {
  def main(args: Array[String]): Unit = {
    println(findX(List(9, 5, 1, 2, 9, 2)))
    println(findX(List(1, 1, 3, 5, 7, 4)))
    println(findX(List(2, 9, 6, 1, 5, 8, 2)))
    println(findX(List(2, 2, 2)))
    println(findX(List(2, 4, 5)))
  }
  def findX(list: List[Int]): Option[List[List[Int]]] = {
    @tailrec
    def findXRec(x: Int): Option[List[List[Int]]] = {
      val permutations = list.permutations
      val validPartition = permutations.collectFirst {
        case perm if {
          var w = -1
          val chunks = perm.foldRight(List.empty[List[Int]]) {
            case (z, acc) =>
              if (acc.isEmpty || acc.head.sum + z > x) List(z) :: acc
              else (z :: acc.head) :: acc.tail
          }
          chunks.forall(_.sum == x)
        } => perm
      }
      validPartition match {
        case Some(perm) => {
          var w = -1
          Some(perm.foldRight(List.empty[List[Int]]) {
            case (z, acc) =>
              if (acc.isEmpty || acc.head.sum + z > x) List(z) :: acc
              else (z :: acc.head) :: acc.tail
          })
        }
        case None => findXRec(x + 1)
      }
    }
    findXRec(1)
  }
}
```
[Answer]
# [Nekomata](https://github.com/AlephAlpha/Nekomata), 10 bytes
```
O:ᵐ∑≡$Ðaṁl
```
[Attempt This Online!](https://ato.pxeger.com/run?1=m70iLzU7PzexJHFZtJJurlLsgqWlJWm6Fpv9rR5unfCoY-KjzoUqhyckPtzZmLOkOCm5GCq_4BajdLSljoKpjoKhjoKRjgKQbRTLFW0I5huDJcx1FEyAQhBJM7AEUNQCotAIzDKGyQFJY6AoUN4EqBDIMgbLG4L5RhAtUGUQCSDfBCwPEYUoNIUotADbbQGxFGKXOUQeYoURTL0JhA-RNINohpsKMhii2Qyi0gxsOUTSAmafOUSJEdxXYGsggQQA)
```
O:ᵐ∑≡$Ðaṁl
O               Non-deterministically choose a set partition of the input
 :              Duplicate
  ᵐ∑            Sum each
    ≡           Check if all sums are equal, and get the equal value
     $Ð         Pair the sum with the partition
       a        Get all possible values
        ṁ       Minimum (by the sum)
         l      Take the last element (the partition)
```
[Answer]
# [Julia 1.7](https://julialang.org) + Combinatorics, 74 bytes
```
using Combinatorics
~x=argmin(p->keys(sum.(p)∪0)=>sum.(p),partitions(x))
```
[Attempt This Online!](https://ato.pxeger.com/run?1=jVTLbttGFF20K37FdQwEJDyiTUmRZaYS-li1RYACCbohuBgyY2sockRwhoXdxF73H7rJJpt8R36iWeZLeudBipRUoIQgkXPPuefcMyP-_bFoS04_fPn28znUtFFc8Z2QwAX8tKsyLqjaNTyX3jlslKplfHl5x9WmzcJ8V13-ormvqNpcjsBhUXqeVE2bK3jN1G9923dvvot_yLBCc_U7yxH96AFeMo7feEy89X6kkoUlE3dq49dxPCIHsAIhmdq79DtkKIPAclmpHmp2kmsF37mfDojUx0dv0BO9jC1q7qiZLwPvthW5fgCjyhVrqDoha6YT2GDg1Kz1DAL-n6zZSf9noWZTAiIgsBNs_zyJcEUQiHBEHdH_UybghGQSpfiBNVzB8-fQMNU2wtpi92oYpzaHtDAMD4SOgEcREaAEMmOzsrI9uaJbppmYmkG5ur4Uq2qMJpG84iVtNOAqgNtdA1tcvoqrtIfqRY6LUSz6NX3Vrdyc-bpRQhOeXkQpToA3exE9Sd-FlxjXmX_GJTLUAzEWLLbD8VtwVdzml-ACAz-R2Np3p4YGiVZyT1mQpN0Wvdx30lOj5WEAlLjxUYUmCEzhDBG9Qbd2gYNaU6VkfbHQoYwSKfQSHpAYP9EoF10oitESTYoihdUKMnPz_j1kDaPbk0EhduBCXxU2xBPpIzkN4AJ8A7HdBml3m1dc4E5NogMD23Q0gr4yu1j9hw0TR8fpSt2W6FSJT0lGBOZqDu3HVt1Olv_8et5KLu4OXmFP9yva3FUcT_pkvWUPuCNtFfp18PWvT1fBau2eyOBlcB8EruXWHkF8L2Jqb0uu_6J2bkpytMj-oGXov2KKhsjHf6Yv65Irn5Nnk_WzILDYuuFClcKnq_UTtUvfUykZnpRcp_lE91N8-PJNntwQeIEHiwC-CvB-mnbZTNYAiSnj2UsGgNTTT_iZGeo1gfkByZYNb6ar-HutabbDwlYJLHs5S9NljV3sNZdOcGpuZx0fv2cHTFfTvKUDIA9V5ijX-4OxUSNjAIidGY3IMKbHScz6mtMwxpwZS02PBBbaB8JvHMcIzU0ny7QtX1g5y-nLkcvuxgGQujR5L235WE6XndLCiU3tDulITyUwdQwDsIFNO1fzYwFXdoy5Y1iBxTCzIaMTWLgh-gF1BMeMuTsGDuOGWBz4ORjCBLVwOzLrBJZdutfpcEe68txlZQBWZnowxEhGw92XRZ-IdWTKhGr_bP8C)
`argmin(f, itr)` needs julia 1.7 or later
]