code: def vpoint2point(vpoint):
      
      point = dict()
      for v, val in vpoint.items():
          point.update(_flatten(v, val))
      return point
docs: Convert *vpoint* into a point in an N-dimensional Boolean space.
  
      The *vpoint* argument is a mapping from multi-dimensional arrays of
      variables to matching arrays of :math:`{0, 1}`.
      Elements from the values array will be converted to :math:`{0, 1}` using
      the `int` builtin function.
  
      For example::
  
         >>> from pyeda.boolalg.expr import exprvar
         >>> a = exprvar('a')
         >>> b00, b01, b10, b11 = map(exprvar, "b00 b01 b10 b11".split())
         >>> vpoint = {a: 0, ((b00, b01), (b10, b11)): ["01", "01"]}
         >>> point = vpoint2point(vpoint)
         >>> point[a], point[b00], point[b01], point[b10], point[b11]
         (0, 0, 1, 0, 1)
  
      The vpoint mapping is more concise if ``B`` is an farray::
  
         >>> from pyeda.boolalg.expr import exprvar
         >>> from pyeda.boolalg.bfarray import exprvars
         >>> a = exprvar('a')
         >>> B = exprvars('b', 2, 2)
         >>> vpoint = {a: 0, B: ["01", "01"]}
         >>> point = vpoint2point(vpoint)
         >>> point[a], point[B[0,0]], point[B[0,1]], point[B[1,0]], point[B[1,1]]
         (0, 0, 1, 0, 1)
  
      The shape of the array must match the shape of its values::
  
         >>> from pyeda.boolalg.bfarray import exprvars
         >>> X = exprvars('x', 2, 2)
         >>> vpoint = {X: "0101"}
         >>> point = vpoint2point(vpoint)
         Traceback (most recent call last):
             ...
         ValueError: expected 1:1 mapping from Variable => {0, 1}