code: def splitCubicAtT(pt1, pt2, pt3, pt4, *ts):
      """Split a cubic Bezier curve at one or more values of t.
  
      Args:
          pt1,pt2,pt3,pt4: Control points of the Bezier as 2D tuples.
          *ts: Positions at which to split the curve.
  
      Returns:
          A list of curve segments (each curve segment being four 2D tuples).
  
      Examples::
  
          >>> printSegments(splitCubicAtT((0, 0), (25, 100), (75, 100), (100, 0), 0.5))
          ((0, 0), (12.5, 50), (31.25, 75), (50, 75))
          ((50, 75), (68.75, 75), (87.5, 50), (100, 0))
          >>> printSegments(splitCubicAtT((0, 0), (25, 100), (75, 100), (100, 0), 0.5, 0.75))
          ((0, 0), (12.5, 50), (31.25, 75), (50, 75))
          ((50, 75), (59.375, 75), (68.75, 68.75), (77.3438, 56.25))
          ((77.3438, 56.25), (85.9375, 43.75), (93.75, 25), (100, 0))
      """
      a, b, c, d = calcCubicParameters(pt1, pt2, pt3, pt4)
      return _splitCubicAtT(a, b, c, d, *ts)
  
imports: from fontTools.misc.arrayTools import calcBounds, sectRect, rectArea
  from fontTools.misc.transform import Identity
  import math
  from collections import namedtuple
  from math import sqrt, acos, cos, pi
label_desc: Use image node_id 19 for calling a global function with example usage: splitCubicAtT(pt1, pt2, pt3, pt4) and returns: _splitCubicAtT