{"version":3,"sources":["jsdelivr-header.js","/npm/fast-check@4.8.0/lib/fast-check.js"],"names":[],"mappings":"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K,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KACD,CAAC,IAAK,KACN,CAAC,IAAK,MACN,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,KACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,OACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,OACD,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,KAAM,OACP,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,MAAO,QACR,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,OAAQ,QACT,CAAC,QACD,CAAC,QACD,CAAC,QACD,CAAC,SASI,qCAAuC,CAC5C,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KACD,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,KAAM,MACP,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,MACD,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,KAAM,MACP,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,OACD,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,CAAC,MAAO,OACR,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c,iBAAiB,EAAK,OACpC,EAAW,EAAc,EAAc,EAAI,EAC3C,EAAc,iBAAiB,EAAK,OACpC,EAAW,EAAc,EAAc,EAAI,EACjD,GAAI,EAAW,EAAU,MAAM,IAAI,MAAM,wEACzC,GAAI,EAAO,OAAO,QAAQ,CACzB,IAAK,EACL,IAAK,IACH,IAAI,aAAc,sBACrB,MAAM,EAAkB,EAAW,EAAI,EAAW,EAAW,EACvD,EAAkB,EAAW,EAAI,EAAW,EAAI,EACtD,OAAO,QAAQ,CACd,IAAK,EACL,IAAK,IACH,IAAK,GACH,EAAQ,GAAY,EAAQ,EArClB,IAsCF,aAAa,GACtB,IACH,GAAqB,iBAAV,EAAoB,MAAM,IAAI,MAAM,oBAC/C,OAAI,gBAAgB,GAAe,IAAa,EAAkB,EAAkB,EAC7E,aAAa,IAEtB,CAeA,SAAS,MAAM,EAAc,CAAC,GAC7B,OAAK,EAAY,UACV,SAAS,8BAA8B,IAAc,IAAI,gBAAiB,mBAAmB,OAAO,oBADxE,SAAS,EAE7C,CAIA,SAAS,wBAAwB,GAChC,OAAO,EAAa,QAAQ,YAAa,QAAQ,QAAQ,MAAO,MACjE,CAEA,SAAS,2BAA2B,GACnC,OAAO,EAAa,QAAQ,QAAS,OACtC,CAIA,MAAM,WAAa,CAClB,EACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,UACA,WACA,WACA,WACA,WAYD,SAAS,KAAK,GACb,IAAI,EAAM,WACV,IAAK,IAAI,EAAM,EAAG,EAAM,EAAK,SAAU,EAAK,CAC3C,MAAM,EAAI,eAAe,EAAM,GAC/B,GAAI,EAAI,IAAK,EAAM,WAAiB,IAAN,EAAY,GAAK,GAAO,OACjD,GAAI,EAAI,KACZ,EAAM,WAAiB,IAAN,GAAa,IAAM,GAAK,EAAI,KAAO,GAAO,EAC3D,EAAM,WAAiB,IAAN,GAAa,IAAU,GAAJ,IAAW,GAAO,OAChD,GAAI,GAAK,OAAS,EAAI,MAAO,CACnC,MAAM,EAAQ,eAAe,IAAQ,GACrC,GAAI,GAAK,OAAS,EAAQ,OAAS,EAAQ,OAAS,OAAO,MAAM,GAChE,GAAO,EACP,EAAM,WAAiB,IAAN,EAAY,KAAO,GAAO,EAC3C,EAAM,WAAiB,IAA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","file":"/npm/fast-check@4.8.0/lib/fast-check.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.48.0.\n * Original file: /npm/fast-check@4.8.0/lib/fast-check.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import { t as __exportAll } from \"./chunk-pbuEa-1d.js\";\nimport { congruential32 } from \"pure-rand/generator/congruential32\";\nimport { mersenne } from \"pure-rand/generator/mersenne\";\nimport { xorshift128plus } from \"pure-rand/generator/xorshift128plus\";\nimport { xoroshiro128plus } from \"pure-rand/generator/xoroshiro128plus\";\nimport { skipN } from \"pure-rand/utils/skipN\";\nimport { uniformBigInt } from \"pure-rand/distribution/uniformBigInt\";\nimport { uniformInt } from \"pure-rand/distribution/uniformInt\";\n//#region src/check/precondition/PreconditionFailure.ts\n/** @internal */\nconst SharedFootPrint = Symbol.for(\"fast-check/PreconditionFailure\");\n/**\n* Error type produced whenever a precondition fails\n* @remarks Since 2.2.0\n* @public\n*/\nvar PreconditionFailure = class extends Error {\n\tconstructor(interruptExecution = false) {\n\t\tsuper();\n\t\tthis.interruptExecution = interruptExecution;\n\t\tthis.footprint = SharedFootPrint;\n\t}\n\tstatic isFailure(err) {\n\t\treturn err !== null && err !== void 0 && err.footprint === SharedFootPrint;\n\t}\n};\n//#endregion\n//#region src/check/precondition/Pre.ts\n/**\n* Add pre-condition checks inside a property execution\n* @param expectTruthy - cancel the run whenever this value is falsy\n* @remarks Since 1.3.0\n* @public\n*/\nfunction pre(expectTruthy) {\n\tif (!expectTruthy) throw new PreconditionFailure();\n}\n//#endregion\n//#region src/stream/StreamHelpers.ts\nvar Nil = class {\n\t[Symbol.iterator]() {\n\t\treturn this;\n\t}\n\tnext(value) {\n\t\treturn {\n\t\t\tvalue,\n\t\t\tdone: true\n\t\t};\n\t}\n};\n/** @internal */\nconst nil = new Nil();\n/** @internal */\nfunction nilHelper() {\n\treturn nil;\n}\n/** @internal */\nfunction* mapHelper(g, f) {\n\tfor (const v of g) yield f(v);\n}\n/** @internal */\nfunction* flatMapHelper(g, f) {\n\tfor (const v of g) yield* f(v);\n}\n/** @internal */\nfunction* filterHelper(g, f) {\n\tfor (const v of g) if (f(v)) yield v;\n}\n/** @internal */\nfunction* takeNHelper(g, n) {\n\tfor (let i = 0; i < n; ++i) {\n\t\tconst cur = g.next();\n\t\tif (cur.done) break;\n\t\tyield cur.value;\n\t}\n}\n/** @internal */\nfunction* takeWhileHelper(g, f) {\n\tlet cur = g.next();\n\twhile (!cur.done && f(cur.value)) {\n\t\tyield cur.value;\n\t\tcur = g.next();\n\t}\n}\n/** @internal */\nfunction* joinHelper(g, others) {\n\tfor (let cur = g.next(); !cur.done; cur = g.next()) yield cur.value;\n\tfor (const s of others) for (let cur = s.next(); !cur.done; cur = s.next()) yield cur.value;\n}\n//#endregion\n//#region src/stream/Stream.ts\nconst safeSymbolIterator$1 = Symbol.iterator;\n/**\n* Wrapper around `IterableIterator` interface\n* offering a set of helpers to deal with iterations in a simple way\n*\n* @remarks Since 0.0.7\n* @public\n*/\nvar Stream = class Stream {\n\t/**\n\t* Create an empty stream of T\n\t* @remarks Since 0.0.1\n\t*/\n\tstatic nil() {\n\t\treturn new Stream(nilHelper());\n\t}\n\t/**\n\t* Create a stream of T from a variable number of elements\n\t*\n\t* @param elements - Elements used to create the Stream\n\t* @remarks Since 2.12.0\n\t*/\n\tstatic of(...elements) {\n\t\treturn new Stream(elements[safeSymbolIterator$1]());\n\t}\n\t/**\n\t* Create a Stream based on `g`\n\t* @param g - Underlying data of the Stream\n\t*/\n\tconstructor(g) {\n\t\tthis.g = g;\n\t}\n\tnext() {\n\t\treturn this.g.next();\n\t}\n\t[Symbol.iterator]() {\n\t\treturn this.g;\n\t}\n\t/**\n\t* Map all elements of the Stream using `f`\n\t*\n\t* WARNING: It closes the current stream\n\t*\n\t* @param f - Mapper function\n\t* @remarks Since 0.0.1\n\t*/\n\tmap(f) {\n\t\treturn new Stream(mapHelper(this.g, f));\n\t}\n\t/**\n\t* Flat map all elements of the Stream using `f`\n\t*\n\t* WARNING: It closes the current stream\n\t*\n\t* @param f - Mapper function\n\t* @remarks Since 0.0.1\n\t*/\n\tflatMap(f) {\n\t\treturn new Stream(flatMapHelper(this.g, f));\n\t}\n\t/**\n\t* Drop elements from the Stream while `f(element) === true`\n\t*\n\t* WARNING: It closes the current stream\n\t*\n\t* @param f - Drop condition\n\t* @remarks Since 0.0.1\n\t*/\n\tdropWhile(f) {\n\t\tlet foundEligible = false;\n\t\tfunction* helper(v) {\n\t\t\tif (foundEligible || !f(v)) {\n\t\t\t\tfoundEligible = true;\n\t\t\t\tyield v;\n\t\t\t}\n\t\t}\n\t\treturn this.flatMap(helper);\n\t}\n\t/**\n\t* Drop `n` first elements of the Stream\n\t*\n\t* WARNING: It closes the current stream\n\t*\n\t* @param n - Number of elements to drop\n\t* @remarks Since 0.0.1\n\t*/\n\tdrop(n) {\n\t\tif (n <= 0) return this;\n\t\tlet idx = 0;\n\t\tfunction helper() {\n\t\t\treturn idx++ < n;\n\t\t}\n\t\treturn this.dropWhile(helper);\n\t}\n\t/**\n\t* Take elements from the Stream while `f(element) === true`\n\t*\n\t* WARNING: It closes the current stream\n\t*\n\t* @param f - Take condition\n\t* @remarks Since 0.0.1\n\t*/\n\ttakeWhile(f) {\n\t\treturn new Stream(takeWhileHelper(this.g, f));\n\t}\n\t/**\n\t* Take `n` first elements of the Stream\n\t*\n\t* WARNING: It closes the current stream\n\t*\n\t* @param n - Number of elements to take\n\t* @remarks Since 0.0.1\n\t*/\n\ttake(n) {\n\t\treturn new Stream(takeNHelper(this.g, n));\n\t}\n\tfilter(f) {\n\t\treturn new Stream(filterHelper(this.g, f));\n\t}\n\t/**\n\t* Check whether all elements of the Stream are successful for `f`\n\t*\n\t* WARNING: It closes the current stream\n\t*\n\t* @param f - Condition to check\n\t* @remarks Since 0.0.1\n\t*/\n\tevery(f) {\n\t\tfor (const v of this.g) if (!f(v)) return false;\n\t\treturn true;\n\t}\n\t/**\n\t* Check whether one of the elements of the Stream is successful for `f`\n\t*\n\t* WARNING: It closes the current stream\n\t*\n\t* @param f - Condition to check\n\t* @remarks Since 0.0.1\n\t*/\n\thas(f) {\n\t\tfor (const v of this.g) if (f(v)) return [true, v];\n\t\treturn [false, null];\n\t}\n\t/**\n\t* Join `others` Stream to the current Stream\n\t*\n\t* WARNING: It closes the current stream and the other ones (as soon as it iterates over them)\n\t*\n\t* @param others - Streams to join to the current Stream\n\t* @remarks Since 0.0.1\n\t*/\n\tjoin(...others) {\n\t\treturn new Stream(joinHelper(this.g, others));\n\t}\n\t/**\n\t* Take the `nth` element of the Stream of the last (if it does not exist)\n\t*\n\t* WARNING: It closes the current stream\n\t*\n\t* @param nth - Position of the element to extract\n\t* @remarks Since 0.0.12\n\t*/\n\tgetNthOrLast(nth) {\n\t\tlet remaining = nth;\n\t\tlet last = null;\n\t\tfor (const v of this.g) {\n\t\t\tif (remaining-- === 0) return v;\n\t\t\tlast = v;\n\t\t}\n\t\treturn last;\n\t}\n};\n/**\n* Create a Stream based on `g`\n*\n* @param g - Underlying data of the Stream\n*\n* @remarks Since 0.0.7\n* @public\n*/\nfunction stream(g) {\n\treturn new Stream(g);\n}\n//#endregion\n//#region src/check/symbols.ts\n/**\n* Generated instances having a method [cloneMethod]\n* will be automatically cloned whenever necessary\n*\n* This is pretty useful for statefull generated values.\n* For instance, whenever you use a Stream you directly impact it.\n* Implementing [cloneMethod] on the generated Stream would force\n* the framework to clone it whenever it has to re-use it\n* (mainly required for chrinking process)\n*\n* @remarks Since 1.8.0\n* @public\n*/\nconst cloneMethod = Symbol.for(\"fast-check/cloneMethod\");\n/**\n* Check if an instance has to be clone\n* @remarks Since 2.15.0\n* @public\n*/\nfunction hasCloneMethod(instance) {\n\treturn instance !== null && (typeof instance === \"object\" || typeof instance === \"function\") && cloneMethod in instance && typeof instance[cloneMethod] === \"function\";\n}\n/**\n* Clone an instance if needed\n* @remarks Since 2.15.0\n* @public\n*/\nfunction cloneIfNeeded(instance) {\n\treturn hasCloneMethod(instance) ? instance[cloneMethod]() : instance;\n}\n//#endregion\n//#region src/check/arbitrary/definition/Value.ts\nconst safeObjectDefineProperty$4 = Object.defineProperty;\n/**\n* A `Value<T, TShrink = T>` holds an internal value of type `T`\n* and its associated context\n*\n* @remarks Since 3.0.0 (previously called `NextValue` in 2.15.0)\n* @public\n*/\nvar Value = class {\n\t/**\n\t* @param value_ - Internal value of the shrinkable\n\t* @param context - Context associated to the generated value (useful for shrink)\n\t* @param customGetValue - Limited to internal usages (to ease migration to next), it will be removed on next major\n\t*/\n\tconstructor(value_, context, customGetValue) {\n\t\tthis.value_ = value_;\n\t\tthis.context = context;\n\t\tthis.hasToBeCloned = customGetValue !== void 0 || hasCloneMethod(value_);\n\t\tthis.readOnce = false;\n\t\tthis.value = value_;\n\t\tif (this.hasToBeCloned) safeObjectDefineProperty$4(this, \"value\", {\n\t\t\tget: customGetValue !== void 0 ? customGetValue : this.getValue,\n\t\t\tenumerable: false,\n\t\t\tconfigurable: false\n\t\t});\n\t}\n\t/** @internal */\n\tgetValue() {\n\t\tif (this.hasToBeCloned) {\n\t\t\tif (!this.readOnce) {\n\t\t\t\tthis.readOnce = true;\n\t\t\t\treturn this.value_;\n\t\t\t}\n\t\t\treturn this.value_[cloneMethod]();\n\t\t}\n\t\treturn this.value_;\n\t}\n};\n//#endregion\n//#region src/check/arbitrary/definition/Arbitrary.ts\n/**\n* Abstract class able to generate values on type `T`\n*\n* The values generated by an instance of Arbitrary can be previewed - with {@link sample} - or classified - with {@link statistics}.\n*\n* @remarks Since 0.0.7\n* @public\n*/\nvar Arbitrary = class {\n\tfilter(refinement) {\n\t\treturn new FilterArbitrary(this, refinement);\n\t}\n\t/**\n\t* Create another arbitrary by mapping all produced values using the provided `mapper`\n\t* Values produced by the new arbitrary are the result of applying `mapper` value by value\n\t*\n\t* @example\n\t* ```typescript\n\t* const rgbChannels: Arbitrary<{r:number,g:number,b:number}> = ...;\n\t* const color: Arbitrary<string> = rgbChannels.map(ch => `#${(ch.r*65536 + ch.g*256 + ch.b).toString(16).padStart(6, '0')}`);\n\t* // transform an Arbitrary producing {r,g,b} integers into an Arbitrary of '#rrggbb'\n\t* ```\n\t*\n\t* @param mapper - Map function, to produce a new element based on an old one\n\t* @param unmapper - Optional unmap function, it will never be used except when shrinking user defined values. Must throw if value is not compatible (since 3.0.0)\n\t* @returns New arbitrary with mapped elements\n\t*\n\t* @remarks Since 0.0.1\n\t*/\n\tmap(mapper, unmapper) {\n\t\treturn new MapArbitrary(this, mapper, unmapper);\n\t}\n\t/**\n\t* Create another arbitrary by mapping a value from a base Arbirary using the provided `fmapper`\n\t* Values produced by the new arbitrary are the result of the arbitrary generated by applying `fmapper` to a value\n\t* @example\n\t* ```typescript\n\t* const arrayAndLimitArbitrary = fc.nat().chain((c: number) => fc.tuple( fc.array(fc.nat(c)), fc.constant(c)));\n\t* ```\n\t*\n\t* @param chainer - Chain function, to produce a new Arbitrary using a value from another Arbitrary\n\t* @returns New arbitrary of new type\n\t*\n\t* @remarks Since 1.2.0\n\t*/\n\tchain(chainer) {\n\t\treturn new ChainArbitrary(this, chainer);\n\t}\n};\n/** @internal */\nvar ChainArbitrary = class extends Arbitrary {\n\tconstructor(arb, chainer) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t\tthis.chainer = chainer;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst clonedMrng = mrng.clone();\n\t\tconst src = this.arb.generate(mrng, biasFactor);\n\t\treturn this.valueChainer(src, mrng, clonedMrng, biasFactor);\n\t}\n\tcanShrinkWithoutContext(_value) {\n\t\treturn false;\n\t}\n\tshrink(value, context) {\n\t\tif (this.isSafeContext(context)) return (!context.stoppedForOriginal ? this.arb.shrink(context.originalValue, context.originalContext).map((v) => this.valueChainer(v, context.clonedMrng.clone(), context.clonedMrng, context.originalBias)) : Stream.nil()).join(context.chainedArbitrary.shrink(value, context.chainedContext).map((dst) => {\n\t\t\tconst newContext = {\n\t\t\t\t...context,\n\t\t\t\tchainedContext: dst.context,\n\t\t\t\tstoppedForOriginal: true\n\t\t\t};\n\t\t\treturn new Value(dst.value_, newContext);\n\t\t}));\n\t\treturn Stream.nil();\n\t}\n\tvalueChainer(v, generateMrng, clonedMrng, biasFactor) {\n\t\tconst chainedArbitrary = this.chainer(v.value_);\n\t\tconst dst = chainedArbitrary.generate(generateMrng, biasFactor);\n\t\tconst context = {\n\t\t\toriginalBias: biasFactor,\n\t\t\toriginalValue: v.value_,\n\t\t\toriginalContext: v.context,\n\t\t\tstoppedForOriginal: false,\n\t\t\tchainedArbitrary,\n\t\t\tchainedContext: dst.context,\n\t\t\tclonedMrng\n\t\t};\n\t\treturn new Value(dst.value_, context);\n\t}\n\tisSafeContext(context) {\n\t\treturn context !== null && context !== void 0 && typeof context === \"object\" && \"originalBias\" in context && \"originalValue\" in context && \"originalContext\" in context && \"stoppedForOriginal\" in context && \"chainedArbitrary\" in context && \"chainedContext\" in context && \"clonedMrng\" in context;\n\t}\n};\n/** @internal */\nvar MapArbitrary = class extends Arbitrary {\n\tconstructor(arb, mapper, unmapper) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t\tthis.mapper = mapper;\n\t\tthis.unmapper = unmapper;\n\t\tthis.bindValueMapper = (v) => this.valueMapper(v);\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst g = this.arb.generate(mrng, biasFactor);\n\t\treturn this.valueMapper(g);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\tif (this.unmapper !== void 0) try {\n\t\t\tconst unmapped = this.unmapper(value);\n\t\t\treturn this.arb.canShrinkWithoutContext(unmapped);\n\t\t} catch {\n\t\t\treturn false;\n\t\t}\n\t\treturn false;\n\t}\n\tshrink(value, context) {\n\t\tif (this.isSafeContext(context)) return this.arb.shrink(context.originalValue, context.originalContext).map(this.bindValueMapper);\n\t\tif (this.unmapper !== void 0) {\n\t\t\tconst unmapped = this.unmapper(value);\n\t\t\treturn this.arb.shrink(unmapped, void 0).map(this.bindValueMapper);\n\t\t}\n\t\treturn Stream.nil();\n\t}\n\tmapperWithCloneIfNeeded(v) {\n\t\tconst sourceValue = v.value;\n\t\tconst mappedValue = this.mapper(sourceValue);\n\t\tif (v.hasToBeCloned && (typeof mappedValue === \"object\" && mappedValue !== null || typeof mappedValue === \"function\") && Object.isExtensible(mappedValue) && !hasCloneMethod(mappedValue)) Object.defineProperty(mappedValue, cloneMethod, { get: () => () => this.mapperWithCloneIfNeeded(v)[0] });\n\t\treturn [mappedValue, sourceValue];\n\t}\n\tvalueMapper(v) {\n\t\tconst [mappedValue, sourceValue] = this.mapperWithCloneIfNeeded(v);\n\t\treturn new Value(mappedValue, {\n\t\t\toriginalValue: sourceValue,\n\t\t\toriginalContext: v.context\n\t\t});\n\t}\n\tisSafeContext(context) {\n\t\treturn context !== null && context !== void 0 && typeof context === \"object\" && \"originalValue\" in context && \"originalContext\" in context;\n\t}\n};\n/** @internal */\nvar FilterArbitrary = class extends Arbitrary {\n\tconstructor(arb, refinement) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t\tthis.refinement = refinement;\n\t\tthis.bindRefinementOnValue = (v) => this.refinementOnValue(v);\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\twhile (true) {\n\t\t\tconst g = this.arb.generate(mrng, biasFactor);\n\t\t\tif (this.refinementOnValue(g)) return g;\n\t\t}\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\treturn this.arb.canShrinkWithoutContext(value) && this.refinement(value);\n\t}\n\tshrink(value, context) {\n\t\treturn this.arb.shrink(value, context).filter(this.bindRefinementOnValue);\n\t}\n\trefinementOnValue(v) {\n\t\treturn this.refinement(v.value);\n\t}\n};\n/**\n* Ensure an instance is an instance of Arbitrary\n* @param instance - The instance to be checked\n* @internal\n*/\nfunction isArbitrary(instance) {\n\treturn typeof instance === \"object\" && instance !== null && \"generate\" in instance && \"shrink\" in instance && \"canShrinkWithoutContext\" in instance;\n}\n/**\n* Ensure an instance is an instance of Arbitrary\n* @param instance - The instance to be checked\n* @internal\n*/\nfunction assertIsArbitrary(instance) {\n\tif (!isArbitrary(instance)) throw new Error(\"Unexpected value received: not an instance of Arbitrary\");\n}\n//#endregion\n//#region src/utils/apply.ts\nconst untouchedApply = Function.prototype.apply;\nconst ApplySymbol = Symbol(\"apply\");\n/**\n* Extract apply or return undefined\n* @param f - Function to extract apply from\n* @internal\n*/\nfunction safeExtractApply(f) {\n\ttry {\n\t\treturn f.apply;\n\t} catch {\n\t\treturn;\n\t}\n}\n/**\n* Equivalent to `f.apply(instance, args)` but temporary altering the instance\n* @internal\n*/\nfunction safeApplyHacky(f, instance, args) {\n\tconst ff = f;\n\tff[ApplySymbol] = untouchedApply;\n\tconst out = ff[ApplySymbol](instance, args);\n\tdelete ff[ApplySymbol];\n\treturn out;\n}\n/**\n* Equivalent to `f.apply(instance, args)`\n* @internal\n*/\nfunction safeApply(f, instance, args) {\n\tif (safeExtractApply(f) === untouchedApply) return f.apply(instance, args);\n\treturn safeApplyHacky(f, instance, args);\n}\n//#endregion\n//#region src/utils/globals.ts\nconst SArray = Array;\nconst SBigInt = BigInt;\nconst SBigInt64Array = BigInt64Array;\nconst SBigUint64Array = BigUint64Array;\nconst SBoolean = Boolean;\nconst SDate = Date;\nconst SError = Error;\nconst SFloat32Array = Float32Array;\nconst SFloat64Array = Float64Array;\nconst SInt8Array = Int8Array;\nconst SInt16Array = Int16Array;\nconst SInt32Array = Int32Array;\nconst SNumber = Number;\nconst SString = String;\nconst SSet = Set;\nconst SUint8Array = Uint8Array;\nconst SUint8ClampedArray = Uint8ClampedArray;\nconst SUint16Array = Uint16Array;\nconst SUint32Array = Uint32Array;\nconst SencodeURIComponent = encodeURIComponent;\nconst SMap$1 = Map;\nconst SSymbol = Symbol;\nconst untouchedForEach = Array.prototype.forEach;\nconst untouchedIndexOf = Array.prototype.indexOf;\nconst untouchedJoin = Array.prototype.join;\nconst untouchedMap = Array.prototype.map;\nconst untouchedFlat = Array.prototype.flat;\nconst untouchedFilter = Array.prototype.filter;\nconst untouchedPush = Array.prototype.push;\nconst untouchedPop = Array.prototype.pop;\nconst untouchedSplice = Array.prototype.splice;\nconst untouchedSlice = Array.prototype.slice;\nconst untouchedSort = Array.prototype.sort;\nconst untouchedEvery = Array.prototype.every;\nfunction extractForEach(instance) {\n\ttry {\n\t\treturn instance.forEach;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractIndexOf(instance) {\n\ttry {\n\t\treturn instance.indexOf;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractJoin(instance) {\n\ttry {\n\t\treturn instance.join;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractMap(instance) {\n\ttry {\n\t\treturn instance.map;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractFlat(instance) {\n\ttry {\n\t\treturn instance.flat;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractFilter(instance) {\n\ttry {\n\t\treturn instance.filter;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractPush(instance) {\n\ttry {\n\t\treturn instance.push;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractPop(instance) {\n\ttry {\n\t\treturn instance.pop;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractSplice(instance) {\n\ttry {\n\t\treturn instance.splice;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractSlice(instance) {\n\ttry {\n\t\treturn instance.slice;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractSort(instance) {\n\ttry {\n\t\treturn instance.sort;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractEvery(instance) {\n\ttry {\n\t\treturn instance.every;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction safeForEach(instance, fn) {\n\tif (extractForEach(instance) === untouchedForEach) return instance.forEach(fn);\n\treturn safeApply(untouchedForEach, instance, [fn]);\n}\nfunction safeIndexOf(instance, ...args) {\n\tif (extractIndexOf(instance) === untouchedIndexOf) return instance.indexOf(...args);\n\treturn safeApply(untouchedIndexOf, instance, args);\n}\nfunction safeJoin(instance, ...args) {\n\tif (extractJoin(instance) === untouchedJoin) return instance.join(...args);\n\treturn safeApply(untouchedJoin, instance, args);\n}\nfunction safeMap(instance, fn) {\n\tif (extractMap(instance) === untouchedMap) return instance.map(fn);\n\treturn safeApply(untouchedMap, instance, [fn]);\n}\nfunction safeFlat(instance, depth) {\n\tif (extractFlat(instance) === untouchedFlat) {\n\t\t[].flat();\n\t\treturn instance.flat(depth);\n\t}\n\treturn safeApply(untouchedFlat, instance, [depth]);\n}\nfunction safeFilter(instance, predicate) {\n\tif (extractFilter(instance) === untouchedFilter) return instance.filter(predicate);\n\treturn safeApply(untouchedFilter, instance, [predicate]);\n}\nfunction safePush(instance, ...args) {\n\tif (extractPush(instance) === untouchedPush) return instance.push(...args);\n\treturn safeApply(untouchedPush, instance, args);\n}\nfunction safePop$1(instance) {\n\tif (extractPop(instance) === untouchedPop) return instance.pop();\n\treturn safeApply(untouchedPop, instance, []);\n}\nfunction safeSplice(instance, ...args) {\n\tif (extractSplice(instance) === untouchedSplice) return instance.splice(...args);\n\treturn safeApply(untouchedSplice, instance, args);\n}\nfunction safeSlice(instance, ...args) {\n\tif (extractSlice(instance) === untouchedSlice) return instance.slice(...args);\n\treturn safeApply(untouchedSlice, instance, args);\n}\nfunction safeSort(instance, ...args) {\n\tif (extractSort(instance) === untouchedSort) return instance.sort(...args);\n\treturn safeApply(untouchedSort, instance, args);\n}\nfunction safeEvery(instance, ...args) {\n\tif (extractEvery(instance) === untouchedEvery) return instance.every(...args);\n\treturn safeApply(untouchedEvery, instance, args);\n}\nconst untouchedGetTime = Date.prototype.getTime;\nconst untouchedToISOString = Date.prototype.toISOString;\nfunction extractGetTime(instance) {\n\ttry {\n\t\treturn instance.getTime;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractToISOString(instance) {\n\ttry {\n\t\treturn instance.toISOString;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction safeGetTime(instance) {\n\tif (extractGetTime(instance) === untouchedGetTime) return instance.getTime();\n\treturn safeApply(untouchedGetTime, instance, []);\n}\nfunction safeToISOString(instance) {\n\tif (extractToISOString(instance) === untouchedToISOString) return instance.toISOString();\n\treturn safeApply(untouchedToISOString, instance, []);\n}\nconst untouchedAdd = Set.prototype.add;\nconst untouchedHas = Set.prototype.has;\nfunction extractAdd(instance) {\n\ttry {\n\t\treturn instance.add;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractHas(instance) {\n\ttry {\n\t\treturn instance.has;\n\t} catch (err) {\n\t\treturn;\n\t}\n}\nfunction safeAdd(instance, value) {\n\tif (extractAdd(instance) === untouchedAdd) return instance.add(value);\n\treturn safeApply(untouchedAdd, instance, [value]);\n}\nfunction safeHas(instance, value) {\n\tif (extractHas(instance) === untouchedHas) return instance.has(value);\n\treturn safeApply(untouchedHas, instance, [value]);\n}\nconst untouchedSet = WeakMap.prototype.set;\nconst untouchedGet = WeakMap.prototype.get;\nfunction extractSet(instance) {\n\ttry {\n\t\treturn instance.set;\n\t} catch (err) {\n\t\treturn;\n\t}\n}\nfunction extractGet(instance) {\n\ttry {\n\t\treturn instance.get;\n\t} catch (err) {\n\t\treturn;\n\t}\n}\nfunction safeSet(instance, key, value) {\n\tif (extractSet(instance) === untouchedSet) return instance.set(key, value);\n\treturn safeApply(untouchedSet, instance, [key, value]);\n}\nfunction safeGet(instance, key) {\n\tif (extractGet(instance) === untouchedGet) return instance.get(key);\n\treturn safeApply(untouchedGet, instance, [key]);\n}\nconst untouchedMapSet = Map.prototype.set;\nconst untouchedMapGet = Map.prototype.get;\nconst untouchedMapHas = Map.prototype.has;\nfunction extractMapSet(instance) {\n\ttry {\n\t\treturn instance.set;\n\t} catch (err) {\n\t\treturn;\n\t}\n}\nfunction extractMapGet(instance) {\n\ttry {\n\t\treturn instance.get;\n\t} catch (err) {\n\t\treturn;\n\t}\n}\nfunction extractMapHas(instance) {\n\ttry {\n\t\treturn instance.has;\n\t} catch (err) {\n\t\treturn;\n\t}\n}\nfunction safeMapSet(instance, key, value) {\n\tif (extractMapSet(instance) === untouchedMapSet) return instance.set(key, value);\n\treturn safeApply(untouchedMapSet, instance, [key, value]);\n}\nfunction safeMapGet(instance, key) {\n\tif (extractMapGet(instance) === untouchedMapGet) return instance.get(key);\n\treturn safeApply(untouchedMapGet, instance, [key]);\n}\nfunction safeMapHas(instance, key) {\n\tif (extractMapHas(instance) === untouchedMapHas) return instance.has(key);\n\treturn safeApply(untouchedMapHas, instance, [key]);\n}\nconst untouchedSplit = String.prototype.split;\nconst untouchedStartsWith = String.prototype.startsWith;\nconst untouchedEndsWith = String.prototype.endsWith;\nconst untouchedSubstring = String.prototype.substring;\nconst untouchedToLowerCase = String.prototype.toLowerCase;\nconst untouchedToUpperCase = String.prototype.toUpperCase;\nconst untouchedPadStart = String.prototype.padStart;\nconst untouchedCharCodeAt = String.prototype.charCodeAt;\nconst untouchedNormalize = String.prototype.normalize;\nconst untouchedReplace = String.prototype.replace;\nfunction extractSplit(instance) {\n\ttry {\n\t\treturn instance.split;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractStartsWith(instance) {\n\ttry {\n\t\treturn instance.startsWith;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractEndsWith(instance) {\n\ttry {\n\t\treturn instance.endsWith;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractSubstring(instance) {\n\ttry {\n\t\treturn instance.substring;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractToLowerCase(instance) {\n\ttry {\n\t\treturn instance.toLowerCase;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractToUpperCase(instance) {\n\ttry {\n\t\treturn instance.toUpperCase;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractPadStart(instance) {\n\ttry {\n\t\treturn instance.padStart;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractCharCodeAt(instance) {\n\ttry {\n\t\treturn instance.charCodeAt;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction extractNormalize(instance) {\n\ttry {\n\t\treturn instance.normalize;\n\t} catch (err) {\n\t\treturn;\n\t}\n}\nfunction extractReplace(instance) {\n\ttry {\n\t\treturn instance.replace;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction safeSplit(instance, ...args) {\n\tif (extractSplit(instance) === untouchedSplit) return instance.split(...args);\n\treturn safeApply(untouchedSplit, instance, args);\n}\nfunction safeStartsWith(instance, ...args) {\n\tif (extractStartsWith(instance) === untouchedStartsWith) return instance.startsWith(...args);\n\treturn safeApply(untouchedStartsWith, instance, args);\n}\nfunction safeEndsWith(instance, ...args) {\n\tif (extractEndsWith(instance) === untouchedEndsWith) return instance.endsWith(...args);\n\treturn safeApply(untouchedEndsWith, instance, args);\n}\nfunction safeSubstring(instance, ...args) {\n\tif (extractSubstring(instance) === untouchedSubstring) return instance.substring(...args);\n\treturn safeApply(untouchedSubstring, instance, args);\n}\nfunction safeToLowerCase(instance) {\n\tif (extractToLowerCase(instance) === untouchedToLowerCase) return instance.toLowerCase();\n\treturn safeApply(untouchedToLowerCase, instance, []);\n}\nfunction safeToUpperCase(instance) {\n\tif (extractToUpperCase(instance) === untouchedToUpperCase) return instance.toUpperCase();\n\treturn safeApply(untouchedToUpperCase, instance, []);\n}\nfunction safePadStart(instance, ...args) {\n\tif (extractPadStart(instance) === untouchedPadStart) return instance.padStart(...args);\n\treturn safeApply(untouchedPadStart, instance, args);\n}\nfunction safeCharCodeAt(instance, index) {\n\tif (extractCharCodeAt(instance) === untouchedCharCodeAt) return instance.charCodeAt(index);\n\treturn safeApply(untouchedCharCodeAt, instance, [index]);\n}\nfunction safeNormalize(instance, form) {\n\tif (extractNormalize(instance) === untouchedNormalize) return instance.normalize(form);\n\treturn safeApply(untouchedNormalize, instance, [form]);\n}\nfunction safeReplace(instance, pattern, replacement) {\n\tif (extractReplace(instance) === untouchedReplace) return instance.replace(pattern, replacement);\n\treturn safeApply(untouchedReplace, instance, [pattern, replacement]);\n}\nconst untouchedNumberToString = Number.prototype.toString;\nfunction extractNumberToString(instance) {\n\ttry {\n\t\treturn instance.toString;\n\t} catch {\n\t\treturn;\n\t}\n}\nfunction safeNumberToString(instance, ...args) {\n\tif (extractNumberToString(instance) === untouchedNumberToString) return instance.toString(...args);\n\treturn safeApply(untouchedNumberToString, instance, args);\n}\nconst untouchedHasOwnProperty = Object.prototype.hasOwnProperty;\nconst untouchedToString = Object.prototype.toString;\nfunction safeHasOwnProperty(instance, v) {\n\treturn safeApply(untouchedHasOwnProperty, instance, [v]);\n}\nfunction safeToString(instance) {\n\treturn safeApply(untouchedToString, instance, []);\n}\nconst untouchedErrorToString = Error.prototype.toString;\nfunction safeErrorToString(instance) {\n\treturn safeApply(untouchedErrorToString, instance, []);\n}\n//#endregion\n//#region src/stream/LazyIterableIterator.ts\n/** @internal */\nvar LazyIterableIterator = class {\n\tconstructor(producer) {\n\t\tthis.producer = producer;\n\t}\n\t[Symbol.iterator]() {\n\t\tif (this.it === void 0) this.it = this.producer();\n\t\treturn this.it;\n\t}\n\tnext() {\n\t\tif (this.it === void 0) this.it = this.producer();\n\t\treturn this.it.next();\n\t}\n};\n/**\n* Create an IterableIterator based on a function that will only be called once if needed\n*\n* @param producer - Function to instanciate the underlying IterableIterator\n*\n* @internal\n*/\nfunction makeLazy(producer) {\n\treturn new LazyIterableIterator(producer);\n}\n//#endregion\n//#region src/arbitrary/_internals/TupleArbitrary.ts\nconst safeArrayIsArray$4 = Array.isArray;\nconst safeObjectDefineProperty$3 = Object.defineProperty;\n/** @internal */\nfunction tupleMakeItCloneable(vs, values) {\n\treturn safeObjectDefineProperty$3(vs, cloneMethod, { value: () => {\n\t\tconst cloned = [];\n\t\tfor (let idx = 0; idx !== values.length; ++idx) safePush(cloned, values[idx].value);\n\t\ttupleMakeItCloneable(cloned, values);\n\t\treturn cloned;\n\t} });\n}\n/** @internal */\nfunction tupleWrapper(values) {\n\tlet cloneable = false;\n\tconst vs = [];\n\tconst ctxs = [];\n\tfor (let idx = 0; idx !== values.length; ++idx) {\n\t\tconst v = values[idx];\n\t\tcloneable = cloneable || v.hasToBeCloned;\n\t\tsafePush(vs, v.value);\n\t\tsafePush(ctxs, v.context);\n\t}\n\tif (cloneable) tupleMakeItCloneable(vs, values);\n\treturn new Value(vs, ctxs);\n}\n/** @internal */\nfunction tupleShrink(arbs, value, context) {\n\tconst shrinks = [];\n\tconst safeContext = safeArrayIsArray$4(context) ? context : [];\n\tfor (let idx = 0; idx !== arbs.length; ++idx) safePush(shrinks, makeLazy(() => arbs[idx].shrink(value[idx], safeContext[idx]).map((v) => {\n\t\tconst nextValues = safeMap(value, (v, idx) => new Value(cloneIfNeeded(v), safeContext[idx]));\n\t\treturn [\n\t\t\t...safeSlice(nextValues, 0, idx),\n\t\t\tv,\n\t\t\t...safeSlice(nextValues, idx + 1)\n\t\t];\n\t}).map(tupleWrapper)));\n\treturn Stream.nil().join(...shrinks);\n}\n/** @internal */\nvar TupleArbitrary = class extends Arbitrary {\n\tconstructor(arbs) {\n\t\tsuper();\n\t\tthis.arbs = arbs;\n\t\tfor (let idx = 0; idx !== arbs.length; ++idx) {\n\t\t\tconst arb = arbs[idx];\n\t\t\tif (arb === null || arb === void 0 || arb.generate === null || arb.generate === void 0) throw new Error(`Invalid parameter encountered at index ${idx}: expecting an Arbitrary`);\n\t\t}\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst mapped = [];\n\t\tfor (let idx = 0; idx !== this.arbs.length; ++idx) safePush(mapped, this.arbs[idx].generate(mrng, biasFactor));\n\t\treturn tupleWrapper(mapped);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\tif (!safeArrayIsArray$4(value) || value.length !== this.arbs.length) return false;\n\t\tfor (let index = 0; index !== this.arbs.length; ++index) if (!this.arbs[index].canShrinkWithoutContext(value[index])) return false;\n\t\treturn true;\n\t}\n\tshrink(value, context) {\n\t\treturn tupleShrink(this.arbs, value, context);\n\t}\n};\n//#endregion\n//#region src/arbitrary/tuple.ts\n/**\n* For tuples produced using the provided `arbs`\n*\n* @param arbs - Ordered list of arbitraries\n*\n* @remarks Since 0.0.1\n* @public\n*/\nfunction tuple(...arbs) {\n\treturn new TupleArbitrary(arbs);\n}\n//#endregion\n//#region src/check/property/IRawProperty.ts\nconst safeMathLog$3 = Math.log;\n/**\n* Convert runId (IProperty) into a frequency (Arbitrary)\n*\n* @param runId - Id of the run starting at 0\n* @returns Frequency of bias starting at 2\n*\n* @internal\n*/\nfunction runIdToFrequency(runId) {\n\treturn 2 + ~~(safeMathLog$3(runId + 1) * .4342944819032518);\n}\n//#endregion\n//#region src/check/runner/configuration/GlobalParameters.ts\n/** @internal */\nlet globalParameters = {};\n/**\n* Define global parameters that will be used by all the runners\n*\n* @example\n* ```typescript\n* fc.configureGlobal({ numRuns: 10 });\n* //...\n* fc.assert(\n*   fc.property(\n*     fc.nat(), fc.nat(),\n*     (a, b) => a + b === b + a\n*   ), { seed: 42 }\n* ) // equivalent to { numRuns: 10, seed: 42 }\n* ```\n*\n* @param parameters - Global parameters\n*\n* @remarks Since 1.18.0\n* @public\n*/\nfunction configureGlobal(parameters) {\n\tglobalParameters = parameters;\n}\n/**\n* Read global parameters that will be used by runners\n* @remarks Since 1.18.0\n* @public\n*/\nfunction readConfigureGlobal() {\n\treturn globalParameters;\n}\n/**\n* Reset global parameters\n* @remarks Since 1.18.0\n* @public\n*/\nfunction resetConfigureGlobal() {\n\tglobalParameters = {};\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/NoUndefinedAsContext.ts\n/** @internal */\nconst UndefinedContextPlaceholder = Symbol(\"UndefinedContextPlaceholder\");\n/** @internal */\nfunction noUndefinedAsContext(value) {\n\tif (value.context !== void 0) return value;\n\tif (value.hasToBeCloned) return new Value(value.value_, UndefinedContextPlaceholder, () => value.value);\n\treturn new Value(value.value_, UndefinedContextPlaceholder);\n}\n//#endregion\n//#region src/check/property/AsyncProperty.generic.ts\nconst dummyHook$1 = () => {};\n/**\n* Asynchronous property, see {@link IAsyncProperty}\n*\n* Prefer using {@link asyncProperty} instead\n*\n* @internal\n*/\nvar AsyncProperty = class {\n\tconstructor(arb, predicate) {\n\t\tthis.arb = arb;\n\t\tthis.predicate = predicate;\n\t\tconst { asyncBeforeEach, asyncAfterEach, beforeEach, afterEach } = readConfigureGlobal() || {};\n\t\tif (asyncBeforeEach !== void 0 && beforeEach !== void 0) throw SError(\"Global \\\"asyncBeforeEach\\\" and \\\"beforeEach\\\" parameters can't be set at the same time when running async properties\");\n\t\tif (asyncAfterEach !== void 0 && afterEach !== void 0) throw SError(\"Global \\\"asyncAfterEach\\\" and \\\"afterEach\\\" parameters can't be set at the same time when running async properties\");\n\t\tthis.beforeEachHook = asyncBeforeEach || beforeEach || dummyHook$1;\n\t\tthis.afterEachHook = asyncAfterEach || afterEach || dummyHook$1;\n\t}\n\tisAsync() {\n\t\treturn true;\n\t}\n\tgenerate(mrng, runId) {\n\t\treturn noUndefinedAsContext(this.arb.generate(mrng, runId !== void 0 ? runIdToFrequency(runId) : void 0));\n\t}\n\tshrink(value) {\n\t\tif (value.context === void 0 && !this.arb.canShrinkWithoutContext(value.value_)) return Stream.nil();\n\t\tconst safeContext = value.context !== UndefinedContextPlaceholder ? value.context : void 0;\n\t\treturn this.arb.shrink(value.value_, safeContext).map(noUndefinedAsContext);\n\t}\n\tasync runBeforeEach() {\n\t\tawait this.beforeEachHook();\n\t}\n\tasync runAfterEach() {\n\t\tawait this.afterEachHook();\n\t}\n\tasync run(v) {\n\t\ttry {\n\t\t\tconst output = await this.predicate(v);\n\t\t\treturn output === void 0 || output === true ? null : { error: new SError(\"Property failed by returning false\") };\n\t\t} catch (err) {\n\t\t\tif (PreconditionFailure.isFailure(err)) return err;\n\t\t\treturn { error: err };\n\t\t}\n\t}\n\t/**\n\t* Define a function that should be called before all calls to the predicate\n\t* @param hookFunction - Function to be called\n\t*/\n\tbeforeEach(hookFunction) {\n\t\tconst previousBeforeEachHook = this.beforeEachHook;\n\t\tthis.beforeEachHook = () => hookFunction(previousBeforeEachHook);\n\t\treturn this;\n\t}\n\t/**\n\t* Define a function that should be called after all calls to the predicate\n\t* @param hookFunction - Function to be called\n\t*/\n\tafterEach(hookFunction) {\n\t\tconst previousAfterEachHook = this.afterEachHook;\n\t\tthis.afterEachHook = () => hookFunction(previousAfterEachHook);\n\t\treturn this;\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/AlwaysShrinkableArbitrary.ts\n/**\n* Arbitrary considering any value as shrinkable whatever the received context.\n* In case the context corresponds to nil, it will be checked when calling shrink:\n* valid would mean stream coming from shrink, otherwise empty stream\n* @internal\n*/\nvar AlwaysShrinkableArbitrary = class extends Arbitrary {\n\tconstructor(arb) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\treturn noUndefinedAsContext(this.arb.generate(mrng, biasFactor));\n\t}\n\tcanShrinkWithoutContext(_value) {\n\t\treturn true;\n\t}\n\tshrink(value, context) {\n\t\tif (context === void 0 && !this.arb.canShrinkWithoutContext(value)) return Stream.nil();\n\t\tconst safeContext = context !== UndefinedContextPlaceholder ? context : void 0;\n\t\treturn this.arb.shrink(value, safeContext).map(noUndefinedAsContext);\n\t}\n};\n//#endregion\n//#region src/check/property/AsyncProperty.ts\n/**\n* Instantiate a new {@link fast-check#IAsyncProperty}\n* @param predicate - Assess the success of the property. Would be considered falsy if it throws or if its output evaluates to false\n* @remarks Since 0.0.7\n* @public\n*/\nfunction asyncProperty(...args) {\n\tif (args.length < 2) throw new Error(\"asyncProperty expects at least two parameters\");\n\tconst arbs = safeSlice(args, 0, args.length - 1);\n\tconst p = args[args.length - 1];\n\tsafeForEach(arbs, assertIsArbitrary);\n\treturn new AsyncProperty(tuple(...safeMap(arbs, (arb) => new AlwaysShrinkableArbitrary(arb))), (t) => p(...t));\n}\n//#endregion\n//#region src/check/property/Property.generic.ts\nconst dummyHook = () => {};\n/**\n* Property, see {@link IProperty}\n*\n* Prefer using {@link property} instead\n*\n* @internal\n*/\nvar Property = class {\n\tconstructor(arb, predicate) {\n\t\tthis.arb = arb;\n\t\tthis.predicate = predicate;\n\t\tconst { beforeEach = dummyHook, afterEach = dummyHook, asyncBeforeEach, asyncAfterEach } = readConfigureGlobal() || {};\n\t\tif (asyncBeforeEach !== void 0) throw SError(\"\\\"asyncBeforeEach\\\" can't be set when running synchronous properties\");\n\t\tif (asyncAfterEach !== void 0) throw SError(\"\\\"asyncAfterEach\\\" can't be set when running synchronous properties\");\n\t\tthis.beforeEachHook = beforeEach;\n\t\tthis.afterEachHook = afterEach;\n\t}\n\tisAsync() {\n\t\treturn false;\n\t}\n\tgenerate(mrng, runId) {\n\t\treturn noUndefinedAsContext(this.arb.generate(mrng, runId !== void 0 ? runIdToFrequency(runId) : void 0));\n\t}\n\tshrink(value) {\n\t\tif (value.context === void 0 && !this.arb.canShrinkWithoutContext(value.value_)) return Stream.nil();\n\t\tconst safeContext = value.context !== UndefinedContextPlaceholder ? value.context : void 0;\n\t\treturn this.arb.shrink(value.value_, safeContext).map(noUndefinedAsContext);\n\t}\n\trunBeforeEach() {\n\t\tthis.beforeEachHook();\n\t}\n\trunAfterEach() {\n\t\tthis.afterEachHook();\n\t}\n\trun(v) {\n\t\ttry {\n\t\t\tconst output = this.predicate(v);\n\t\t\treturn output === void 0 || output === true ? null : { error: new SError(\"Property failed by returning false\") };\n\t\t} catch (err) {\n\t\t\tif (PreconditionFailure.isFailure(err)) return err;\n\t\t\treturn { error: err };\n\t\t}\n\t}\n\tbeforeEach(hookFunction) {\n\t\tconst previousBeforeEachHook = this.beforeEachHook;\n\t\tthis.beforeEachHook = () => hookFunction(previousBeforeEachHook);\n\t\treturn this;\n\t}\n\tafterEach(hookFunction) {\n\t\tconst previousAfterEachHook = this.afterEachHook;\n\t\tthis.afterEachHook = () => hookFunction(previousAfterEachHook);\n\t\treturn this;\n\t}\n};\n//#endregion\n//#region src/check/property/Property.ts\n/**\n* Instantiate a new {@link fast-check#IProperty}\n* @param predicate - Assess the success of the property. Would be considered falsy if it throws or if its output evaluates to false\n* @remarks Since 0.0.1\n* @public\n*/\nfunction property(...args) {\n\tif (args.length < 2) throw new Error(\"property expects at least two parameters\");\n\tconst arbs = safeSlice(args, 0, args.length - 1);\n\tconst p = args[args.length - 1];\n\tsafeForEach(arbs, assertIsArbitrary);\n\treturn new Property(tuple(...safeMap(arbs, (arb) => new AlwaysShrinkableArbitrary(arb))), (t) => p(...t));\n}\n//#endregion\n//#region src/check/runner/configuration/VerbosityLevel.ts\n/**\n* Verbosity level\n* @remarks Since 1.9.1\n* @public\n*/\nlet VerbosityLevel = /* @__PURE__ */ function(VerbosityLevel) {\n\t/**\n\t* Level 0 (default)\n\t*\n\t* Minimal reporting:\n\t* - minimal failing case\n\t* - error log corresponding to the minimal failing case\n\t*\n\t* @remarks Since 1.9.1\n\t*/\n\tVerbosityLevel[VerbosityLevel[\"None\"] = 0] = \"None\";\n\t/**\n\t* Level 1\n\t*\n\t* Failures reporting:\n\t* - same as `VerbosityLevel.None`\n\t* - list all the failures encountered during the shrinking process\n\t*\n\t* @remarks Since 1.9.1\n\t*/\n\tVerbosityLevel[VerbosityLevel[\"Verbose\"] = 1] = \"Verbose\";\n\t/**\n\t* Level 2\n\t*\n\t* Execution flow reporting:\n\t* - same as `VerbosityLevel.None`\n\t* - all runs with their associated status displayed as a tree\n\t*\n\t* @remarks Since 1.9.1\n\t*/\n\tVerbosityLevel[VerbosityLevel[\"VeryVerbose\"] = 2] = \"VeryVerbose\";\n\treturn VerbosityLevel;\n}({});\n//#endregion\n//#region src/random/generator/RandomGenerator.ts\n/** @internal */\nfunction adaptRandomGeneratorTo8x(rng) {\n\tif (\"unsafeNext\" in rng) {\n\t\tif (rng.unsafeJump === void 0) return {\n\t\t\tclone: () => adaptRandomGeneratorTo8x(rng),\n\t\t\tnext: () => rng.unsafeNext(),\n\t\t\tgetState: () => rng.getState()\n\t\t};\n\t\treturn {\n\t\t\tclone: () => adaptRandomGeneratorTo8x(rng),\n\t\t\tnext: () => rng.unsafeNext(),\n\t\t\tjump: () => rng.unsafeJump(),\n\t\t\tgetState: () => rng.getState()\n\t\t};\n\t}\n\treturn rng;\n}\n/** @internal */\nfunction adaptRandomGeneratorToInternal(rng) {\n\tif (\"jump\" in rng && typeof rng.jump === \"function\") return rng;\n\treturn {\n\t\tclone: () => adaptRandomGeneratorToInternal(rng),\n\t\tnext: () => rng.next(),\n\t\tjump: () => skipN(rng, 42),\n\t\tgetState: () => rng.getState()\n\t};\n}\n/** @internal */\nfunction adaptRandomGenerator(rng) {\n\treturn adaptRandomGeneratorToInternal(adaptRandomGeneratorTo8x(rng));\n}\n//#endregion\n//#region src/check/runner/configuration/QualifiedParameters.ts\nconst safeDateNow$1 = Date.now;\nconst safeMathMin$6 = Math.min;\nconst safeMathRandom = Math.random;\n/**\n* Configuration extracted from incoming Parameters\n*\n* It handles and set the default settings that will be used by runners.\n*\n* @internal\n*/\nvar QualifiedParameters = class {\n\tconstructor(op) {\n\t\tconst p = op || {};\n\t\tthis.seed = readSeed(p);\n\t\tthis.randomType = readRandomType(p);\n\t\tthis.numRuns = readNumRuns(p);\n\t\tthis.verbose = readVerbose(p);\n\t\tthis.maxSkipsPerRun = p.maxSkipsPerRun !== void 0 ? p.maxSkipsPerRun : 100;\n\t\tthis.timeout = safeTimeout(p.timeout);\n\t\tthis.skipAllAfterTimeLimit = safeTimeout(p.skipAllAfterTimeLimit);\n\t\tthis.interruptAfterTimeLimit = safeTimeout(p.interruptAfterTimeLimit);\n\t\tthis.markInterruptAsFailure = p.markInterruptAsFailure === true;\n\t\tthis.skipEqualValues = p.skipEqualValues === true;\n\t\tthis.ignoreEqualValues = p.ignoreEqualValues === true;\n\t\tthis.logger = p.logger !== void 0 ? p.logger : (v) => {\n\t\t\tconsole.log(v);\n\t\t};\n\t\tthis.path = p.path !== void 0 ? p.path : \"\";\n\t\tthis.unbiased = p.unbiased === true;\n\t\tthis.examples = p.examples !== void 0 ? p.examples : [];\n\t\tthis.endOnFailure = p.endOnFailure === true;\n\t\tthis.reporter = p.reporter;\n\t\tthis.asyncReporter = p.asyncReporter;\n\t\tthis.includeErrorInReport = p.includeErrorInReport === true;\n\t}\n\ttoParameters() {\n\t\treturn {\n\t\t\tseed: this.seed,\n\t\t\trandomType: this.randomType,\n\t\t\tnumRuns: this.numRuns,\n\t\t\tmaxSkipsPerRun: this.maxSkipsPerRun,\n\t\t\ttimeout: this.timeout,\n\t\t\tskipAllAfterTimeLimit: this.skipAllAfterTimeLimit,\n\t\t\tinterruptAfterTimeLimit: this.interruptAfterTimeLimit,\n\t\t\tmarkInterruptAsFailure: this.markInterruptAsFailure,\n\t\t\tskipEqualValues: this.skipEqualValues,\n\t\t\tignoreEqualValues: this.ignoreEqualValues,\n\t\t\tpath: this.path,\n\t\t\tlogger: this.logger,\n\t\t\tunbiased: this.unbiased,\n\t\t\tverbose: this.verbose,\n\t\t\texamples: this.examples,\n\t\t\tendOnFailure: this.endOnFailure,\n\t\t\treporter: this.reporter,\n\t\t\tasyncReporter: this.asyncReporter,\n\t\t\tincludeErrorInReport: this.includeErrorInReport\n\t\t};\n\t}\n};\n/** @internal */\nfunction createQualifiedRandomGenerator(random) {\n\treturn (seed) => {\n\t\treturn adaptRandomGenerator(random(seed));\n\t};\n}\n/** @internal */\nfunction readSeed(p) {\n\tif (p.seed === void 0) return safeDateNow$1() ^ safeMathRandom() * 4294967296;\n\tconst seed32 = p.seed | 0;\n\tif (p.seed === seed32) return seed32;\n\treturn seed32 ^ (p.seed - seed32) * 4294967296;\n}\n/** @internal */\nfunction readRandomType(p) {\n\tif (p.randomType === void 0) return xorshift128plus;\n\tif (typeof p.randomType === \"string\") switch (p.randomType) {\n\t\tcase \"mersenne\": return createQualifiedRandomGenerator(mersenne);\n\t\tcase \"congruential\":\n\t\tcase \"congruential32\": return createQualifiedRandomGenerator(congruential32);\n\t\tcase \"xorshift128plus\": return xorshift128plus;\n\t\tcase \"xoroshiro128plus\": return xoroshiro128plus;\n\t\tdefault: throw new Error(`Invalid random specified: '${p.randomType}'`);\n\t}\n\tconst mrng = p.randomType(0);\n\tif (\"min\" in mrng && mrng.min !== -2147483648) throw new Error(`Invalid random number generator: min must equal -0x80000000, got ${String(mrng.min)}`);\n\tif (\"max\" in mrng && mrng.max !== 2147483647) throw new Error(`Invalid random number generator: max must equal 0x7fffffff, got ${String(mrng.max)}`);\n\tif (mrng === adaptRandomGenerator(mrng)) return p.randomType;\n\treturn createQualifiedRandomGenerator(p.randomType);\n}\n/** @internal */\nfunction readNumRuns(p) {\n\tconst defaultValue = 100;\n\tif (p.numRuns !== void 0) return p.numRuns;\n\tif (p.num_runs !== void 0) return p.num_runs;\n\treturn defaultValue;\n}\n/** @internal */\nfunction readVerbose(p) {\n\tif (p.verbose === void 0) return 0;\n\tif (typeof p.verbose === \"boolean\") return p.verbose === true ? 1 : 0;\n\tif (p.verbose <= 0) return 0;\n\tif (p.verbose >= 2) return 2;\n\treturn p.verbose | 0;\n}\n/** @internal */\nfunction safeTimeout(value) {\n\tif (value === void 0) return;\n\treturn safeMathMin$6(value, 2147483647);\n}\n/**\n* Extract a runner configuration from Parameters\n* @param p - Incoming Parameters\n*/\nfunction read(op) {\n\treturn new QualifiedParameters(op);\n}\n//#endregion\n//#region src/check/property/SkipAfterProperty.ts\n/** @internal */\nfunction interruptAfter(timeMs, setTimeoutSafe, clearTimeoutSafe) {\n\tlet timeoutHandle = null;\n\treturn {\n\t\tclear: () => clearTimeoutSafe(timeoutHandle),\n\t\tpromise: new Promise((resolve) => {\n\t\t\ttimeoutHandle = setTimeoutSafe(() => {\n\t\t\t\tresolve(new PreconditionFailure(true));\n\t\t\t}, timeMs);\n\t\t})\n\t};\n}\n/** @internal */\nvar SkipAfterProperty = class {\n\tconstructor(property, getTime, timeLimit, interruptExecution, setTimeoutSafe, clearTimeoutSafe) {\n\t\tthis.property = property;\n\t\tthis.getTime = getTime;\n\t\tthis.interruptExecution = interruptExecution;\n\t\tthis.setTimeoutSafe = setTimeoutSafe;\n\t\tthis.clearTimeoutSafe = clearTimeoutSafe;\n\t\tthis.skipAfterTime = this.getTime() + timeLimit;\n\t}\n\tisAsync() {\n\t\treturn this.property.isAsync();\n\t}\n\tgenerate(mrng, runId) {\n\t\treturn this.property.generate(mrng, runId);\n\t}\n\tshrink(value) {\n\t\treturn this.property.shrink(value);\n\t}\n\trun(v) {\n\t\tconst remainingTime = this.skipAfterTime - this.getTime();\n\t\tif (remainingTime <= 0) {\n\t\t\tconst preconditionFailure = new PreconditionFailure(this.interruptExecution);\n\t\t\tif (this.isAsync()) return Promise.resolve(preconditionFailure);\n\t\t\telse return preconditionFailure;\n\t\t}\n\t\tif (this.interruptExecution && this.isAsync()) {\n\t\t\tconst t = interruptAfter(remainingTime, this.setTimeoutSafe, this.clearTimeoutSafe);\n\t\t\tconst propRun = Promise.race([this.property.run(v), t.promise]);\n\t\t\tpropRun.then(t.clear, t.clear);\n\t\t\treturn propRun;\n\t\t}\n\t\treturn this.property.run(v);\n\t}\n\trunBeforeEach() {\n\t\treturn this.property.runBeforeEach();\n\t}\n\trunAfterEach() {\n\t\treturn this.property.runAfterEach();\n\t}\n};\n//#endregion\n//#region src/check/property/TimeoutProperty.ts\n/** @internal */\nconst timeoutAfter = (timeMs, setTimeoutSafe, clearTimeoutSafe) => {\n\tlet timeoutHandle = null;\n\treturn {\n\t\tclear: () => clearTimeoutSafe(timeoutHandle),\n\t\tpromise: new Promise((resolve) => {\n\t\t\ttimeoutHandle = setTimeoutSafe(() => {\n\t\t\t\tresolve({ error: new SError(`Property timeout: exceeded limit of ${timeMs} milliseconds`) });\n\t\t\t}, timeMs);\n\t\t})\n\t};\n};\n/** @internal */\nvar TimeoutProperty = class {\n\tconstructor(property, timeMs, setTimeoutSafe, clearTimeoutSafe) {\n\t\tthis.property = property;\n\t\tthis.timeMs = timeMs;\n\t\tthis.setTimeoutSafe = setTimeoutSafe;\n\t\tthis.clearTimeoutSafe = clearTimeoutSafe;\n\t}\n\tisAsync() {\n\t\treturn true;\n\t}\n\tgenerate(mrng, runId) {\n\t\treturn this.property.generate(mrng, runId);\n\t}\n\tshrink(value) {\n\t\treturn this.property.shrink(value);\n\t}\n\tasync run(v) {\n\t\tconst t = timeoutAfter(this.timeMs, this.setTimeoutSafe, this.clearTimeoutSafe);\n\t\tconst propRun = Promise.race([this.property.run(v), t.promise]);\n\t\tpropRun.then(t.clear, t.clear);\n\t\treturn propRun;\n\t}\n\trunBeforeEach() {\n\t\treturn Promise.resolve(this.property.runBeforeEach());\n\t}\n\trunAfterEach() {\n\t\treturn Promise.resolve(this.property.runAfterEach());\n\t}\n};\n//#endregion\n//#region src/check/property/UnbiasedProperty.ts\n/** @internal */\nvar UnbiasedProperty = class {\n\tconstructor(property) {\n\t\tthis.property = property;\n\t}\n\tisAsync() {\n\t\treturn this.property.isAsync();\n\t}\n\tgenerate(mrng, _runId) {\n\t\treturn this.property.generate(mrng, void 0);\n\t}\n\tshrink(value) {\n\t\treturn this.property.shrink(value);\n\t}\n\trun(v) {\n\t\treturn this.property.run(v);\n\t}\n\trunBeforeEach() {\n\t\treturn this.property.runBeforeEach();\n\t}\n\trunAfterEach() {\n\t\treturn this.property.runAfterEach();\n\t}\n};\n//#endregion\n//#region src/utils/stringify.ts\nconst safeArrayFrom = Array.from;\nconst safeBufferIsBuffer = typeof Buffer !== \"undefined\" ? Buffer.isBuffer : void 0;\nconst safeJsonStringify$1 = JSON.stringify;\nconst safeNumberIsNaN$5 = Number.isNaN;\nconst safeObjectKeys$5 = Object.keys;\nconst safeObjectGetOwnPropertySymbols$2 = Object.getOwnPropertySymbols;\nconst safeObjectGetOwnPropertyDescriptor$3 = Object.getOwnPropertyDescriptor;\nconst safeObjectGetPrototypeOf$2 = Object.getPrototypeOf;\nconst safeNegativeInfinity$7 = Number.NEGATIVE_INFINITY;\nconst safePositiveInfinity$8 = Number.POSITIVE_INFINITY;\n/**\n* Use this symbol to define a custom serializer for your instances.\n* Serializer must be a function returning a string (see {@link WithToStringMethod}).\n*\n* @remarks Since 2.17.0\n* @public\n*/\nconst toStringMethod = Symbol.for(\"fast-check/toStringMethod\");\n/**\n* Check if an instance implements {@link WithToStringMethod}\n*\n* @remarks Since 2.17.0\n* @public\n*/\nfunction hasToStringMethod(instance) {\n\treturn instance !== null && (typeof instance === \"object\" || typeof instance === \"function\") && toStringMethod in instance && typeof instance[toStringMethod] === \"function\";\n}\n/**\n* Use this symbol to define a custom serializer for your instances.\n* Serializer must be a function returning a promise of string (see {@link WithAsyncToStringMethod}).\n*\n* Please note that:\n* 1. It will only be useful for asynchronous properties.\n* 2. It has to return barely instantly.\n*\n* @remarks Since 2.17.0\n* @public\n*/\nconst asyncToStringMethod = Symbol.for(\"fast-check/asyncToStringMethod\");\n/**\n* Check if an instance implements {@link WithAsyncToStringMethod}\n*\n* @remarks Since 2.17.0\n* @public\n*/\nfunction hasAsyncToStringMethod(instance) {\n\treturn instance !== null && (typeof instance === \"object\" || typeof instance === \"function\") && asyncToStringMethod in instance && typeof instance[asyncToStringMethod] === \"function\";\n}\n/** @internal */\nconst findSymbolNameRegex = /^Symbol\\((.*)\\)$/;\n/**\n* Only called with symbol produced by Symbol(string | undefined)\n* Not Symbol.for(string)\n* @internal\n*/\nfunction getSymbolDescription(s) {\n\tif (s.description !== void 0) return s.description;\n\tconst m = findSymbolNameRegex.exec(SString(s));\n\treturn m && m[1].length ? m[1] : null;\n}\n/** @internal */\nfunction stringifyNumber(numValue) {\n\tswitch (numValue) {\n\t\tcase 0: return 1 / numValue === safeNegativeInfinity$7 ? \"-0\" : \"0\";\n\t\tcase safeNegativeInfinity$7: return \"Number.NEGATIVE_INFINITY\";\n\t\tcase safePositiveInfinity$8: return \"Number.POSITIVE_INFINITY\";\n\t\tdefault: return numValue === numValue ? SString(numValue) : \"Number.NaN\";\n\t}\n}\n/** @internal */\nfunction isSparseArray(arr) {\n\tlet previousNumberedIndex = -1;\n\tfor (const index in arr) {\n\t\tconst numberedIndex = Number(index);\n\t\tif (numberedIndex !== previousNumberedIndex + 1) return true;\n\t\tpreviousNumberedIndex = numberedIndex;\n\t}\n\treturn previousNumberedIndex + 1 !== arr.length;\n}\n/** @internal */\nfunction stringifyInternal(value, previousValues, getAsyncContent) {\n\tconst currentValues = [...previousValues, value];\n\tif (typeof value === \"object\") {\n\t\tif (safeIndexOf(previousValues, value) !== -1) return \"[cyclic]\";\n\t}\n\tif (hasAsyncToStringMethod(value)) {\n\t\tconst content = getAsyncContent(value);\n\t\tif (content.state === \"fulfilled\") return content.value;\n\t}\n\tif (hasToStringMethod(value)) try {\n\t\treturn value[toStringMethod]();\n\t} catch {}\n\tswitch (safeToString(value)) {\n\t\tcase \"[object Array]\": {\n\t\t\tconst arr = value;\n\t\t\tif (arr.length >= 50 && isSparseArray(arr)) {\n\t\t\t\tconst assignments = [];\n\t\t\t\tfor (const index in arr) if (!safeNumberIsNaN$5(Number(index))) safePush(assignments, `${index}:${stringifyInternal(arr[index], currentValues, getAsyncContent)}`);\n\t\t\t\treturn assignments.length !== 0 ? `Object.assign(Array(${arr.length}),{${safeJoin(assignments, \",\")}})` : `Array(${arr.length})`;\n\t\t\t}\n\t\t\tconst stringifiedArray = safeJoin(safeMap(arr, (v) => stringifyInternal(v, currentValues, getAsyncContent)), \",\");\n\t\t\treturn arr.length === 0 || arr.length - 1 in arr ? `[${stringifiedArray}]` : `[${stringifiedArray},]`;\n\t\t}\n\t\tcase \"[object BigInt]\": return `${value}n`;\n\t\tcase \"[object Boolean]\": {\n\t\t\tconst unboxedToString = value == true ? \"true\" : \"false\";\n\t\t\treturn typeof value === \"boolean\" ? unboxedToString : `new Boolean(${unboxedToString})`;\n\t\t}\n\t\tcase \"[object Date]\": {\n\t\t\tconst d = value;\n\t\t\treturn safeNumberIsNaN$5(safeGetTime(d)) ? `new Date(NaN)` : `new Date(${safeJsonStringify$1(safeToISOString(d))})`;\n\t\t}\n\t\tcase \"[object Map]\": return `new Map(${stringifyInternal(Array.from(value), currentValues, getAsyncContent)})`;\n\t\tcase \"[object Null]\": return `null`;\n\t\tcase \"[object Number]\": return typeof value === \"number\" ? stringifyNumber(value) : `new Number(${stringifyNumber(Number(value))})`;\n\t\tcase \"[object Object]\": {\n\t\t\ttry {\n\t\t\t\tconst toStringAccessor = value.toString;\n\t\t\t\tif (typeof toStringAccessor === \"function\" && toStringAccessor !== Object.prototype.toString) return value.toString();\n\t\t\t} catch {\n\t\t\t\treturn \"[object Object]\";\n\t\t\t}\n\t\t\tconst mapper = (k) => `${k === \"__proto__\" ? \"[\\\"__proto__\\\"]\" : typeof k === \"symbol\" ? `[${stringifyInternal(k, currentValues, getAsyncContent)}]` : safeJsonStringify$1(k)}:${stringifyInternal(value[k], currentValues, getAsyncContent)}`;\n\t\t\treturn \"{\" + safeJoin([\n\t\t\t\t...safeObjectGetPrototypeOf$2(value) === null ? [\"__proto__:null\"] : [],\n\t\t\t\t...safeMap(safeObjectKeys$5(value), mapper),\n\t\t\t\t...safeMap(safeFilter(safeObjectGetOwnPropertySymbols$2(value), (s) => {\n\t\t\t\t\tconst descriptor = safeObjectGetOwnPropertyDescriptor$3(value, s);\n\t\t\t\t\treturn descriptor && descriptor.enumerable;\n\t\t\t\t}), mapper)\n\t\t\t], \",\") + \"}\";\n\t\t}\n\t\tcase \"[object Set]\": return `new Set(${stringifyInternal(Array.from(value), currentValues, getAsyncContent)})`;\n\t\tcase \"[object String]\": return typeof value === \"string\" ? safeJsonStringify$1(value) : `new String(${safeJsonStringify$1(value)})`;\n\t\tcase \"[object Symbol]\": {\n\t\t\tconst s = value;\n\t\t\tif (SSymbol.keyFor(s) !== void 0) return `Symbol.for(${safeJsonStringify$1(SSymbol.keyFor(s))})`;\n\t\t\tconst desc = getSymbolDescription(s);\n\t\t\tif (desc === null) return \"Symbol()\";\n\t\t\treturn s === (desc.startsWith(\"Symbol.\") && SSymbol[desc.substring(7)]) ? desc : `Symbol(${safeJsonStringify$1(desc)})`;\n\t\t}\n\t\tcase \"[object Promise]\": {\n\t\t\tconst promiseContent = getAsyncContent(value);\n\t\t\tswitch (promiseContent.state) {\n\t\t\t\tcase \"fulfilled\": return `Promise.resolve(${stringifyInternal(promiseContent.value, currentValues, getAsyncContent)})`;\n\t\t\t\tcase \"rejected\": return `Promise.reject(${stringifyInternal(promiseContent.value, currentValues, getAsyncContent)})`;\n\t\t\t\tcase \"pending\": return `new Promise(() => {/*pending*/})`;\n\t\t\t\tdefault: return `new Promise(() => {/*unknown*/})`;\n\t\t\t}\n\t\t}\n\t\tcase \"[object Error]\":\n\t\t\tif (value instanceof Error) return `new Error(${stringifyInternal(value.message, currentValues, getAsyncContent)})`;\n\t\t\tbreak;\n\t\tcase \"[object Undefined]\": return `undefined`;\n\t\tcase \"[object Int8Array]\":\n\t\tcase \"[object Uint8Array]\":\n\t\tcase \"[object Uint8ClampedArray]\":\n\t\tcase \"[object Int16Array]\":\n\t\tcase \"[object Uint16Array]\":\n\t\tcase \"[object Int32Array]\":\n\t\tcase \"[object Uint32Array]\":\n\t\tcase \"[object Float32Array]\":\n\t\tcase \"[object Float64Array]\":\n\t\tcase \"[object BigInt64Array]\":\n\t\tcase \"[object BigUint64Array]\": {\n\t\t\tif (typeof safeBufferIsBuffer === \"function\" && safeBufferIsBuffer(value)) return `Buffer.from(${value.buffer.detached ? \"/*detached ArrayBuffer*/\" : stringifyInternal(safeArrayFrom(value.values()), currentValues, getAsyncContent)})`;\n\t\t\tconst valuePrototype = safeObjectGetPrototypeOf$2(value);\n\t\t\tconst className = valuePrototype && valuePrototype.constructor && valuePrototype.constructor.name;\n\t\t\tif (typeof className === \"string\") {\n\t\t\t\tconst typedArray = value;\n\t\t\t\tif (typedArray.buffer.detached) return `${className}.from(/*detached ArrayBuffer*/)`;\n\t\t\t\treturn `${className}.from(${stringifyInternal(safeArrayFrom(typedArray.values()), currentValues, getAsyncContent)})`;\n\t\t\t}\n\t\t\tbreak;\n\t\t}\n\t}\n\ttry {\n\t\treturn value.toString();\n\t} catch {\n\t\treturn safeToString(value);\n\t}\n}\n/**\n* Convert any value to its fast-check string representation\n*\n* @param value - Value to be converted into a string\n*\n* @remarks Since 1.15.0\n* @public\n*/\nfunction stringify(value) {\n\treturn stringifyInternal(value, [], () => ({\n\t\tstate: \"unknown\",\n\t\tvalue: void 0\n\t}));\n}\n/**\n* Mid-way between stringify and asyncStringify\n*\n* If the value can be stringified in a synchronous way then it returns a string.\n* Otherwise, it tries to go further in investigations and return a Promise<string>.\n*\n* Not publicly exposed yet!\n*\n* @internal\n*/\nfunction possiblyAsyncStringify(value) {\n\tconst stillPendingMarker = SSymbol();\n\tconst pendingPromisesForCache = [];\n\tconst cache = new SMap$1();\n\tfunction createDelay0() {\n\t\tlet handleId = null;\n\t\tconst cancel = () => {\n\t\t\tif (handleId !== null) clearTimeout(handleId);\n\t\t};\n\t\treturn {\n\t\t\tdelay: new Promise((resolve) => {\n\t\t\t\thandleId = setTimeout(() => {\n\t\t\t\t\thandleId = null;\n\t\t\t\t\tresolve(stillPendingMarker);\n\t\t\t\t}, 0);\n\t\t\t}),\n\t\t\tcancel\n\t\t};\n\t}\n\tconst unknownState = {\n\t\tstate: \"unknown\",\n\t\tvalue: void 0\n\t};\n\tconst getAsyncContent = function getAsyncContent(data) {\n\t\tconst cacheKey = data;\n\t\tif (cache.has(cacheKey)) return cache.get(cacheKey);\n\t\tconst delay0 = createDelay0();\n\t\tconst p = asyncToStringMethod in data ? Promise.resolve().then(() => data[asyncToStringMethod]()) : data;\n\t\tp.catch(() => {});\n\t\tpendingPromisesForCache.push(Promise.race([p, delay0.delay]).then((successValue) => {\n\t\t\tif (successValue === stillPendingMarker) cache.set(cacheKey, {\n\t\t\t\tstate: \"pending\",\n\t\t\t\tvalue: void 0\n\t\t\t});\n\t\t\telse cache.set(cacheKey, {\n\t\t\t\tstate: \"fulfilled\",\n\t\t\t\tvalue: successValue\n\t\t\t});\n\t\t\tdelay0.cancel();\n\t\t}, (errorValue) => {\n\t\t\tcache.set(cacheKey, {\n\t\t\t\tstate: \"rejected\",\n\t\t\t\tvalue: errorValue\n\t\t\t});\n\t\t\tdelay0.cancel();\n\t\t}));\n\t\tcache.set(cacheKey, unknownState);\n\t\treturn unknownState;\n\t};\n\tfunction loop() {\n\t\tconst stringifiedValue = stringifyInternal(value, [], getAsyncContent);\n\t\tif (pendingPromisesForCache.length === 0) return stringifiedValue;\n\t\treturn Promise.all(pendingPromisesForCache.splice(0)).then(loop);\n\t}\n\treturn loop();\n}\n/**\n* Convert any value to its fast-check string representation\n*\n* This asynchronous version is also able to dig into the status of Promise\n*\n* @param value - Value to be converted into a string\n*\n* @remarks Since 2.17.0\n* @public\n*/\nasync function asyncStringify(value) {\n\treturn Promise.resolve(possiblyAsyncStringify(value));\n}\n//#endregion\n//#region src/check/property/IgnoreEqualValuesProperty.ts\n/** @internal */\nfunction fromSyncCached(cachedValue) {\n\treturn cachedValue === null ? new PreconditionFailure() : cachedValue;\n}\nfunction fromCached(...data) {\n\tif (data[1]) return data[0].then(fromSyncCached);\n\treturn fromSyncCached(data[0]);\n}\n/** @internal */\nfunction fromCachedUnsafe(cachedValue, isAsync) {\n\treturn fromCached(cachedValue, isAsync);\n}\n/** @internal */\nvar IgnoreEqualValuesProperty = class {\n\tconstructor(property, skipRuns) {\n\t\tthis.property = property;\n\t\tthis.skipRuns = skipRuns;\n\t\tthis.coveredCases = /* @__PURE__ */ new Map();\n\t}\n\tisAsync() {\n\t\treturn this.property.isAsync();\n\t}\n\tgenerate(mrng, runId) {\n\t\treturn this.property.generate(mrng, runId);\n\t}\n\tshrink(value) {\n\t\treturn this.property.shrink(value);\n\t}\n\trun(v) {\n\t\tconst stringifiedValue = stringify(v);\n\t\tif (this.coveredCases.has(stringifiedValue)) {\n\t\t\tconst lastOutput = this.coveredCases.get(stringifiedValue);\n\t\t\tif (!this.skipRuns) return lastOutput;\n\t\t\treturn fromCachedUnsafe(lastOutput, this.property.isAsync());\n\t\t}\n\t\tconst out = this.property.run(v);\n\t\tthis.coveredCases.set(stringifiedValue, out);\n\t\treturn out;\n\t}\n\trunBeforeEach() {\n\t\treturn this.property.runBeforeEach();\n\t}\n\trunAfterEach() {\n\t\treturn this.property.runAfterEach();\n\t}\n};\n//#endregion\n//#region src/check/runner/DecorateProperty.ts\nconst safeDateNow = Date.now;\nconst safeSetTimeout = setTimeout;\nconst safeClearTimeout = clearTimeout;\n/** @internal */\nfunction decorateProperty(rawProperty, qParams) {\n\tlet prop = rawProperty;\n\tif (rawProperty.isAsync() && qParams.timeout !== void 0) prop = new TimeoutProperty(prop, qParams.timeout, safeSetTimeout, safeClearTimeout);\n\tif (qParams.unbiased) prop = new UnbiasedProperty(prop);\n\tif (qParams.skipAllAfterTimeLimit !== void 0) prop = new SkipAfterProperty(prop, safeDateNow, qParams.skipAllAfterTimeLimit, false, safeSetTimeout, safeClearTimeout);\n\tif (qParams.interruptAfterTimeLimit !== void 0) prop = new SkipAfterProperty(prop, safeDateNow, qParams.interruptAfterTimeLimit, true, safeSetTimeout, safeClearTimeout);\n\tif (qParams.skipEqualValues) prop = new IgnoreEqualValuesProperty(prop, true);\n\tif (qParams.ignoreEqualValues) prop = new IgnoreEqualValuesProperty(prop, false);\n\treturn prop;\n}\n//#endregion\n//#region src/check/runner/reporter/ExecutionStatus.ts\n/**\n* Status of the execution of the property\n* @remarks Since 1.9.0\n* @public\n*/\nlet ExecutionStatus = /* @__PURE__ */ function(ExecutionStatus) {\n\tExecutionStatus[ExecutionStatus[\"Success\"] = 0] = \"Success\";\n\tExecutionStatus[ExecutionStatus[\"Skipped\"] = -1] = \"Skipped\";\n\tExecutionStatus[ExecutionStatus[\"Failure\"] = 1] = \"Failure\";\n\treturn ExecutionStatus;\n}({});\n//#endregion\n//#region src/check/runner/reporter/RunExecution.ts\n/**\n* Report the status of a run\n*\n* It receives notification from the runner in case of failures\n*\n* @internal\n*/\nvar RunExecution = class RunExecution {\n\tconstructor(verbosity, interruptedAsFailure) {\n\t\tthis.verbosity = verbosity;\n\t\tthis.interruptedAsFailure = interruptedAsFailure;\n\t\tthis.rootExecutionTrees = [];\n\t\tthis.currentLevelExecutionTrees = this.rootExecutionTrees;\n\t\tthis.failure = null;\n\t\tthis.numSkips = 0;\n\t\tthis.numSuccesses = 0;\n\t\tthis.interrupted = false;\n\t}\n\tappendExecutionTree(status, value) {\n\t\tconst currentTree = {\n\t\t\tstatus,\n\t\t\tvalue,\n\t\t\tchildren: []\n\t\t};\n\t\tthis.currentLevelExecutionTrees.push(currentTree);\n\t\treturn currentTree;\n\t}\n\tfail(value, id, failure) {\n\t\tif (this.verbosity >= 1) {\n\t\t\tconst currentTree = this.appendExecutionTree(1, value);\n\t\t\tthis.currentLevelExecutionTrees = currentTree.children;\n\t\t}\n\t\tif (this.pathToFailure === void 0) this.pathToFailure = `${id}`;\n\t\telse this.pathToFailure += `:${id}`;\n\t\tthis.value = value;\n\t\tthis.failure = failure;\n\t}\n\tskip(value) {\n\t\tif (this.verbosity >= 2) this.appendExecutionTree(-1, value);\n\t\tif (this.pathToFailure === void 0) ++this.numSkips;\n\t}\n\tsuccess(value) {\n\t\tif (this.verbosity >= 2) this.appendExecutionTree(0, value);\n\t\tif (this.pathToFailure === void 0) ++this.numSuccesses;\n\t}\n\tinterrupt() {\n\t\tthis.interrupted = true;\n\t}\n\tisSuccess() {\n\t\treturn this.pathToFailure === void 0;\n\t}\n\tfirstFailure() {\n\t\treturn this.pathToFailure !== void 0 ? +safeSplit(this.pathToFailure, \":\")[0] : -1;\n\t}\n\tnumShrinks() {\n\t\treturn this.pathToFailure !== void 0 ? safeSplit(this.pathToFailure, \":\").length - 1 : 0;\n\t}\n\textractFailures() {\n\t\tif (this.isSuccess()) return [];\n\t\tconst failures = [];\n\t\tlet cursor = this.rootExecutionTrees;\n\t\twhile (cursor.length > 0 && cursor[cursor.length - 1].status === 1) {\n\t\t\tconst failureTree = cursor[cursor.length - 1];\n\t\t\tfailures.push(failureTree.value);\n\t\t\tcursor = failureTree.children;\n\t\t}\n\t\treturn failures;\n\t}\n\tstatic mergePaths(offsetPath, path) {\n\t\tif (offsetPath.length === 0) return path;\n\t\tconst offsetItems = offsetPath.split(\":\");\n\t\tconst remainingItems = path.split(\":\");\n\t\tconst middle = +offsetItems[offsetItems.length - 1] + +remainingItems[0];\n\t\treturn [\n\t\t\t...offsetItems.slice(0, offsetItems.length - 1),\n\t\t\t`${middle}`,\n\t\t\t...remainingItems.slice(1)\n\t\t].join(\":\");\n\t}\n\ttoRunDetails(seed, basePath, maxSkips, qParams) {\n\t\tif (!this.isSuccess()) return {\n\t\t\tfailed: true,\n\t\t\tinterrupted: this.interrupted,\n\t\t\tnumRuns: this.firstFailure() + 1 - this.numSkips,\n\t\t\tnumSkips: this.numSkips,\n\t\t\tnumShrinks: this.numShrinks(),\n\t\t\tseed,\n\t\t\tcounterexample: this.value,\n\t\t\tcounterexamplePath: RunExecution.mergePaths(basePath, this.pathToFailure),\n\t\t\terrorInstance: this.failure.error,\n\t\t\tfailures: this.extractFailures(),\n\t\t\texecutionSummary: this.rootExecutionTrees,\n\t\t\tverbose: this.verbosity,\n\t\t\trunConfiguration: qParams.toParameters()\n\t\t};\n\t\tconst considerInterruptedAsFailure = this.interruptedAsFailure || this.numSuccesses === 0;\n\t\treturn {\n\t\t\tfailed: this.numSkips > maxSkips || this.interrupted && considerInterruptedAsFailure,\n\t\t\tinterrupted: this.interrupted,\n\t\t\tnumRuns: this.numSuccesses,\n\t\t\tnumSkips: this.numSkips,\n\t\t\tnumShrinks: 0,\n\t\t\tseed,\n\t\t\tcounterexample: null,\n\t\t\tcounterexamplePath: null,\n\t\t\terror: null,\n\t\t\terrorInstance: null,\n\t\t\tfailures: [],\n\t\t\texecutionSummary: this.rootExecutionTrees,\n\t\t\tverbose: this.verbosity,\n\t\t\trunConfiguration: qParams.toParameters()\n\t\t};\n\t}\n};\n//#endregion\n//#region src/check/runner/RunnerIterator.ts\n/**\n* Responsible for the iteration logic\n*\n* Workflow:\n* 1- Call to `next` gives back the value to test\n* 2- Call to `handleResult` takes into account the execution status\n* 3- Back to 1\n*\n* @internal\n*/\nvar RunnerIterator = class {\n\tconstructor(sourceValues, shrink, verbose, interruptedAsFailure) {\n\t\tthis.sourceValues = sourceValues;\n\t\tthis.shrink = shrink;\n\t\tthis.runExecution = new RunExecution(verbose, interruptedAsFailure);\n\t\tthis.currentIdx = -1;\n\t\tthis.nextValues = sourceValues;\n\t}\n\t[Symbol.iterator]() {\n\t\treturn this;\n\t}\n\tnext() {\n\t\tconst nextValue = this.nextValues.next();\n\t\tif (nextValue.done || this.runExecution.interrupted) return {\n\t\t\tdone: true,\n\t\t\tvalue: void 0\n\t\t};\n\t\tthis.currentValue = nextValue.value;\n\t\t++this.currentIdx;\n\t\treturn {\n\t\t\tdone: false,\n\t\t\tvalue: nextValue.value.value_\n\t\t};\n\t}\n\thandleResult(result) {\n\t\tif (result !== null && typeof result === \"object\" && !PreconditionFailure.isFailure(result)) {\n\t\t\tthis.runExecution.fail(this.currentValue.value_, this.currentIdx, result);\n\t\t\tthis.currentIdx = -1;\n\t\t\tthis.nextValues = this.shrink(this.currentValue);\n\t\t} else if (result !== null) if (!result.interruptExecution) {\n\t\t\tthis.runExecution.skip(this.currentValue.value_);\n\t\t\tthis.sourceValues.skippedOne();\n\t\t} else this.runExecution.interrupt();\n\t\telse this.runExecution.success(this.currentValue.value_);\n\t}\n};\n//#endregion\n//#region src/check/runner/SourceValuesIterator.ts\n/**\n* Try to extract maxInitialIterations non-skipped values\n* with a maximal number of remainingSkips skipped values\n* from initialValues source\n* @internal\n*/\nvar SourceValuesIterator = class {\n\tconstructor(initialValues, maxInitialIterations, remainingSkips) {\n\t\tthis.initialValues = initialValues;\n\t\tthis.maxInitialIterations = maxInitialIterations;\n\t\tthis.remainingSkips = remainingSkips;\n\t}\n\t[Symbol.iterator]() {\n\t\treturn this;\n\t}\n\tnext() {\n\t\tif (--this.maxInitialIterations !== -1 && this.remainingSkips >= 0) {\n\t\t\tconst n = this.initialValues.next();\n\t\t\tif (!n.done) return {\n\t\t\t\tvalue: n.value,\n\t\t\t\tdone: false\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tvalue: void 0,\n\t\t\tdone: true\n\t\t};\n\t}\n\tskippedOne() {\n\t\t--this.remainingSkips;\n\t\t++this.maxInitialIterations;\n\t}\n};\n//#endregion\n//#region src/random/generator/Random.ts\nconst MIN_INT = -2147483648;\nconst MAX_INT = 2147483647;\nconst DBL_FACTOR = Math.pow(2, 27);\nconst DBL_DIVISOR = Math.pow(2, -53);\n/**\n* Wrapper around an instance of a `pure-rand`'s random number generator\n* offering a simpler interface to deal with random with impure patterns\n*\n* @public\n*/\nvar Random = class Random {\n\t/**\n\t* Create a mutable random number generator by cloning the passed one and mutate it\n\t* @param sourceRng - Immutable random generator from pure-rand library, will not be altered (a clone will be)\n\t*/\n\tconstructor(sourceRng) {\n\t\tthis.internalRng = adaptRandomGenerator(sourceRng.clone());\n\t}\n\t/**\n\t* Clone the random number generator\n\t*/\n\tclone() {\n\t\treturn new Random(this.internalRng);\n\t}\n\t/**\n\t* Generate an integer having `bits` random bits\n\t* @param bits - Number of bits to generate\n\t* @deprecated Prefer {@link nextInt} with explicit bounds: `nextInt(0, (1 << bits) - 1)`\n\t*/\n\tnext(bits) {\n\t\treturn uniformInt(this.internalRng, 0, (1 << bits) - 1);\n\t}\n\t/**\n\t* Generate a random boolean\n\t*/\n\tnextBoolean() {\n\t\treturn uniformInt(this.internalRng, 0, 1) === 1;\n\t}\n\tnextInt(min, max) {\n\t\treturn uniformInt(this.internalRng, min === void 0 ? MIN_INT : min, max === void 0 ? MAX_INT : max);\n\t}\n\t/**\n\t* Generate a random bigint between min (included) and max (included)\n\t* @param min - Minimal bigint value\n\t* @param max - Maximal bigint value\n\t*/\n\tnextBigInt(min, max) {\n\t\treturn uniformBigInt(this.internalRng, min, max);\n\t}\n\t/**\n\t* Generate a random floating point number between 0.0 (included) and 1.0 (excluded)\n\t*/\n\tnextDouble() {\n\t\tconst a = this.next(26);\n\t\tconst b = this.next(27);\n\t\treturn (a * DBL_FACTOR + b) * DBL_DIVISOR;\n\t}\n\t/**\n\t* Extract the internal state of the internal RandomGenerator backing the current instance of Random\n\t*/\n\tgetState() {\n\t\tif (\"getState\" in this.internalRng && typeof this.internalRng.getState === \"function\") return this.internalRng.getState();\n\t}\n};\n//#endregion\n//#region src/check/runner/Tosser.ts\n/**\n* Extracting tossNext out of toss was dropping some bailout reasons on v8 side\n* @internal\n*/\nfunction tossNext(generator, rng, index) {\n\trng.jump();\n\treturn generator.generate(new Random(rng), index);\n}\n/** @internal */\nfunction* toss(generator, seed, random, examples) {\n\tfor (let idx = 0; idx !== examples.length; ++idx) yield new Value(examples[idx], void 0);\n\tfor (let idx = 0, rng = random(seed);; ++idx) yield tossNext(generator, rng, idx);\n}\n/** @internal */\nfunction lazyGenerate(generator, rng, idx) {\n\treturn () => generator.generate(new Random(rng), idx);\n}\n/** @internal */\nfunction* lazyToss(generator, seed, random, examples) {\n\tyield* safeMap(examples, (e) => () => new Value(e, void 0));\n\tlet idx = 0;\n\tconst rng = adaptRandomGenerator(random(seed));\n\tfor (;;) {\n\t\trng.jump();\n\t\tyield lazyGenerate(generator, rng, idx++);\n\t}\n}\n//#endregion\n//#region src/check/runner/utils/PathWalker.ts\n/** @internal */\nfunction produce(producer) {\n\treturn producer();\n}\n/** @internal */\nfunction pathWalk(path, initialProducers, shrink) {\n\tconst producers = initialProducers;\n\tconst segments = path.split(\":\").map((text) => +text);\n\tif (segments.length === 0) return producers.map(produce);\n\tif (!segments.every((v) => !Number.isNaN(v))) throw new Error(`Unable to replay, got invalid path=${path}`);\n\tlet values = producers.drop(segments[0]).map(produce);\n\tfor (const s of segments.slice(1)) {\n\t\tconst valueToShrink = values.getNthOrLast(0);\n\t\tif (valueToShrink === null) throw new Error(`Unable to replay, got wrong path=${path}`);\n\t\tvalues = shrink(valueToShrink).drop(s);\n\t}\n\treturn values;\n}\n//#endregion\n//#region src/check/runner/utils/RunDetailsFormatter.ts\nconst safeObjectAssign$5 = Object.assign;\n/** @internal */\nfunction formatHints(hints) {\n\tif (hints.length === 1) return `Hint: ${hints[0]}`;\n\treturn hints.map((h, idx) => `Hint (${idx + 1}): ${h}`).join(\"\\n\");\n}\n/** @internal */\nfunction formatFailures(failures, stringifyOne) {\n\treturn `Encountered failures were:\\n- ${failures.map(stringifyOne).join(\"\\n- \")}`;\n}\n/** @internal */\nfunction formatExecutionSummary(executionTrees, stringifyOne) {\n\tconst summaryLines = [];\n\tconst remainingTreesAndDepth = [];\n\tfor (let i = executionTrees.length - 1; i >= 0; --i) remainingTreesAndDepth.push({\n\t\tdepth: 1,\n\t\ttree: executionTrees[i]\n\t});\n\twhile (remainingTreesAndDepth.length !== 0) {\n\t\tconst currentTreeAndDepth = remainingTreesAndDepth.pop();\n\t\tconst currentTree = currentTreeAndDepth.tree;\n\t\tconst currentDepth = currentTreeAndDepth.depth;\n\t\tconst statusIcon = currentTree.status === 0 ? \"\\x1B[32m√\\x1B[0m\" : currentTree.status === 1 ? \"\\x1B[31m×\\x1B[0m\" : \"\\x1B[33m!\\x1B[0m\";\n\t\tconst leftPadding = currentDepth !== 0 ? \". \".repeat(currentDepth - 1) : \"\";\n\t\tsummaryLines.push(`${leftPadding}${statusIcon} ${stringifyOne(currentTree.value)}`);\n\t\tfor (let i = currentTree.children.length - 1; i >= 0; --i) remainingTreesAndDepth.push({\n\t\t\tdepth: currentDepth + 1,\n\t\t\ttree: currentTree.children[i]\n\t\t});\n\t}\n\treturn `Execution summary:\\n${summaryLines.join(\"\\n\")}`;\n}\n/** @internal */\nfunction preFormatTooManySkipped(out, stringifyOne) {\n\tconst message = `Failed to run property, too many pre-condition failures encountered\\n{ seed: ${out.seed} }\\n\\nRan ${out.numRuns} time(s)\\nSkipped ${out.numSkips} time(s)`;\n\tlet details = null;\n\tconst hints = [\"Try to reduce the number of rejected values by combining map, chain and built-in arbitraries\", \"Increase failure tolerance by setting maxSkipsPerRun to an higher value\"];\n\tif (out.verbose >= 2) details = formatExecutionSummary(out.executionSummary, stringifyOne);\n\telse safePush(hints, \"Enable verbose mode at level VeryVerbose in order to check all generated values and their associated status\");\n\treturn {\n\t\tmessage,\n\t\tdetails,\n\t\thints\n\t};\n}\n/** @internal */\nfunction prettyError(errorInstance) {\n\tif (errorInstance instanceof SError && errorInstance.stack !== void 0) return errorInstance.stack;\n\ttry {\n\t\treturn SString(errorInstance);\n\t} catch (_err) {}\n\tif (errorInstance instanceof SError) try {\n\t\treturn safeErrorToString(errorInstance);\n\t} catch (_err) {}\n\tif (errorInstance !== null && typeof errorInstance === \"object\") try {\n\t\treturn safeToString(errorInstance);\n\t} catch (_err) {}\n\treturn \"Failed to serialize errorInstance\";\n}\n/** @internal */\nfunction preFormatFailure(out, stringifyOne) {\n\tconst messageErrorPart = out.runConfiguration.includeErrorInReport ? `\\nGot ${safeReplace(prettyError(out.errorInstance), /^Error: /, \"error: \")}` : \"\";\n\tconst message = `Property failed after ${out.numRuns} tests\\n{ seed: ${out.seed}, path: \"${out.counterexamplePath}\", endOnFailure: true }\\nCounterexample: ${stringifyOne(out.counterexample)}\\nShrunk ${out.numShrinks} time(s)${messageErrorPart}`;\n\tlet details = null;\n\tconst hints = [];\n\tif (out.verbose >= 2) details = formatExecutionSummary(out.executionSummary, stringifyOne);\n\telse if (out.verbose === 1) details = formatFailures(out.failures, stringifyOne);\n\telse safePush(hints, \"Enable verbose mode in order to have the list of all failing values encountered during the run\");\n\treturn {\n\t\tmessage,\n\t\tdetails,\n\t\thints\n\t};\n}\n/** @internal */\nfunction preFormatEarlyInterrupted(out, stringifyOne) {\n\tconst message = `Property interrupted after ${out.numRuns} tests\\n{ seed: ${out.seed} }`;\n\tlet details = null;\n\tconst hints = [];\n\tif (out.verbose >= 2) details = formatExecutionSummary(out.executionSummary, stringifyOne);\n\telse safePush(hints, \"Enable verbose mode at level VeryVerbose in order to check all generated values and their associated status\");\n\treturn {\n\t\tmessage,\n\t\tdetails,\n\t\thints\n\t};\n}\n/** @internal */\nfunction defaultReportMessageInternal(out, stringifyOne) {\n\tif (!out.failed) return;\n\tconst { message, details, hints } = out.counterexamplePath === null ? out.interrupted ? preFormatEarlyInterrupted(out, stringifyOne) : preFormatTooManySkipped(out, stringifyOne) : preFormatFailure(out, stringifyOne);\n\tlet errorMessage = message;\n\tif (details !== null) errorMessage += `\\n\\n${details}`;\n\tif (hints.length > 0) errorMessage += `\\n\\n${formatHints(hints)}`;\n\treturn errorMessage;\n}\nfunction defaultReportMessage(out) {\n\treturn defaultReportMessageInternal(out, stringify);\n}\nasync function asyncDefaultReportMessage(out) {\n\tconst pendingStringifieds = [];\n\tfunction stringifyOne(value) {\n\t\tconst stringified = possiblyAsyncStringify(value);\n\t\tif (typeof stringified === \"string\") return stringified;\n\t\tpendingStringifieds.push(Promise.all([value, stringified]));\n\t\treturn \"…\";\n\t}\n\tconst firstTryMessage = defaultReportMessageInternal(out, stringifyOne);\n\tif (pendingStringifieds.length === 0) return firstTryMessage;\n\tconst registeredValues = new SMap$1(await Promise.all(pendingStringifieds));\n\tfunction stringifySecond(value) {\n\t\tconst asyncStringifiedIfRegistered = safeMapGet(registeredValues, value);\n\t\tif (asyncStringifiedIfRegistered !== void 0) return asyncStringifiedIfRegistered;\n\t\treturn stringify(value);\n\t}\n\treturn defaultReportMessageInternal(out, stringifySecond);\n}\n/** @internal */\nfunction buildError(errorMessage, out) {\n\tif (out.runConfiguration.includeErrorInReport) throw new SError(errorMessage);\n\tconst error = new SError(errorMessage, { cause: out.errorInstance });\n\tif (!(\"cause\" in error)) safeObjectAssign$5(error, { cause: out.errorInstance });\n\treturn error;\n}\n/** @internal */\nfunction throwIfFailed(out) {\n\tif (!out.failed) return;\n\tthrow buildError(defaultReportMessage(out), out);\n}\n/** @internal */\nasync function asyncThrowIfFailed(out) {\n\tif (!out.failed) return;\n\tthrow buildError(await asyncDefaultReportMessage(out), out);\n}\n/**\n* In case this code has to be executed synchronously the caller\n* has to make sure that no asyncReporter has been defined\n* otherwise it might trigger an unchecked promise\n* @internal\n*/\nfunction reportRunDetails(out) {\n\tif (out.runConfiguration.asyncReporter) return out.runConfiguration.asyncReporter(out);\n\telse if (out.runConfiguration.reporter) return out.runConfiguration.reporter(out);\n\telse return throwIfFailed(out);\n}\n/**\n* In case this code has to be executed synchronously the caller\n* has to make sure that no asyncReporter has been defined\n* otherwise it might trigger an unchecked promise\n* @internal\n*/\nasync function asyncReportRunDetails(out) {\n\tif (out.runConfiguration.asyncReporter) return out.runConfiguration.asyncReporter(out);\n\telse if (out.runConfiguration.reporter) return out.runConfiguration.reporter(out);\n\telse return asyncThrowIfFailed(out);\n}\n//#endregion\n//#region src/check/runner/Runner.ts\n/** @internal */\nfunction runIt(property, shrink, sourceValues, verbose, interruptedAsFailure) {\n\tconst runner = new RunnerIterator(sourceValues, shrink, verbose, interruptedAsFailure);\n\tfor (const v of runner) {\n\t\tproperty.runBeforeEach();\n\t\tconst out = property.run(v);\n\t\tproperty.runAfterEach();\n\t\trunner.handleResult(out);\n\t}\n\treturn runner.runExecution;\n}\n/** @internal */\nasync function asyncRunIt(property, shrink, sourceValues, verbose, interruptedAsFailure) {\n\tconst runner = new RunnerIterator(sourceValues, shrink, verbose, interruptedAsFailure);\n\tfor (const v of runner) {\n\t\tawait property.runBeforeEach();\n\t\tconst out = await property.run(v);\n\t\tawait property.runAfterEach();\n\t\trunner.handleResult(out);\n\t}\n\treturn runner.runExecution;\n}\nfunction check(rawProperty, params) {\n\tif (rawProperty === null || rawProperty === void 0 || rawProperty.generate === null || rawProperty.generate === void 0) throw new Error(\"Invalid property encountered, please use a valid property\");\n\tif (rawProperty.run === null || rawProperty.run === void 0) throw new Error(\"Invalid property encountered, please use a valid property not an arbitrary\");\n\tconst qParams = read({\n\t\t...readConfigureGlobal(),\n\t\t...params\n\t});\n\tif (qParams.reporter !== void 0 && qParams.asyncReporter !== void 0) throw new Error(\"Invalid parameters encountered, reporter and asyncReporter cannot be specified together\");\n\tif (qParams.asyncReporter !== void 0 && !rawProperty.isAsync()) throw new Error(\"Invalid parameters encountered, only asyncProperty can be used when asyncReporter specified\");\n\tconst property = decorateProperty(rawProperty, qParams);\n\tconst maxInitialIterations = qParams.path.length === 0 || qParams.path.indexOf(\":\") === -1 ? qParams.numRuns : -1;\n\tconst maxSkips = qParams.numRuns * qParams.maxSkipsPerRun;\n\tconst shrink = (...args) => property.shrink(...args);\n\tconst sourceValues = new SourceValuesIterator(qParams.path.length === 0 ? toss(property, qParams.seed, qParams.randomType, qParams.examples) : pathWalk(qParams.path, stream(lazyToss(property, qParams.seed, qParams.randomType, qParams.examples)), shrink), maxInitialIterations, maxSkips);\n\tconst finalShrink = !qParams.endOnFailure ? shrink : Stream.nil;\n\treturn property.isAsync() ? asyncRunIt(property, finalShrink, sourceValues, qParams.verbose, qParams.markInterruptAsFailure).then((e) => e.toRunDetails(qParams.seed, qParams.path, maxSkips, qParams)) : runIt(property, finalShrink, sourceValues, qParams.verbose, qParams.markInterruptAsFailure).toRunDetails(qParams.seed, qParams.path, maxSkips, qParams);\n}\nfunction assert(property, params) {\n\tconst out = check(property, params);\n\tif (property.isAsync()) return out.then(asyncReportRunDetails);\n\telse reportRunDetails(out);\n}\n//#endregion\n//#region src/check/runner/Sampler.ts\n/** @internal */\nfunction toProperty(generator, qParams) {\n\tconst prop = !Object.prototype.hasOwnProperty.call(generator, \"isAsync\") ? new Property(generator, () => true) : generator;\n\treturn qParams.unbiased === true ? new UnbiasedProperty(prop) : prop;\n}\n/** @internal */\nfunction streamSample(generator, params) {\n\tconst qParams = read(typeof params === \"number\" ? {\n\t\t...readConfigureGlobal(),\n\t\tnumRuns: params\n\t} : {\n\t\t...readConfigureGlobal(),\n\t\t...params\n\t});\n\tconst nextProperty = toProperty(generator, qParams);\n\tconst shrink = nextProperty.shrink.bind(nextProperty);\n\treturn (qParams.path.length === 0 ? stream(toss(nextProperty, qParams.seed, qParams.randomType, qParams.examples)) : pathWalk(qParams.path, stream(lazyToss(nextProperty, qParams.seed, qParams.randomType, qParams.examples)), shrink)).take(qParams.numRuns).map((s) => s.value_);\n}\n/**\n* Generate an array containing all the values that would have been generated during {@link assert} or {@link check}\n*\n* @example\n* ```typescript\n* fc.sample(fc.nat(), 10); // extract 10 values from fc.nat() Arbitrary\n* fc.sample(fc.nat(), {seed: 42}); // extract values from fc.nat() as if we were running fc.assert with seed=42\n* ```\n*\n* @param generator - {@link IProperty} or {@link Arbitrary} to extract the values from\n* @param params - Integer representing the number of values to generate or `Parameters` as in {@link assert}\n*\n* @remarks Since 0.0.6\n* @public\n*/\nfunction sample(generator, params) {\n\treturn [...streamSample(generator, params)];\n}\n/** @internal */\nfunction round2(n) {\n\treturn (Math.round(n * 100) / 100).toFixed(2);\n}\n/**\n* Gather useful statistics concerning generated values\n*\n* Print the result in `console.log` or `params.logger` (if defined)\n*\n* @example\n* ```typescript\n* fc.statistics(\n*     fc.nat(999),\n*     v => v < 100 ? 'Less than 100' : 'More or equal to 100',\n*     {numRuns: 1000, logger: console.log});\n* // Classify 1000 values generated by fc.nat(999) into two categories:\n* // - Less than 100\n* // - More or equal to 100\n* // The output will be sent line by line to the logger\n* ```\n*\n* @param generator - {@link IProperty} or {@link Arbitrary} to extract the values from\n* @param classify - Classifier function that can classify the generated value in zero, one or more categories (with free labels)\n* @param params - Integer representing the number of values to generate or `Parameters` as in {@link assert}\n*\n* @remarks Since 0.0.6\n* @public\n*/\nfunction statistics(generator, classify, params) {\n\tconst qParams = read(typeof params === \"number\" ? {\n\t\t...readConfigureGlobal(),\n\t\tnumRuns: params\n\t} : {\n\t\t...readConfigureGlobal(),\n\t\t...params\n\t});\n\tconst recorded = {};\n\tfor (const g of streamSample(generator, params)) {\n\t\tconst out = classify(g);\n\t\tconst categories = Array.isArray(out) ? out : [out];\n\t\tfor (const c of categories) recorded[c] = (recorded[c] || 0) + 1;\n\t}\n\tconst data = Object.entries(recorded).sort((a, b) => b[1] - a[1]).map((i) => [i[0], `${round2(i[1] * 100 / qParams.numRuns)}%`]);\n\tconst longestName = data.map((i) => i[0].length).reduce((p, c) => Math.max(p, c), 0);\n\tconst longestPercent = data.map((i) => i[1].length).reduce((p, c) => Math.max(p, c), 0);\n\tfor (const item of data) qParams.logger(`${item[0].padEnd(longestName, \".\")}..${item[1].padStart(longestPercent, \".\")}`);\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/GeneratorValueBuilder.ts\nconst safeObjectAssign$4 = Object.assign;\n/**\n* An internal builder of values of type {@link GeneratorValue}\n* @internal\n*/\nfunction buildGeneratorValue(mrng, biasFactor, computePreBuiltValues, arbitraryCache) {\n\tconst preBuiltValues = computePreBuiltValues();\n\tlet localMrng = mrng.clone();\n\tconst context = {\n\t\tmrng: mrng.clone(),\n\t\tbiasFactor,\n\t\thistory: []\n\t};\n\tconst valueFunction = (arb) => {\n\t\tconst preBuiltValue = preBuiltValues[context.history.length];\n\t\tif (preBuiltValue !== void 0 && preBuiltValue.arb === arb) {\n\t\t\tconst value = preBuiltValue.value;\n\t\t\tsafePush(context.history, {\n\t\t\t\tarb,\n\t\t\t\tvalue,\n\t\t\t\tcontext: preBuiltValue.context,\n\t\t\t\tmrng: preBuiltValue.mrng\n\t\t\t});\n\t\t\tlocalMrng = preBuiltValue.mrng.clone();\n\t\t\treturn value;\n\t\t}\n\t\tconst g = arb.generate(localMrng, biasFactor);\n\t\tsafePush(context.history, {\n\t\t\tarb,\n\t\t\tvalue: g.value_,\n\t\t\tcontext: g.context,\n\t\t\tmrng: localMrng.clone()\n\t\t});\n\t\treturn g.value;\n\t};\n\tconst memoedValueFunction = (arb, ...args) => {\n\t\treturn valueFunction(arbitraryCache(arb, args));\n\t};\n\treturn new Value(safeObjectAssign$4(memoedValueFunction, {\n\t\tvalues() {\n\t\t\treturn safeMap(context.history, (c) => c.value);\n\t\t},\n\t\t[cloneMethod]() {\n\t\t\treturn buildGeneratorValue(mrng, biasFactor, computePreBuiltValues, arbitraryCache).value;\n\t\t},\n\t\t[toStringMethod]() {\n\t\t\treturn stringify(safeMap(context.history, (c) => c.value));\n\t\t}\n\t}), context);\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/StableArbitraryGeneratorCache.ts\nconst safeArrayIsArray$3 = Array.isArray;\nconst safeObjectKeys$4 = Object.keys;\nconst safeObjectIs$7 = Object.is;\nfunction buildStableArbitraryGeneratorCache(isEqual) {\n\tconst previousCallsPerBuilder = new SMap$1();\n\treturn function stableArbitraryGeneratorCache(builder, args) {\n\t\tconst entriesForBuilder = safeMapGet(previousCallsPerBuilder, builder);\n\t\tif (entriesForBuilder === void 0) {\n\t\t\tconst newValue = builder(...args);\n\t\t\tsafeMapSet(previousCallsPerBuilder, builder, [{\n\t\t\t\targs,\n\t\t\t\tvalue: newValue\n\t\t\t}]);\n\t\t\treturn newValue;\n\t\t}\n\t\tconst safeEntriesForBuilder = entriesForBuilder;\n\t\tfor (const entry of safeEntriesForBuilder) if (isEqual(args, entry.args)) return entry.value;\n\t\tconst newValue = builder(...args);\n\t\tsafePush(safeEntriesForBuilder, {\n\t\t\targs,\n\t\t\tvalue: newValue\n\t\t});\n\t\treturn newValue;\n\t};\n}\nfunction naiveIsEqual(v1, v2) {\n\tif (v1 !== null && typeof v1 === \"object\" && v2 !== null && typeof v2 === \"object\") {\n\t\tif (safeArrayIsArray$3(v1)) {\n\t\t\tif (!safeArrayIsArray$3(v2)) return false;\n\t\t\tif (v1.length !== v2.length) return false;\n\t\t} else if (safeArrayIsArray$3(v2)) return false;\n\t\tif (safeObjectKeys$4(v1).length !== safeObjectKeys$4(v2).length) return false;\n\t\tfor (const index in v1) {\n\t\t\tif (!(index in v2)) return false;\n\t\t\tif (!naiveIsEqual(v1[index], v2[index])) return false;\n\t\t}\n\t\treturn true;\n\t} else return safeObjectIs$7(v1, v2);\n}\n//#endregion\n//#region src/arbitrary/_internals/GeneratorArbitrary.ts\n/**\n* The generator arbitrary is responsible to generate instances of {@link GeneratorValue}.\n* These instances can be used to produce \"random values\" within the tests themselves while still\n* providing a bit of shrinking capabilities (not all).\n*/\nvar GeneratorArbitrary = class extends Arbitrary {\n\tconstructor(..._args) {\n\t\tsuper(..._args);\n\t\tthis.arbitraryCache = buildStableArbitraryGeneratorCache(naiveIsEqual);\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\treturn buildGeneratorValue(mrng, biasFactor, () => [], this.arbitraryCache);\n\t}\n\tcanShrinkWithoutContext(_value) {\n\t\treturn false;\n\t}\n\tshrink(_value, context) {\n\t\tif (context === void 0) return Stream.nil();\n\t\tconst safeContext = context;\n\t\tconst mrng = safeContext.mrng;\n\t\tconst biasFactor = safeContext.biasFactor;\n\t\tconst history = safeContext.history;\n\t\treturn tupleShrink(history.map((c) => c.arb), history.map((c) => c.value), history.map((c) => c.context)).map((shrink) => {\n\t\t\tfunction computePreBuiltValues() {\n\t\t\t\tconst subValues = shrink.value;\n\t\t\t\tconst subContexts = shrink.context;\n\t\t\t\treturn safeMap(history, (entry, index) => ({\n\t\t\t\t\tarb: entry.arb,\n\t\t\t\t\tvalue: subValues[index],\n\t\t\t\t\tcontext: subContexts[index],\n\t\t\t\t\tmrng: entry.mrng\n\t\t\t\t}));\n\t\t\t}\n\t\t\treturn buildGeneratorValue(mrng, biasFactor, computePreBuiltValues, this.arbitraryCache);\n\t\t});\n\t}\n};\n//#endregion\n//#region src/arbitrary/gen.ts\n/**\n* Generate values within the test execution itself by leveraging the strength of `gen`\n*\n* @example\n* ```javascript\n* fc.assert(\n*   fc.property(fc.gen(), gen => {\n*     const size = gen(fc.nat, {max: 10});\n*     const array = [];\n*     for (let index = 0 ; index !== size ; ++index) {\n*       array.push(gen(fc.integer));\n*     }\n*     // Here is an array!\n*     // Note: Prefer fc.array(fc.integer(), {maxLength: 10}) if you want to produce such array\n*   })\n* )\n* ```\n*\n* ⚠️ WARNING:\n* While `gen` is easy to use, it may not shrink as well as tailored arbitraries based on `filter` or `map`.\n*\n* ⚠️ WARNING:\n* Additionally it cannot run back the test properly when attempting to replay based on a seed and a path.\n* You'll need to limit yourself to the seed and drop the path from the options if you attempt to replay something\n* implying it.  More precisely, you may keep the very first part of the path but have to drop anything after the\n* first \":\".\n*\n* ⚠️ WARNING:\n* It also does not support custom examples.\n*\n* @remarks Since 3.8.0\n* @public\n*/\nfunction gen() {\n\treturn new GeneratorArbitrary();\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/BiasNumericRange.ts\nconst safeMathFloor$6 = Math.floor;\nconst safeMathLog$2 = Math.log;\n/** @internal */\nfunction integerLogLike(v) {\n\treturn safeMathFloor$6(safeMathLog$2(v) / safeMathLog$2(2));\n}\n/** @internal */\nfunction bigIntLogLike(v) {\n\tif (v === SBigInt(0)) return SBigInt(0);\n\treturn SBigInt(SString(v).length);\n}\nfunction biasNumericRange(min, max, logLike) {\n\tif (min === max) return [{\n\t\tmin,\n\t\tmax\n\t}];\n\tif (min < 0 && max > 0) {\n\t\tconst logMin = logLike(-min);\n\t\tconst logMax = logLike(max);\n\t\treturn [\n\t\t\t{\n\t\t\t\tmin: -logMin,\n\t\t\t\tmax: logMax\n\t\t\t},\n\t\t\t{\n\t\t\t\tmin: max - logMax,\n\t\t\t\tmax\n\t\t\t},\n\t\t\t{\n\t\t\t\tmin,\n\t\t\t\tmax: min + logMin\n\t\t\t}\n\t\t];\n\t}\n\tconst logGap = logLike(max - min);\n\tconst arbCloseToMin = {\n\t\tmin,\n\t\tmax: min + logGap\n\t};\n\tconst arbCloseToMax = {\n\t\tmin: max - logGap,\n\t\tmax\n\t};\n\treturn min < 0 ? [arbCloseToMax, arbCloseToMin] : [arbCloseToMin, arbCloseToMax];\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/ShrinkInteger.ts\nconst safeMathCeil = Math.ceil;\nconst safeMathFloor$5 = Math.floor;\n/** @internal */\nfunction halvePosInteger(n) {\n\treturn safeMathFloor$5(n / 2);\n}\n/** @internal */\nfunction halveNegInteger(n) {\n\treturn safeMathCeil(n / 2);\n}\n/**\n* Compute shrunk values to move from current to target\n* @internal\n*/\nfunction shrinkInteger(current, target, tryTargetAsap) {\n\tconst realGap = current - target;\n\tfunction* shrinkDecr() {\n\t\tlet previous = tryTargetAsap ? void 0 : target;\n\t\tconst gap = tryTargetAsap ? realGap : halvePosInteger(realGap);\n\t\tfor (let toremove = gap; toremove > 0; toremove = halvePosInteger(toremove)) {\n\t\t\tconst next = toremove === realGap ? target : current - toremove;\n\t\t\tyield new Value(next, previous);\n\t\t\tprevious = next;\n\t\t}\n\t}\n\tfunction* shrinkIncr() {\n\t\tlet previous = tryTargetAsap ? void 0 : target;\n\t\tconst gap = tryTargetAsap ? realGap : halveNegInteger(realGap);\n\t\tfor (let toremove = gap; toremove < 0; toremove = halveNegInteger(toremove)) {\n\t\t\tconst next = toremove === realGap ? target : current - toremove;\n\t\t\tyield new Value(next, previous);\n\t\t\tprevious = next;\n\t\t}\n\t}\n\treturn realGap > 0 ? stream(shrinkDecr()) : stream(shrinkIncr());\n}\n//#endregion\n//#region src/arbitrary/_internals/IntegerArbitrary.ts\nconst safeMathSign = Math.sign;\nconst safeNumberIsInteger$6 = Number.isInteger;\nconst safeObjectIs$6 = Object.is;\n/** @internal */\nvar IntegerArbitrary = class IntegerArbitrary extends Arbitrary {\n\tconstructor(min, max) {\n\t\tsuper();\n\t\tthis.min = min;\n\t\tthis.max = max;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst range = this.computeGenerateRange(mrng, biasFactor);\n\t\treturn new Value(mrng.nextInt(range.min, range.max), void 0);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\treturn typeof value === \"number\" && safeNumberIsInteger$6(value) && !safeObjectIs$6(value, -0) && this.min <= value && value <= this.max;\n\t}\n\tshrink(current, context) {\n\t\tif (!IntegerArbitrary.isValidContext(current, context)) return shrinkInteger(current, this.defaultTarget(), true);\n\t\tif (this.isLastChanceTry(current, context)) return Stream.of(new Value(context, void 0));\n\t\treturn shrinkInteger(current, context, false);\n\t}\n\tdefaultTarget() {\n\t\tif (this.min <= 0 && this.max >= 0) return 0;\n\t\treturn this.min < 0 ? this.max : this.min;\n\t}\n\tcomputeGenerateRange(mrng, biasFactor) {\n\t\tif (biasFactor === void 0 || mrng.nextInt(1, biasFactor) !== 1) return {\n\t\t\tmin: this.min,\n\t\t\tmax: this.max\n\t\t};\n\t\tconst ranges = biasNumericRange(this.min, this.max, integerLogLike);\n\t\tif (ranges.length === 1) return ranges[0];\n\t\tconst id = mrng.nextInt(-2 * (ranges.length - 1), ranges.length - 2);\n\t\treturn id < 0 ? ranges[0] : ranges[id + 1];\n\t}\n\tisLastChanceTry(current, context) {\n\t\tif (current > 0) return current === context + 1 && current > this.min;\n\t\tif (current < 0) return current === context - 1 && current < this.max;\n\t\treturn false;\n\t}\n\tstatic isValidContext(current, context) {\n\t\tif (context === void 0) return false;\n\t\tif (typeof context !== \"number\") throw new Error(`Invalid context type passed to IntegerArbitrary (#1)`);\n\t\tif (context !== 0 && safeMathSign(current) !== safeMathSign(context)) throw new Error(`Invalid context value passed to IntegerArbitrary (#2)`);\n\t\treturn true;\n\t}\n};\n//#endregion\n//#region src/arbitrary/integer.ts\nconst safeNumberIsInteger$5 = Number.isInteger;\n/**\n* Build fully set IntegerConstraints from a partial data\n* @internal\n*/\nfunction buildCompleteIntegerConstraints(constraints) {\n\treturn {\n\t\tmin: constraints.min !== void 0 ? constraints.min : -2147483648,\n\t\tmax: constraints.max !== void 0 ? constraints.max : 2147483647\n\t};\n}\n/**\n* For integers between min (included) and max (included)\n*\n* @param constraints - Constraints to apply when building instances (since 2.6.0)\n*\n* @remarks Since 0.0.1\n* @public\n*/\nfunction integer(constraints = {}) {\n\tconst fullConstraints = buildCompleteIntegerConstraints(constraints);\n\tif (fullConstraints.min > fullConstraints.max) throw new Error(\"fc.integer maximum value should be equal or greater than the minimum one\");\n\tif (!safeNumberIsInteger$5(fullConstraints.min)) throw new Error(\"fc.integer minimum value should be an integer\");\n\tif (!safeNumberIsInteger$5(fullConstraints.max)) throw new Error(\"fc.integer maximum value should be an integer\");\n\treturn new IntegerArbitrary(fullConstraints.min, fullConstraints.max);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/DepthContext.ts\n/**\n* Internal cache for depth contexts\n* @internal\n*/\nconst depthContextCache = /* @__PURE__ */ new Map();\n/**\n* Get back the requested DepthContext\n* @remarks Since 2.25.0\n* @public\n*/\nfunction getDepthContextFor(contextMeta) {\n\tif (contextMeta === void 0) return { depth: 0 };\n\tif (typeof contextMeta !== \"string\") return contextMeta;\n\tconst cachedContext = safeMapGet(depthContextCache, contextMeta);\n\tif (cachedContext !== void 0) return cachedContext;\n\tconst context = { depth: 0 };\n\tsafeMapSet(depthContextCache, contextMeta, context);\n\treturn context;\n}\n/**\n* Create a new and unique instance of DepthIdentifier\n* that can be shared across multiple arbitraries if needed\n* @public\n*/\nfunction createDepthIdentifier() {\n\treturn { depth: 0 };\n}\n//#endregion\n//#region src/arbitrary/_internals/implementations/NoopSlicedGenerator.ts\n/** @internal */\nvar NoopSlicedGenerator = class {\n\tconstructor(arb, mrng, biasFactor) {\n\t\tthis.arb = arb;\n\t\tthis.mrng = mrng;\n\t\tthis.biasFactor = biasFactor;\n\t}\n\tattemptExact() {}\n\tnext() {\n\t\treturn this.arb.generate(this.mrng, this.biasFactor);\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/implementations/SlicedBasedGenerator.ts\nconst safeMathMin$5 = Math.min;\nconst safeMathMax$3 = Math.max;\n/** @internal */\nvar SlicedBasedGenerator = class {\n\tconstructor(arb, mrng, slices, biasFactor) {\n\t\tthis.arb = arb;\n\t\tthis.mrng = mrng;\n\t\tthis.slices = slices;\n\t\tthis.biasFactor = biasFactor;\n\t\tthis.activeSliceIndex = 0;\n\t\tthis.nextIndexInSlice = 0;\n\t\tthis.lastIndexInSlice = -1;\n\t}\n\tattemptExact(targetLength) {\n\t\tif (targetLength !== 0 && this.mrng.nextInt(1, this.biasFactor) === 1) {\n\t\t\tconst eligibleIndices = [];\n\t\t\tfor (let index = 0; index !== this.slices.length; ++index) if (this.slices[index].length === targetLength) safePush(eligibleIndices, index);\n\t\t\tif (eligibleIndices.length === 0) return;\n\t\t\tthis.activeSliceIndex = eligibleIndices[this.mrng.nextInt(0, eligibleIndices.length - 1)];\n\t\t\tthis.nextIndexInSlice = 0;\n\t\t\tthis.lastIndexInSlice = targetLength - 1;\n\t\t}\n\t}\n\tnext() {\n\t\tif (this.nextIndexInSlice <= this.lastIndexInSlice) return new Value(this.slices[this.activeSliceIndex][this.nextIndexInSlice++], void 0);\n\t\tif (this.mrng.nextInt(1, this.biasFactor) !== 1) return this.arb.generate(this.mrng, this.biasFactor);\n\t\tthis.activeSliceIndex = this.mrng.nextInt(0, this.slices.length - 1);\n\t\tconst slice = this.slices[this.activeSliceIndex];\n\t\tif (this.mrng.nextInt(1, this.biasFactor) !== 1) {\n\t\t\tthis.nextIndexInSlice = 1;\n\t\t\tthis.lastIndexInSlice = slice.length - 1;\n\t\t\treturn new Value(slice[0], void 0);\n\t\t}\n\t\tconst rangeBoundaryA = this.mrng.nextInt(0, slice.length - 1);\n\t\tconst rangeBoundaryB = this.mrng.nextInt(0, slice.length - 1);\n\t\tthis.nextIndexInSlice = safeMathMin$5(rangeBoundaryA, rangeBoundaryB);\n\t\tthis.lastIndexInSlice = safeMathMax$3(rangeBoundaryA, rangeBoundaryB);\n\t\treturn new Value(slice[this.nextIndexInSlice++], void 0);\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/helpers/BuildSlicedGenerator.ts\n/**\n* Build a {@link SlicedGenerator}\n*\n* @param arb - Arbitrary able to generate values\n* @param mrng - Random number generator\n* @param slices - Slices to be used (WARNING: while we accept no slices, slices themselves must never empty)\n* @param biasFactor - The current bias factor\n*\n* @internal\n*/\nfunction buildSlicedGenerator(arb, mrng, slices, biasFactor) {\n\tif (biasFactor === void 0 || slices.length === 0 || mrng.nextInt(1, biasFactor) !== 1) return new NoopSlicedGenerator(arb, mrng, biasFactor);\n\treturn new SlicedBasedGenerator(arb, mrng, slices, biasFactor);\n}\n//#endregion\n//#region src/arbitrary/_internals/ArrayArbitrary.ts\nconst safeMathFloor$4 = Math.floor;\nconst safeMathLog$1 = Math.log;\nconst safeMathMax$2 = Math.max;\nconst safeArrayIsArray$2 = Array.isArray;\n/** @internal */\nfunction biasedMaxLength(minLength, maxLength) {\n\tif (minLength === maxLength) return minLength;\n\treturn minLength + safeMathFloor$4(safeMathLog$1(maxLength - minLength) / safeMathLog$1(2));\n}\n/** @internal */\nvar ArrayArbitrary = class ArrayArbitrary extends Arbitrary {\n\tconstructor(arb, minLength, maxGeneratedLength, maxLength, depthIdentifier, setBuilder, customSlices) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t\tthis.minLength = minLength;\n\t\tthis.maxGeneratedLength = maxGeneratedLength;\n\t\tthis.maxLength = maxLength;\n\t\tthis.setBuilder = setBuilder;\n\t\tthis.customSlices = customSlices;\n\t\tthis.lengthArb = integer({\n\t\t\tmin: minLength,\n\t\t\tmax: maxGeneratedLength\n\t\t});\n\t\tthis.depthContext = getDepthContextFor(depthIdentifier);\n\t}\n\tpreFilter(tab) {\n\t\tif (this.setBuilder === void 0) return tab;\n\t\tconst s = this.setBuilder();\n\t\tfor (let index = 0; index !== tab.length; ++index) s.tryAdd(tab[index]);\n\t\treturn s.getData();\n\t}\n\tstatic makeItCloneable(vs, shrinkables) {\n\t\tvs[cloneMethod] = () => {\n\t\t\tconst cloned = [];\n\t\t\tfor (let idx = 0; idx !== shrinkables.length; ++idx) safePush(cloned, shrinkables[idx].value);\n\t\t\tthis.makeItCloneable(cloned, shrinkables);\n\t\t\treturn cloned;\n\t\t};\n\t\treturn vs;\n\t}\n\tgenerateNItemsNoDuplicates(setBuilder, N, mrng, biasFactorItems) {\n\t\tlet numSkippedInRow = 0;\n\t\tconst s = setBuilder();\n\t\tconst slicedGenerator = buildSlicedGenerator(this.arb, mrng, this.customSlices, biasFactorItems);\n\t\twhile (s.size() < N && numSkippedInRow < this.maxGeneratedLength) {\n\t\t\tconst current = slicedGenerator.next();\n\t\t\tif (s.tryAdd(current)) numSkippedInRow = 0;\n\t\t\telse numSkippedInRow += 1;\n\t\t}\n\t\treturn s.getData();\n\t}\n\tsafeGenerateNItemsNoDuplicates(setBuilder, N, mrng, biasFactorItems) {\n\t\tconst depthImpact = safeMathMax$2(0, N - biasedMaxLength(this.minLength, this.maxGeneratedLength));\n\t\tthis.depthContext.depth += depthImpact;\n\t\ttry {\n\t\t\treturn this.generateNItemsNoDuplicates(setBuilder, N, mrng, biasFactorItems);\n\t\t} finally {\n\t\t\tthis.depthContext.depth -= depthImpact;\n\t\t}\n\t}\n\tgenerateNItems(N, mrng, biasFactorItems) {\n\t\tconst items = [];\n\t\tconst slicedGenerator = buildSlicedGenerator(this.arb, mrng, this.customSlices, biasFactorItems);\n\t\tslicedGenerator.attemptExact(N);\n\t\tfor (let index = 0; index !== N; ++index) safePush(items, slicedGenerator.next());\n\t\treturn items;\n\t}\n\tsafeGenerateNItems(N, mrng, biasFactorItems) {\n\t\tconst depthImpact = safeMathMax$2(0, N - biasedMaxLength(this.minLength, this.maxGeneratedLength));\n\t\tthis.depthContext.depth += depthImpact;\n\t\ttry {\n\t\t\treturn this.generateNItems(N, mrng, biasFactorItems);\n\t\t} finally {\n\t\t\tthis.depthContext.depth -= depthImpact;\n\t\t}\n\t}\n\twrapper(itemsRaw, shrunkOnce, itemsRawLengthContext, startIndex) {\n\t\tconst items = shrunkOnce ? this.preFilter(itemsRaw) : itemsRaw;\n\t\tlet cloneable = false;\n\t\tconst vs = [];\n\t\tconst itemsContexts = [];\n\t\tfor (let idx = 0; idx !== items.length; ++idx) {\n\t\t\tconst s = items[idx];\n\t\t\tcloneable = cloneable || s.hasToBeCloned;\n\t\t\tsafePush(vs, s.value);\n\t\t\tsafePush(itemsContexts, s.context);\n\t\t}\n\t\tif (cloneable) ArrayArbitrary.makeItCloneable(vs, items);\n\t\treturn new Value(vs, {\n\t\t\tshrunkOnce,\n\t\t\tlengthContext: itemsRaw.length === items.length && itemsRawLengthContext !== void 0 ? itemsRawLengthContext : void 0,\n\t\t\titemsContexts,\n\t\t\tstartIndex\n\t\t});\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst biasMeta = this.applyBias(mrng, biasFactor);\n\t\tconst targetSize = biasMeta.size;\n\t\tconst items = this.setBuilder !== void 0 ? this.safeGenerateNItemsNoDuplicates(this.setBuilder, targetSize, mrng, biasMeta.biasFactorItems) : this.safeGenerateNItems(targetSize, mrng, biasMeta.biasFactorItems);\n\t\treturn this.wrapper(items, false, void 0, 0);\n\t}\n\tapplyBias(mrng, biasFactor) {\n\t\tif (biasFactor === void 0) return { size: this.lengthArb.generate(mrng, void 0).value };\n\t\tif (this.minLength === this.maxGeneratedLength) return {\n\t\t\tsize: this.lengthArb.generate(mrng, void 0).value,\n\t\t\tbiasFactorItems: biasFactor\n\t\t};\n\t\tif (mrng.nextInt(1, biasFactor) !== 1) return { size: this.lengthArb.generate(mrng, void 0).value };\n\t\tif (mrng.nextInt(1, biasFactor) !== 1 || this.minLength === this.maxGeneratedLength) return {\n\t\t\tsize: this.lengthArb.generate(mrng, void 0).value,\n\t\t\tbiasFactorItems: biasFactor\n\t\t};\n\t\tconst maxBiasedLength = biasedMaxLength(this.minLength, this.maxGeneratedLength);\n\t\treturn {\n\t\t\tsize: integer({\n\t\t\t\tmin: this.minLength,\n\t\t\t\tmax: maxBiasedLength\n\t\t\t}).generate(mrng, void 0).value,\n\t\t\tbiasFactorItems: biasFactor\n\t\t};\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\tif (!safeArrayIsArray$2(value) || this.minLength > value.length || value.length > this.maxLength) return false;\n\t\tfor (let index = 0; index !== value.length; ++index) {\n\t\t\tif (!(index in value)) return false;\n\t\t\tif (!this.arb.canShrinkWithoutContext(value[index])) return false;\n\t\t}\n\t\treturn this.preFilter(safeMap(value, (item) => new Value(item, void 0))).length === value.length;\n\t}\n\tshrinkItemByItem(value, safeContext, endIndex) {\n\t\tconst shrinks = [];\n\t\tfor (let index = safeContext.startIndex; index < endIndex; ++index) safePush(shrinks, makeLazy(() => this.arb.shrink(value[index], safeContext.itemsContexts[index]).map((v) => {\n\t\t\tconst beforeCurrent = safeMap(safeSlice(value, 0, index), (v, i) => new Value(cloneIfNeeded(v), safeContext.itemsContexts[i]));\n\t\t\tconst afterCurrent = safeMap(safeSlice(value, index + 1), (v, i) => new Value(cloneIfNeeded(v), safeContext.itemsContexts[i + index + 1]));\n\t\t\treturn [\n\t\t\t\t[\n\t\t\t\t\t...beforeCurrent,\n\t\t\t\t\tv,\n\t\t\t\t\t...afterCurrent\n\t\t\t\t],\n\t\t\t\tvoid 0,\n\t\t\t\tindex\n\t\t\t];\n\t\t})));\n\t\treturn Stream.nil().join(...shrinks);\n\t}\n\tshrinkImpl(value, context) {\n\t\tif (value.length === 0) return Stream.nil();\n\t\tconst safeContext = context !== void 0 ? context : {\n\t\t\tshrunkOnce: false,\n\t\t\tlengthContext: void 0,\n\t\t\titemsContexts: [],\n\t\t\tstartIndex: 0\n\t\t};\n\t\treturn this.lengthArb.shrink(value.length, safeContext.lengthContext).drop(safeContext.shrunkOnce && safeContext.lengthContext === void 0 && value.length > this.minLength + 1 ? 1 : 0).map((lengthValue) => {\n\t\t\tconst sliceStart = value.length - lengthValue.value;\n\t\t\treturn [\n\t\t\t\tsafeMap(safeSlice(value, sliceStart), (v, index) => new Value(cloneIfNeeded(v), safeContext.itemsContexts[index + sliceStart])),\n\t\t\t\tlengthValue.context,\n\t\t\t\t0\n\t\t\t];\n\t\t}).join(makeLazy(() => value.length > this.minLength ? this.shrinkItemByItem(value, safeContext, 1) : this.shrinkItemByItem(value, safeContext, value.length))).join(value.length > this.minLength ? makeLazy(() => {\n\t\t\tconst subContext = {\n\t\t\t\tshrunkOnce: false,\n\t\t\t\tlengthContext: void 0,\n\t\t\t\titemsContexts: safeSlice(safeContext.itemsContexts, 1),\n\t\t\t\tstartIndex: 0\n\t\t\t};\n\t\t\treturn this.shrinkImpl(safeSlice(value, 1), subContext).filter((v) => this.minLength <= v[0].length + 1).map((v) => {\n\t\t\t\treturn [\n\t\t\t\t\t[new Value(cloneIfNeeded(value[0]), safeContext.itemsContexts[0]), ...v[0]],\n\t\t\t\t\tvoid 0,\n\t\t\t\t\t0\n\t\t\t\t];\n\t\t\t});\n\t\t}) : Stream.nil());\n\t}\n\tshrink(value, context) {\n\t\treturn this.shrinkImpl(value, context).map((contextualValue) => this.wrapper(contextualValue[0], true, contextualValue[1], contextualValue[2]));\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/helpers/MaxLengthFromMinLength.ts\nconst safeMathFloor$3 = Math.floor;\nconst safeMathMin$4 = Math.min;\n/**\n* Shared upper bound for max length of array-like entities handled within fast-check\n*\n* \"Every Array object has a non-configurable \"length\" property whose value is always a nonnegative integer less than 2^32.\"\n* See {@link https://262.ecma-international.org/11.0/#sec-array-exotic-objects | ECMAScript Specifications}\n*\n* \"The String type is the set of all ordered sequences [...] up to a maximum length of 2^53 - 1 elements.\"\n* See {@link https://262.ecma-international.org/11.0/#sec-ecmascript-language-types-string-type | ECMAScript Specifications}\n*\n* @internal\n*/\nconst MaxLengthUpperBound = 2147483647;\n/** @internal */\nconst orderedSize = [\n\t\"xsmall\",\n\t\"small\",\n\t\"medium\",\n\t\"large\",\n\t\"xlarge\"\n];\n/** @internal */\nconst orderedRelativeSize = [\n\t\"-4\",\n\t\"-3\",\n\t\"-2\",\n\t\"-1\",\n\t\"=\",\n\t\"+1\",\n\t\"+2\",\n\t\"+3\",\n\t\"+4\"\n];\n/**\n* The default size used by fast-check\n* @internal\n*/\nconst DefaultSize = \"small\";\n/**\n* Compute `maxLength` based on `minLength` and `size`\n* @internal\n*/\nfunction maxLengthFromMinLength(minLength, size) {\n\tswitch (size) {\n\t\tcase \"xsmall\": return safeMathFloor$3(1.1 * minLength) + 1;\n\t\tcase \"small\": return 2 * minLength + 10;\n\t\tcase \"medium\": return 11 * minLength + 100;\n\t\tcase \"large\": return 101 * minLength + 1e3;\n\t\tcase \"xlarge\": return 1001 * minLength + 1e4;\n\t\tdefault: throw new Error(`Unable to compute lengths based on received size: ${size}`);\n\t}\n}\n/**\n* Transform a RelativeSize|Size into a Size\n* @internal\n*/\nfunction relativeSizeToSize(size, defaultSize) {\n\tconst sizeInRelative = safeIndexOf(orderedRelativeSize, size);\n\tif (sizeInRelative === -1) return size;\n\tconst defaultSizeInSize = safeIndexOf(orderedSize, defaultSize);\n\tif (defaultSizeInSize === -1) throw new Error(`Unable to offset size based on the unknown defaulted one: ${defaultSize}`);\n\tconst resultingSizeInSize = defaultSizeInSize + sizeInRelative - 4;\n\treturn resultingSizeInSize < 0 ? orderedSize[0] : resultingSizeInSize >= orderedSize.length ? orderedSize[orderedSize.length - 1] : orderedSize[resultingSizeInSize];\n}\n/**\n* Compute `maxGeneratedLength` based on `minLength`, `maxLength` and `size`\n* @param size - Size defined by the caller on the arbitrary\n* @param minLength - Considered minimal length\n* @param maxLength - Considered maximal length\n* @param specifiedMaxLength - Whether or not the caller specified the max (true) or if it has been defaulted (false)\n* @internal\n*/\nfunction maxGeneratedLengthFromSizeForArbitrary(size, minLength, maxLength, specifiedMaxLength) {\n\tconst { baseSize: defaultSize = DefaultSize, defaultSizeToMaxWhenMaxSpecified } = readConfigureGlobal() || {};\n\tconst definedSize = size !== void 0 ? size : specifiedMaxLength && defaultSizeToMaxWhenMaxSpecified ? \"max\" : defaultSize;\n\tif (definedSize === \"max\") return maxLength;\n\treturn safeMathMin$4(maxLengthFromMinLength(minLength, relativeSizeToSize(definedSize, defaultSize)), maxLength);\n}\n/**\n* Compute `depthSize` based on `size`\n* @param size - Size or depthSize defined by the caller on the arbitrary\n* @param specifiedMaxDepth - Whether or not the caller specified a max depth\n* @internal\n*/\nfunction depthBiasFromSizeForArbitrary(depthSizeOrSize, specifiedMaxDepth) {\n\tif (typeof depthSizeOrSize === \"number\") return 1 / depthSizeOrSize;\n\tconst { baseSize: defaultSize = DefaultSize, defaultSizeToMaxWhenMaxSpecified } = readConfigureGlobal() || {};\n\tconst definedSize = depthSizeOrSize !== void 0 ? depthSizeOrSize : specifiedMaxDepth && defaultSizeToMaxWhenMaxSpecified ? \"max\" : defaultSize;\n\tif (definedSize === \"max\") return 0;\n\tswitch (relativeSizeToSize(definedSize, defaultSize)) {\n\t\tcase \"xsmall\": return 1;\n\t\tcase \"small\": return .5;\n\t\tcase \"medium\": return .25;\n\t\tcase \"large\": return .125;\n\t\tcase \"xlarge\": return .0625;\n\t}\n}\n/**\n* Resolve the size that should be used given the current context\n* @param size - Size defined by the caller on the arbitrary\n*/\nfunction resolveSize(size) {\n\tconst { baseSize: defaultSize = DefaultSize } = readConfigureGlobal() || {};\n\tif (size === void 0) return defaultSize;\n\treturn relativeSizeToSize(size, defaultSize);\n}\n//#endregion\n//#region src/arbitrary/array.ts\n/**\n* For arrays of values coming from `arb`\n*\n* @param arb - Arbitrary used to generate the values inside the array\n* @param constraints - Constraints to apply when building instances (since 2.4.0)\n*\n* @remarks Since 0.0.1\n* @public\n*/\nfunction array(arb, constraints = {}) {\n\tconst size = constraints.size;\n\tconst minLength = constraints.minLength || 0;\n\tconst maxLengthOrUnset = constraints.maxLength;\n\tconst depthIdentifier = constraints.depthIdentifier;\n\tconst maxLength = maxLengthOrUnset !== void 0 ? maxLengthOrUnset : MaxLengthUpperBound;\n\treturn new ArrayArbitrary(arb, minLength, maxGeneratedLengthFromSizeForArbitrary(size, minLength, maxLength, maxLengthOrUnset !== void 0), maxLength, depthIdentifier, void 0, constraints.experimentalCustomSlices || []);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/ShrinkBigInt.ts\n/**\n* Halve towards zero\n* @internal\n*/\nfunction halveBigInt(n) {\n\treturn n / SBigInt(2);\n}\n/**\n* Compute shrunk values to move from current to target\n* @internal\n*/\nfunction shrinkBigInt(current, target, tryTargetAsap) {\n\tconst realGap = current - target;\n\tfunction* shrinkDecr() {\n\t\tlet previous = tryTargetAsap ? void 0 : target;\n\t\tconst gap = tryTargetAsap ? realGap : halveBigInt(realGap);\n\t\tfor (let toremove = gap; toremove > 0; toremove = halveBigInt(toremove)) {\n\t\t\tconst next = current - toremove;\n\t\t\tyield new Value(next, previous);\n\t\t\tprevious = next;\n\t\t}\n\t}\n\tfunction* shrinkIncr() {\n\t\tlet previous = tryTargetAsap ? void 0 : target;\n\t\tconst gap = tryTargetAsap ? realGap : halveBigInt(realGap);\n\t\tfor (let toremove = gap; toremove < 0; toremove = halveBigInt(toremove)) {\n\t\t\tconst next = current - toremove;\n\t\t\tyield new Value(next, previous);\n\t\t\tprevious = next;\n\t\t}\n\t}\n\treturn realGap > 0 ? stream(shrinkDecr()) : stream(shrinkIncr());\n}\n//#endregion\n//#region src/arbitrary/_internals/BigIntArbitrary.ts\n/** @internal */\nvar BigIntArbitrary = class BigIntArbitrary extends Arbitrary {\n\tconstructor(min, max) {\n\t\tsuper();\n\t\tthis.min = min;\n\t\tthis.max = max;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst range = this.computeGenerateRange(mrng, biasFactor);\n\t\treturn new Value(mrng.nextBigInt(range.min, range.max), void 0);\n\t}\n\tcomputeGenerateRange(mrng, biasFactor) {\n\t\tif (biasFactor === void 0 || mrng.nextInt(1, biasFactor) !== 1) return {\n\t\t\tmin: this.min,\n\t\t\tmax: this.max\n\t\t};\n\t\tconst ranges = biasNumericRange(this.min, this.max, bigIntLogLike);\n\t\tif (ranges.length === 1) return ranges[0];\n\t\tconst id = mrng.nextInt(-2 * (ranges.length - 1), ranges.length - 2);\n\t\treturn id < 0 ? ranges[0] : ranges[id + 1];\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\treturn typeof value === \"bigint\" && this.min <= value && value <= this.max;\n\t}\n\tshrink(current, context) {\n\t\tif (!BigIntArbitrary.isValidContext(current, context)) return shrinkBigInt(current, this.defaultTarget(), true);\n\t\tif (this.isLastChanceTry(current, context)) return Stream.of(new Value(context, void 0));\n\t\treturn shrinkBigInt(current, context, false);\n\t}\n\tdefaultTarget() {\n\t\tif (this.min <= 0 && this.max >= 0) return SBigInt(0);\n\t\treturn this.min < 0 ? this.max : this.min;\n\t}\n\tisLastChanceTry(current, context) {\n\t\tif (current > 0) return current === context + SBigInt(1) && current > this.min;\n\t\tif (current < 0) return current === context - SBigInt(1) && current < this.max;\n\t\treturn false;\n\t}\n\tstatic isValidContext(current, context) {\n\t\tif (context === void 0) return false;\n\t\tif (typeof context !== \"bigint\") throw new Error(`Invalid context type passed to BigIntArbitrary (#1)`);\n\t\tconst differentSigns = current > 0 && context < 0 || current < 0 && context > 0;\n\t\tif (context !== SBigInt(0) && differentSigns) throw new Error(`Invalid context value passed to BigIntArbitrary (#2)`);\n\t\treturn true;\n\t}\n};\n//#endregion\n//#region src/arbitrary/bigInt.ts\n/**\n* Build fully set BigIntConstraints from a partial data\n* @internal\n*/\nfunction buildCompleteBigIntConstraints(constraints) {\n\tconst DefaultPow = 256;\n\tconst DefaultMin = SBigInt(-1) << SBigInt(DefaultPow - 1);\n\tconst DefaultMax = (SBigInt(1) << SBigInt(DefaultPow - 1)) - SBigInt(1);\n\tconst min = constraints.min;\n\tconst max = constraints.max;\n\treturn {\n\t\tmin: min !== void 0 ? min : DefaultMin - (max !== void 0 && max < SBigInt(0) ? max * max : SBigInt(0)),\n\t\tmax: max !== void 0 ? max : DefaultMax + (min !== void 0 && min > SBigInt(0) ? min * min : SBigInt(0))\n\t};\n}\n/**\n* Extract constraints from args received by bigint\n* @internal\n*/\nfunction extractBigIntConstraints(args) {\n\tif (args[0] === void 0) return {};\n\tif (args[1] === void 0) return args[0];\n\treturn {\n\t\tmin: args[0],\n\t\tmax: args[1]\n\t};\n}\nfunction bigInt(...args) {\n\tconst constraints = buildCompleteBigIntConstraints(extractBigIntConstraints(args));\n\tif (constraints.min > constraints.max) throw new Error(\"fc.bigInt expects max to be greater than or equal to min\");\n\treturn new BigIntArbitrary(constraints.min, constraints.max);\n}\n//#endregion\n//#region src/arbitrary/noBias.ts\nconst stableObjectGetPrototypeOf$1 = Object.getPrototypeOf;\n/** @internal */\nvar NoBiasArbitrary = class extends Arbitrary {\n\tconstructor(arb) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t}\n\tgenerate(mrng, _biasFactor) {\n\t\treturn this.arb.generate(mrng, void 0);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\treturn this.arb.canShrinkWithoutContext(value);\n\t}\n\tshrink(value, context) {\n\t\treturn this.arb.shrink(value, context);\n\t}\n};\n/**\n* Build an arbitrary without any bias.\n*\n* The produced instance wraps the source one and ensures the bias factor will always be passed to undefined meaning bias will be deactivated.\n* All the rest stays unchanged.\n*\n* @param arb - The original arbitrary used for generating values. This arbitrary remains unchanged.\n*\n* @remarks Since 3.20.0\n* @public\n*/\nfunction noBias(arb) {\n\tif (stableObjectGetPrototypeOf$1(arb) === NoBiasArbitrary.prototype && arb.generate === NoBiasArbitrary.prototype.generate && arb.canShrinkWithoutContext === NoBiasArbitrary.prototype.canShrinkWithoutContext && arb.shrink === NoBiasArbitrary.prototype.shrink) return arb;\n\treturn new NoBiasArbitrary(arb);\n}\n//#endregion\n//#region src/arbitrary/boolean.ts\n/** @internal */\nfunction booleanMapper(v) {\n\treturn v === 1;\n}\n/** @internal */\nfunction booleanUnmapper(v) {\n\tif (typeof v !== \"boolean\") throw new Error(\"Unsupported input type\");\n\treturn v === true ? 1 : 0;\n}\n/**\n* For boolean values - `true` or `false`\n* @remarks Since 0.0.6\n* @public\n*/\nfunction boolean() {\n\treturn noBias(integer({\n\t\tmin: 0,\n\t\tmax: 1\n\t}).map(booleanMapper, booleanUnmapper));\n}\n//#endregion\n//#region src/arbitrary/_internals/ConstantArbitrary.ts\nconst safeObjectIs$5 = Object.is;\n/** @internal */\nvar FastConstantValuesLookup = class {\n\tconstructor(values) {\n\t\tthis.values = values;\n\t\tthis.fastValues = new SSet(this.values);\n\t\tlet hasMinusZero = false;\n\t\tlet hasPlusZero = false;\n\t\tif (safeHas(this.fastValues, 0)) for (let idx = 0; idx !== this.values.length; ++idx) {\n\t\t\tconst value = this.values[idx];\n\t\t\thasMinusZero = hasMinusZero || safeObjectIs$5(value, -0);\n\t\t\thasPlusZero = hasPlusZero || safeObjectIs$5(value, 0);\n\t\t}\n\t\tthis.hasMinusZero = hasMinusZero;\n\t\tthis.hasPlusZero = hasPlusZero;\n\t}\n\thas(value) {\n\t\tif (value === 0) {\n\t\t\tif (safeObjectIs$5(value, 0)) return this.hasPlusZero;\n\t\t\treturn this.hasMinusZero;\n\t\t}\n\t\treturn safeHas(this.fastValues, value);\n\t}\n};\n/** @internal */\nvar ConstantArbitrary = class extends Arbitrary {\n\tconstructor(values) {\n\t\tsuper();\n\t\tthis.values = values;\n\t}\n\tgenerate(mrng, _biasFactor) {\n\t\tconst idx = this.values.length === 1 ? 0 : mrng.nextInt(0, this.values.length - 1);\n\t\tconst value = this.values[idx];\n\t\tif (!hasCloneMethod(value)) return new Value(value, idx);\n\t\treturn new Value(value, idx, () => value[cloneMethod]());\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\tif (this.values.length === 1) return safeObjectIs$5(this.values[0], value);\n\t\tif (this.fastValues === void 0) this.fastValues = new FastConstantValuesLookup(this.values);\n\t\treturn this.fastValues.has(value);\n\t}\n\tshrink(value, context) {\n\t\tif (context === 0 || safeObjectIs$5(value, this.values[0])) return Stream.nil();\n\t\treturn Stream.of(new Value(this.values[0], 0));\n\t}\n};\n//#endregion\n//#region src/arbitrary/constantFrom.ts\nfunction constantFrom(...values) {\n\tif (values.length === 0) throw new Error(\"fc.constantFrom expects at least one parameter\");\n\treturn new ConstantArbitrary(values);\n}\n//#endregion\n//#region src/arbitrary/falsy.ts\n/**\n* For falsy values:\n* - ''\n* - 0\n* - NaN\n* - false\n* - null\n* - undefined\n* - 0n (whenever withBigInt: true)\n*\n* @param constraints - Constraints to apply when building instances\n*\n* @remarks Since 1.26.0\n* @public\n*/\nfunction falsy(constraints) {\n\tif (!constraints || !constraints.withBigInt) return constantFrom(false, null, void 0, 0, \"\", NaN);\n\treturn constantFrom(false, null, void 0, 0, \"\", NaN, SBigInt(0));\n}\n//#endregion\n//#region src/arbitrary/constant.ts\n/**\n* For `value`\n* @param value - The value to produce\n* @remarks Since 0.0.1\n* @public\n*/\nfunction constant(value) {\n\treturn new ConstantArbitrary([value]);\n}\n//#endregion\n//#region src/arbitrary/context.ts\n/** @internal */\nvar ContextImplem = class ContextImplem {\n\tconstructor() {\n\t\tthis.receivedLogs = [];\n\t}\n\tlog(data) {\n\t\tthis.receivedLogs.push(data);\n\t}\n\tsize() {\n\t\treturn this.receivedLogs.length;\n\t}\n\ttoString() {\n\t\treturn JSON.stringify({ logs: this.receivedLogs });\n\t}\n\t[cloneMethod]() {\n\t\treturn new ContextImplem();\n\t}\n};\n/**\n* Produce a {@link ContextValue} instance\n* @remarks Since 1.8.0\n* @public\n*/\nfunction context() {\n\treturn constant(new ContextImplem());\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/TimeToDate.ts\nconst safeNaN$2 = NaN;\nconst safeNumberIsNaN$4 = Number.isNaN;\n/** @internal */\nfunction timeToDateMapper(time) {\n\treturn new SDate(time);\n}\n/** @internal */\nfunction timeToDateUnmapper(value) {\n\tif (!(value instanceof SDate) || value.constructor !== SDate) throw new SError(\"Not a valid value for date unmapper\");\n\treturn safeGetTime(value);\n}\n/** @internal */\nfunction timeToDateMapperWithNaN(valueForNaN) {\n\treturn (time) => {\n\t\treturn time === valueForNaN ? new SDate(safeNaN$2) : timeToDateMapper(time);\n\t};\n}\n/** @internal */\nfunction timeToDateUnmapperWithNaN(valueForNaN) {\n\treturn (value) => {\n\t\tconst time = timeToDateUnmapper(value);\n\t\treturn safeNumberIsNaN$4(time) ? valueForNaN : time;\n\t};\n}\n//#endregion\n//#region src/arbitrary/date.ts\nconst safeNumberIsNaN$3 = Number.isNaN;\n/**\n* For date between constraints.min or new Date(-8640000000000000) (included) and constraints.max or new Date(8640000000000000) (included)\n*\n* @param constraints - Constraints to apply when building instances\n*\n* @remarks Since 1.17.0\n* @public\n*/\nfunction date(constraints = {}) {\n\tconst intMin = constraints.min !== void 0 ? safeGetTime(constraints.min) : -864e13;\n\tconst intMax = constraints.max !== void 0 ? safeGetTime(constraints.max) : 864e13;\n\tconst noInvalidDate = constraints.noInvalidDate;\n\tif (safeNumberIsNaN$3(intMin)) throw new Error(\"fc.date min must be valid instance of Date\");\n\tif (safeNumberIsNaN$3(intMax)) throw new Error(\"fc.date max must be valid instance of Date\");\n\tif (intMin > intMax) throw new Error(\"fc.date max must be greater or equal to min\");\n\tif (noInvalidDate) return integer({\n\t\tmin: intMin,\n\t\tmax: intMax\n\t}).map(timeToDateMapper, timeToDateUnmapper);\n\tconst valueForNaN = intMax + 1;\n\treturn integer({\n\t\tmin: intMin,\n\t\tmax: intMax + 1\n\t}).map(timeToDateMapperWithNaN(valueForNaN), timeToDateUnmapperWithNaN(valueForNaN));\n}\n//#endregion\n//#region src/arbitrary/chainUntil.ts\n/** @internal */\nvar ChainUntilArbitrary = class extends Arbitrary {\n\tconstructor(startArb, chainer) {\n\t\tsuper();\n\t\tthis.startArb = startArb;\n\t\tthis.chainer = chainer;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst entries = [];\n\t\tconst clonedMrng = mrng.clone();\n\t\tlet current = this.startArb.generate(mrng, biasFactor);\n\t\tentries.push({\n\t\t\tarbitrary: this.startArb,\n\t\t\tvalue: current.value_,\n\t\t\tcontext: current.context,\n\t\t\tclonedMrng\n\t\t});\n\t\twhile (true) {\n\t\t\tconst nextArb = this.chainer(current.value_);\n\t\t\tif (nextArb === void 0) break;\n\t\t\tconst nextClonedMrng = mrng.clone();\n\t\t\tcurrent = nextArb.generate(mrng, biasFactor);\n\t\t\tentries.push({\n\t\t\t\tarbitrary: nextArb,\n\t\t\t\tvalue: current.value_,\n\t\t\t\tcontext: current.context,\n\t\t\t\tclonedMrng: nextClonedMrng\n\t\t\t});\n\t\t}\n\t\tconst ctx = {\n\t\t\tbiasFactor,\n\t\t\tentries,\n\t\t\tcurrentShrinkLevel: 0\n\t\t};\n\t\treturn new Value(current.value_, ctx);\n\t}\n\tcanShrinkWithoutContext(_value) {\n\t\treturn false;\n\t}\n\tshrink(value, context) {\n\t\tif (!this.isSafeContext(context)) return Stream.nil();\n\t\treturn new Stream(this.shrinkIterator(context));\n\t}\n\t*shrinkIterator(context) {\n\t\tconst { entries, currentShrinkLevel, biasFactor } = context;\n\t\tfor (let level = currentShrinkLevel; level < entries.length; ++level) {\n\t\t\tconst entry = entries[level];\n\t\t\tconst shrinks = entry.arbitrary.shrink(entry.value, entry.context);\n\t\t\tfor (const shrunkValue of shrinks) {\n\t\t\t\tconst newEntries = entries.slice(0, level);\n\t\t\t\tnewEntries.push({\n\t\t\t\t\tarbitrary: entry.arbitrary,\n\t\t\t\t\tvalue: shrunkValue.value_,\n\t\t\t\t\tcontext: shrunkValue.context,\n\t\t\t\t\tclonedMrng: entry.clonedMrng\n\t\t\t\t});\n\t\t\t\tlet current = shrunkValue;\n\t\t\t\tconst mrng = entry.clonedMrng.clone();\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst nextArb = this.chainer(current.value_);\n\t\t\t\t\tif (nextArb === void 0) break;\n\t\t\t\t\tconst nextClonedMrng = mrng.clone();\n\t\t\t\t\tconst next = nextArb.generate(mrng, biasFactor);\n\t\t\t\t\tnewEntries.push({\n\t\t\t\t\t\tarbitrary: nextArb,\n\t\t\t\t\t\tvalue: next.value_,\n\t\t\t\t\t\tcontext: next.context,\n\t\t\t\t\t\tclonedMrng: nextClonedMrng\n\t\t\t\t\t});\n\t\t\t\t\tcurrent = next;\n\t\t\t\t}\n\t\t\t\tconst lastEntry = newEntries[newEntries.length - 1];\n\t\t\t\tconst newContext = {\n\t\t\t\t\tbiasFactor,\n\t\t\t\t\tentries: newEntries,\n\t\t\t\t\tcurrentShrinkLevel: level\n\t\t\t\t};\n\t\t\t\tyield new Value(lastEntry.value, newContext);\n\t\t\t}\n\t\t}\n\t}\n\tisSafeContext(context) {\n\t\treturn context !== null && context !== void 0 && typeof context === \"object\" && \"biasFactor\" in context && \"entries\" in context && \"currentShrinkLevel\" in context;\n\t}\n};\n/**\n* Build an arbitrary by iteratively chaining arbitraries until the chainer returns undefined.\n*\n* Starting from a value produced by `startArb`, the `chainer` function is called with the current value\n* to produce the next arbitrary. This process repeats until `chainer` returns `undefined`.\n* The final value in the chain is the one produced by this arbitrary.\n*\n* The implementation is fully iterative (non-recursive) and supports shrinking.\n*\n* @param startArb - The starting arbitrary producing the initial value\n* @param chainer - A function called with the current value that returns either the next arbitrary to generate from or undefined to stop the chain\n* @returns An arbitrary producing the last value in the chain\n*\n* @remarks Since 4.8.0\n* @public\n*/\nfunction chainUntil(startArb, chainer) {\n\treturn new ChainUntilArbitrary(startArb, chainer);\n}\n//#endregion\n//#region src/arbitrary/_internals/CloneArbitrary.ts\nconst safeSymbolIterator = Symbol.iterator;\nconst safeIsArray = Array.isArray;\nconst safeObjectIs$4 = Object.is;\n/** @internal */\nvar CloneArbitrary = class CloneArbitrary extends Arbitrary {\n\tconstructor(arb, numValues) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t\tthis.numValues = numValues;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst items = [];\n\t\tif (this.numValues <= 0) return this.wrapper(items);\n\t\tfor (let idx = 0; idx !== this.numValues - 1; ++idx) safePush(items, this.arb.generate(mrng.clone(), biasFactor));\n\t\tsafePush(items, this.arb.generate(mrng, biasFactor));\n\t\treturn this.wrapper(items);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\tif (!safeIsArray(value) || value.length !== this.numValues) return false;\n\t\tif (value.length === 0) return true;\n\t\tfor (let index = 1; index < value.length; ++index) if (!safeObjectIs$4(value[0], value[index])) return false;\n\t\treturn this.arb.canShrinkWithoutContext(value[0]);\n\t}\n\tshrink(value, context) {\n\t\tif (value.length === 0) return Stream.nil();\n\t\treturn new Stream(this.shrinkImpl(value, context !== void 0 ? context : [])).map((v) => this.wrapper(v));\n\t}\n\t*shrinkImpl(value, contexts) {\n\t\tconst its = safeMap(value, (v, idx) => this.arb.shrink(v, contexts[idx])[safeSymbolIterator]());\n\t\tlet cur = safeMap(its, (it) => it.next());\n\t\twhile (!cur[0].done) {\n\t\t\tyield safeMap(cur, (c) => c.value);\n\t\t\tcur = safeMap(its, (it) => it.next());\n\t\t}\n\t}\n\tstatic makeItCloneable(vs, shrinkables) {\n\t\tvs[cloneMethod] = () => {\n\t\t\tconst cloned = [];\n\t\t\tfor (let idx = 0; idx !== shrinkables.length; ++idx) safePush(cloned, shrinkables[idx].value);\n\t\t\tthis.makeItCloneable(cloned, shrinkables);\n\t\t\treturn cloned;\n\t\t};\n\t\treturn vs;\n\t}\n\twrapper(items) {\n\t\tlet cloneable = false;\n\t\tconst vs = [];\n\t\tconst contexts = [];\n\t\tfor (let idx = 0; idx !== items.length; ++idx) {\n\t\t\tconst s = items[idx];\n\t\t\tcloneable = cloneable || s.hasToBeCloned;\n\t\t\tsafePush(vs, s.value);\n\t\t\tsafePush(contexts, s.context);\n\t\t}\n\t\tif (cloneable) CloneArbitrary.makeItCloneable(vs, items);\n\t\treturn new Value(vs, contexts);\n\t}\n};\n//#endregion\n//#region src/arbitrary/clone.ts\nfunction clone(arb, numValues) {\n\treturn new CloneArbitrary(arb, numValues);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/CustomEqualSet.ts\n/**\n* CustomSet based on a fully custom equality function\n*\n* @internal\n*/\nvar CustomEqualSet = class {\n\tconstructor(isEqual) {\n\t\tthis.isEqual = isEqual;\n\t\tthis.data = [];\n\t}\n\ttryAdd(value) {\n\t\tfor (let idx = 0; idx !== this.data.length; ++idx) if (this.isEqual(this.data[idx], value)) return false;\n\t\tsafePush(this.data, value);\n\t\treturn true;\n\t}\n\tsize() {\n\t\treturn this.data.length;\n\t}\n\tgetData() {\n\t\treturn this.data;\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/helpers/StrictlyEqualSet.ts\nconst safeNumberIsNaN$2 = Number.isNaN;\n/**\n* CustomSet based on \"strict equality\" as defined by:\n* https://tc39.es/ecma262/multipage/abstract-operations.html#sec-isstrictlyequal\n*\n* And coming with the ability to select a sub-value from the received one.\n* @internal\n*/\nvar StrictlyEqualSet = class {\n\tconstructor(selector) {\n\t\tthis.selector = selector;\n\t\tthis.selectedItemsExceptNaN = new SSet();\n\t\tthis.data = [];\n\t}\n\ttryAdd(value) {\n\t\tconst selected = this.selector(value);\n\t\tif (safeNumberIsNaN$2(selected)) {\n\t\t\tsafePush(this.data, value);\n\t\t\treturn true;\n\t\t}\n\t\tconst sizeBefore = this.selectedItemsExceptNaN.size;\n\t\tsafeAdd(this.selectedItemsExceptNaN, selected);\n\t\tif (sizeBefore !== this.selectedItemsExceptNaN.size) {\n\t\t\tsafePush(this.data, value);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tsize() {\n\t\treturn this.data.length;\n\t}\n\tgetData() {\n\t\treturn this.data;\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/helpers/SameValueSet.ts\nconst safeObjectIs$3 = Object.is;\n/**\n* CustomSet based on \"SameValue\" as defined by:\n* https://tc39.es/ecma262/multipage/abstract-operations.html#sec-samevalue\n*\n* And coming with the ability to select a sub-value from the received one.\n* @internal\n*/\nvar SameValueSet = class {\n\tconstructor(selector) {\n\t\tthis.selector = selector;\n\t\tthis.selectedItemsExceptMinusZero = new SSet();\n\t\tthis.data = [];\n\t\tthis.hasMinusZero = false;\n\t}\n\ttryAdd(value) {\n\t\tconst selected = this.selector(value);\n\t\tif (safeObjectIs$3(selected, -0)) {\n\t\t\tif (this.hasMinusZero) return false;\n\t\t\tsafePush(this.data, value);\n\t\t\tthis.hasMinusZero = true;\n\t\t\treturn true;\n\t\t}\n\t\tconst sizeBefore = this.selectedItemsExceptMinusZero.size;\n\t\tsafeAdd(this.selectedItemsExceptMinusZero, selected);\n\t\tif (sizeBefore !== this.selectedItemsExceptMinusZero.size) {\n\t\t\tsafePush(this.data, value);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tsize() {\n\t\treturn this.data.length;\n\t}\n\tgetData() {\n\t\treturn this.data;\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/helpers/SameValueZeroSet.ts\n/**\n* CustomSet based on \"SameValueZero\" as defined by:\n* https://tc39.es/ecma262/multipage/abstract-operations.html#sec-samevaluezero\n*\n* And coming with the ability to select a sub-value from the received one.\n* @internal\n*/\nvar SameValueZeroSet = class {\n\tconstructor(selector) {\n\t\tthis.selector = selector;\n\t\tthis.selectedItems = new SSet();\n\t\tthis.data = [];\n\t}\n\ttryAdd(value) {\n\t\tconst selected = this.selector(value);\n\t\tconst sizeBefore = this.selectedItems.size;\n\t\tsafeAdd(this.selectedItems, selected);\n\t\tif (sizeBefore !== this.selectedItems.size) {\n\t\t\tsafePush(this.data, value);\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\tsize() {\n\t\treturn this.data.length;\n\t}\n\tgetData() {\n\t\treturn this.data;\n\t}\n};\n//#endregion\n//#region src/arbitrary/uniqueArray.ts\n/** @internal */\nfunction buildUniqueArraySetBuilder(constraints) {\n\tif (typeof constraints.comparator === \"function\") {\n\t\tif (constraints.selector === void 0) {\n\t\t\tconst comparator = constraints.comparator;\n\t\t\tconst isEqualForBuilder = (nextA, nextB) => comparator(nextA.value_, nextB.value_);\n\t\t\treturn () => new CustomEqualSet(isEqualForBuilder);\n\t\t}\n\t\tconst comparator = constraints.comparator;\n\t\tconst selector = constraints.selector;\n\t\tconst refinedSelector = (next) => selector(next.value_);\n\t\tconst isEqualForBuilder = (nextA, nextB) => comparator(refinedSelector(nextA), refinedSelector(nextB));\n\t\treturn () => new CustomEqualSet(isEqualForBuilder);\n\t}\n\tconst selector = constraints.selector || ((v) => v);\n\tconst refinedSelector = (next) => selector(next.value_);\n\tswitch (constraints.comparator) {\n\t\tcase \"IsStrictlyEqual\": return () => new StrictlyEqualSet(refinedSelector);\n\t\tcase \"SameValueZero\": return () => new SameValueZeroSet(refinedSelector);\n\t\tcase \"SameValue\":\n\t\tcase void 0: return () => new SameValueSet(refinedSelector);\n\t}\n}\nfunction uniqueArray(arb, constraints = {}) {\n\tconst minLength = constraints.minLength !== void 0 ? constraints.minLength : 0;\n\tconst maxLength = constraints.maxLength !== void 0 ? constraints.maxLength : MaxLengthUpperBound;\n\tconst maxGeneratedLength = maxGeneratedLengthFromSizeForArbitrary(constraints.size, minLength, maxLength, constraints.maxLength !== void 0);\n\tconst depthIdentifier = constraints.depthIdentifier;\n\tconst arrayArb = new ArrayArbitrary(arb, minLength, maxGeneratedLength, maxLength, depthIdentifier, buildUniqueArraySetBuilder(constraints), []);\n\tif (minLength === 0) return arrayArb;\n\treturn arrayArb.filter((tab) => tab.length >= minLength);\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/KeyValuePairsToObject.ts\nconst safeObjectCreate$5 = Object.create;\nconst safeObjectDefineProperty$2 = Object.defineProperty;\nconst safeObjectGetOwnPropertyDescriptor$2 = Object.getOwnPropertyDescriptor;\nconst safeObjectGetPrototypeOf$1 = Object.getPrototypeOf;\nconst safeObjectPrototype$1 = Object.prototype;\nconst safeReflectOwnKeys = Reflect.ownKeys;\n/** @internal */\nfunction keyValuePairsToObjectMapper(definition) {\n\tconst obj = definition[1] ? safeObjectCreate$5(null) : {};\n\tfor (const keyValue of definition[0]) safeObjectDefineProperty$2(obj, keyValue[0], {\n\t\tenumerable: true,\n\t\tconfigurable: true,\n\t\twritable: true,\n\t\tvalue: keyValue[1]\n\t});\n\treturn obj;\n}\n/** @internal */\nfunction isValidPropertyNameFilter(descriptor) {\n\treturn descriptor !== void 0 && !!descriptor.configurable && !!descriptor.enumerable && !!descriptor.writable && descriptor.get === void 0 && descriptor.set === void 0;\n}\n/** @internal */\nfunction keyValuePairsToObjectUnmapper(value) {\n\tif (typeof value !== \"object\" || value === null) throw new SError(\"Incompatible instance received: should be a non-null object\");\n\tconst hasNullPrototype = safeObjectGetPrototypeOf$1(value) === null;\n\tconst hasObjectPrototype = safeObjectGetPrototypeOf$1(value) === safeObjectPrototype$1;\n\tif (!hasNullPrototype && !hasObjectPrototype) throw new SError(\"Incompatible instance received: should be of exact type Object\");\n\tconst propertyDescriptors = safeMap(safeReflectOwnKeys(value), (key) => [key, safeObjectGetOwnPropertyDescriptor$2(value, key)]);\n\tif (!safeEvery(propertyDescriptors, ([, descriptor]) => isValidPropertyNameFilter(descriptor))) throw new SError(\"Incompatible instance received: should contain only c/e/w properties without get/set\");\n\treturn [safeMap(propertyDescriptors, ([key, descriptor]) => [key, descriptor.value]), hasNullPrototype];\n}\n//#endregion\n//#region src/arbitrary/dictionary.ts\n/** @internal */\nfunction dictionaryKeyExtractor(entry) {\n\treturn entry[0];\n}\nfunction dictionary(keyArb, valueArb, constraints = {}) {\n\tconst noNullPrototype = !!constraints.noNullPrototype;\n\treturn tuple(uniqueArray(tuple(keyArb, valueArb), {\n\t\tminLength: constraints.minKeys,\n\t\tmaxLength: constraints.maxKeys,\n\t\tsize: constraints.size,\n\t\tselector: dictionaryKeyExtractor,\n\t\tdepthIdentifier: constraints.depthIdentifier\n\t}), noNullPrototype ? constant(false) : boolean()).map(keyValuePairsToObjectMapper, keyValuePairsToObjectUnmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/FrequencyArbitrary.ts\nconst safePositiveInfinity$7 = Number.POSITIVE_INFINITY;\nconst safeMaxSafeInteger$2 = Number.MAX_SAFE_INTEGER;\nconst safeNumberIsInteger$4 = Number.isInteger;\nconst safeMathFloor$2 = Math.floor;\nconst safeMathPow = Math.pow;\nconst safeMathMin$3 = Math.min;\n/** @internal */\nvar FrequencyArbitrary = class FrequencyArbitrary extends Arbitrary {\n\tstatic from(warbs, constraints, label) {\n\t\tif (warbs.length === 0) throw new Error(`${label} expects at least one weighted arbitrary`);\n\t\tlet totalWeight = 0;\n\t\tfor (let idx = 0; idx !== warbs.length; ++idx) {\n\t\t\tif (warbs[idx].arbitrary === void 0) throw new Error(`${label} expects arbitraries to be specified`);\n\t\t\tconst currentWeight = warbs[idx].weight;\n\t\t\ttotalWeight += currentWeight;\n\t\t\tif (!safeNumberIsInteger$4(currentWeight)) throw new Error(`${label} expects weights to be integer values`);\n\t\t\tif (currentWeight < 0) throw new Error(`${label} expects weights to be superior or equal to 0`);\n\t\t}\n\t\tif (totalWeight <= 0) throw new Error(`${label} expects the sum of weights to be strictly superior to 0`);\n\t\treturn new FrequencyArbitrary(warbs, {\n\t\t\tdepthBias: depthBiasFromSizeForArbitrary(constraints.depthSize, constraints.maxDepth !== void 0),\n\t\t\tmaxDepth: constraints.maxDepth !== void 0 ? constraints.maxDepth : safePositiveInfinity$7,\n\t\t\twithCrossShrink: !!constraints.withCrossShrink\n\t\t}, getDepthContextFor(constraints.depthIdentifier));\n\t}\n\tconstructor(warbs, constraints, context) {\n\t\tsuper();\n\t\tthis.warbs = warbs;\n\t\tthis.constraints = constraints;\n\t\tthis.context = context;\n\t\tlet currentWeight = 0;\n\t\tthis.cumulatedWeights = [];\n\t\tfor (let idx = 0; idx !== warbs.length; ++idx) {\n\t\t\tcurrentWeight += warbs[idx].weight;\n\t\t\tsafePush(this.cumulatedWeights, currentWeight);\n\t\t}\n\t\tthis.totalWeight = currentWeight;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tif (this.mustGenerateFirst()) return this.safeGenerateForIndex(mrng, 0, biasFactor);\n\t\tconst selected = mrng.nextInt(this.computeNegDepthBenefit(), this.totalWeight - 1);\n\t\tfor (let idx = 0; idx !== this.cumulatedWeights.length; ++idx) if (selected < this.cumulatedWeights[idx]) return this.safeGenerateForIndex(mrng, idx, biasFactor);\n\t\tthrow new Error(`Unable to generate from fc.frequency`);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\treturn this.canShrinkWithoutContextIndex(value) !== -1;\n\t}\n\tshrink(value, context) {\n\t\tif (context !== void 0) {\n\t\t\tconst safeContext = context;\n\t\t\tconst selectedIndex = safeContext.selectedIndex;\n\t\t\tconst originalBias = safeContext.originalBias;\n\t\t\tconst originalShrinks = this.warbs[selectedIndex].arbitrary.shrink(value, safeContext.originalContext).map((v) => this.mapIntoValue(selectedIndex, v, null, originalBias));\n\t\t\tif (safeContext.clonedMrngForFallbackFirst !== null) {\n\t\t\t\tif (safeContext.cachedGeneratedForFirst === void 0) safeContext.cachedGeneratedForFirst = this.safeGenerateForIndex(safeContext.clonedMrngForFallbackFirst, 0, originalBias);\n\t\t\t\tconst valueFromFirst = safeContext.cachedGeneratedForFirst;\n\t\t\t\treturn Stream.of(valueFromFirst).join(originalShrinks);\n\t\t\t}\n\t\t\treturn originalShrinks;\n\t\t}\n\t\tconst potentialSelectedIndex = this.canShrinkWithoutContextIndex(value);\n\t\tif (potentialSelectedIndex === -1) return Stream.nil();\n\t\treturn this.defaultShrinkForFirst(potentialSelectedIndex).join(this.warbs[potentialSelectedIndex].arbitrary.shrink(value, void 0).map((v) => this.mapIntoValue(potentialSelectedIndex, v, null, void 0)));\n\t}\n\t/** Generate shrink values for first arbitrary when no context and no value was provided */\n\tdefaultShrinkForFirst(selectedIndex) {\n\t\t++this.context.depth;\n\t\ttry {\n\t\t\tif (!this.mustFallbackToFirstInShrink(selectedIndex) || this.warbs[0].fallbackValue === void 0) return Stream.nil();\n\t\t} finally {\n\t\t\t--this.context.depth;\n\t\t}\n\t\tconst rawShrinkValue = new Value(this.warbs[0].fallbackValue.default, void 0);\n\t\treturn Stream.of(this.mapIntoValue(0, rawShrinkValue, null, void 0));\n\t}\n\t/** Extract the index of the generator that would have been able to gennrate the value */\n\tcanShrinkWithoutContextIndex(value) {\n\t\tif (this.mustGenerateFirst()) return this.warbs[0].arbitrary.canShrinkWithoutContext(value) ? 0 : -1;\n\t\ttry {\n\t\t\t++this.context.depth;\n\t\t\tfor (let idx = 0; idx !== this.warbs.length; ++idx) {\n\t\t\t\tconst warb = this.warbs[idx];\n\t\t\t\tif (warb.weight !== 0 && warb.arbitrary.canShrinkWithoutContext(value)) return idx;\n\t\t\t}\n\t\t\treturn -1;\n\t\t} finally {\n\t\t\t--this.context.depth;\n\t\t}\n\t}\n\t/** Map the output of one of the children with the context of frequency */\n\tmapIntoValue(idx, value, clonedMrngForFallbackFirst, biasFactor) {\n\t\tconst context = {\n\t\t\tselectedIndex: idx,\n\t\t\toriginalBias: biasFactor,\n\t\t\toriginalContext: value.context,\n\t\t\tclonedMrngForFallbackFirst\n\t\t};\n\t\treturn new Value(value.value, context);\n\t}\n\t/** Generate using Arbitrary at index idx and safely handle depth context */\n\tsafeGenerateForIndex(mrng, idx, biasFactor) {\n\t\t++this.context.depth;\n\t\ttry {\n\t\t\tconst value = this.warbs[idx].arbitrary.generate(mrng, biasFactor);\n\t\t\tconst clonedMrngForFallbackFirst = this.mustFallbackToFirstInShrink(idx) ? mrng.clone() : null;\n\t\t\treturn this.mapIntoValue(idx, value, clonedMrngForFallbackFirst, biasFactor);\n\t\t} finally {\n\t\t\t--this.context.depth;\n\t\t}\n\t}\n\t/** Check if generating a value based on the first arbitrary is compulsory */\n\tmustGenerateFirst() {\n\t\treturn this.constraints.maxDepth <= this.context.depth;\n\t}\n\t/** Check if fallback on first arbitrary during shrinking is required */\n\tmustFallbackToFirstInShrink(idx) {\n\t\treturn idx !== 0 && this.constraints.withCrossShrink && this.warbs[0].weight !== 0;\n\t}\n\t/** Compute the benefit for the current depth */\n\tcomputeNegDepthBenefit() {\n\t\tconst depthBias = this.constraints.depthBias;\n\t\tif (depthBias <= 0 || this.warbs[0].weight === 0) return 0;\n\t\tconst depthBenefit = safeMathFloor$2(safeMathPow(1 + depthBias, this.context.depth)) - 1;\n\t\treturn -safeMathMin$3(this.totalWeight * depthBenefit, safeMaxSafeInteger$2) || 0;\n\t}\n};\n//#endregion\n//#region src/arbitrary/oneof.ts\n/**\n* @internal\n*/\nfunction isOneOfContraints(param) {\n\treturn param !== null && param !== void 0 && typeof param === \"object\" && !(\"generate\" in param) && !(\"arbitrary\" in param) && !(\"weight\" in param);\n}\n/**\n* @internal\n*/\nfunction toWeightedArbitrary(maybeWeightedArbitrary) {\n\tif (isArbitrary(maybeWeightedArbitrary)) return {\n\t\tarbitrary: maybeWeightedArbitrary,\n\t\tweight: 1\n\t};\n\treturn maybeWeightedArbitrary;\n}\nfunction oneof(...args) {\n\tconst constraints = args[0];\n\tif (isOneOfContraints(constraints)) {\n\t\tconst weightedArbs = safeMap(safeSlice(args, 1), toWeightedArbitrary);\n\t\treturn FrequencyArbitrary.from(weightedArbs, constraints, \"fc.oneof\");\n\t}\n\tconst weightedArbs = safeMap(args, toWeightedArbitrary);\n\treturn FrequencyArbitrary.from(weightedArbs, {}, \"fc.oneof\");\n}\n//#endregion\n//#region src/arbitrary/nat.ts\nconst safeNumberIsInteger$3 = Number.isInteger;\nfunction nat(arg) {\n\tconst max = typeof arg === \"number\" ? arg : arg && arg.max !== void 0 ? arg.max : 2147483647;\n\tif (max < 0) throw new Error(\"fc.nat value should be greater than or equal to 0\");\n\tif (!safeNumberIsInteger$3(max)) throw new Error(\"fc.nat maximum value should be an integer\");\n\treturn new IntegerArbitrary(0, max);\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/IndexToMappedConstant.ts\n/** @internal */\nconst safeObjectIs$2 = Object.is;\n/** @internal */\nfunction buildDichotomyEntries(entries) {\n\tlet currentFrom = 0;\n\tconst dichotomyEntries = [];\n\tfor (const entry of entries) {\n\t\tconst from = currentFrom;\n\t\tcurrentFrom = from + entry.num;\n\t\tconst to = currentFrom - 1;\n\t\tdichotomyEntries.push({\n\t\t\tfrom,\n\t\t\tto,\n\t\t\tentry\n\t\t});\n\t}\n\treturn dichotomyEntries;\n}\n/** @internal */\nfunction findDichotomyEntry(dichotomyEntries, choiceIndex) {\n\tlet min = 0;\n\tlet max = dichotomyEntries.length;\n\twhile (max - min > 1) {\n\t\tconst mid = ~~((min + max) / 2);\n\t\tif (choiceIndex < dichotomyEntries[mid].from) max = mid;\n\t\telse min = mid;\n\t}\n\treturn dichotomyEntries[min];\n}\n/** @internal */\nfunction indexToMappedConstantMapperFor(entries) {\n\tconst dichotomyEntries = buildDichotomyEntries(entries);\n\treturn function indexToMappedConstantMapper(choiceIndex) {\n\t\tconst dichotomyEntry = findDichotomyEntry(dichotomyEntries, choiceIndex);\n\t\treturn dichotomyEntry.entry.build(choiceIndex - dichotomyEntry.from);\n\t};\n}\n/** @internal */\nfunction buildReverseMapping(entries) {\n\tconst reverseMapping = {\n\t\tmapping: new SMap$1(),\n\t\tnegativeZeroIndex: void 0\n\t};\n\tlet choiceIndex = 0;\n\tfor (let entryIdx = 0; entryIdx !== entries.length; ++entryIdx) {\n\t\tconst entry = entries[entryIdx];\n\t\tfor (let idxInEntry = 0; idxInEntry !== entry.num; ++idxInEntry) {\n\t\t\tconst value = entry.build(idxInEntry);\n\t\t\tif (value === 0 && 1 / value === SNumber.NEGATIVE_INFINITY) reverseMapping.negativeZeroIndex = choiceIndex;\n\t\t\telse safeMapSet(reverseMapping.mapping, value, choiceIndex);\n\t\t\t++choiceIndex;\n\t\t}\n\t}\n\treturn reverseMapping;\n}\n/** @internal */\nfunction indexToMappedConstantUnmapperFor(entries) {\n\tlet reverseMapping = null;\n\treturn function indexToMappedConstantUnmapper(value) {\n\t\tif (reverseMapping === null) reverseMapping = buildReverseMapping(entries);\n\t\tconst choiceIndex = safeObjectIs$2(value, -0) ? reverseMapping.negativeZeroIndex : safeMapGet(reverseMapping.mapping, value);\n\t\tif (choiceIndex === void 0) throw new SError(\"Unknown value encountered cannot be built using this mapToConstant\");\n\t\treturn choiceIndex;\n\t};\n}\n//#endregion\n//#region src/arbitrary/mapToConstant.ts\n/** @internal */\nfunction computeNumChoices(options) {\n\tif (options.length === 0) throw new SError(`fc.mapToConstant expects at least one option`);\n\tlet numChoices = 0;\n\tfor (let idx = 0; idx !== options.length; ++idx) {\n\t\tif (options[idx].num < 0) throw new SError(`fc.mapToConstant expects all options to have a number of entries greater or equal to zero`);\n\t\tnumChoices += options[idx].num;\n\t}\n\tif (numChoices === 0) throw new SError(`fc.mapToConstant expects at least one choice among options`);\n\treturn numChoices;\n}\n/**\n* Generate non-contiguous ranges of values\n* by mapping integer values to constant\n*\n* @param options - Builders to be called to generate the values\n*\n* @example\n* ```\n* // generate alphanumeric values (a-z0-9)\n* mapToConstant(\n*   { num: 26, build: v => String.fromCharCode(v + 0x61) },\n*   { num: 10, build: v => String.fromCharCode(v + 0x30) },\n* )\n* ```\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction mapToConstant(...entries) {\n\treturn nat({ max: computeNumChoices(entries) - 1 }).map(indexToMappedConstantMapperFor(entries), indexToMappedConstantUnmapperFor(entries));\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/TokenizeString.ts\n/**\n* Split a string into valid tokens of patternsArb\n* @internal\n*/\nfunction tokenizeString(patternsArb, value, minLength, maxLength) {\n\tif (value.length === 0) {\n\t\tif (minLength > 0) return;\n\t\treturn [];\n\t}\n\tif (maxLength <= 0) return;\n\tconst stack = [{\n\t\tendIndexChunks: 0,\n\t\tnextStartIndex: 1,\n\t\tchunks: []\n\t}];\n\twhile (stack.length > 0) {\n\t\tconst last = safePop$1(stack);\n\t\tfor (let index = last.nextStartIndex; index <= value.length; ++index) {\n\t\t\tconst chunk = safeSubstring(value, last.endIndexChunks, index);\n\t\t\tif (patternsArb.canShrinkWithoutContext(chunk)) {\n\t\t\t\tconst newChunks = [...last.chunks, chunk];\n\t\t\t\tif (index === value.length) {\n\t\t\t\t\tif (newChunks.length < minLength) break;\n\t\t\t\t\treturn newChunks;\n\t\t\t\t}\n\t\t\t\tsafePush(stack, {\n\t\t\t\t\tendIndexChunks: last.endIndexChunks,\n\t\t\t\t\tnextStartIndex: index + 1,\n\t\t\t\t\tchunks: last.chunks\n\t\t\t\t});\n\t\t\t\tif (newChunks.length < maxLength) safePush(stack, {\n\t\t\t\t\tendIndexChunks: index,\n\t\t\t\t\tnextStartIndex: index + 1,\n\t\t\t\t\tchunks: newChunks\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\t}\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/PatternsToString.ts\n/** @internal - tab is supposed to be composed of valid entries extracted from the source arbitrary */\nfunction patternsToStringMapper(tab) {\n\treturn safeJoin(tab, \"\");\n}\n/** @internal */\nfunction minLengthFrom(constraints) {\n\treturn constraints.minLength !== void 0 ? constraints.minLength : 0;\n}\n/** @internal */\nfunction maxLengthFrom(constraints) {\n\treturn constraints.maxLength !== void 0 ? constraints.maxLength : MaxLengthUpperBound;\n}\n/** @internal */\nfunction patternsToStringUnmapperIsValidLength(tokens, constraints) {\n\treturn minLengthFrom(constraints) <= tokens.length && tokens.length <= maxLengthFrom(constraints);\n}\n/** @internal */\nfunction patternsToStringUnmapperFor(patternsArb, constraints) {\n\treturn function patternsToStringUnmapper(value) {\n\t\tif (typeof value !== \"string\") throw new SError(\"Unsupported value\");\n\t\tconst tokens = tokenizeString(patternsArb, value, minLengthFrom(constraints), maxLengthFrom(constraints));\n\t\tif (tokens === void 0) throw new SError(\"Unable to unmap received string\");\n\t\treturn tokens;\n\t};\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/SlicesForStringBuilder.ts\nconst dangerousStrings = [\n\t\"__defineGetter__\",\n\t\"__defineSetter__\",\n\t\"__lookupGetter__\",\n\t\"__lookupSetter__\",\n\t\"__proto__\",\n\t\"constructor\",\n\t\"hasOwnProperty\",\n\t\"isPrototypeOf\",\n\t\"propertyIsEnumerable\",\n\t\"toLocaleString\",\n\t\"toString\",\n\t\"valueOf\",\n\t\"apply\",\n\t\"arguments\",\n\t\"bind\",\n\t\"call\",\n\t\"caller\",\n\t\"length\",\n\t\"name\",\n\t\"prototype\",\n\t\"key\",\n\t\"ref\"\n];\n/** @internal */\nfunction computeCandidateStringLegacy(dangerous, charArbitrary, stringSplitter) {\n\tlet candidate;\n\ttry {\n\t\tcandidate = stringSplitter(dangerous);\n\t} catch {\n\t\treturn;\n\t}\n\tfor (const entry of candidate) if (!charArbitrary.canShrinkWithoutContext(entry)) return;\n\treturn candidate;\n}\n/** @internal */\nfunction createSlicesForStringLegacy(charArbitrary, stringSplitter) {\n\tconst slicesForString = [];\n\tfor (const dangerous of dangerousStrings) {\n\t\tconst candidate = computeCandidateStringLegacy(dangerous, charArbitrary, stringSplitter);\n\t\tif (candidate !== void 0) safePush(slicesForString, candidate);\n\t}\n\treturn slicesForString;\n}\n/** @internal */\nconst slicesPerArbitrary = /* @__PURE__ */ new WeakMap();\n/** @internal */\nfunction createSlicesForStringNoConstraints(charArbitrary) {\n\tconst slicesForString = [];\n\tfor (const dangerous of dangerousStrings) {\n\t\tconst candidate = tokenizeString(charArbitrary, dangerous, 0, MaxLengthUpperBound);\n\t\tif (candidate !== void 0) safePush(slicesForString, candidate);\n\t}\n\treturn slicesForString;\n}\n/** @internal */\nfunction createSlicesForString(charArbitrary, constraints) {\n\tlet slices = safeGet(slicesPerArbitrary, charArbitrary);\n\tif (slices === void 0) {\n\t\tslices = createSlicesForStringNoConstraints(charArbitrary);\n\t\tsafeSet(slicesPerArbitrary, charArbitrary, slices);\n\t}\n\tconst slicesForConstraints = [];\n\tfor (const slice of slices) if (patternsToStringUnmapperIsValidLength(slice, constraints)) safePush(slicesForConstraints, slice);\n\treturn slicesForConstraints;\n}\n//#endregion\n//#region src/arbitrary/_internals/data/GraphemeRanges.ts\n/** @internal */\nconst asciiAlphabetRanges = [[0, 127]];\n/** @internal */\nconst fullAlphabetRanges = [[0, 55295], [57344, 1114111]];\n/**\n* Ranges of Graphemes safe to be combined together without any risks to interract between each others.\n* 779 ranges, gathering 31828 code-points over the 34931 being declared by http://unicode.org/Public/UNIDATA/UnicodeData.txt on the 17th of August 2024\n* @internal\n*/\nconst autonomousGraphemeRanges = [\n\t[32, 126],\n\t[160, 172],\n\t[174, 767],\n\t[880, 887],\n\t[890, 895],\n\t[900, 906],\n\t[908],\n\t[910, 929],\n\t[931, 1154],\n\t[1162, 1327],\n\t[1329, 1366],\n\t[1369, 1418],\n\t[1421, 1423],\n\t[1470],\n\t[1472],\n\t[1475],\n\t[1478],\n\t[1488, 1514],\n\t[1519, 1524],\n\t[1542, 1551],\n\t[1563],\n\t[1565, 1610],\n\t[1632, 1647],\n\t[1649, 1749],\n\t[1758],\n\t[1765, 1766],\n\t[1769],\n\t[1774, 1805],\n\t[1808],\n\t[1810, 1839],\n\t[1869, 1957],\n\t[1969],\n\t[1984, 2026],\n\t[2036, 2042],\n\t[2046, 2069],\n\t[2074],\n\t[2084],\n\t[2088],\n\t[2096, 2110],\n\t[2112, 2136],\n\t[2142],\n\t[2144, 2154],\n\t[2160, 2190],\n\t[2208, 2249],\n\t[2308, 2361],\n\t[2365],\n\t[2384],\n\t[2392, 2401],\n\t[2404, 2432],\n\t[2437, 2444],\n\t[2447, 2448],\n\t[2451, 2472],\n\t[2474, 2480],\n\t[2482],\n\t[2486, 2489],\n\t[2493],\n\t[2510],\n\t[2524, 2525],\n\t[2527, 2529],\n\t[2534, 2557],\n\t[2565, 2570],\n\t[2575, 2576],\n\t[2579, 2600],\n\t[2602, 2608],\n\t[2610, 2611],\n\t[2613, 2614],\n\t[2616, 2617],\n\t[2649, 2652],\n\t[2654],\n\t[2662, 2671],\n\t[2674, 2676],\n\t[2678],\n\t[2693, 2701],\n\t[2703, 2705],\n\t[2707, 2728],\n\t[2730, 2736],\n\t[2738, 2739],\n\t[2741, 2745],\n\t[2749],\n\t[2768],\n\t[2784, 2785],\n\t[2790, 2801],\n\t[2809],\n\t[2821, 2828],\n\t[2831, 2832],\n\t[2835, 2856],\n\t[2858, 2864],\n\t[2866, 2867],\n\t[2869, 2873],\n\t[2877],\n\t[2908, 2909],\n\t[2911, 2913],\n\t[2918, 2935],\n\t[2947],\n\t[2949, 2954],\n\t[2958, 2960],\n\t[2962, 2965],\n\t[2969, 2970],\n\t[2972],\n\t[2974, 2975],\n\t[2979, 2980],\n\t[2984, 2986],\n\t[2990, 3001],\n\t[3024],\n\t[3046, 3066],\n\t[3077, 3084],\n\t[3086, 3088],\n\t[3090, 3112],\n\t[3114, 3129],\n\t[3133],\n\t[3160, 3162],\n\t[3165],\n\t[3168, 3169],\n\t[3174, 3183],\n\t[3191, 3200],\n\t[3204, 3212],\n\t[3214, 3216],\n\t[3218, 3240],\n\t[3242, 3251],\n\t[3253, 3257],\n\t[3261],\n\t[3293, 3294],\n\t[3296, 3297],\n\t[3302, 3311],\n\t[3313, 3314],\n\t[3332, 3340],\n\t[3342, 3344],\n\t[3346, 3386],\n\t[3389],\n\t[3407],\n\t[3412, 3414],\n\t[3416, 3425],\n\t[3430, 3455],\n\t[3461, 3478],\n\t[3482, 3505],\n\t[3507, 3515],\n\t[3517],\n\t[3520, 3526],\n\t[3558, 3567],\n\t[3572],\n\t[3585, 3632],\n\t[3634],\n\t[3647, 3654],\n\t[3663, 3675],\n\t[3713, 3714],\n\t[3716],\n\t[3718, 3722],\n\t[3724, 3747],\n\t[3749],\n\t[3751, 3760],\n\t[3762],\n\t[3773],\n\t[3776, 3780],\n\t[3782],\n\t[3792, 3801],\n\t[3804, 3807],\n\t[3840, 3863],\n\t[3866, 3892],\n\t[3894],\n\t[3896],\n\t[3898, 3901],\n\t[3904, 3911],\n\t[3913, 3948],\n\t[3973],\n\t[3976, 3980],\n\t[4030, 4037],\n\t[4039, 4044],\n\t[4046, 4058],\n\t[4096, 4138],\n\t[4159, 4181],\n\t[4186, 4189],\n\t[4193],\n\t[4197, 4198],\n\t[4206, 4208],\n\t[4213, 4225],\n\t[4238],\n\t[4240, 4249],\n\t[4254, 4293],\n\t[4295],\n\t[4301],\n\t[4304, 4351],\n\t[4608, 4680],\n\t[4682, 4685],\n\t[4688, 4694],\n\t[4696],\n\t[4698, 4701],\n\t[4704, 4744],\n\t[4746, 4749],\n\t[4752, 4784],\n\t[4786, 4789],\n\t[4792, 4798],\n\t[4800],\n\t[4802, 4805],\n\t[4808, 4822],\n\t[4824, 4880],\n\t[4882, 4885],\n\t[4888, 4954],\n\t[4960, 4988],\n\t[4992, 5017],\n\t[5024, 5109],\n\t[5112, 5117],\n\t[5120, 5788],\n\t[5792, 5880],\n\t[5888, 5905],\n\t[5919, 5937],\n\t[5941, 5942],\n\t[5952, 5969],\n\t[5984, 5996],\n\t[5998, 6e3],\n\t[6016, 6067],\n\t[6100, 6108],\n\t[6112, 6121],\n\t[6128, 6137],\n\t[6144, 6154],\n\t[6160, 6169],\n\t[6176, 6264],\n\t[6272, 6276],\n\t[6279, 6312],\n\t[6314],\n\t[6320, 6389],\n\t[6400, 6430],\n\t[6464],\n\t[6468, 6509],\n\t[6512, 6516],\n\t[6528, 6571],\n\t[6576, 6601],\n\t[6608, 6618],\n\t[6622, 6678],\n\t[6686, 6740],\n\t[6784, 6793],\n\t[6800, 6809],\n\t[6816, 6829],\n\t[6917, 6963],\n\t[6981, 6988],\n\t[6992, 7018],\n\t[7028, 7038],\n\t[7043, 7072],\n\t[7086, 7141],\n\t[7164, 7203],\n\t[7227, 7241],\n\t[7245, 7304],\n\t[7312, 7354],\n\t[7357, 7367],\n\t[7379],\n\t[7401, 7404],\n\t[7406, 7411],\n\t[7413, 7414],\n\t[7418],\n\t[7424, 7615],\n\t[7680, 7957],\n\t[7960, 7965],\n\t[7968, 8005],\n\t[8008, 8013],\n\t[8016, 8023],\n\t[8025],\n\t[8027],\n\t[8029],\n\t[8031, 8061],\n\t[8064, 8116],\n\t[8118, 8132],\n\t[8134, 8147],\n\t[8150, 8155],\n\t[8157, 8175],\n\t[8178, 8180],\n\t[8182, 8190],\n\t[8192, 8202],\n\t[8208, 8233],\n\t[8239, 8287],\n\t[8304, 8305],\n\t[8308, 8334],\n\t[8336, 8348],\n\t[8352, 8384],\n\t[8448, 8587],\n\t[8592, 9254],\n\t[9280, 9290],\n\t[9312, 11123],\n\t[11126, 11157],\n\t[11159, 11502],\n\t[11506, 11507],\n\t[11513, 11557],\n\t[11559],\n\t[11565],\n\t[11568, 11623],\n\t[11631, 11632],\n\t[11648, 11670],\n\t[11680, 11686],\n\t[11688, 11694],\n\t[11696, 11702],\n\t[11704, 11710],\n\t[11712, 11718],\n\t[11720, 11726],\n\t[11728, 11734],\n\t[11736, 11742],\n\t[11776, 11869],\n\t[11904, 11929],\n\t[11931, 12019],\n\t[12032, 12245],\n\t[12272, 12329],\n\t[12336, 12351],\n\t[12353, 12438],\n\t[12443, 12543],\n\t[12549, 12591],\n\t[12593, 12686],\n\t[12688, 12771],\n\t[12783, 12830],\n\t[12832, 13312],\n\t[19903, 19968],\n\t[40959, 42124],\n\t[42128, 42182],\n\t[42192, 42539],\n\t[42560, 42606],\n\t[42611],\n\t[42622, 42653],\n\t[42656, 42735],\n\t[42738, 42743],\n\t[42752, 42954],\n\t[42960, 42961],\n\t[42963],\n\t[42965, 42969],\n\t[42994, 43009],\n\t[43011, 43013],\n\t[43015, 43018],\n\t[43020, 43042],\n\t[43048, 43051],\n\t[43056, 43065],\n\t[43072, 43127],\n\t[43138, 43187],\n\t[43214, 43225],\n\t[43250, 43262],\n\t[43264, 43301],\n\t[43310, 43334],\n\t[43359],\n\t[43396, 43442],\n\t[43457, 43469],\n\t[43471, 43481],\n\t[43486, 43492],\n\t[43494, 43518],\n\t[43520, 43560],\n\t[43584, 43586],\n\t[43588, 43595],\n\t[43600, 43609],\n\t[43612, 43642],\n\t[43646, 43695],\n\t[43697],\n\t[43701, 43702],\n\t[43705, 43709],\n\t[43712],\n\t[43714],\n\t[43739, 43754],\n\t[43760, 43764],\n\t[43777, 43782],\n\t[43785, 43790],\n\t[43793, 43798],\n\t[43808, 43814],\n\t[43816, 43822],\n\t[43824, 43883],\n\t[43888, 44002],\n\t[44011],\n\t[44016, 44025],\n\t[44032],\n\t[55203],\n\t[63744, 64109],\n\t[64112, 64217],\n\t[64256, 64262],\n\t[64275, 64279],\n\t[64285],\n\t[64287, 64310],\n\t[64312, 64316],\n\t[64318],\n\t[64320, 64321],\n\t[64323, 64324],\n\t[64326, 64450],\n\t[64467, 64911],\n\t[64914, 64967],\n\t[64975],\n\t[65008, 65023],\n\t[65040, 65049],\n\t[65072, 65106],\n\t[65108, 65126],\n\t[65128, 65131],\n\t[65136, 65140],\n\t[65142, 65276],\n\t[65281, 65437],\n\t[65440, 65470],\n\t[65474, 65479],\n\t[65482, 65487],\n\t[65490, 65495],\n\t[65498, 65500],\n\t[65504, 65510],\n\t[65512, 65518],\n\t[65532, 65533],\n\t[65536, 65547],\n\t[65549, 65574],\n\t[65576, 65594],\n\t[65596, 65597],\n\t[65599, 65613],\n\t[65616, 65629],\n\t[65664, 65786],\n\t[65792, 65794],\n\t[65799, 65843],\n\t[65847, 65934],\n\t[65936, 65948],\n\t[65952],\n\t[66e3, 66044],\n\t[66176, 66204],\n\t[66208, 66256],\n\t[66273, 66299],\n\t[66304, 66339],\n\t[66349, 66378],\n\t[66384, 66421],\n\t[66432, 66461],\n\t[66463, 66499],\n\t[66504, 66517],\n\t[66560, 66717],\n\t[66720, 66729],\n\t[66736, 66771],\n\t[66776, 66811],\n\t[66816, 66855],\n\t[66864, 66915],\n\t[66927, 66938],\n\t[66940, 66954],\n\t[66956, 66962],\n\t[66964, 66965],\n\t[66967, 66977],\n\t[66979, 66993],\n\t[66995, 67001],\n\t[67003, 67004],\n\t[67072, 67382],\n\t[67392, 67413],\n\t[67424, 67431],\n\t[67456, 67461],\n\t[67463, 67504],\n\t[67506, 67514],\n\t[67584, 67589],\n\t[67592],\n\t[67594, 67637],\n\t[67639, 67640],\n\t[67644],\n\t[67647, 67669],\n\t[67671, 67742],\n\t[67751, 67759],\n\t[67808, 67826],\n\t[67828, 67829],\n\t[67835, 67867],\n\t[67871, 67897],\n\t[67903],\n\t[67968, 68023],\n\t[68028, 68047],\n\t[68050, 68096],\n\t[68112, 68115],\n\t[68117, 68119],\n\t[68121, 68149],\n\t[68160, 68168],\n\t[68176, 68184],\n\t[68192, 68255],\n\t[68288, 68324],\n\t[68331, 68342],\n\t[68352, 68405],\n\t[68409, 68437],\n\t[68440, 68466],\n\t[68472, 68497],\n\t[68505, 68508],\n\t[68521, 68527],\n\t[68608, 68680],\n\t[68736, 68786],\n\t[68800, 68850],\n\t[68858, 68899],\n\t[68912, 68921],\n\t[69216, 69246],\n\t[69248, 69289],\n\t[69293],\n\t[69296, 69297],\n\t[69376, 69415],\n\t[69424, 69445],\n\t[69457, 69465],\n\t[69488, 69505],\n\t[69510, 69513],\n\t[69552, 69579],\n\t[69600, 69622],\n\t[69635, 69687],\n\t[69703, 69709],\n\t[69714, 69743],\n\t[69745, 69746],\n\t[69749],\n\t[69763, 69807],\n\t[69819, 69820],\n\t[69822, 69825],\n\t[69840, 69864],\n\t[69872, 69881],\n\t[69891, 69926],\n\t[69942, 69956],\n\t[69959],\n\t[69968, 70002],\n\t[70004, 70006],\n\t[70019, 70066],\n\t[70081],\n\t[70084, 70088],\n\t[70093],\n\t[70096, 70111],\n\t[70113, 70132],\n\t[70144, 70161],\n\t[70163, 70187],\n\t[70200, 70205],\n\t[70207, 70208],\n\t[70272, 70278],\n\t[70280],\n\t[70282, 70285],\n\t[70287, 70301],\n\t[70303, 70313],\n\t[70320, 70366],\n\t[70384, 70393],\n\t[70405, 70412],\n\t[70415, 70416],\n\t[70419, 70440],\n\t[70442, 70448],\n\t[70450, 70451],\n\t[70453, 70457],\n\t[70461],\n\t[70480],\n\t[70493, 70497],\n\t[70656, 70708],\n\t[70727, 70747],\n\t[70749],\n\t[70751, 70753],\n\t[70784, 70831],\n\t[70852, 70855],\n\t[70864, 70873],\n\t[71040, 71086],\n\t[71105, 71131],\n\t[71168, 71215],\n\t[71233, 71236],\n\t[71248, 71257],\n\t[71264, 71276],\n\t[71296, 71338],\n\t[71352, 71353],\n\t[71360, 71369],\n\t[71424, 71450],\n\t[71472, 71494],\n\t[71680, 71723],\n\t[71739],\n\t[71840, 71922],\n\t[71935, 71942],\n\t[71945],\n\t[71948, 71955],\n\t[71957, 71958],\n\t[71960, 71983],\n\t[72004, 72006],\n\t[72016, 72025],\n\t[72096, 72103],\n\t[72106, 72144],\n\t[72161, 72163],\n\t[72192],\n\t[72203, 72242],\n\t[72255, 72262],\n\t[72272],\n\t[72284, 72323],\n\t[72346, 72354],\n\t[72368, 72440],\n\t[72448, 72457],\n\t[72704, 72712],\n\t[72714, 72750],\n\t[72768, 72773],\n\t[72784, 72812],\n\t[72816, 72847],\n\t[72960, 72966],\n\t[72968, 72969],\n\t[72971, 73008],\n\t[73040, 73049],\n\t[73056, 73061],\n\t[73063, 73064],\n\t[73066, 73097],\n\t[73112],\n\t[73120, 73129],\n\t[73440, 73458],\n\t[73463, 73464],\n\t[73476, 73488],\n\t[73490, 73523],\n\t[73539, 73561],\n\t[73648],\n\t[73664, 73713],\n\t[73727, 74649],\n\t[74752, 74862],\n\t[74864, 74868],\n\t[74880, 75075],\n\t[77712, 77810],\n\t[77824, 78895],\n\t[78913, 78918],\n\t[82944, 83526],\n\t[92160, 92728],\n\t[92736, 92766],\n\t[92768, 92777],\n\t[92782, 92862],\n\t[92864, 92873],\n\t[92880, 92909],\n\t[92917],\n\t[92928, 92975],\n\t[92983, 92997],\n\t[93008, 93017],\n\t[93019, 93025],\n\t[93027, 93047],\n\t[93053, 93071],\n\t[93760, 93850],\n\t[93952, 94026],\n\t[94032],\n\t[94099, 94111],\n\t[94176, 94179],\n\t[94208],\n\t[100343],\n\t[100352, 101589],\n\t[101632],\n\t[101640],\n\t[110576, 110579],\n\t[110581, 110587],\n\t[110589, 110590],\n\t[110592, 110882],\n\t[110898],\n\t[110928, 110930],\n\t[110933],\n\t[110948, 110951],\n\t[110960, 111355],\n\t[113664, 113770],\n\t[113776, 113788],\n\t[113792, 113800],\n\t[113808, 113817],\n\t[113820],\n\t[113823],\n\t[118608, 118723],\n\t[118784, 119029],\n\t[119040, 119078],\n\t[119081, 119140],\n\t[119146, 119148],\n\t[119171, 119172],\n\t[119180, 119209],\n\t[119214, 119274],\n\t[119296, 119361],\n\t[119365],\n\t[119488, 119507],\n\t[119520, 119539],\n\t[119552, 119638],\n\t[119648, 119672],\n\t[119808, 119892],\n\t[119894, 119964],\n\t[119966, 119967],\n\t[119970],\n\t[119973, 119974],\n\t[119977, 119980],\n\t[119982, 119993],\n\t[119995],\n\t[119997, 120003],\n\t[120005, 120069],\n\t[120071, 120074],\n\t[120077, 120084],\n\t[120086, 120092],\n\t[120094, 120121],\n\t[120123, 120126],\n\t[120128, 120132],\n\t[120134],\n\t[120138, 120144],\n\t[120146, 120485],\n\t[120488, 120779],\n\t[120782, 121343],\n\t[121399, 121402],\n\t[121453, 121460],\n\t[121462, 121475],\n\t[121477, 121483],\n\t[122624, 122654],\n\t[122661, 122666],\n\t[122928, 122989],\n\t[123136, 123180],\n\t[123191, 123197],\n\t[123200, 123209],\n\t[123214, 123215],\n\t[123536, 123565],\n\t[123584, 123627],\n\t[123632, 123641],\n\t[123647],\n\t[124112, 124139],\n\t[124144, 124153],\n\t[124896, 124902],\n\t[124904, 124907],\n\t[124909, 124910],\n\t[124912, 124926],\n\t[124928, 125124],\n\t[125127, 125135],\n\t[125184, 125251],\n\t[125259],\n\t[125264, 125273],\n\t[125278, 125279],\n\t[126065, 126132],\n\t[126209, 126269],\n\t[126464, 126467],\n\t[126469, 126495],\n\t[126497, 126498],\n\t[126500],\n\t[126503],\n\t[126505, 126514],\n\t[126516, 126519],\n\t[126521],\n\t[126523],\n\t[126530],\n\t[126535],\n\t[126537],\n\t[126539],\n\t[126541, 126543],\n\t[126545, 126546],\n\t[126548],\n\t[126551],\n\t[126553],\n\t[126555],\n\t[126557],\n\t[126559],\n\t[126561, 126562],\n\t[126564],\n\t[126567, 126570],\n\t[126572, 126578],\n\t[126580, 126583],\n\t[126585, 126588],\n\t[126590],\n\t[126592, 126601],\n\t[126603, 126619],\n\t[126625, 126627],\n\t[126629, 126633],\n\t[126635, 126651],\n\t[126704, 126705],\n\t[126976, 127019],\n\t[127024, 127123],\n\t[127136, 127150],\n\t[127153, 127167],\n\t[127169, 127183],\n\t[127185, 127221],\n\t[127232, 127405],\n\t[127488, 127490],\n\t[127504, 127547],\n\t[127552, 127560],\n\t[127568, 127569],\n\t[127584, 127589],\n\t[127744, 127994],\n\t[128e3, 128727],\n\t[128732, 128748],\n\t[128752, 128764],\n\t[128768, 128886],\n\t[128891, 128985],\n\t[128992, 129003],\n\t[129008],\n\t[129024, 129035],\n\t[129040, 129095],\n\t[129104, 129113],\n\t[129120, 129159],\n\t[129168, 129197],\n\t[129200, 129201],\n\t[129280, 129619],\n\t[129632, 129645],\n\t[129648, 129660],\n\t[129664, 129672],\n\t[129680, 129725],\n\t[129727, 129733],\n\t[129742, 129755],\n\t[129760, 129768],\n\t[129776, 129784],\n\t[129792, 129938],\n\t[129940, 129994],\n\t[130032, 130041],\n\t[131072],\n\t[173791],\n\t[173824],\n\t[177977],\n\t[177984],\n\t[178205],\n\t[178208],\n\t[183969],\n\t[183984],\n\t[191456],\n\t[191472],\n\t[192093],\n\t[194560, 195101],\n\t[196608],\n\t[201546],\n\t[201552],\n\t[205743]\n];\n/**\n* Same as {@link autonomousGraphemeRanges} but only made of NFD decomposable graphemes.\n* We preserved only one version of each decomposition meaning that if c1.normalize('NFD') === c2.normalize('NFD')\n* we only preserved the first one to build our set of ranges.\n* As such we found 998 NFD decomposable graphemes and kept 980 of them spread into 197 ranges.\n* @internal\n*/\nconst autonomousDecomposableGraphemeRanges = [\n\t[192, 197],\n\t[199, 207],\n\t[209, 214],\n\t[217, 221],\n\t[224, 229],\n\t[231, 239],\n\t[241, 246],\n\t[249, 253],\n\t[255, 271],\n\t[274, 293],\n\t[296, 304],\n\t[308, 311],\n\t[313, 318],\n\t[323, 328],\n\t[332, 337],\n\t[340, 357],\n\t[360, 382],\n\t[416, 417],\n\t[431, 432],\n\t[461, 476],\n\t[478, 483],\n\t[486, 496],\n\t[500, 501],\n\t[504, 539],\n\t[542, 543],\n\t[550, 563],\n\t[901, 902],\n\t[904, 906],\n\t[908],\n\t[910, 912],\n\t[938, 944],\n\t[970, 974],\n\t[979, 980],\n\t[1024, 1025],\n\t[1027],\n\t[1031],\n\t[1036, 1038],\n\t[1049],\n\t[1081],\n\t[1104, 1105],\n\t[1107],\n\t[1111],\n\t[1116, 1118],\n\t[1142, 1143],\n\t[1217, 1218],\n\t[1232, 1235],\n\t[1238, 1239],\n\t[1242, 1247],\n\t[1250, 1255],\n\t[1258, 1269],\n\t[1272, 1273],\n\t[1570, 1574],\n\t[1728],\n\t[1730],\n\t[1747],\n\t[2345],\n\t[2353],\n\t[2356],\n\t[2392, 2399],\n\t[2524, 2525],\n\t[2527],\n\t[2611],\n\t[2614],\n\t[2649, 2651],\n\t[2654],\n\t[2908, 2909],\n\t[2964],\n\t[3907],\n\t[3917],\n\t[3922],\n\t[3927],\n\t[3932],\n\t[3945],\n\t[4134],\n\t[6918],\n\t[6920],\n\t[6922],\n\t[6924],\n\t[6926],\n\t[6930],\n\t[7680, 7833],\n\t[7835],\n\t[7840, 7929],\n\t[7936, 7957],\n\t[7960, 7965],\n\t[7968, 8005],\n\t[8008, 8013],\n\t[8016, 8023],\n\t[8025],\n\t[8027],\n\t[8029],\n\t[8031, 8048],\n\t[8050],\n\t[8052],\n\t[8054],\n\t[8056],\n\t[8058],\n\t[8060],\n\t[8064, 8116],\n\t[8118, 8122],\n\t[8124],\n\t[8129, 8132],\n\t[8134, 8136],\n\t[8138],\n\t[8140, 8146],\n\t[8150, 8154],\n\t[8157, 8162],\n\t[8164, 8170],\n\t[8172, 8173],\n\t[8178, 8180],\n\t[8182, 8184],\n\t[8186],\n\t[8188],\n\t[8602, 8603],\n\t[8622],\n\t[8653, 8655],\n\t[8708],\n\t[8713],\n\t[8716],\n\t[8740],\n\t[8742],\n\t[8769],\n\t[8772],\n\t[8775],\n\t[8777],\n\t[8800],\n\t[8802],\n\t[8813, 8817],\n\t[8820, 8821],\n\t[8824, 8825],\n\t[8832, 8833],\n\t[8836, 8837],\n\t[8840, 8841],\n\t[8876, 8879],\n\t[8928, 8931],\n\t[8938, 8941],\n\t[10972],\n\t[12364],\n\t[12366],\n\t[12368],\n\t[12370],\n\t[12372],\n\t[12374],\n\t[12376],\n\t[12378],\n\t[12380],\n\t[12382],\n\t[12384],\n\t[12386],\n\t[12389],\n\t[12391],\n\t[12393],\n\t[12400, 12401],\n\t[12403, 12404],\n\t[12406, 12407],\n\t[12409, 12410],\n\t[12412, 12413],\n\t[12436],\n\t[12446],\n\t[12460],\n\t[12462],\n\t[12464],\n\t[12466],\n\t[12468],\n\t[12470],\n\t[12472],\n\t[12474],\n\t[12476],\n\t[12478],\n\t[12480],\n\t[12482],\n\t[12485],\n\t[12487],\n\t[12489],\n\t[12496, 12497],\n\t[12499, 12500],\n\t[12502, 12503],\n\t[12505, 12506],\n\t[12508, 12509],\n\t[12532],\n\t[12535, 12538],\n\t[12542],\n\t[44032],\n\t[55203],\n\t[64285],\n\t[64287],\n\t[64298, 64310],\n\t[64312, 64316],\n\t[64318],\n\t[64320, 64321],\n\t[64323, 64324],\n\t[64326, 64334],\n\t[69786],\n\t[69788],\n\t[69803],\n\t[119134, 119140],\n\t[119227, 119232]\n];\n//#endregion\n//#region src/arbitrary/_internals/helpers/GraphemeRangesHelpers.ts\n/** @internal */\nconst safeStringFromCodePoint$3 = String.fromCodePoint;\n/** @internal */\nconst safeMathMin$2 = Math.min;\n/** @internal */\nconst safeMathMax$1 = Math.max;\n/**\n* Convert a range into an entry for mapToConstant\n* @internal\n*/\nfunction convertGraphemeRangeToMapToConstantEntry(range) {\n\tif (range.length === 1) {\n\t\tconst codePointString = safeStringFromCodePoint$3(range[0]);\n\t\treturn {\n\t\t\tnum: 1,\n\t\t\tbuild: () => codePointString\n\t\t};\n\t}\n\tconst rangeStart = range[0];\n\treturn {\n\t\tnum: range[1] - range[0] + 1,\n\t\tbuild: (idInGroup) => safeStringFromCodePoint$3(rangeStart + idInGroup)\n\t};\n}\n/**\n* Ranges have to be ordered and non-overlapping\n* @internal\n*/\nfunction intersectGraphemeRanges(rangesA, rangesB) {\n\tconst mergedRanges = [];\n\tlet cursorA = 0;\n\tlet cursorB = 0;\n\twhile (cursorA < rangesA.length && cursorB < rangesB.length) {\n\t\tconst rangeA = rangesA[cursorA];\n\t\tconst rangeAMin = rangeA[0];\n\t\tconst rangeAMax = rangeA.length === 1 ? rangeA[0] : rangeA[1];\n\t\tconst rangeB = rangesB[cursorB];\n\t\tconst rangeBMin = rangeB[0];\n\t\tconst rangeBMax = rangeB.length === 1 ? rangeB[0] : rangeB[1];\n\t\tif (rangeAMax < rangeBMin) cursorA += 1;\n\t\telse if (rangeBMax < rangeAMin) cursorB += 1;\n\t\telse {\n\t\t\tlet min = safeMathMax$1(rangeAMin, rangeBMin);\n\t\t\tconst max = safeMathMin$2(rangeAMax, rangeBMax);\n\t\t\tif (mergedRanges.length >= 1) {\n\t\t\t\tconst lastMergedRange = mergedRanges[mergedRanges.length - 1];\n\t\t\t\tif ((lastMergedRange.length === 1 ? lastMergedRange[0] : lastMergedRange[1]) + 1 === min) {\n\t\t\t\t\tmin = lastMergedRange[0];\n\t\t\t\t\tsafePop$1(mergedRanges);\n\t\t\t\t}\n\t\t\t}\n\t\t\tsafePush(mergedRanges, min === max ? [min] : [min, max]);\n\t\t\tif (rangeAMax <= max) cursorA += 1;\n\t\t\tif (rangeBMax <= max) cursorB += 1;\n\t\t}\n\t}\n\treturn mergedRanges;\n}\n//#endregion\n//#region src/arbitrary/_internals/StringUnitArbitrary.ts\n/**\n* Caching all already instanciated variations of stringUnit\n* @internal\n*/\nconst registeredStringUnitInstancesMap = Object.create(null);\n/** @internal */\nfunction getAlphabetRanges(alphabet) {\n\tswitch (alphabet) {\n\t\tcase \"full\": return fullAlphabetRanges;\n\t\tcase \"ascii\": return asciiAlphabetRanges;\n\t}\n}\n/** @internal */\nfunction getOrCreateStringUnitInstance(type, alphabet) {\n\tconst key = `${type}:${alphabet}`;\n\tconst registered = registeredStringUnitInstancesMap[key];\n\tif (registered !== void 0) return registered;\n\tconst alphabetRanges = getAlphabetRanges(alphabet);\n\tconst ranges = type === \"binary\" ? alphabetRanges : intersectGraphemeRanges(alphabetRanges, autonomousGraphemeRanges);\n\tconst entries = [];\n\tfor (const range of ranges) safePush(entries, convertGraphemeRangeToMapToConstantEntry(range));\n\tif (type === \"grapheme\") {\n\t\tconst decomposedRanges = intersectGraphemeRanges(alphabetRanges, autonomousDecomposableGraphemeRanges);\n\t\tfor (const range of decomposedRanges) {\n\t\t\tconst rawEntry = convertGraphemeRangeToMapToConstantEntry(range);\n\t\t\tsafePush(entries, {\n\t\t\t\tnum: rawEntry.num,\n\t\t\t\tbuild: (idInGroup) => safeNormalize(rawEntry.build(idInGroup), \"NFD\")\n\t\t\t});\n\t\t}\n\t}\n\tconst stringUnitInstance = mapToConstant(...entries);\n\tregisteredStringUnitInstancesMap[key] = stringUnitInstance;\n\treturn stringUnitInstance;\n}\n/** @internal */\nfunction stringUnit(type, alphabet) {\n\treturn getOrCreateStringUnitInstance(type, alphabet);\n}\n//#endregion\n//#region src/arbitrary/string.ts\n/** @internal */\nfunction extractUnitArbitrary(constraints) {\n\tif (typeof constraints.unit === \"object\") return constraints.unit;\n\tswitch (constraints.unit) {\n\t\tcase \"grapheme\": return stringUnit(\"grapheme\", \"full\");\n\t\tcase \"grapheme-composite\": return stringUnit(\"composite\", \"full\");\n\t\tcase \"grapheme-ascii\":\n\t\tcase void 0: return stringUnit(\"grapheme\", \"ascii\");\n\t\tcase \"binary\": return stringUnit(\"binary\", \"full\");\n\t\tcase \"binary-ascii\": return stringUnit(\"binary\", \"ascii\");\n\t}\n}\n/**\n* For strings of {@link char}\n*\n* @param constraints - Constraints to apply when building instances (since 2.4.0)\n*\n* @remarks Since 0.0.1\n* @public\n*/\nfunction string(constraints = {}) {\n\tconst charArbitrary = extractUnitArbitrary(constraints);\n\tconst unmapper = patternsToStringUnmapperFor(charArbitrary, constraints);\n\tconst experimentalCustomSlices = createSlicesForString(charArbitrary, constraints);\n\treturn array(charArbitrary, {\n\t\t...constraints,\n\t\texperimentalCustomSlices\n\t}).map(patternsToStringMapper, unmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/CharacterRangeArbitraryBuilder.ts\nconst SMap = Map;\nconst safeStringFromCharCode$1 = String.fromCharCode;\n/** @internal */\nconst lowerCaseMapper = {\n\tnum: 26,\n\tbuild: (v) => safeStringFromCharCode$1(v + 97)\n};\n/** @internal */\nconst upperCaseMapper = {\n\tnum: 26,\n\tbuild: (v) => safeStringFromCharCode$1(v + 65)\n};\n/** @internal */\nconst numericMapper = {\n\tnum: 10,\n\tbuild: (v) => safeStringFromCharCode$1(v + 48)\n};\n/** @internal */\nfunction percentCharArbMapper(c) {\n\tconst encoded = SencodeURIComponent(c);\n\treturn c !== encoded ? encoded : `%${safeNumberToString(safeCharCodeAt(c, 0), 16)}`;\n}\n/** @internal */\nfunction percentCharArbUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Unsupported\");\n\treturn decodeURIComponent(value);\n}\n/** @internal */\nconst percentCharArb = () => string({\n\tunit: \"binary\",\n\tminLength: 1,\n\tmaxLength: 1\n}).map(percentCharArbMapper, percentCharArbUnmapper);\nlet lowerAlphaArbitrary = void 0;\n/** @internal */\nfunction getOrCreateLowerAlphaArbitrary() {\n\tif (lowerAlphaArbitrary === void 0) lowerAlphaArbitrary = mapToConstant(lowerCaseMapper);\n\treturn lowerAlphaArbitrary;\n}\nlet lowerAlphaNumericArbitraries = void 0;\n/** @internal */\nfunction getOrCreateLowerAlphaNumericArbitrary(others) {\n\tif (lowerAlphaNumericArbitraries === void 0) lowerAlphaNumericArbitraries = new SMap();\n\tlet match = safeMapGet(lowerAlphaNumericArbitraries, others);\n\tif (match === void 0) {\n\t\tmatch = mapToConstant(lowerCaseMapper, numericMapper, {\n\t\t\tnum: others.length,\n\t\t\tbuild: (v) => others[v]\n\t\t});\n\t\tsafeMapSet(lowerAlphaNumericArbitraries, others, match);\n\t}\n\treturn match;\n}\n/** @internal */\nfunction buildAlphaNumericArbitrary(others) {\n\treturn mapToConstant(lowerCaseMapper, upperCaseMapper, numericMapper, {\n\t\tnum: others.length,\n\t\tbuild: (v) => others[v]\n\t});\n}\nlet alphaNumericPercentArbitraries = void 0;\n/** @internal */\nfunction getOrCreateAlphaNumericPercentArbitrary(others) {\n\tif (alphaNumericPercentArbitraries === void 0) alphaNumericPercentArbitraries = new SMap();\n\tlet match = safeMapGet(alphaNumericPercentArbitraries, others);\n\tif (match === void 0) {\n\t\tmatch = oneof({\n\t\t\tweight: 10,\n\t\t\tarbitrary: buildAlphaNumericArbitrary(others)\n\t\t}, {\n\t\t\tweight: 1,\n\t\t\tarbitrary: percentCharArb()\n\t\t});\n\t\tsafeMapSet(alphaNumericPercentArbitraries, others, match);\n\t}\n\treturn match;\n}\n//#endregion\n//#region src/arbitrary/option.ts\n/**\n* For either nil or a value coming from `arb` with custom frequency\n*\n* @param arb - Arbitrary that will be called to generate a non nil value\n* @param constraints - Constraints on the option(since 1.17.0)\n*\n* @remarks Since 0.0.6\n* @public\n*/\nfunction option(arb, constraints = {}) {\n\tconst freq = constraints.freq === void 0 ? 6 : constraints.freq;\n\tconst nilValue = safeHasOwnProperty(constraints, \"nil\") ? constraints.nil : null;\n\tconst weightedArbs = [{\n\t\tarbitrary: constant(nilValue),\n\t\tweight: 1,\n\t\tfallbackValue: { default: nilValue }\n\t}, {\n\t\tarbitrary: arb,\n\t\tweight: freq - 1\n\t}];\n\tconst frequencyConstraints = {\n\t\twithCrossShrink: true,\n\t\tdepthSize: constraints.depthSize,\n\t\tmaxDepth: constraints.maxDepth,\n\t\tdepthIdentifier: constraints.depthIdentifier\n\t};\n\treturn FrequencyArbitrary.from(weightedArbs, frequencyConstraints, \"fc.option\");\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/InvalidSubdomainLabelFiIter.ts\n/** @internal */\nfunction filterInvalidSubdomainLabel(subdomainLabel) {\n\tif (subdomainLabel.length > 63) return false;\n\treturn subdomainLabel.length < 4 || subdomainLabel[0] !== \"x\" || subdomainLabel[1] !== \"n\" || subdomainLabel[2] !== \"-\" || subdomainLabel[3] !== \"-\";\n}\n//#endregion\n//#region src/arbitrary/_internals/AdapterArbitrary.ts\n/** @internal */\nconst AdaptedValue = Symbol(\"adapted-value\");\n/** @internal */\nfunction toAdapterValue(rawValue, adapter) {\n\tconst adapted = adapter(rawValue.value_);\n\tif (!adapted.adapted) return rawValue;\n\treturn new Value(adapted.value, AdaptedValue);\n}\n/**\n* @internal\n* Adapt an existing Arbitrary by truncating its generating values\n* if they don't fit the requirements\n*/\nvar AdapterArbitrary = class extends Arbitrary {\n\tconstructor(sourceArb, adapter) {\n\t\tsuper();\n\t\tthis.sourceArb = sourceArb;\n\t\tthis.adapter = adapter;\n\t\tthis.adaptValue = (rawValue) => toAdapterValue(rawValue, adapter);\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst rawValue = this.sourceArb.generate(mrng, biasFactor);\n\t\treturn this.adaptValue(rawValue);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\treturn this.sourceArb.canShrinkWithoutContext(value) && !this.adapter(value).adapted;\n\t}\n\tshrink(value, context) {\n\t\tif (context === AdaptedValue) {\n\t\t\tif (!this.sourceArb.canShrinkWithoutContext(value)) return Stream.nil();\n\t\t\treturn this.sourceArb.shrink(value, void 0).map(this.adaptValue);\n\t\t}\n\t\treturn this.sourceArb.shrink(value, context).map(this.adaptValue);\n\t}\n};\n/** @internal */\nfunction adapter(sourceArb, adapter) {\n\treturn new AdapterArbitrary(sourceArb, adapter);\n}\n//#endregion\n//#region src/arbitrary/domain.ts\n/** @internal */\nfunction toSubdomainLabelMapper([f, d]) {\n\treturn d === null ? f : `${f}${d[0]}${d[1]}`;\n}\n/** @internal */\nfunction toSubdomainLabelUnmapper(value) {\n\tif (typeof value !== \"string\" || value.length === 0) throw new Error(\"Unsupported\");\n\tif (value.length === 1) return [value[0], null];\n\treturn [value[0], [safeSubstring(value, 1, value.length - 1), value[value.length - 1]]];\n}\n/** @internal */\nfunction subdomainLabel(size) {\n\tconst alphaNumericArb = getOrCreateLowerAlphaNumericArbitrary(\"\");\n\treturn tuple(alphaNumericArb, option(tuple(string({\n\t\tunit: getOrCreateLowerAlphaNumericArbitrary(\"-\"),\n\t\tsize,\n\t\tmaxLength: 61\n\t}), alphaNumericArb))).map(toSubdomainLabelMapper, toSubdomainLabelUnmapper).filter(filterInvalidSubdomainLabel);\n}\n/** @internal */\nfunction labelsMapper(elements) {\n\treturn `${safeJoin(elements[0], \".\")}.${elements[1]}`;\n}\n/** @internal */\nfunction labelsUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Unsupported type\");\n\tconst lastDotIndex = value.lastIndexOf(\".\");\n\treturn [safeSplit(safeSubstring(value, 0, lastDotIndex), \".\"), safeSubstring(value, lastDotIndex + 1)];\n}\n/** @internal */\nfunction labelsAdapter(labels) {\n\tconst [subDomains, suffix] = labels;\n\tlet lengthNotIncludingIndex = suffix.length;\n\tfor (let index = 0; index !== subDomains.length; ++index) {\n\t\tlengthNotIncludingIndex += 1 + subDomains[index].length;\n\t\tif (lengthNotIncludingIndex > 255) return {\n\t\t\tadapted: true,\n\t\t\tvalue: [safeSlice(subDomains, 0, index), suffix]\n\t\t};\n\t}\n\treturn {\n\t\tadapted: false,\n\t\tvalue: labels\n\t};\n}\n/**\n* For domains\n* having an extension with at least two lowercase characters\n*\n* According to {@link https://www.ietf.org/rfc/rfc1034.txt | RFC 1034},\n* {@link https://www.ietf.org/rfc/rfc1035.txt | RFC 1035},\n* {@link https://www.ietf.org/rfc/rfc1123.txt | RFC 1123} and\n* {@link https://url.spec.whatwg.org/ | WHATWG URL Standard}\n*\n* @param constraints - Constraints to apply when building instances (since 2.22.0)\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction domain(constraints = {}) {\n\tconst resolvedSize = resolveSize(constraints.size);\n\tconst resolvedSizeMinusOne = relativeSizeToSize(\"-1\", resolvedSize);\n\tconst publicSuffixArb = string({\n\t\tunit: getOrCreateLowerAlphaArbitrary(),\n\t\tminLength: 2,\n\t\tmaxLength: 63,\n\t\tsize: resolvedSizeMinusOne\n\t});\n\treturn adapter(tuple(array(subdomainLabel(resolvedSize), {\n\t\tsize: resolvedSizeMinusOne,\n\t\tminLength: 1,\n\t\tmaxLength: 127\n\t}), publicSuffixArb), labelsAdapter).map(labelsMapper, labelsUnmapper);\n}\n//#endregion\n//#region src/arbitrary/emailAddress.ts\n/** @internal */\nfunction dotAdapter(a) {\n\tlet currentLength = a[0].length;\n\tfor (let index = 1; index !== a.length; ++index) {\n\t\tcurrentLength += 1 + a[index].length;\n\t\tif (currentLength > 64) return {\n\t\t\tadapted: true,\n\t\t\tvalue: safeSlice(a, 0, index)\n\t\t};\n\t}\n\treturn {\n\t\tadapted: false,\n\t\tvalue: a\n\t};\n}\n/** @internal */\nfunction dotMapper(a) {\n\treturn safeJoin(a, \".\");\n}\n/** @internal */\nfunction dotUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Unsupported\");\n\treturn safeSplit(value, \".\");\n}\n/** @internal */\nfunction atMapper(data) {\n\treturn `${data[0]}@${data[1]}`;\n}\n/** @internal */\nfunction atUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Unsupported\");\n\treturn safeSplit(value, \"@\", 2);\n}\n/**\n* For email address\n*\n* According to {@link https://www.ietf.org/rfc/rfc2821.txt | RFC 2821},\n* {@link https://www.ietf.org/rfc/rfc3696.txt | RFC 3696} and\n* {@link https://www.ietf.org/rfc/rfc5322.txt | RFC 5322}\n*\n* @param constraints - Constraints to apply when building instances (since 2.22.0)\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction emailAddress(constraints = {}) {\n\treturn tuple(adapter(array(string({\n\t\tunit: getOrCreateLowerAlphaNumericArbitrary(\"!#$%&'*+-/=?^_`{|}~\"),\n\t\tminLength: 1,\n\t\tmaxLength: 64,\n\t\tsize: constraints.size\n\t}), {\n\t\tminLength: 1,\n\t\tmaxLength: 32,\n\t\tsize: constraints.size\n\t}), dotAdapter).map(dotMapper, dotUnmapper), domain({ size: constraints.size })).map(atMapper, atUnmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/DoubleHelpers.ts\nconst safeNegativeInfinity$6 = SNumber.NEGATIVE_INFINITY;\nconst safePositiveInfinity$6 = SNumber.POSITIVE_INFINITY;\nconst safeEpsilon = SNumber.EPSILON;\n/** @internal */\nconst INDEX_POSITIVE_INFINITY$1 = SBigInt(2146435072) * SBigInt(4294967296);\n/** @internal */\nconst INDEX_NEGATIVE_INFINITY$1 = -INDEX_POSITIVE_INFINITY$1 - SBigInt(1);\nconst num2Pow52 = 4503599627370496;\nconst big2Pow52Mask = SBigInt(0xfffffffffffff);\nconst big2Pow53 = SBigInt(\"9007199254740992\");\nconst f64 = new Float64Array(1);\nconst u32$1 = new Uint32Array(f64.buffer, f64.byteOffset);\n/** @internal */\nfunction bitCastDoubleToUInt64(f) {\n\tf64[0] = f;\n\treturn [u32$1[1], u32$1[0]];\n}\n/**\n* Decompose a 64-bit floating point number into its interpreted parts:\n* - 53-bit significand (fraction) with implicit bit and sign included\n* - 11-bit exponent\n*\n* - Number.MAX_VALUE = 2**1023    * (1 + (2**52-1)/2**52)\n*                    = 2**1023    * (2 - Number.EPSILON)\n* - Number.MIN_VALUE = 2**(-1022) * 2**(-52)\n* - Number.EPSILON   = 2**(-52)\n*\n* @param d - 64-bit floating point number to be decomposed into (significand, exponent)\n*\n* @internal\n*/\nfunction decomposeDouble(d) {\n\tconst { 0: hi, 1: lo } = bitCastDoubleToUInt64(d);\n\tconst signBit = hi >>> 31;\n\tconst exponentBits = hi >>> 20 & 2047;\n\tconst significandBits = (hi & 1048575) * 4294967296 + lo;\n\tconst exponent = exponentBits === 0 ? -1022 : exponentBits - 1023;\n\tlet significand = exponentBits === 0 ? 0 : 1;\n\tsignificand += significandBits * safeEpsilon;\n\tsignificand *= signBit === 0 ? 1 : -1;\n\treturn {\n\t\texponent,\n\t\tsignificand\n\t};\n}\n/** @internal */\nfunction indexInDoubleFromDecomp(exponent, significand) {\n\tif (exponent === -1022) return SBigInt(significand * num2Pow52);\n\treturn SBigInt((significand - 1) * num2Pow52) + (SBigInt(exponent + 1023) << SBigInt(52));\n}\n/**\n* Compute the index of d relative to other available 64-bit floating point numbers\n* Rq: Produces negative indexes for negative doubles\n*\n* @param d - 64-bit floating point number, anything except NaN\n*\n* @internal\n*/\nfunction doubleToIndex(d) {\n\tif (d === safePositiveInfinity$6) return INDEX_POSITIVE_INFINITY$1;\n\tif (d === safeNegativeInfinity$6) return INDEX_NEGATIVE_INFINITY$1;\n\tconst decomp = decomposeDouble(d);\n\tconst exponent = decomp.exponent;\n\tconst significand = decomp.significand;\n\tif (d > 0 || d === 0 && 1 / d === safePositiveInfinity$6) return indexInDoubleFromDecomp(exponent, significand);\n\telse return -indexInDoubleFromDecomp(exponent, -significand) - SBigInt(1);\n}\n/**\n* Compute the 64-bit floating point number corresponding to the provided indexes\n*\n* @param n - index of the double\n*\n* @internal\n*/\nfunction indexToDouble(index) {\n\tif (index < 0) return -indexToDouble(-index - SBigInt(1));\n\tif (index === INDEX_POSITIVE_INFINITY$1) return safePositiveInfinity$6;\n\tif (index < big2Pow53) return SNumber(index) * 2 ** -1074;\n\tconst postIndex = index - big2Pow53;\n\tconst exponent = -1021 + SNumber(postIndex >> SBigInt(52));\n\treturn (1 + SNumber(postIndex & big2Pow52Mask) * safeEpsilon) * 2 ** exponent;\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/FloatingOnlyHelpers.ts\nconst safeNumberIsInteger$2 = Number.isInteger;\nconst safeObjectIs$1 = Object.is;\nconst safeNegativeInfinity$5 = Number.NEGATIVE_INFINITY;\nconst safePositiveInfinity$5 = Number.POSITIVE_INFINITY;\n/** @internals */\nfunction refineConstraintsForFloatingOnly(constraints, maxValue, maxNonIntegerValue, onlyIntegersAfterThisValue) {\n\tconst { noDefaultInfinity = false, minExcluded = false, maxExcluded = false, min = noDefaultInfinity ? -maxValue : safeNegativeInfinity$5, max = noDefaultInfinity ? maxValue : safePositiveInfinity$5 } = constraints;\n\tconst effectiveMin = minExcluded ? min < -maxNonIntegerValue ? -onlyIntegersAfterThisValue : Math.max(min, -maxNonIntegerValue) : min === safeNegativeInfinity$5 ? Math.max(min, -onlyIntegersAfterThisValue) : Math.max(min, -maxNonIntegerValue);\n\tconst effectiveMax = maxExcluded ? max > maxNonIntegerValue ? onlyIntegersAfterThisValue : Math.min(max, maxNonIntegerValue) : max === safePositiveInfinity$5 ? Math.min(max, onlyIntegersAfterThisValue) : Math.min(max, maxNonIntegerValue);\n\treturn {\n\t\tnoDefaultInfinity: false,\n\t\tminExcluded: minExcluded || (min !== safeNegativeInfinity$5 || minExcluded) && safeNumberIsInteger$2(effectiveMin),\n\t\tmaxExcluded: maxExcluded || (max !== safePositiveInfinity$5 || maxExcluded) && safeNumberIsInteger$2(effectiveMax),\n\t\tmin: safeObjectIs$1(effectiveMin, -0) ? 0 : effectiveMin,\n\t\tmax: safeObjectIs$1(effectiveMax, 0) ? -0 : effectiveMax,\n\t\tnoNaN: constraints.noNaN || false\n\t};\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/DoubleOnlyHelpers.ts\nconst safeNegativeInfinity$4 = Number.NEGATIVE_INFINITY;\nconst safePositiveInfinity$4 = Number.POSITIVE_INFINITY;\nconst safeMaxValue$2 = Number.MAX_VALUE;\nconst maxNonIntegerValue$1 = 4503599627370495.5;\nconst onlyIntegersAfterThisValue$1 = 4503599627370496;\n/**\n* Refine source constraints receive by a double to focus only on non-integer values.\n* @param constraints - Source constraints to be refined\n*/\nfunction refineConstraintsForDoubleOnly(constraints) {\n\treturn refineConstraintsForFloatingOnly(constraints, safeMaxValue$2, maxNonIntegerValue$1, onlyIntegersAfterThisValue$1);\n}\nfunction doubleOnlyMapper(value) {\n\treturn value === 4503599627370496 ? safePositiveInfinity$4 : value === -4503599627370496 ? safeNegativeInfinity$4 : value;\n}\nfunction doubleOnlyUnmapper(value) {\n\tif (typeof value !== \"number\") throw new Error(\"Unsupported type\");\n\treturn value === safePositiveInfinity$4 ? onlyIntegersAfterThisValue$1 : value === safeNegativeInfinity$4 ? -onlyIntegersAfterThisValue$1 : value;\n}\n//#endregion\n//#region src/arbitrary/double.ts\nconst safeNumberIsInteger$1 = Number.isInteger;\nconst safeNumberIsNaN$1 = Number.isNaN;\nconst safeNegativeInfinity$3 = Number.NEGATIVE_INFINITY;\nconst safePositiveInfinity$3 = Number.POSITIVE_INFINITY;\nconst safeMaxValue$1 = Number.MAX_VALUE;\nconst safeNaN$1 = NaN;\n/**\n* Same as {@link doubleToIndex} except it throws in case of invalid double (NaN)\n*\n* @internal\n*/\nfunction safeDoubleToIndex(d, constraintsLabel) {\n\tif (safeNumberIsNaN$1(d)) throw new Error(\"fc.double constraints.\" + constraintsLabel + \" must be a 64-bit float\");\n\treturn doubleToIndex(d);\n}\n/** @internal */\nfunction unmapperDoubleToIndex(value) {\n\tif (typeof value !== \"number\") throw new Error(\"Unsupported type\");\n\treturn doubleToIndex(value);\n}\n/** @internal */\nfunction numberIsNotInteger$1(value) {\n\treturn !safeNumberIsInteger$1(value);\n}\n/** @internal */\nfunction anyDouble(constraints) {\n\tconst { noDefaultInfinity = false, noNaN = false, minExcluded = false, maxExcluded = false, min = noDefaultInfinity ? -safeMaxValue$1 : safeNegativeInfinity$3, max = noDefaultInfinity ? safeMaxValue$1 : safePositiveInfinity$3 } = constraints;\n\tconst minIndexRaw = safeDoubleToIndex(min, \"min\");\n\tconst minIndex = minExcluded ? minIndexRaw + SBigInt(1) : minIndexRaw;\n\tconst maxIndexRaw = safeDoubleToIndex(max, \"max\");\n\tconst maxIndex = maxExcluded ? maxIndexRaw - SBigInt(1) : maxIndexRaw;\n\tif (maxIndex < minIndex) throw new Error(\"fc.double constraints.min must be smaller or equal to constraints.max\");\n\tif (noNaN) return bigInt({\n\t\tmin: minIndex,\n\t\tmax: maxIndex\n\t}).map(indexToDouble, unmapperDoubleToIndex);\n\tconst positiveMaxIdx = maxIndex > SBigInt(0);\n\tconst minIndexWithNaN = positiveMaxIdx ? minIndex : minIndex - SBigInt(1);\n\tconst maxIndexWithNaN = positiveMaxIdx ? maxIndex + SBigInt(1) : maxIndex;\n\treturn bigInt({\n\t\tmin: minIndexWithNaN,\n\t\tmax: maxIndexWithNaN\n\t}).map((index) => {\n\t\tif (maxIndex < index || index < minIndex) return safeNaN$1;\n\t\telse return indexToDouble(index);\n\t}, (value) => {\n\t\tif (typeof value !== \"number\") throw new Error(\"Unsupported type\");\n\t\tif (safeNumberIsNaN$1(value)) return maxIndex !== maxIndexWithNaN ? maxIndexWithNaN : minIndexWithNaN;\n\t\treturn doubleToIndex(value);\n\t});\n}\n/**\n* For 64-bit floating point numbers:\n* - sign: 1 bit\n* - significand: 52 bits\n* - exponent: 11 bits\n*\n* @param constraints - Constraints to apply when building instances (since 2.8.0)\n*\n* @remarks Since 0.0.6\n* @public\n*/\nfunction double(constraints = {}) {\n\tif (!constraints.noInteger) return anyDouble(constraints);\n\treturn anyDouble(refineConstraintsForDoubleOnly(constraints)).map(doubleOnlyMapper, doubleOnlyUnmapper).filter(numberIsNotInteger$1);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/FloatHelpers.ts\nconst safeNegativeInfinity$2 = Number.NEGATIVE_INFINITY;\nconst safePositiveInfinity$2 = Number.POSITIVE_INFINITY;\nconst safeMathImul = Math.imul;\n/** @internal */\nconst MAX_VALUE_32 = 2 ** 127 * (1 + (2 ** 23 - 1) / 2 ** 23);\n/** @internal */\nconst INDEX_POSITIVE_INFINITY = 2139095040;\n/** @internal */\nconst INDEX_NEGATIVE_INFINITY = -2139095041;\nconst f32 = new Float32Array(1);\nconst u32 = new Uint32Array(f32.buffer, f32.byteOffset);\n/** @internal */\nfunction bitCastFloatToUInt32(f) {\n\tf32[0] = f;\n\treturn u32[0];\n}\n/**\n* Decompose a 32-bit floating point number into its interpreted parts:\n* - 24-bit significand (fraction) with implicit bit included\n* - 8-bit signed exponent after bias subtraction\n*\n* Remark in 64-bit floating point number:\n* - significand is over 53 bits including sign\n* - exponent is over 11 bits including sign\n* - Number.MAX_VALUE = 2**1023    * (1 + (2**52-1)/2**52)\n* - Number.MIN_VALUE = 2**(-1022) * 2**(-52)\n* - Number.EPSILON   = 2**(-52)\n*\n* @param f - 32-bit floating point number to be decomposed into (significand, exponent)\n*\n* @internal\n*/\nfunction decomposeFloat(f) {\n\tconst bits = bitCastFloatToUInt32(f);\n\tconst signBit = bits >>> 31;\n\tconst exponentBits = bits >>> 23 & 255;\n\tconst significandBits = bits & 8388607;\n\tconst exponent = exponentBits === 0 ? -126 : exponentBits - 127;\n\tlet significand = exponentBits === 0 ? 0 : 1;\n\tsignificand += significandBits / 2 ** 23;\n\tsignificand *= signBit === 0 ? 1 : -1;\n\treturn {\n\t\texponent,\n\t\tsignificand\n\t};\n}\n/** @internal */\nfunction indexInFloatFromDecomp(exponent, significand) {\n\tif (exponent === -126) return significand * 8388608;\n\treturn safeMathImul(exponent + 127, 8388608) + (significand - 1) * 8388608;\n}\n/**\n* Compute the index of f relative to other available 32-bit floating point numbers\n* Rq: Produces negative indexes for negative floats\n*\n* @param f - 32-bit floating point number\n*\n* @internal\n*/\nfunction floatToIndex(f) {\n\tif (f === safePositiveInfinity$2) return INDEX_POSITIVE_INFINITY;\n\tif (f === safeNegativeInfinity$2) return INDEX_NEGATIVE_INFINITY;\n\tconst decomp = decomposeFloat(f);\n\tconst exponent = decomp.exponent;\n\tconst significand = decomp.significand;\n\tif (f > 0 || f === 0 && 1 / f === safePositiveInfinity$2) return indexInFloatFromDecomp(exponent, significand);\n\telse return -indexInFloatFromDecomp(exponent, -significand) - 1;\n}\n/**\n* Compute the 32-bit floating point number corresponding to the provided indexes\n*\n* @param n - index of the float\n*\n* @internal\n*/\nfunction indexToFloat(index) {\n\tif (index < 0) return -indexToFloat(-index - 1);\n\tif (index === INDEX_POSITIVE_INFINITY) return safePositiveInfinity$2;\n\tif (index < 16777216) return index * 2 ** -149;\n\tconst postIndex = index - 16777216;\n\tconst exponent = -125 + (postIndex >> 23);\n\treturn (1 + (postIndex & 8388607) / 8388608) * 2 ** exponent;\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/FloatOnlyHelpers.ts\nconst safeNegativeInfinity$1 = Number.NEGATIVE_INFINITY;\nconst safePositiveInfinity$1 = Number.POSITIVE_INFINITY;\nconst safeMaxValue = MAX_VALUE_32;\nconst maxNonIntegerValue = 8388607.5;\nconst onlyIntegersAfterThisValue = 8388608;\n/**\n* Refine source constraints receive by a float to focus only on non-integer values.\n* @param constraints - Source constraints to be refined\n*/\nfunction refineConstraintsForFloatOnly(constraints) {\n\treturn refineConstraintsForFloatingOnly(constraints, safeMaxValue, maxNonIntegerValue, onlyIntegersAfterThisValue);\n}\nfunction floatOnlyMapper(value) {\n\treturn value === 8388608 ? safePositiveInfinity$1 : value === -8388608 ? safeNegativeInfinity$1 : value;\n}\nfunction floatOnlyUnmapper(value) {\n\tif (typeof value !== \"number\") throw new Error(\"Unsupported type\");\n\treturn value === safePositiveInfinity$1 ? onlyIntegersAfterThisValue : value === safeNegativeInfinity$1 ? -onlyIntegersAfterThisValue : value;\n}\n//#endregion\n//#region src/arbitrary/float.ts\nconst safeNumberIsInteger = Number.isInteger;\nconst safeNumberIsNaN = Number.isNaN;\nconst safeMathFround = Math.fround;\nconst safeNegativeInfinity = Number.NEGATIVE_INFINITY;\nconst safePositiveInfinity = Number.POSITIVE_INFINITY;\nconst safeNaN = NaN;\n/**\n* Same as {@link floatToIndex} except it throws if f is NaN or not representable as a 32-bit float\n*\n* @internal\n*/\nfunction safeFloatToIndex(f, constraintsLabel) {\n\tconst errorMessage = \"fc.float constraints.\" + constraintsLabel + \" must be a 32-bit float - you can convert any double to a 32-bit float by using `Math.fround(myDouble)`\";\n\tif (safeNumberIsNaN(f) || safeMathFround(f) !== f) throw new Error(errorMessage);\n\treturn floatToIndex(f);\n}\n/** @internal */\nfunction unmapperFloatToIndex(value) {\n\tif (typeof value !== \"number\") throw new Error(\"Unsupported type\");\n\treturn floatToIndex(value);\n}\n/** @internal */\nfunction numberIsNotInteger(value) {\n\treturn !safeNumberIsInteger(value);\n}\nfunction anyFloat(constraints) {\n\tconst { noDefaultInfinity = false, noNaN = false, minExcluded = false, maxExcluded = false, min = noDefaultInfinity ? -MAX_VALUE_32 : safeNegativeInfinity, max = noDefaultInfinity ? MAX_VALUE_32 : safePositiveInfinity } = constraints;\n\tconst minIndexRaw = safeFloatToIndex(min, \"min\");\n\tconst minIndex = minExcluded ? minIndexRaw + 1 : minIndexRaw;\n\tconst maxIndexRaw = safeFloatToIndex(max, \"max\");\n\tconst maxIndex = maxExcluded ? maxIndexRaw - 1 : maxIndexRaw;\n\tif (minIndex > maxIndex) throw new Error(\"fc.float constraints.min must be smaller or equal to constraints.max\");\n\tif (noNaN) return integer({\n\t\tmin: minIndex,\n\t\tmax: maxIndex\n\t}).map(indexToFloat, unmapperFloatToIndex);\n\tconst minIndexWithNaN = maxIndex > 0 ? minIndex : minIndex - 1;\n\tconst maxIndexWithNaN = maxIndex > 0 ? maxIndex + 1 : maxIndex;\n\treturn integer({\n\t\tmin: minIndexWithNaN,\n\t\tmax: maxIndexWithNaN\n\t}).map((index) => {\n\t\tif (index > maxIndex || index < minIndex) return safeNaN;\n\t\telse return indexToFloat(index);\n\t}, (value) => {\n\t\tif (typeof value !== \"number\") throw new Error(\"Unsupported type\");\n\t\tif (safeNumberIsNaN(value)) return maxIndex !== maxIndexWithNaN ? maxIndexWithNaN : minIndexWithNaN;\n\t\treturn floatToIndex(value);\n\t});\n}\n/**\n* For 32-bit floating point numbers:\n* - sign: 1 bit\n* - significand: 23 bits\n* - exponent: 8 bits\n*\n* The smallest non-zero value (in absolute value) that can be represented by such float is: 2 ** -126 * 2 ** -23.\n* And the largest one is: 2 ** 127 * (1 + (2 ** 23 - 1) / 2 ** 23).\n*\n* @param constraints - Constraints to apply when building instances (since 2.8.0)\n*\n* @remarks Since 0.0.6\n* @public\n*/\nfunction float(constraints = {}) {\n\tif (!constraints.noInteger) return anyFloat(constraints);\n\treturn anyFloat(refineConstraintsForFloatOnly(constraints)).map(floatOnlyMapper, floatOnlyUnmapper).filter(numberIsNotInteger);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/TextEscaper.ts\n/** @internal */\nfunction escapeForTemplateString(originalText) {\n\treturn originalText.replace(/([$`\\\\])/g, \"\\\\$1\").replace(/\\r/g, \"\\\\r\");\n}\n/** @internal */\nfunction escapeForMultilineComments(originalText) {\n\treturn originalText.replace(/\\*\\//g, \"*\\\\/\");\n}\n//#endregion\n//#region src/utils/hash.ts\n/** @internal */\nconst crc32Table = [\n\t0,\n\t1996959894,\n\t3993919788,\n\t2567524794,\n\t124634137,\n\t1886057615,\n\t3915621685,\n\t2657392035,\n\t249268274,\n\t2044508324,\n\t3772115230,\n\t2547177864,\n\t162941995,\n\t2125561021,\n\t3887607047,\n\t2428444049,\n\t498536548,\n\t1789927666,\n\t4089016648,\n\t2227061214,\n\t450548861,\n\t1843258603,\n\t4107580753,\n\t2211677639,\n\t325883990,\n\t1684777152,\n\t4251122042,\n\t2321926636,\n\t335633487,\n\t1661365465,\n\t4195302755,\n\t2366115317,\n\t997073096,\n\t1281953886,\n\t3579855332,\n\t2724688242,\n\t1006888145,\n\t1258607687,\n\t3524101629,\n\t2768942443,\n\t901097722,\n\t1119000684,\n\t3686517206,\n\t2898065728,\n\t853044451,\n\t1172266101,\n\t3705015759,\n\t2882616665,\n\t651767980,\n\t1373503546,\n\t3369554304,\n\t3218104598,\n\t565507253,\n\t1454621731,\n\t3485111705,\n\t3099436303,\n\t671266974,\n\t1594198024,\n\t3322730930,\n\t2970347812,\n\t795835527,\n\t1483230225,\n\t3244367275,\n\t3060149565,\n\t1994146192,\n\t31158534,\n\t2563907772,\n\t4023717930,\n\t1907459465,\n\t112637215,\n\t2680153253,\n\t3904427059,\n\t2013776290,\n\t251722036,\n\t2517215374,\n\t3775830040,\n\t2137656763,\n\t141376813,\n\t2439277719,\n\t3865271297,\n\t1802195444,\n\t476864866,\n\t2238001368,\n\t4066508878,\n\t1812370925,\n\t453092731,\n\t2181625025,\n\t4111451223,\n\t1706088902,\n\t314042704,\n\t2344532202,\n\t4240017532,\n\t1658658271,\n\t366619977,\n\t2362670323,\n\t4224994405,\n\t1303535960,\n\t984961486,\n\t2747007092,\n\t3569037538,\n\t1256170817,\n\t1037604311,\n\t2765210733,\n\t3554079995,\n\t1131014506,\n\t879679996,\n\t2909243462,\n\t3663771856,\n\t1141124467,\n\t855842277,\n\t2852801631,\n\t3708648649,\n\t1342533948,\n\t654459306,\n\t3188396048,\n\t3373015174,\n\t1466479909,\n\t544179635,\n\t3110523913,\n\t3462522015,\n\t1591671054,\n\t702138776,\n\t2966460450,\n\t3352799412,\n\t1504918807,\n\t783551873,\n\t3082640443,\n\t3233442989,\n\t3988292384,\n\t2596254646,\n\t62317068,\n\t1957810842,\n\t3939845945,\n\t2647816111,\n\t81470997,\n\t1943803523,\n\t3814918930,\n\t2489596804,\n\t225274430,\n\t2053790376,\n\t3826175755,\n\t2466906013,\n\t167816743,\n\t2097651377,\n\t4027552580,\n\t2265490386,\n\t503444072,\n\t1762050814,\n\t4150417245,\n\t2154129355,\n\t426522225,\n\t1852507879,\n\t4275313526,\n\t2312317920,\n\t282753626,\n\t1742555852,\n\t4189708143,\n\t2394877945,\n\t397917763,\n\t1622183637,\n\t3604390888,\n\t2714866558,\n\t953729732,\n\t1340076626,\n\t3518719985,\n\t2797360999,\n\t1068828381,\n\t1219638859,\n\t3624741850,\n\t2936675148,\n\t906185462,\n\t1090812512,\n\t3747672003,\n\t2825379669,\n\t829329135,\n\t1181335161,\n\t3412177804,\n\t3160834842,\n\t628085408,\n\t1382605366,\n\t3423369109,\n\t3138078467,\n\t570562233,\n\t1426400815,\n\t3317316542,\n\t2998733608,\n\t733239954,\n\t1555261956,\n\t3268935591,\n\t3050360625,\n\t752459403,\n\t1541320221,\n\t2607071920,\n\t3965973030,\n\t1969922972,\n\t40735498,\n\t2617837225,\n\t3943577151,\n\t1913087877,\n\t83908371,\n\t2512341634,\n\t3803740692,\n\t2075208622,\n\t213261112,\n\t2463272603,\n\t3855990285,\n\t2094854071,\n\t198958881,\n\t2262029012,\n\t4057260610,\n\t1759359992,\n\t534414190,\n\t2176718541,\n\t4139329115,\n\t1873836001,\n\t414664567,\n\t2282248934,\n\t4279200368,\n\t1711684554,\n\t285281116,\n\t2405801727,\n\t4167216745,\n\t1634467795,\n\t376229701,\n\t2685067896,\n\t3608007406,\n\t1308918612,\n\t956543938,\n\t2808555105,\n\t3495958263,\n\t1231636301,\n\t1047427035,\n\t2932959818,\n\t3654703836,\n\t1088359270,\n\t936918e3,\n\t2847714899,\n\t3736837829,\n\t1202900863,\n\t817233897,\n\t3183342108,\n\t3401237130,\n\t1404277552,\n\t615818150,\n\t3134207493,\n\t3453421203,\n\t1423857449,\n\t601450431,\n\t3009837614,\n\t3294710456,\n\t1567103746,\n\t711928724,\n\t3020668471,\n\t3272380065,\n\t1510334235,\n\t755167117\n];\n/**\n* CRC-32 based hash function\n*\n* Used internally by fast-check in {@link func}, {@link compareFunc} or even {@link compareBooleanFunc}.\n*\n* @param repr - String value to be hashed\n*\n* @remarks Since 2.1.0\n* @public\n*/\nfunction hash(repr) {\n\tlet crc = 4294967295;\n\tfor (let idx = 0; idx < repr.length; ++idx) {\n\t\tconst c = safeCharCodeAt(repr, idx);\n\t\tif (c < 128) crc = crc32Table[crc & 255 ^ c] ^ crc >> 8;\n\t\telse if (c < 2048) {\n\t\t\tcrc = crc32Table[crc & 255 ^ (192 | c >> 6 & 31)] ^ crc >> 8;\n\t\t\tcrc = crc32Table[crc & 255 ^ (128 | c & 63)] ^ crc >> 8;\n\t\t} else if (c >= 55296 && c < 57344) {\n\t\t\tconst cNext = safeCharCodeAt(repr, ++idx);\n\t\t\tif (c >= 56320 || cNext < 56320 || cNext > 57343 || Number.isNaN(cNext)) {\n\t\t\t\tidx -= 1;\n\t\t\t\tcrc = crc32Table[crc & 255 ^ 239] ^ crc >> 8;\n\t\t\t\tcrc = crc32Table[crc & 255 ^ 191] ^ crc >> 8;\n\t\t\t\tcrc = crc32Table[crc & 255 ^ 189] ^ crc >> 8;\n\t\t\t} else {\n\t\t\t\tconst c1 = (c & 1023) + 64;\n\t\t\t\tconst c2 = cNext & 1023;\n\t\t\t\tcrc = crc32Table[crc & 255 ^ (240 | c1 >> 8 & 7)] ^ crc >> 8;\n\t\t\t\tcrc = crc32Table[crc & 255 ^ (128 | c1 >> 2 & 63)] ^ crc >> 8;\n\t\t\t\tcrc = crc32Table[crc & 255 ^ (128 | c2 >> 6 & 15 | (c1 & 3) << 4)] ^ crc >> 8;\n\t\t\t\tcrc = crc32Table[crc & 255 ^ (128 | c2 & 63)] ^ crc >> 8;\n\t\t\t}\n\t\t} else {\n\t\t\tcrc = crc32Table[crc & 255 ^ (224 | c >> 12 & 15)] ^ crc >> 8;\n\t\t\tcrc = crc32Table[crc & 255 ^ (128 | c >> 6 & 63)] ^ crc >> 8;\n\t\t\tcrc = crc32Table[crc & 255 ^ (128 | c & 63)] ^ crc >> 8;\n\t\t}\n\t}\n\treturn (crc | 0) + 2147483648;\n}\n//#endregion\n//#region src/arbitrary/noShrink.ts\nconst stableObjectGetPrototypeOf = Object.getPrototypeOf;\n/** @internal */\nvar NoShrinkArbitrary = class extends Arbitrary {\n\tconstructor(arb) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\treturn this.arb.generate(mrng, biasFactor);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\treturn this.arb.canShrinkWithoutContext(value);\n\t}\n\tshrink(_value, _context) {\n\t\treturn Stream.nil();\n\t}\n};\n/**\n* Build an arbitrary without shrinking capabilities.\n*\n* NOTE:\n* In most cases, users should avoid disabling shrinking capabilities.\n* If the concern is the shrinking process taking too long or being unnecessary in CI environments,\n* consider using alternatives like `endOnFailure` or `interruptAfterTimeLimit` instead.\n*\n* @param arb - The original arbitrary used for generating values. This arbitrary remains unchanged, but its shrinking capabilities will not be included in the new arbitrary.\n*\n* @remarks Since 3.20.0\n* @public\n*/\nfunction noShrink(arb) {\n\tif (stableObjectGetPrototypeOf(arb) === NoShrinkArbitrary.prototype && arb.generate === NoShrinkArbitrary.prototype.generate && arb.canShrinkWithoutContext === NoShrinkArbitrary.prototype.canShrinkWithoutContext && arb.shrink === NoShrinkArbitrary.prototype.shrink) return arb;\n\treturn new NoShrinkArbitrary(arb);\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/CompareFunctionArbitraryBuilder.ts\nconst safeObjectAssign$3 = Object.assign;\nconst safeObjectKeys$3 = Object.keys;\n/** @internal */\nfunction buildCompareFunctionArbitrary(cmp) {\n\treturn tuple(noShrink(integer()), noShrink(integer({\n\t\tmin: 1,\n\t\tmax: 4294967295\n\t}))).map(([seed, hashEnvSize]) => {\n\t\tconst producer = () => {\n\t\t\tconst recorded = {};\n\t\t\tconst f = (a, b) => {\n\t\t\t\tconst reprA = stringify(a);\n\t\t\t\tconst reprB = stringify(b);\n\t\t\t\tconst val = cmp(hash(`${seed}${reprA}`) % hashEnvSize, hash(`${seed}${reprB}`) % hashEnvSize);\n\t\t\t\trecorded[`[${reprA},${reprB}]`] = val;\n\t\t\t\treturn val;\n\t\t\t};\n\t\t\treturn safeObjectAssign$3(f, {\n\t\t\t\ttoString: () => {\n\t\t\t\t\tconst seenValues = safeObjectKeys$3(recorded).sort().map((k) => `${k} => ${stringify(recorded[k])}`).map((line) => `/* ${escapeForMultilineComments(line)} */`);\n\t\t\t\t\treturn `function(a, b) {\n  // With hash and stringify coming from fast-check${seenValues.length !== 0 ? `\\n  ${safeJoin(seenValues, \"\\n  \")}` : \"\"}\n  const cmp = ${cmp};\n  const hA = hash('${seed}' + stringify(a)) % ${hashEnvSize};\n  const hB = hash('${seed}' + stringify(b)) % ${hashEnvSize};\n  return cmp(hA, hB);\n}`;\n\t\t\t\t},\n\t\t\t\t[cloneMethod]: producer\n\t\t\t});\n\t\t};\n\t\treturn producer();\n\t});\n}\n//#endregion\n//#region src/arbitrary/compareBooleanFunc.ts\nconst safeObjectAssign$2 = Object.assign;\n/**\n* For comparison boolean functions\n*\n* A comparison boolean function returns:\n* - `true` whenever `a < b`\n* - `false` otherwise (ie. `a = b` or `a > b`)\n*\n* @remarks Since 1.6.0\n* @public\n*/\nfunction compareBooleanFunc() {\n\treturn buildCompareFunctionArbitrary(safeObjectAssign$2((hA, hB) => hA < hB, { toString() {\n\t\treturn \"(hA, hB) => hA < hB\";\n\t} }));\n}\n//#endregion\n//#region src/arbitrary/compareFunc.ts\nconst safeObjectAssign$1 = Object.assign;\n/**\n* For comparison functions\n*\n* A comparison function returns:\n* - negative value whenever `a < b`\n* - positive value whenever `a > b`\n* - zero whenever `a` and `b` are equivalent\n*\n* Comparison functions are transitive: `a < b and b < c => a < c`\n*\n* They also satisfy: `a < b <=> b > a` and `a = b <=> b = a`\n*\n* @remarks Since 1.6.0\n* @public\n*/\nfunction compareFunc() {\n\treturn buildCompareFunctionArbitrary(safeObjectAssign$1((hA, hB) => hA - hB, { toString() {\n\t\treturn \"(hA, hB) => hA - hB\";\n\t} }));\n}\n//#endregion\n//#region src/arbitrary/func.ts\nconst safeObjectDefineProperties$1 = Object.defineProperties;\nconst safeObjectKeys$2 = Object.keys;\n/**\n* For pure functions\n*\n* @param arb - Arbitrary responsible to produce the values\n*\n* @remarks Since 1.6.0\n* @public\n*/\nfunction func(arb) {\n\treturn tuple(array(arb, { minLength: 1 }), noShrink(integer())).map(([outs, seed]) => {\n\t\tconst producer = () => {\n\t\t\tconst recorded = {};\n\t\t\tconst f = (...args) => {\n\t\t\t\tconst repr = stringify(args);\n\t\t\t\tconst val = outs[hash(`${seed}${repr}`) % outs.length];\n\t\t\t\trecorded[repr] = val;\n\t\t\t\treturn hasCloneMethod(val) ? val[cloneMethod]() : val;\n\t\t\t};\n\t\t\tfunction prettyPrint(stringifiedOuts) {\n\t\t\t\tconst seenValues = safeMap(safeMap(safeSort(safeObjectKeys$2(recorded)), (k) => `${k} => ${stringify(recorded[k])}`), (line) => `/* ${escapeForMultilineComments(line)} */`);\n\t\t\t\treturn `function(...args) {\n  // With hash and stringify coming from fast-check${seenValues.length !== 0 ? `\\n  ${seenValues.join(\"\\n  \")}` : \"\"}\n  const outs = ${stringifiedOuts};\n  return outs[hash('${seed}' + stringify(args)) % outs.length];\n}`;\n\t\t\t}\n\t\t\treturn safeObjectDefineProperties$1(f, {\n\t\t\t\ttoString: { value: () => prettyPrint(stringify(outs)) },\n\t\t\t\t[toStringMethod]: { value: () => prettyPrint(stringify(outs)) },\n\t\t\t\t[asyncToStringMethod]: { value: async () => prettyPrint(await asyncStringify(outs)) },\n\t\t\t\t[cloneMethod]: {\n\t\t\t\t\tvalue: producer,\n\t\t\t\t\tconfigurable: true\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t\treturn producer();\n\t});\n}\n//#endregion\n//#region src/arbitrary/maxSafeInteger.ts\nconst safeMinSafeInteger = Number.MIN_SAFE_INTEGER;\nconst safeMaxSafeInteger$1 = Number.MAX_SAFE_INTEGER;\n/**\n* For integers between Number.MIN_SAFE_INTEGER (included) and Number.MAX_SAFE_INTEGER (included)\n* @remarks Since 1.11.0\n* @public\n*/\nfunction maxSafeInteger() {\n\treturn new IntegerArbitrary(safeMinSafeInteger, safeMaxSafeInteger$1);\n}\n//#endregion\n//#region src/arbitrary/maxSafeNat.ts\nconst safeMaxSafeInteger = Number.MAX_SAFE_INTEGER;\n/**\n* For positive integers between 0 (included) and Number.MAX_SAFE_INTEGER (included)\n* @remarks Since 1.11.0\n* @public\n*/\nfunction maxSafeNat() {\n\treturn new IntegerArbitrary(0, safeMaxSafeInteger);\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/NatToStringifiedNat.ts\nconst safeNumberParseInt = Number.parseInt;\n/** @internal */\nfunction natToStringifiedNatMapper(options) {\n\tconst [style, v] = options;\n\tswitch (style) {\n\t\tcase \"oct\": return `0${safeNumberToString(v, 8)}`;\n\t\tcase \"hex\": return `0x${safeNumberToString(v, 16)}`;\n\t\tdefault: return `${v}`;\n\t}\n}\n/** @internal */\nfunction tryParseStringifiedNat(stringValue, radix) {\n\tconst parsedNat = safeNumberParseInt(stringValue, radix);\n\tif (safeNumberToString(parsedNat, radix) !== stringValue) throw new Error(\"Invalid value\");\n\treturn parsedNat;\n}\n/** @internal */\nfunction natToStringifiedNatUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Invalid type\");\n\tif (value.length >= 2 && value[0] === \"0\") {\n\t\tif (value[1] === \"x\") return [\"hex\", tryParseStringifiedNat(safeSubstring(value, 2), 16)];\n\t\treturn [\"oct\", tryParseStringifiedNat(safeSubstring(value, 1), 8)];\n\t}\n\treturn [\"dec\", tryParseStringifiedNat(value, 10)];\n}\n//#endregion\n//#region src/arbitrary/ipV4.ts\n/** @internal */\nfunction dotJoinerMapper$1(data) {\n\treturn safeJoin(data, \".\");\n}\n/** @internal */\nfunction dotJoinerUnmapper$1(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Invalid type\");\n\treturn safeMap(safeSplit(value, \".\"), (v) => tryParseStringifiedNat(v, 10));\n}\n/**\n* For valid IP v4\n*\n* Following {@link https://tools.ietf.org/html/rfc3986#section-3.2.2 | RFC 3986}\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction ipV4() {\n\treturn tuple(nat(255), nat(255), nat(255), nat(255)).map(dotJoinerMapper$1, dotJoinerUnmapper$1);\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/StringifiedNatArbitraryBuilder.ts\n/** @internal */\nfunction buildStringifiedNatArbitrary(maxValue) {\n\treturn tuple(constantFrom(\"dec\", \"oct\", \"hex\"), nat(maxValue)).map(natToStringifiedNatMapper, natToStringifiedNatUnmapper);\n}\n//#endregion\n//#region src/arbitrary/ipV4Extended.ts\n/** @internal */\nfunction dotJoinerMapper(data) {\n\treturn safeJoin(data, \".\");\n}\n/** @internal */\nfunction dotJoinerUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Invalid type\");\n\treturn safeSplit(value, \".\");\n}\n/**\n* For valid IP v4 according to WhatWG\n*\n* Following {@link https://url.spec.whatwg.org/ | WhatWG}, the specification for web-browsers\n*\n* There is no equivalent for IP v6 according to the {@link https://url.spec.whatwg.org/#concept-ipv6-parser | IP v6 parser}\n*\n* @remarks Since 1.17.0\n* @public\n*/\nfunction ipV4Extended() {\n\treturn oneof(tuple(buildStringifiedNatArbitrary(255), buildStringifiedNatArbitrary(255), buildStringifiedNatArbitrary(255), buildStringifiedNatArbitrary(255)).map(dotJoinerMapper, dotJoinerUnmapper), tuple(buildStringifiedNatArbitrary(255), buildStringifiedNatArbitrary(255), buildStringifiedNatArbitrary(65535)).map(dotJoinerMapper, dotJoinerUnmapper), tuple(buildStringifiedNatArbitrary(255), buildStringifiedNatArbitrary(16777215)).map(dotJoinerMapper, dotJoinerUnmapper), buildStringifiedNatArbitrary(4294967295));\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/EntitiesToIPv6.ts\n/** @internal */\nfunction readBh(value) {\n\tif (value.length === 0) return [];\n\telse return safeSplit(value, \":\");\n}\n/** @internal */\nfunction extractEhAndL(value) {\n\tconst valueSplits = safeSplit(value, \":\");\n\tif (valueSplits.length >= 2 && valueSplits[valueSplits.length - 1].length <= 4) return [safeSlice(valueSplits, 0, valueSplits.length - 2), `${valueSplits[valueSplits.length - 2]}:${valueSplits[valueSplits.length - 1]}`];\n\treturn [safeSlice(valueSplits, 0, valueSplits.length - 1), valueSplits[valueSplits.length - 1]];\n}\n/** @internal */\nfunction fullySpecifiedMapper(data) {\n\treturn `${safeJoin(data[0], \":\")}:${data[1]}`;\n}\n/** @internal */\nfunction fullySpecifiedUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Invalid type\");\n\treturn extractEhAndL(value);\n}\n/** @internal */\nfunction onlyTrailingMapper(data) {\n\treturn `::${safeJoin(data[0], \":\")}:${data[1]}`;\n}\n/** @internal */\nfunction onlyTrailingUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Invalid type\");\n\tif (!safeStartsWith(value, \"::\")) throw new Error(\"Invalid value\");\n\treturn extractEhAndL(safeSubstring(value, 2));\n}\n/** @internal */\nfunction multiTrailingMapper(data) {\n\treturn `${safeJoin(data[0], \":\")}::${safeJoin(data[1], \":\")}:${data[2]}`;\n}\n/** @internal */\nfunction multiTrailingUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Invalid type\");\n\tconst [bhString, trailingString] = safeSplit(value, \"::\", 2);\n\tconst [eh, l] = extractEhAndL(trailingString);\n\treturn [\n\t\treadBh(bhString),\n\t\teh,\n\t\tl\n\t];\n}\n/** @internal */\nfunction multiTrailingMapperOne(data) {\n\treturn multiTrailingMapper([\n\t\tdata[0],\n\t\t[data[1]],\n\t\tdata[2]\n\t]);\n}\n/** @internal */\nfunction multiTrailingUnmapperOne(value) {\n\tconst out = multiTrailingUnmapper(value);\n\treturn [\n\t\tout[0],\n\t\tsafeJoin(out[1], \":\"),\n\t\tout[2]\n\t];\n}\n/** @internal */\nfunction singleTrailingMapper(data) {\n\treturn `${safeJoin(data[0], \":\")}::${data[1]}`;\n}\n/** @internal */\nfunction singleTrailingUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Invalid type\");\n\tconst [bhString, trailing] = safeSplit(value, \"::\", 2);\n\treturn [readBh(bhString), trailing];\n}\n/** @internal */\nfunction noTrailingMapper(data) {\n\treturn `${safeJoin(data[0], \":\")}::`;\n}\n/** @internal */\nfunction noTrailingUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Invalid type\");\n\tif (!safeEndsWith(value, \"::\")) throw new Error(\"Invalid value\");\n\treturn [readBh(safeSubstring(value, 0, value.length - 2))];\n}\n//#endregion\n//#region src/arbitrary/ipV6.ts\n/** @internal */\nfunction h16sTol32Mapper([a, b]) {\n\treturn `${a}:${b}`;\n}\n/** @internal */\nfunction h16sTol32Unmapper(value) {\n\tif (typeof value !== \"string\") throw new SError(\"Invalid type\");\n\tif (!value.includes(\":\")) throw new SError(\"Invalid value\");\n\treturn value.split(\":\", 2);\n}\nconst items = \"0123456789abcdef\";\nlet cachedHexa = void 0;\n/** @internal */\nfunction hexa() {\n\tif (cachedHexa === void 0) cachedHexa = integer({\n\t\tmin: 0,\n\t\tmax: 15\n\t}).map((n) => items[n], (c) => {\n\t\tif (typeof c !== \"string\") throw new SError(\"Not a string\");\n\t\tif (c.length !== 1) throw new SError(\"Invalid length\");\n\t\tconst code = safeCharCodeAt(c, 0);\n\t\tif (code <= 57) return code - 48;\n\t\tif (code < 97) throw new SError(\"Invalid character\");\n\t\treturn code - 87;\n\t});\n\treturn cachedHexa;\n}\n/**\n* For valid IP v6\n*\n* Following {@link https://tools.ietf.org/html/rfc3986#section-3.2.2 | RFC 3986}\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction ipV6() {\n\tconst h16Arb = string({\n\t\tunit: hexa(),\n\t\tminLength: 1,\n\t\tmaxLength: 4,\n\t\tsize: \"max\"\n\t});\n\tconst ls32Arb = oneof(tuple(h16Arb, h16Arb).map(h16sTol32Mapper, h16sTol32Unmapper), ipV4());\n\treturn oneof(tuple(array(h16Arb, {\n\t\tminLength: 6,\n\t\tmaxLength: 6,\n\t\tsize: \"max\"\n\t}), ls32Arb).map(fullySpecifiedMapper, fullySpecifiedUnmapper), tuple(array(h16Arb, {\n\t\tminLength: 5,\n\t\tmaxLength: 5,\n\t\tsize: \"max\"\n\t}), ls32Arb).map(onlyTrailingMapper, onlyTrailingUnmapper), tuple(array(h16Arb, {\n\t\tminLength: 0,\n\t\tmaxLength: 1,\n\t\tsize: \"max\"\n\t}), array(h16Arb, {\n\t\tminLength: 4,\n\t\tmaxLength: 4,\n\t\tsize: \"max\"\n\t}), ls32Arb).map(multiTrailingMapper, multiTrailingUnmapper), tuple(array(h16Arb, {\n\t\tminLength: 0,\n\t\tmaxLength: 2,\n\t\tsize: \"max\"\n\t}), array(h16Arb, {\n\t\tminLength: 3,\n\t\tmaxLength: 3,\n\t\tsize: \"max\"\n\t}), ls32Arb).map(multiTrailingMapper, multiTrailingUnmapper), tuple(array(h16Arb, {\n\t\tminLength: 0,\n\t\tmaxLength: 3,\n\t\tsize: \"max\"\n\t}), array(h16Arb, {\n\t\tminLength: 2,\n\t\tmaxLength: 2,\n\t\tsize: \"max\"\n\t}), ls32Arb).map(multiTrailingMapper, multiTrailingUnmapper), tuple(array(h16Arb, {\n\t\tminLength: 0,\n\t\tmaxLength: 4,\n\t\tsize: \"max\"\n\t}), h16Arb, ls32Arb).map(multiTrailingMapperOne, multiTrailingUnmapperOne), tuple(array(h16Arb, {\n\t\tminLength: 0,\n\t\tmaxLength: 5,\n\t\tsize: \"max\"\n\t}), ls32Arb).map(singleTrailingMapper, singleTrailingUnmapper), tuple(array(h16Arb, {\n\t\tminLength: 0,\n\t\tmaxLength: 6,\n\t\tsize: \"max\"\n\t}), h16Arb).map(singleTrailingMapper, singleTrailingUnmapper), tuple(array(h16Arb, {\n\t\tminLength: 0,\n\t\tmaxLength: 7,\n\t\tsize: \"max\"\n\t})).map(noTrailingMapper, noTrailingUnmapper));\n}\n//#endregion\n//#region src/arbitrary/_internals/LazyArbitrary.ts\n/** @internal */\nvar LazyArbitrary = class extends Arbitrary {\n\tconstructor(name) {\n\t\tsuper();\n\t\tthis.name = name;\n\t\tthis.underlying = null;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tif (this.underlying === null) throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);\n\t\treturn this.underlying.generate(mrng, biasFactor);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\tif (this.underlying === null) throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);\n\t\treturn this.underlying.canShrinkWithoutContext(value);\n\t}\n\tshrink(value, context) {\n\t\tif (this.underlying === null) throw new Error(`Lazy arbitrary ${JSON.stringify(this.name)} not correctly initialized`);\n\t\treturn this.underlying.shrink(value, context);\n\t}\n};\n//#endregion\n//#region src/arbitrary/letrec.ts\nconst safeGetOwnPropertyNames = Object.getOwnPropertyNames;\n/** @internal */\nfunction createLazyArbsPool() {\n\tconst lazyArbsPool = new SMap$1();\n\tconst getLazyFromPool = (key) => {\n\t\tlet lazyArb = safeMapGet(lazyArbsPool, key);\n\t\tif (lazyArb !== void 0) return lazyArb;\n\t\tlazyArb = new LazyArbitrary(String(key));\n\t\tsafeMapSet(lazyArbsPool, key, lazyArb);\n\t\treturn lazyArb;\n\t};\n\treturn getLazyFromPool;\n}\nfunction letrec(builder) {\n\tconst getLazyFromPool = createLazyArbsPool();\n\tconst strictArbs = builder(getLazyFromPool);\n\tconst declaredArbitraryNames = safeGetOwnPropertyNames(strictArbs);\n\tfor (const name of declaredArbitraryNames) {\n\t\tconst lazyArb = getLazyFromPool(name);\n\t\tlazyArb.underlying = strictArbs[name];\n\t}\n\treturn strictArbs;\n}\n//#endregion\n//#region src/arbitrary/_internals/InitialPoolForEntityGraphArbitrary.ts\nfunction canHaveAtLeastOneItem(keys, constraints) {\n\tfor (const key of keys) {\n\t\tconst constraintsOnKey = constraints[key] || {};\n\t\tif (constraintsOnKey.maxLength === void 0 || constraintsOnKey.maxLength > 0) return true;\n\t}\n\treturn false;\n}\n/** @internal */\nfunction initialPoolForEntityGraph(keys, constraints) {\n\tif (keys.length === 0) return constant([]);\n\tif (!canHaveAtLeastOneItem(keys, constraints)) throw new SError(\"Contraints on pool must accept at least one entity, maxLength cannot sum to 0\");\n\treturn tuple(...keys.map((key) => array(constant(key), constraints[key]))).map((values) => safeFlat(values)).filter((names) => names.length > 0);\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/UnlinkedToLinkedEntities.ts\nconst safeObjectAssign = Object.assign;\nconst safeObjectCreate$4 = Object.create;\nconst safeObjectDefineProperty$1 = Object.defineProperty;\nconst safeObjectGetPrototypeOf = Object.getPrototypeOf;\nconst safeObjectPrototype = Object.prototype;\n/** @internal */\nfunction withTargetStringifiedValue(stringifiedValue) {\n\treturn safeObjectDefineProperty$1(safeObjectCreate$4(null), toStringMethod, {\n\t\tconfigurable: false,\n\t\tenumerable: false,\n\t\twritable: false,\n\t\tvalue: () => stringifiedValue\n\t});\n}\n/** @internal */\nfunction withReferenceStringifiedValue(type, index) {\n\treturn withTargetStringifiedValue(`<${SString(type)}#${index}>`);\n}\n/** @internal */\nfunction unlinkedToLinkedEntitiesMapper(unlinkedEntities, producedLinks) {\n\tconst linkedEntities = safeObjectCreate$4(safeObjectPrototype);\n\tfor (const name in unlinkedEntities) {\n\t\tconst unlinkedEntitiesForName = unlinkedEntities[name];\n\t\tconst linkedEntitiesForName = [];\n\t\tfor (const unlinkedEntity of unlinkedEntitiesForName) {\n\t\t\tconst linkedEntity = safeObjectAssign(safeObjectCreate$4(safeObjectGetPrototypeOf(unlinkedEntity)), unlinkedEntity);\n\t\t\tlinkedEntitiesForName.push(linkedEntity);\n\t\t}\n\t\tlinkedEntities[name] = linkedEntitiesForName;\n\t}\n\tfor (const name in producedLinks) {\n\t\tconst entityLinks = producedLinks[name];\n\t\tfor (let entityIndex = 0; entityIndex !== entityLinks.length; ++entityIndex) {\n\t\t\tconst entityLinksForInstance = entityLinks[entityIndex];\n\t\t\tconst linkedInstance = linkedEntities[name][entityIndex];\n\t\t\tfor (const prop in entityLinksForInstance) {\n\t\t\t\tconst propValue = entityLinksForInstance[prop];\n\t\t\t\tlinkedInstance[prop] = propValue.index === void 0 ? void 0 : typeof propValue.index === \"number\" ? linkedEntities[propValue.type][propValue.index] : safeMap(propValue.index, (index) => linkedEntities[propValue.type][index]);\n\t\t\t}\n\t\t\tsafeObjectDefineProperty$1(linkedInstance, toStringMethod, {\n\t\t\t\tconfigurable: false,\n\t\t\t\tenumerable: false,\n\t\t\t\twritable: false,\n\t\t\t\tvalue: () => {\n\t\t\t\t\tconst unlinkedEntity = unlinkedEntities[name][entityIndex];\n\t\t\t\t\tconst entity = safeObjectAssign(safeObjectCreate$4(safeObjectGetPrototypeOf(unlinkedEntity)), unlinkedEntity);\n\t\t\t\t\tfor (const prop in entityLinksForInstance) {\n\t\t\t\t\t\tconst propValue = entityLinksForInstance[prop];\n\t\t\t\t\t\tentity[prop] = propValue.index === void 0 ? void 0 : typeof propValue.index === \"number\" ? withReferenceStringifiedValue(propValue.type, propValue.index) : safeMap(propValue.index, (index) => withReferenceStringifiedValue(propValue.type, index));\n\t\t\t\t\t}\n\t\t\t\t\treturn stringify(entity);\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n\treturn linkedEntities;\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/BuildInversedRelationsMapping.ts\n/**\n* Build mapping from forward to inverse relationships\n* @internal\n*/\nfunction buildInversedRelationsMapping(relations) {\n\tlet foundInversedRelations = 0;\n\tconst requestedInversedRelations = new SMap$1();\n\tfor (const name in relations) {\n\t\tconst relationsForName = relations[name];\n\t\tfor (const fieldName in relationsForName) {\n\t\t\tconst relation = relationsForName[fieldName];\n\t\t\tif (relation.arity !== \"inverse\") continue;\n\t\t\tlet existingOnes = safeMapGet(requestedInversedRelations, relation.type);\n\t\t\tif (existingOnes === void 0) {\n\t\t\t\texistingOnes = new SMap$1();\n\t\t\t\tsafeMapSet(requestedInversedRelations, relation.type, existingOnes);\n\t\t\t}\n\t\t\tif (safeMapHas(existingOnes, relation.forwardRelationship)) throw new SError(`Cannot declare multiple inverse relationships for the same forward relationship ${SString(relation.forwardRelationship)} on type ${SString(relation.type)}`);\n\t\t\tsafeMapSet(existingOnes, relation.forwardRelationship, {\n\t\t\t\ttype: name,\n\t\t\t\tproperty: fieldName\n\t\t\t});\n\t\t\tfoundInversedRelations += 1;\n\t\t}\n\t}\n\tconst inversedRelations = new SMap$1();\n\tif (foundInversedRelations === 0) return inversedRelations;\n\tfor (const name in relations) {\n\t\tconst relationsForName = relations[name];\n\t\tconst requestedInversedRelationsForName = safeMapGet(requestedInversedRelations, name);\n\t\tif (requestedInversedRelationsForName === void 0) continue;\n\t\tfor (const fieldName in relationsForName) {\n\t\t\tconst relation = relationsForName[fieldName];\n\t\t\tif (relation.arity === \"inverse\") continue;\n\t\t\tconst requestedIfAny = safeMapGet(requestedInversedRelationsForName, fieldName);\n\t\t\tif (requestedIfAny === void 0) continue;\n\t\t\tif (requestedIfAny.type !== relation.type) throw new SError(`Inverse relationship ${SString(requestedIfAny.property)} on type ${SString(requestedIfAny.type)} references forward relationship ${SString(fieldName)} but types do not match`);\n\t\t\tsafeMapSet(inversedRelations, relation, requestedIfAny);\n\t\t}\n\t}\n\tif (inversedRelations.size !== foundInversedRelations) throw new SError(`Some inverse relationships could not be matched with their corresponding forward relationships`);\n\treturn inversedRelations;\n}\n//#endregion\n//#region src/arbitrary/_internals/OnTheFlyLinksForEntityGraphArbitrary.ts\nconst safeObjectCreate$3 = Object.create;\n/** @internal */\nfunction produceLinkUnitaryIndexArbitrary(strategy, currentIndexIfSameType, countInTargetType) {\n\tswitch (strategy) {\n\t\tcase \"exclusive\": return constant(countInTargetType);\n\t\tcase \"successor\": return noBias(integer({\n\t\t\tmin: currentIndexIfSameType !== void 0 ? currentIndexIfSameType + 1 : 0,\n\t\t\tmax: countInTargetType\n\t\t}));\n\t\tcase \"any\": return noBias(integer({\n\t\t\tmin: 0,\n\t\t\tmax: countInTargetType\n\t\t}));\n\t}\n}\n/** @internal */\nfunction computeLinkIndex(arity, strategy, currentIndexIfSameType, countInTargetType, currentEntityDepth, mrng, biasFactor) {\n\tconst linkArbitrary = produceLinkUnitaryIndexArbitrary(strategy, currentIndexIfSameType, countInTargetType);\n\tswitch (arity) {\n\t\tcase \"0-1\": return option(linkArbitrary, {\n\t\t\tnil: void 0,\n\t\t\tdepthIdentifier: currentEntityDepth\n\t\t}).generate(mrng, biasFactor).value;\n\t\tcase \"1\": return linkArbitrary.generate(mrng, biasFactor).value;\n\t\tcase \"many\": {\n\t\t\tlet randomUnicity = 0;\n\t\t\tconst values = option(uniqueArray(linkArbitrary, {\n\t\t\t\tdepthIdentifier: currentEntityDepth,\n\t\t\t\tselector: (v) => v === countInTargetType ? v + ++randomUnicity : v,\n\t\t\t\tminLength: 1\n\t\t\t}), {\n\t\t\t\tnil: [],\n\t\t\t\tdepthIdentifier: currentEntityDepth\n\t\t\t}).generate(mrng, biasFactor).value;\n\t\t\tlet offset = 0;\n\t\t\treturn safeMap(values, (v) => v === countInTargetType ? v + offset++ : v);\n\t\t}\n\t}\n}\n/** @internal */\nvar OnTheFlyLinksForEntityGraphArbitrary = class extends Arbitrary {\n\tconstructor(relations, defaultEntities) {\n\t\tsuper();\n\t\tthis.relations = relations;\n\t\tthis.defaultEntities = defaultEntities;\n\t\tconst nonExclusiveEntities = new SSet();\n\t\tconst exclusiveEntities = new SSet();\n\t\tfor (const name in relations) {\n\t\t\tconst relationsForName = relations[name];\n\t\t\tfor (const fieldName in relationsForName) {\n\t\t\t\tconst relation = relationsForName[fieldName];\n\t\t\t\tif (relation.arity === \"inverse\") continue;\n\t\t\t\tif (relation.strategy === \"exclusive\") {\n\t\t\t\t\tif (safeHas(nonExclusiveEntities, relation.type)) throw new SError(`Cannot mix exclusive with other strategies for type ${SString(relation.type)}`);\n\t\t\t\t\tsafeAdd(exclusiveEntities, relation.type);\n\t\t\t\t} else {\n\t\t\t\t\tif (safeHas(exclusiveEntities, relation.type)) throw new SError(`Cannot mix exclusive with other strategies for type ${SString(relation.type)}`);\n\t\t\t\t\tsafeAdd(nonExclusiveEntities, relation.type);\n\t\t\t\t}\n\t\t\t\tif (relation.strategy === \"successor\" && relation.type !== name) throw new SError(`Cannot mix types for the strategy successor`);\n\t\t\t\tif (relation.strategy === \"successor\" && relation.arity === \"1\") throw new SError(`Cannot use an arity of 1 for the strategy successor`);\n\t\t\t}\n\t\t}\n\t\tthis.inversedRelations = buildInversedRelationsMapping(relations);\n\t}\n\tcreateEmptyLinksInstanceFor(targetType) {\n\t\tconst emptyLinksInstance = safeObjectCreate$3(null);\n\t\tconst relationsForType = this.relations[targetType];\n\t\tfor (const name in relationsForType) {\n\t\t\tconst relation = relationsForType[name];\n\t\t\tif (relation.arity === \"inverse\") emptyLinksInstance[name] = {\n\t\t\t\ttype: relation.type,\n\t\t\t\tindex: []\n\t\t\t};\n\t\t}\n\t\treturn emptyLinksInstance;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst producedLinks = safeObjectCreate$3(null);\n\t\tfor (const name in this.relations) producedLinks[name] = [];\n\t\tconst toBeProducedEntities = [];\n\t\tfor (const name of this.defaultEntities) {\n\t\t\tsafePush(toBeProducedEntities, {\n\t\t\t\ttype: name,\n\t\t\t\tindexInType: producedLinks[name].length,\n\t\t\t\tdepth: 0\n\t\t\t});\n\t\t\tsafePush(producedLinks[name], this.createEmptyLinksInstanceFor(name));\n\t\t}\n\t\tlet lastTreatedEntities = -1;\n\t\twhile (++lastTreatedEntities < toBeProducedEntities.length) {\n\t\t\tconst currentEntity = toBeProducedEntities[lastTreatedEntities];\n\t\t\tconst currentRelations = this.relations[currentEntity.type];\n\t\t\tconst currentLinks = producedLinks[currentEntity.type][currentEntity.indexInType];\n\t\t\tconst currentEntityDepth = createDepthIdentifier();\n\t\t\tcurrentEntityDepth.depth = currentEntity.depth;\n\t\t\tfor (const name in currentRelations) {\n\t\t\t\tconst relation = currentRelations[name];\n\t\t\t\tif (relation.arity === \"inverse\") continue;\n\t\t\t\tconst targetType = relation.type;\n\t\t\t\tconst producedLinksInTargetType = producedLinks[targetType];\n\t\t\t\tconst countInTargetType = producedLinksInTargetType.length;\n\t\t\t\tconst linkOrLinks = computeLinkIndex(relation.arity, relation.strategy || \"any\", targetType === currentEntity.type ? currentEntity.indexInType : void 0, producedLinksInTargetType.length, currentEntityDepth, mrng, biasFactor);\n\t\t\t\tcurrentLinks[name] = {\n\t\t\t\t\ttype: targetType,\n\t\t\t\t\tindex: linkOrLinks\n\t\t\t\t};\n\t\t\t\tconst links = linkOrLinks === void 0 ? [] : typeof linkOrLinks === \"number\" ? [linkOrLinks] : linkOrLinks;\n\t\t\t\tfor (const link of links) {\n\t\t\t\t\tif (link >= countInTargetType) {\n\t\t\t\t\t\tsafePush(toBeProducedEntities, {\n\t\t\t\t\t\t\ttype: targetType,\n\t\t\t\t\t\t\tindexInType: link,\n\t\t\t\t\t\t\tdepth: currentEntity.depth + 1\n\t\t\t\t\t\t});\n\t\t\t\t\t\tsafePush(producedLinksInTargetType, this.createEmptyLinksInstanceFor(targetType));\n\t\t\t\t\t}\n\t\t\t\t\tconst inversed = safeMapGet(this.inversedRelations, relation);\n\t\t\t\t\tif (inversed !== void 0) {\n\t\t\t\t\t\tconst knownInversedLinks = producedLinksInTargetType[link][inversed.property].index;\n\t\t\t\t\t\tsafePush(knownInversedLinks, currentEntity.indexInType);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\ttoBeProducedEntities.length = 0;\n\t\treturn new Value(producedLinks, void 0);\n\t}\n\tcanShrinkWithoutContext(_value) {\n\t\treturn false;\n\t}\n\tshrink(_value, _context) {\n\t\treturn Stream.nil();\n\t}\n};\n/** @internal */\nfunction onTheFlyLinksForEntityGraph(relations, defaultEntities) {\n\treturn new OnTheFlyLinksForEntityGraphArbitrary(relations, defaultEntities);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/EnumerableKeysExtractor.ts\nconst safeObjectKeys$1 = Object.keys;\nconst safeObjectGetOwnPropertySymbols$1 = Object.getOwnPropertySymbols;\nconst safeObjectGetOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor;\n/** @internal */\nfunction extractEnumerableKeys(instance) {\n\tconst keys = safeObjectKeys$1(instance);\n\tconst symbols = safeObjectGetOwnPropertySymbols$1(instance);\n\tfor (let index = 0; index !== symbols.length; ++index) {\n\t\tconst symbol = symbols[index];\n\t\tconst descriptor = safeObjectGetOwnPropertyDescriptor$1(instance, symbol);\n\t\tif (descriptor && descriptor.enumerable) keys.push(symbol);\n\t}\n\treturn keys;\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/ValuesAndSeparateKeysToObject.ts\nconst safeObjectCreate$2 = Object.create;\nconst safeObjectDefineProperty = Object.defineProperty;\nconst safeObjectGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nconst safeObjectGetOwnPropertyNames = Object.getOwnPropertyNames;\nconst safeObjectGetOwnPropertySymbols = Object.getOwnPropertySymbols;\n/** @internal */\nfunction buildValuesAndSeparateKeysToObjectMapper(keys, noKeyValue) {\n\treturn function valuesAndSeparateKeysToObjectMapper(definition) {\n\t\tconst obj = definition[1] ? safeObjectCreate$2(null) : {};\n\t\tfor (let idx = 0; idx !== keys.length; ++idx) {\n\t\t\tconst valueWrapper = definition[0][idx];\n\t\t\tif (valueWrapper !== noKeyValue) safeObjectDefineProperty(obj, keys[idx], {\n\t\t\t\tvalue: valueWrapper,\n\t\t\t\tconfigurable: true,\n\t\t\t\tenumerable: true,\n\t\t\t\twritable: true\n\t\t\t});\n\t\t}\n\t\treturn obj;\n\t};\n}\n/** @internal */\nfunction buildValuesAndSeparateKeysToObjectUnmapper(keys, noKeyValue) {\n\treturn function valuesAndSeparateKeysToObjectUnmapper(value) {\n\t\tif (typeof value !== \"object\" || value === null) throw new Error(\"Incompatible instance received: should be a non-null object\");\n\t\tconst hasNullPrototype = Object.getPrototypeOf(value) === null;\n\t\tconst hasObjectPrototype = \"constructor\" in value && value.constructor === Object;\n\t\tif (!hasNullPrototype && !hasObjectPrototype) throw new Error(\"Incompatible instance received: should be of exact type Object\");\n\t\tlet extractedPropertiesCount = 0;\n\t\tconst extractedValues = [];\n\t\tfor (let idx = 0; idx !== keys.length; ++idx) {\n\t\t\tconst descriptor = safeObjectGetOwnPropertyDescriptor(value, keys[idx]);\n\t\t\tif (descriptor !== void 0) {\n\t\t\t\tif (!descriptor.configurable || !descriptor.enumerable || !descriptor.writable) throw new Error(\"Incompatible instance received: should contain only c/e/w properties\");\n\t\t\t\tif (descriptor.get !== void 0 || descriptor.set !== void 0) throw new Error(\"Incompatible instance received: should contain only no get/set properties\");\n\t\t\t\t++extractedPropertiesCount;\n\t\t\t\tsafePush(extractedValues, descriptor.value);\n\t\t\t} else safePush(extractedValues, noKeyValue);\n\t\t}\n\t\tconst namePropertiesCount = safeObjectGetOwnPropertyNames(value).length;\n\t\tconst symbolPropertiesCount = safeObjectGetOwnPropertySymbols(value).length;\n\t\tif (extractedPropertiesCount !== namePropertiesCount + symbolPropertiesCount) throw new Error(\"Incompatible instance received: should not contain extra properties\");\n\t\treturn [extractedValues, hasNullPrototype];\n\t};\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/PartialRecordArbitraryBuilder.ts\nconst noKeyValue = Symbol(\"no-key\");\n/** @internal */\nfunction buildPartialRecordArbitrary(recordModel, requiredKeys, noNullPrototype) {\n\tconst keys = extractEnumerableKeys(recordModel);\n\tconst arbs = [];\n\tfor (let index = 0; index !== keys.length; ++index) {\n\t\tconst k = keys[index];\n\t\tconst requiredArbitrary = recordModel[k];\n\t\tif (requiredKeys === void 0 || safeIndexOf(requiredKeys, k) !== -1) safePush(arbs, requiredArbitrary);\n\t\telse safePush(arbs, option(requiredArbitrary, { nil: noKeyValue }));\n\t}\n\treturn tuple(tuple(...arbs), noNullPrototype ? constant(false) : boolean()).map(buildValuesAndSeparateKeysToObjectMapper(keys, noKeyValue), buildValuesAndSeparateKeysToObjectUnmapper(keys, noKeyValue));\n}\n//#endregion\n//#region src/arbitrary/record.ts\nfunction record(recordModel, constraints) {\n\tconst noNullPrototype = constraints !== void 0 && !!constraints.noNullPrototype;\n\tif (constraints === void 0) return buildPartialRecordArbitrary(recordModel, void 0, noNullPrototype);\n\tif (!(\"requiredKeys\" in constraints && constraints.requiredKeys !== void 0)) return buildPartialRecordArbitrary(recordModel, void 0, noNullPrototype);\n\tconst requiredKeys = (\"requiredKeys\" in constraints ? constraints.requiredKeys : void 0) || [];\n\tfor (let idx = 0; idx !== requiredKeys.length; ++idx) {\n\t\tconst descriptor = Object.getOwnPropertyDescriptor(recordModel, requiredKeys[idx]);\n\t\tif (descriptor === void 0) throw new Error(`requiredKeys cannot reference keys that have not been defined in recordModel`);\n\t\tif (!descriptor.enumerable) throw new Error(`requiredKeys cannot reference keys that are not enumerable in recordModel`);\n\t}\n\treturn buildPartialRecordArbitrary(recordModel, requiredKeys, noNullPrototype);\n}\n//#endregion\n//#region src/arbitrary/_internals/UnlinkedEntitiesForEntityGraph.ts\nconst safeObjectCreate$1 = Object.create;\n/** @internal */\nfunction unlinkedEntitiesForEntityGraph(arbitraries, countFor, unicityConstraintsFor, constraints) {\n\tconst recordModel = safeObjectCreate$1(null);\n\tfor (const name in arbitraries) {\n\t\tconst entityRecordModel = arbitraries[name];\n\t\tconst entityArbitrary = record(entityRecordModel, constraints);\n\t\tconst count = countFor(name);\n\t\tconst unicityConstraints = unicityConstraintsFor(name);\n\t\tconst arrayConstraints = {\n\t\t\tminLength: count,\n\t\t\tmaxLength: count\n\t\t};\n\t\trecordModel[name] = unicityConstraints !== void 0 ? uniqueArray(entityArbitrary, {\n\t\t\t...arrayConstraints,\n\t\t\tselector: unicityConstraints\n\t\t}) : array(entityArbitrary, arrayConstraints);\n\t}\n\treturn record(recordModel);\n}\n//#endregion\n//#region src/arbitrary/entityGraph.ts\nconst safeObjectCreate = Object.create;\nconst safeObjectKeys = Object.keys;\n/**\n* Generates interconnected entities with relationships based on a schema definition.\n*\n* This arbitrary creates structured data where entities can reference each other through defined\n* relationships. The generated values automatically include links between entities, making it\n* ideal for testing graph structures, relational data, or interconnected object models.\n*\n* The output is an object where each key corresponds to an entity type and the value is an array\n* of entities of that type. Entities contain both their data fields and relationship links.\n*\n* @example\n* ```typescript\n* // Generate a simple directed graph where nodes link to other nodes\n* fc.entityGraph(\n*   { node: { id: fc.stringMatching(/^[A-Z][a-z]*$/) } },\n*   { node: { linkTo: { arity: 'many', type: 'node' } } },\n* )\n* // Produces: { node: [{ id: \"Abc\", linkTo: [<node#1>, <node#0>] }, ...] }\n* ```\n*\n* @example\n* ```typescript\n* // Generate employees with managers and teams\n* fc.entityGraph(\n*   {\n*     employee: { name: fc.string() },\n*     team: { name: fc.string() }\n*   },\n*   {\n*     employee: {\n*       manager: { arity: '0-1', type: 'employee' },  // Optional manager\n*       team: { arity: '1', type: 'team' }           // Required team\n*     },\n*     team: {}\n*   }\n* )\n* ```\n*\n* @param arbitraries - Defines the data fields for each entity type (non-relational properties)\n* @param relations - Defines how entities reference each other (relational properties)\n* @param constraints - Optional configuration to customize generation behavior\n*\n* @remarks Since 4.5.0\n* @public\n*/\nfunction entityGraph(arbitraries, relations, constraints = {}) {\n\tconst allKeys = safeObjectKeys(arbitraries);\n\tconst initialPoolConstraints = constraints.initialPoolConstraints || safeObjectCreate(null);\n\tconst unicityConstraints = constraints.unicityConstraints || safeObjectCreate(null);\n\tconst unlinkedContraints = { noNullPrototype: constraints.noNullPrototype };\n\treturn initialPoolForEntityGraph(allKeys, initialPoolConstraints).chain((defaultEntities) => onTheFlyLinksForEntityGraph(relations, defaultEntities).chain((producedLinks) => unlinkedEntitiesForEntityGraph(arbitraries, (name) => producedLinks[name].length, (name) => unicityConstraints[name], unlinkedContraints).map((unlinkedEntities) => unlinkedToLinkedEntitiesMapper(unlinkedEntities, producedLinks))));\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/WordsToLorem.ts\n/** @internal */\nfunction wordsToJoinedStringMapper(words) {\n\treturn safeJoin(safeMap(words, (w) => w[w.length - 1] === \",\" ? safeSubstring(w, 0, w.length - 1) : w), \" \");\n}\n/** @internal */\nfunction wordsToJoinedStringUnmapperFor(wordsArbitrary) {\n\treturn function wordsToJoinedStringUnmapper(value) {\n\t\tif (typeof value !== \"string\") throw new Error(\"Unsupported type\");\n\t\tconst words = [];\n\t\tfor (const candidate of safeSplit(value, \" \")) if (wordsArbitrary.canShrinkWithoutContext(candidate)) safePush(words, candidate);\n\t\telse if (wordsArbitrary.canShrinkWithoutContext(candidate + \",\")) safePush(words, candidate + \",\");\n\t\telse throw new Error(\"Unsupported word\");\n\t\treturn words;\n\t};\n}\n/** @internal */\nfunction wordsToSentenceMapper(words) {\n\tlet sentence = safeJoin(words, \" \");\n\tif (sentence[sentence.length - 1] === \",\") sentence = safeSubstring(sentence, 0, sentence.length - 1);\n\treturn safeToUpperCase(sentence[0]) + safeSubstring(sentence, 1) + \".\";\n}\n/** @internal */\nfunction wordsToSentenceUnmapperFor(wordsArbitrary) {\n\treturn function wordsToSentenceUnmapper(value) {\n\t\tif (typeof value !== \"string\") throw new Error(\"Unsupported type\");\n\t\tif (value.length < 2 || value[value.length - 1] !== \".\" || value[value.length - 2] === \",\" || safeToUpperCase(safeToLowerCase(value[0])) !== value[0]) throw new Error(\"Unsupported value\");\n\t\tconst adaptedValue = safeToLowerCase(value[0]) + safeSubstring(value, 1, value.length - 1);\n\t\tconst words = [];\n\t\tconst candidates = safeSplit(adaptedValue, \" \");\n\t\tfor (let idx = 0; idx !== candidates.length; ++idx) {\n\t\t\tconst candidate = candidates[idx];\n\t\t\tif (wordsArbitrary.canShrinkWithoutContext(candidate)) safePush(words, candidate);\n\t\t\telse if (idx === candidates.length - 1 && wordsArbitrary.canShrinkWithoutContext(candidate + \",\")) safePush(words, candidate + \",\");\n\t\t\telse throw new Error(\"Unsupported word\");\n\t\t}\n\t\treturn words;\n\t};\n}\n/** @internal */\nfunction sentencesToParagraphMapper(sentences) {\n\treturn safeJoin(sentences, \" \");\n}\n/** @internal */\nfunction sentencesToParagraphUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Unsupported type\");\n\tconst sentences = safeSplit(value, \". \");\n\tfor (let idx = 0; idx < sentences.length - 1; ++idx) sentences[idx] += \".\";\n\treturn sentences;\n}\n//#endregion\n//#region src/arbitrary/lorem.ts\n/**\n* Helper function responsible to build the entries for oneof\n* @internal\n*/\nconst h = (v, w) => {\n\treturn {\n\t\tarbitrary: constant(v),\n\t\tweight: w\n\t};\n};\n/**\n* Number of occurences extracted from the lorem ipsum:\n* {@link https://fr.wikipedia.org/wiki/Faux-texte#Lorem_ipsum_(version_populaire)}\n*\n* Code generated using:\n* >  Object.entries(\n* >    text\n* >      .replace(/[\\r\\n]/g, ' ')\n* >      .split(' ')\n* >      .filter(w => w.length > 0)\n* >      .map(w => w.toLowerCase())\n* >      .map(w => w[w.length-1] === '.' ? w.substr(0, w.length -1) : w)\n* >      .reduce((acc, cur) => { acc[cur] = (acc[cur] || 0) + 1; return acc; }, {})\n* >  )\n* >  .sort(([w1, n1], [w2, n2]) => n2 - n1)\n* >  .reduce((acc, [w, n]) => acc.concat([`h(${JSON.stringify(w)}, ${n})`]), [])\n* >  .join(',')\n*\n* @internal\n*/\nfunction loremWord() {\n\treturn oneof(h(\"non\", 6), h(\"adipiscing\", 5), h(\"ligula\", 5), h(\"enim\", 5), h(\"pellentesque\", 5), h(\"in\", 5), h(\"augue\", 5), h(\"et\", 5), h(\"nulla\", 5), h(\"lorem\", 4), h(\"sit\", 4), h(\"sed\", 4), h(\"diam\", 4), h(\"fermentum\", 4), h(\"ut\", 4), h(\"eu\", 4), h(\"aliquam\", 4), h(\"mauris\", 4), h(\"vitae\", 4), h(\"felis\", 4), h(\"ipsum\", 3), h(\"dolor\", 3), h(\"amet,\", 3), h(\"elit\", 3), h(\"euismod\", 3), h(\"mi\", 3), h(\"orci\", 3), h(\"erat\", 3), h(\"praesent\", 3), h(\"egestas\", 3), h(\"leo\", 3), h(\"vel\", 3), h(\"sapien\", 3), h(\"integer\", 3), h(\"curabitur\", 3), h(\"convallis\", 3), h(\"purus\", 3), h(\"risus\", 2), h(\"suspendisse\", 2), h(\"lectus\", 2), h(\"nec,\", 2), h(\"ultricies\", 2), h(\"sed,\", 2), h(\"cras\", 2), h(\"elementum\", 2), h(\"ultrices\", 2), h(\"maecenas\", 2), h(\"massa,\", 2), h(\"varius\", 2), h(\"a,\", 2), h(\"semper\", 2), h(\"proin\", 2), h(\"nec\", 2), h(\"nisl\", 2), h(\"amet\", 2), h(\"duis\", 2), h(\"congue\", 2), h(\"libero\", 2), h(\"vestibulum\", 2), h(\"pede\", 2), h(\"blandit\", 2), h(\"sodales\", 2), h(\"ante\", 2), h(\"nibh\", 2), h(\"ac\", 2), h(\"aenean\", 2), h(\"massa\", 2), h(\"suscipit\", 2), h(\"sollicitudin\", 2), h(\"fusce\", 2), h(\"tempus\", 2), h(\"aliquam,\", 2), h(\"nunc\", 2), h(\"ullamcorper\", 2), h(\"rhoncus\", 2), h(\"metus\", 2), h(\"faucibus,\", 2), h(\"justo\", 2), h(\"magna\", 2), h(\"at\", 2), h(\"tincidunt\", 2), h(\"consectetur\", 1), h(\"tortor,\", 1), h(\"dignissim\", 1), h(\"congue,\", 1), h(\"non,\", 1), h(\"porttitor,\", 1), h(\"nonummy\", 1), h(\"molestie,\", 1), h(\"est\", 1), h(\"eleifend\", 1), h(\"mi,\", 1), h(\"arcu\", 1), h(\"scelerisque\", 1), h(\"vitae,\", 1), h(\"consequat\", 1), h(\"in,\", 1), h(\"pretium\", 1), h(\"volutpat\", 1), h(\"pharetra\", 1), h(\"tempor\", 1), h(\"bibendum\", 1), h(\"odio\", 1), h(\"dui\", 1), h(\"primis\", 1), h(\"faucibus\", 1), h(\"luctus\", 1), h(\"posuere\", 1), h(\"cubilia\", 1), h(\"curae,\", 1), h(\"hendrerit\", 1), h(\"velit\", 1), h(\"mauris,\", 1), h(\"gravida\", 1), h(\"ornare\", 1), h(\"ut,\", 1), h(\"pulvinar\", 1), h(\"varius,\", 1), h(\"turpis\", 1), h(\"nibh,\", 1), h(\"eros\", 1), h(\"id\", 1), h(\"aliquet\", 1), h(\"quis\", 1), h(\"lobortis\", 1), h(\"consectetuer\", 1), h(\"morbi\", 1), h(\"vehicula\", 1), h(\"tortor\", 1), h(\"tellus,\", 1), h(\"id,\", 1), h(\"eu,\", 1), h(\"quam\", 1), h(\"feugiat,\", 1), h(\"posuere,\", 1), h(\"iaculis\", 1), h(\"lectus,\", 1), h(\"tristique\", 1), h(\"mollis,\", 1), h(\"nisl,\", 1), h(\"vulputate\", 1), h(\"sem\", 1), h(\"vivamus\", 1), h(\"placerat\", 1), h(\"imperdiet\", 1), h(\"cursus\", 1), h(\"rutrum\", 1), h(\"iaculis,\", 1), h(\"augue,\", 1), h(\"lacus\", 1));\n}\n/**\n* For lorem ipsum string of words or sentences with maximal number of words or sentences\n*\n* @param constraints - Constraints to be applied onto the generated value (since 2.5.0)\n*\n* @remarks Since 0.0.1\n* @public\n*/\nfunction lorem(constraints = {}) {\n\tconst { maxCount, mode = \"words\", size } = constraints;\n\tif (maxCount !== void 0 && maxCount < 1) throw new Error(`lorem has to produce at least one word/sentence`);\n\tconst wordArbitrary = loremWord();\n\tif (mode === \"sentences\") return array(array(wordArbitrary, {\n\t\tminLength: 1,\n\t\tsize: \"small\"\n\t}).map(wordsToSentenceMapper, wordsToSentenceUnmapperFor(wordArbitrary)), {\n\t\tminLength: 1,\n\t\tmaxLength: maxCount,\n\t\tsize\n\t}).map(sentencesToParagraphMapper, sentencesToParagraphUnmapper);\n\telse return array(wordArbitrary, {\n\t\tminLength: 1,\n\t\tmaxLength: maxCount,\n\t\tsize\n\t}).map(wordsToJoinedStringMapper, wordsToJoinedStringUnmapperFor(wordArbitrary));\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/ArrayToMap.ts\n/** @internal */\nfunction arrayToMapMapper(data) {\n\treturn new Map(data);\n}\n/** @internal */\nfunction arrayToMapUnmapper(value) {\n\tif (typeof value !== \"object\" || value === null) throw new Error(\"Incompatible instance received: should be a non-null object\");\n\tif (!(\"constructor\" in value) || value.constructor !== Map) throw new Error(\"Incompatible instance received: should be of exact type Map\");\n\treturn Array.from(value);\n}\n//#endregion\n//#region src/arbitrary/map.ts\n/** @internal */\nfunction mapKeyExtractor(entry) {\n\treturn entry[0];\n}\n/**\n* For Maps with keys produced by `keyArb` and values from `valueArb`\n*\n* @param keyArb - Arbitrary used to generate the keys of the Map\n* @param valueArb - Arbitrary used to generate the values of the Map\n* @param constraints - Constraints to apply when building instances\n*\n* @remarks Since 4.4.0\n* @public\n*/\nfunction map(keyArb, valueArb, constraints = {}) {\n\treturn uniqueArray(tuple(keyArb, valueArb), {\n\t\tminLength: constraints.minKeys,\n\t\tmaxLength: constraints.maxKeys,\n\t\tsize: constraints.size,\n\t\tselector: mapKeyExtractor,\n\t\tdepthIdentifier: constraints.depthIdentifier,\n\t\tcomparator: \"SameValueZero\"\n\t}).map(arrayToMapMapper, arrayToMapUnmapper);\n}\n//#endregion\n//#region src/arbitrary/memo.ts\n/** @internal */\nlet contextRemainingDepth = 10;\n/**\n* For mutually recursive types\n*\n* @example\n* ```typescript\n* // tree is 1 / 3 of node, 2 / 3 of leaf\n* const tree: fc.Memo<Tree> = fc.memo(n => fc.oneof(node(n), leaf(), leaf()));\n* const node: fc.Memo<Tree> = fc.memo(n => {\n*   if (n <= 1) return fc.record({ left: leaf(), right: leaf() });\n*   return fc.record({ left: tree(), right: tree() }); // tree() is equivalent to tree(n-1)\n* });\n* const leaf = fc.nat;\n* ```\n*\n* @param builder - Arbitrary builder taken the maximal depth allowed as input (parameter `n`)\n*\n* @remarks Since 1.16.0\n* @public\n*/\nfunction memo(builder) {\n\tconst previous = {};\n\treturn ((maxDepth) => {\n\t\tconst n = maxDepth !== void 0 ? maxDepth : contextRemainingDepth;\n\t\tif (!safeHasOwnProperty(previous, n)) {\n\t\t\tconst prev = contextRemainingDepth;\n\t\t\tcontextRemainingDepth = n - 1;\n\t\t\tprevious[n] = builder(n);\n\t\t\tcontextRemainingDepth = prev;\n\t\t}\n\t\treturn previous[n];\n\t});\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/ToggleFlags.ts\n/** @internal */\nfunction countToggledBits(n) {\n\tlet count = 0;\n\twhile (n > SBigInt(0)) {\n\t\tif (n & SBigInt(1)) ++count;\n\t\tn >>= SBigInt(1);\n\t}\n\treturn count;\n}\n/** @internal */\nfunction computeNextFlags(flags, nextSize) {\n\tconst allowedMask = (SBigInt(1) << SBigInt(nextSize)) - SBigInt(1);\n\tconst preservedFlags = flags & allowedMask;\n\tlet numMissingFlags = countToggledBits(flags - preservedFlags);\n\tlet nFlags = preservedFlags;\n\tfor (let mask = SBigInt(1); mask <= allowedMask && numMissingFlags !== 0; mask <<= SBigInt(1)) if (!(nFlags & mask)) {\n\t\tnFlags |= mask;\n\t\t--numMissingFlags;\n\t}\n\treturn nFlags;\n}\n/** @internal */\nfunction computeTogglePositions(chars, toggleCase) {\n\tconst positions = [];\n\tfor (let idx = chars.length - 1; idx !== -1; --idx) if (toggleCase(chars[idx]) !== chars[idx]) safePush(positions, idx);\n\treturn positions;\n}\n/**\n* Compute the flags required to move from untoggledChars to toggledChars\n*\n* @param untoggledChars - Original string split into characters\n* @param toggledChars - Toggled version of the string\n* @param togglePositions - Array referencing all case sensitive indexes in chars\n*\n* @internal\n*/\nfunction computeFlagsFromChars(untoggledChars, toggledChars, togglePositions) {\n\tlet flags = SBigInt(0);\n\tfor (let idx = 0, mask = SBigInt(1); idx !== togglePositions.length; ++idx, mask <<= SBigInt(1)) if (untoggledChars[togglePositions[idx]] !== toggledChars[togglePositions[idx]]) flags |= mask;\n\treturn flags;\n}\n/**\n* Apply flags onto chars\n*\n* @param chars - Original string split into characters (warning perform side-effects on it)\n* @param flags - One flag/bit per entry in togglePositions - 1 means change case of the character\n* @param togglePositions - Array referencing all case sensitive indexes in chars\n* @param toggleCase - Toggle one char\n*\n* @internal\n*/\nfunction applyFlagsOnChars(chars, flags, togglePositions, toggleCase) {\n\tfor (let idx = 0, mask = SBigInt(1); idx !== togglePositions.length; ++idx, mask <<= SBigInt(1)) if (flags & mask) chars[togglePositions[idx]] = toggleCase(chars[togglePositions[idx]]);\n}\n//#endregion\n//#region src/arbitrary/_internals/MixedCaseArbitrary.ts\n/** @internal */\nvar MixedCaseArbitrary = class extends Arbitrary {\n\tconstructor(stringArb, toggleCase, untoggleAll) {\n\t\tsuper();\n\t\tthis.stringArb = stringArb;\n\t\tthis.toggleCase = toggleCase;\n\t\tthis.untoggleAll = untoggleAll;\n\t}\n\t/**\n\t* Create a proper context\n\t* @param rawStringValue\n\t* @param flagsValue\n\t*/\n\tbuildContextFor(rawStringValue, flagsValue) {\n\t\treturn {\n\t\t\trawString: rawStringValue.value,\n\t\t\trawStringContext: rawStringValue.context,\n\t\t\tflags: flagsValue.value,\n\t\t\tflagsContext: flagsValue.context\n\t\t};\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst rawStringValue = this.stringArb.generate(mrng, biasFactor);\n\t\tconst chars = [...rawStringValue.value];\n\t\tconst togglePositions = computeTogglePositions(chars, this.toggleCase);\n\t\tconst flagsValue = bigInt(SBigInt(0), (SBigInt(1) << SBigInt(togglePositions.length)) - SBigInt(1)).generate(mrng, void 0);\n\t\tapplyFlagsOnChars(chars, flagsValue.value, togglePositions, this.toggleCase);\n\t\treturn new Value(safeJoin(chars, \"\"), this.buildContextFor(rawStringValue, flagsValue));\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\tif (typeof value !== \"string\") return false;\n\t\treturn this.untoggleAll !== void 0 ? this.stringArb.canShrinkWithoutContext(this.untoggleAll(value)) : this.stringArb.canShrinkWithoutContext(value);\n\t}\n\tshrink(value, context) {\n\t\tlet contextSafe;\n\t\tif (context !== void 0) contextSafe = context;\n\t\telse if (this.untoggleAll !== void 0) {\n\t\t\tconst untoggledValue = this.untoggleAll(value);\n\t\t\tconst valueChars = [...value];\n\t\t\tconst untoggledValueChars = [...untoggledValue];\n\t\t\tcontextSafe = {\n\t\t\t\trawString: untoggledValue,\n\t\t\t\trawStringContext: void 0,\n\t\t\t\tflags: computeFlagsFromChars(untoggledValueChars, valueChars, computeTogglePositions(untoggledValueChars, this.toggleCase)),\n\t\t\t\tflagsContext: void 0\n\t\t\t};\n\t\t} else contextSafe = {\n\t\t\trawString: value,\n\t\t\trawStringContext: void 0,\n\t\t\tflags: SBigInt(0),\n\t\t\tflagsContext: void 0\n\t\t};\n\t\tconst rawString = contextSafe.rawString;\n\t\tconst flags = contextSafe.flags;\n\t\treturn this.stringArb.shrink(rawString, contextSafe.rawStringContext).map((nRawStringValue) => {\n\t\t\tconst nChars = [...nRawStringValue.value];\n\t\t\tconst nTogglePositions = computeTogglePositions(nChars, this.toggleCase);\n\t\t\tconst nFlags = computeNextFlags(flags, nTogglePositions.length);\n\t\t\tapplyFlagsOnChars(nChars, nFlags, nTogglePositions, this.toggleCase);\n\t\t\treturn new Value(safeJoin(nChars, \"\"), this.buildContextFor(nRawStringValue, new Value(nFlags, void 0)));\n\t\t}).join(makeLazy(() => {\n\t\t\tconst chars = [...rawString];\n\t\t\tconst togglePositions = computeTogglePositions(chars, this.toggleCase);\n\t\t\treturn bigInt(SBigInt(0), (SBigInt(1) << SBigInt(togglePositions.length)) - SBigInt(1)).shrink(flags, contextSafe.flagsContext).map((nFlagsValue) => {\n\t\t\t\tconst nChars = safeSlice(chars);\n\t\t\t\tapplyFlagsOnChars(nChars, nFlagsValue.value, togglePositions, this.toggleCase);\n\t\t\t\treturn new Value(safeJoin(nChars, \"\"), this.buildContextFor(new Value(rawString, contextSafe.rawStringContext), nFlagsValue));\n\t\t\t});\n\t\t}));\n\t}\n};\n//#endregion\n//#region src/arbitrary/mixedCase.ts\n/** @internal */\nfunction defaultToggleCase(rawChar) {\n\tconst upper = safeToUpperCase(rawChar);\n\tif (upper !== rawChar) return upper;\n\treturn safeToLowerCase(rawChar);\n}\n/**\n* Randomly switch the case of characters generated by `stringArb` (upper/lower)\n*\n* WARNING:\n* Require bigint support.\n* Under-the-hood the arbitrary relies on bigint to compute the flags that should be toggled or not.\n*\n* @param stringArb - Arbitrary able to build string values\n* @param constraints - Constraints to be applied when computing upper/lower case version\n*\n* @remarks Since 1.17.0\n* @public\n*/\nfunction mixedCase(stringArb, constraints) {\n\treturn new MixedCaseArbitrary(stringArb, constraints && constraints.toggleCase || defaultToggleCase, constraints && constraints.untoggleAll);\n}\n//#endregion\n//#region src/arbitrary/float32Array.ts\n/** @internal */\nfunction toTypedMapper$1(data) {\n\treturn SFloat32Array.from(data);\n}\n/** @internal */\nfunction fromTypedUnmapper$1(value) {\n\tif (!(value instanceof SFloat32Array)) throw new Error(\"Unexpected type\");\n\treturn [...value];\n}\n/**\n* For Float32Array\n* @remarks Since 2.9.0\n* @public\n*/\nfunction float32Array(constraints = {}) {\n\treturn array(float(constraints), constraints).map(toTypedMapper$1, fromTypedUnmapper$1);\n}\n//#endregion\n//#region src/arbitrary/float64Array.ts\n/** @internal */\nfunction toTypedMapper(data) {\n\treturn SFloat64Array.from(data);\n}\n/** @internal */\nfunction fromTypedUnmapper(value) {\n\tif (!(value instanceof SFloat64Array)) throw new Error(\"Unexpected type\");\n\treturn [...value];\n}\n/**\n* For Float64Array\n* @remarks Since 2.9.0\n* @public\n*/\nfunction float64Array(constraints = {}) {\n\treturn array(double(constraints), constraints).map(toTypedMapper, fromTypedUnmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/TypedIntArrayArbitraryBuilder.ts\n/** @internal */\nfunction typedIntArrayArbitraryArbitraryBuilder(constraints, defaultMin, defaultMax, TypedArrayClass, arbitraryBuilder) {\n\tconst generatorName = TypedArrayClass.name;\n\tconst { min = defaultMin, max = defaultMax, ...arrayConstraints } = constraints;\n\tif (min > max) throw new Error(`Invalid range passed to ${generatorName}: min must be lower than or equal to max`);\n\tif (min < defaultMin) throw new Error(`Invalid min value passed to ${generatorName}: min must be greater than or equal to ${defaultMin}`);\n\tif (max > defaultMax) throw new Error(`Invalid max value passed to ${generatorName}: max must be lower than or equal to ${defaultMax}`);\n\treturn array(arbitraryBuilder({\n\t\tmin,\n\t\tmax\n\t}), arrayConstraints).map((data) => TypedArrayClass.from(data), (value) => {\n\t\tif (!(value instanceof TypedArrayClass)) throw new Error(\"Invalid type\");\n\t\treturn [...value];\n\t});\n}\n//#endregion\n//#region src/arbitrary/int16Array.ts\n/**\n* For Int16Array\n* @remarks Since 2.9.0\n* @public\n*/\nfunction int16Array(constraints = {}) {\n\treturn typedIntArrayArbitraryArbitraryBuilder(constraints, -32768, 32767, SInt16Array, integer);\n}\n//#endregion\n//#region src/arbitrary/int32Array.ts\n/**\n* For Int32Array\n* @remarks Since 2.9.0\n* @public\n*/\nfunction int32Array(constraints = {}) {\n\treturn typedIntArrayArbitraryArbitraryBuilder(constraints, -2147483648, 2147483647, SInt32Array, integer);\n}\n//#endregion\n//#region src/arbitrary/int8Array.ts\n/**\n* For Int8Array\n* @remarks Since 2.9.0\n* @public\n*/\nfunction int8Array(constraints = {}) {\n\treturn typedIntArrayArbitraryArbitraryBuilder(constraints, -128, 127, SInt8Array, integer);\n}\n//#endregion\n//#region src/arbitrary/uint16Array.ts\n/**\n* For Uint16Array\n* @remarks Since 2.9.0\n* @public\n*/\nfunction uint16Array(constraints = {}) {\n\treturn typedIntArrayArbitraryArbitraryBuilder(constraints, 0, 65535, SUint16Array, integer);\n}\n//#endregion\n//#region src/arbitrary/uint32Array.ts\n/**\n* For Uint32Array\n* @remarks Since 2.9.0\n* @public\n*/\nfunction uint32Array(constraints = {}) {\n\treturn typedIntArrayArbitraryArbitraryBuilder(constraints, 0, 4294967295, SUint32Array, integer);\n}\n//#endregion\n//#region src/arbitrary/uint8Array.ts\n/**\n* For Uint8Array\n* @remarks Since 2.9.0\n* @public\n*/\nfunction uint8Array(constraints = {}) {\n\treturn typedIntArrayArbitraryArbitraryBuilder(constraints, 0, 255, SUint8Array, integer);\n}\n//#endregion\n//#region src/arbitrary/uint8ClampedArray.ts\n/**\n* For Uint8ClampedArray\n* @remarks Since 2.9.0\n* @public\n*/\nfunction uint8ClampedArray(constraints = {}) {\n\treturn typedIntArrayArbitraryArbitraryBuilder(constraints, 0, 255, SUint8ClampedArray, integer);\n}\n//#endregion\n//#region src/arbitrary/_internals/WithShrinkFromOtherArbitrary.ts\n/** @internal */\nfunction isSafeContext(context) {\n\treturn context !== void 0;\n}\n/** @internal */\nfunction toGeneratorValue(value) {\n\tif (value.hasToBeCloned) return new Value(value.value_, { generatorContext: value.context }, () => value.value);\n\treturn new Value(value.value_, { generatorContext: value.context });\n}\n/** @internal */\nfunction toShrinkerValue(value) {\n\tif (value.hasToBeCloned) return new Value(value.value_, { shrinkerContext: value.context }, () => value.value);\n\treturn new Value(value.value_, { shrinkerContext: value.context });\n}\n/** @internal */\nvar WithShrinkFromOtherArbitrary = class extends Arbitrary {\n\tconstructor(generatorArbitrary, shrinkerArbitrary) {\n\t\tsuper();\n\t\tthis.generatorArbitrary = generatorArbitrary;\n\t\tthis.shrinkerArbitrary = shrinkerArbitrary;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\treturn toGeneratorValue(this.generatorArbitrary.generate(mrng, biasFactor));\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\treturn this.shrinkerArbitrary.canShrinkWithoutContext(value);\n\t}\n\tshrink(value, context) {\n\t\tif (!isSafeContext(context)) return this.shrinkerArbitrary.shrink(value, void 0).map(toShrinkerValue);\n\t\tif (\"generatorContext\" in context) return this.generatorArbitrary.shrink(value, context.generatorContext).map(toGeneratorValue);\n\t\treturn this.shrinkerArbitrary.shrink(value, context.shrinkerContext).map(toShrinkerValue);\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/builders/RestrictedIntegerArbitraryBuilder.ts\n/** @internal */\nfunction restrictedIntegerArbitraryBuilder(min, maxGenerated, max) {\n\tconst generatorArbitrary = integer({\n\t\tmin,\n\t\tmax: maxGenerated\n\t});\n\tif (maxGenerated === max) return generatorArbitrary;\n\treturn new WithShrinkFromOtherArbitrary(generatorArbitrary, integer({\n\t\tmin,\n\t\tmax\n\t}));\n}\n//#endregion\n//#region src/arbitrary/sparseArray.ts\nconst safeMathMin$1 = Math.min;\nconst safeMathMax = Math.max;\nconst safeArrayIsArray$1 = SArray.isArray;\nconst safeObjectEntries = Object.entries;\n/** @internal */\nfunction extractMaxIndex(indexesAndValues) {\n\tlet maxIndex = -1;\n\tfor (let index = 0; index !== indexesAndValues.length; ++index) maxIndex = safeMathMax(maxIndex, indexesAndValues[index][0]);\n\treturn maxIndex;\n}\n/** @internal */\nfunction arrayFromItems(length, indexesAndValues) {\n\tconst array = SArray(length);\n\tfor (let index = 0; index !== indexesAndValues.length; ++index) {\n\t\tconst it = indexesAndValues[index];\n\t\tif (it[0] < length) array[it[0]] = it[1];\n\t}\n\treturn array;\n}\n/**\n* For sparse arrays of values coming from `arb`\n* @param arb - Arbitrary used to generate the values inside the sparse array\n* @param constraints - Constraints to apply when building instances\n* @remarks Since 2.13.0\n* @public\n*/\nfunction sparseArray(arb, constraints = {}) {\n\tconst { size, minNumElements = 0, maxLength = MaxLengthUpperBound, maxNumElements = maxLength, noTrailingHole, depthIdentifier } = constraints;\n\tconst maxGeneratedLength = maxGeneratedLengthFromSizeForArbitrary(size, maxGeneratedLengthFromSizeForArbitrary(size, minNumElements, maxNumElements, constraints.maxNumElements !== void 0), maxLength, constraints.maxLength !== void 0);\n\tif (minNumElements > maxLength) throw new Error(`The minimal number of non-hole elements cannot be higher than the maximal length of the array`);\n\tif (minNumElements > maxNumElements) throw new Error(`The minimal number of non-hole elements cannot be higher than the maximal number of non-holes`);\n\tconst resultedMaxNumElements = safeMathMin$1(maxNumElements, maxLength);\n\tconst resultedSizeMaxNumElements = constraints.maxNumElements !== void 0 || size !== void 0 ? size : \"=\";\n\tconst sparseArrayNoTrailingHole = uniqueArray(tuple(restrictedIntegerArbitraryBuilder(0, safeMathMax(maxGeneratedLength - 1, 0), safeMathMax(maxLength - 1, 0)), arb), {\n\t\tsize: resultedSizeMaxNumElements,\n\t\tminLength: minNumElements,\n\t\tmaxLength: resultedMaxNumElements,\n\t\tselector: (item) => item[0],\n\t\tdepthIdentifier\n\t}).map((items) => {\n\t\treturn arrayFromItems(extractMaxIndex(items) + 1, items);\n\t}, (value) => {\n\t\tif (!safeArrayIsArray$1(value)) throw new Error(\"Not supported entry type\");\n\t\tif (noTrailingHole && value.length !== 0 && !(value.length - 1 in value)) throw new Error(\"No trailing hole\");\n\t\treturn safeMap(safeObjectEntries(value), (entry) => [Number(entry[0]), entry[1]]);\n\t});\n\tif (noTrailingHole || maxLength === minNumElements) return sparseArrayNoTrailingHole;\n\treturn tuple(sparseArrayNoTrailingHole, restrictedIntegerArbitraryBuilder(minNumElements, maxGeneratedLength, maxLength)).map((data) => {\n\t\tconst sparse = data[0];\n\t\tconst targetLength = data[1];\n\t\tif (sparse.length >= targetLength) return sparse;\n\t\tconst longerSparse = safeSlice(sparse);\n\t\tlongerSparse.length = targetLength;\n\t\treturn longerSparse;\n\t}, (value) => {\n\t\tif (!safeArrayIsArray$1(value)) throw new Error(\"Not supported entry type\");\n\t\treturn [value, value.length];\n\t});\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/ArrayToSet.ts\n/** @internal */\nfunction arrayToSetMapper(data) {\n\treturn new Set(data);\n}\n/** @internal */\nfunction arrayToSetUnmapper(value) {\n\tif (typeof value !== \"object\" || value === null) throw new Error(\"Incompatible instance received: should be a non-null object\");\n\tif (!(\"constructor\" in value) || value.constructor !== Set) throw new Error(\"Incompatible instance received: should be of exact type Set\");\n\treturn Array.from(value);\n}\n//#endregion\n//#region src/arbitrary/set.ts\n/**\n* For sets of values coming from `arb`\n*\n* All the values in the set are unique. Comparison of values relies on `SameValueZero`\n* which is the same comparison algorithm used by `Set`.\n*\n* @param arb - Arbitrary used to generate the values inside the set\n* @param constraints - Constraints to apply when building instances\n*\n* @remarks Since 4.4.0\n* @public\n*/\nfunction set(arb, constraints = {}) {\n\treturn uniqueArray(arb, {\n\t\tminLength: constraints.minLength,\n\t\tmaxLength: constraints.maxLength,\n\t\tsize: constraints.size,\n\t\tdepthIdentifier: constraints.depthIdentifier,\n\t\tcomparator: \"SameValueZero\"\n\t}).map(arrayToSetMapper, arrayToSetUnmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/AnyArbitraryBuilder.ts\n/** @internal */\nfunction dictOf(ka, va, maxKeys, size, depthIdentifier, withNullPrototype) {\n\treturn dictionary(ka, va, {\n\t\tmaxKeys,\n\t\tnoNullPrototype: !withNullPrototype,\n\t\tsize,\n\t\tdepthIdentifier\n\t});\n}\n/** @internal */\nfunction typedArray(constraints) {\n\treturn oneof(int8Array(constraints), uint8Array(constraints), uint8ClampedArray(constraints), int16Array(constraints), uint16Array(constraints), int32Array(constraints), uint32Array(constraints), float32Array(constraints), float64Array(constraints));\n}\n/** @internal */\nfunction anyArbitraryBuilder(constraints) {\n\tconst arbitrariesForBase = constraints.values;\n\tconst depthSize = constraints.depthSize;\n\tconst depthIdentifier = createDepthIdentifier();\n\tconst maxDepth = constraints.maxDepth;\n\tconst maxKeys = constraints.maxKeys;\n\tconst size = constraints.size;\n\tconst baseArb = oneof(...arbitrariesForBase, ...constraints.withBigInt ? [bigInt()] : [], ...constraints.withDate ? [date()] : []);\n\treturn letrec((tie) => ({\n\t\tanything: oneof({\n\t\t\tmaxDepth,\n\t\t\tdepthSize,\n\t\t\tdepthIdentifier\n\t\t}, baseArb, tie(\"array\"), tie(\"object\"), ...constraints.withMap ? [tie(\"map\")] : [], ...constraints.withSet ? [tie(\"set\")] : [], ...constraints.withObjectString ? [tie(\"anything\").map((o) => stringify(o))] : [], ...constraints.withTypedArray ? [typedArray({\n\t\t\tmaxLength: maxKeys,\n\t\t\tsize\n\t\t})] : [], ...constraints.withSparseArray ? [sparseArray(tie(\"anything\"), {\n\t\t\tmaxNumElements: maxKeys,\n\t\t\tsize,\n\t\t\tdepthIdentifier\n\t\t})] : []),\n\t\tkeys: constraints.withObjectString ? oneof({\n\t\t\tarbitrary: constraints.key,\n\t\t\tweight: 10\n\t\t}, {\n\t\t\tarbitrary: tie(\"anything\").map((o) => stringify(o)),\n\t\t\tweight: 1\n\t\t}) : constraints.key,\n\t\tarray: array(tie(\"anything\"), {\n\t\t\tmaxLength: maxKeys,\n\t\t\tsize,\n\t\t\tdepthIdentifier\n\t\t}),\n\t\tset: set(tie(\"anything\"), {\n\t\t\tmaxLength: maxKeys,\n\t\t\tsize,\n\t\t\tdepthIdentifier\n\t\t}),\n\t\tmap: oneof(map(tie(\"keys\"), tie(\"anything\"), {\n\t\t\tmaxKeys,\n\t\t\tsize,\n\t\t\tdepthIdentifier\n\t\t}), map(tie(\"anything\"), tie(\"anything\"), {\n\t\t\tmaxKeys,\n\t\t\tsize,\n\t\t\tdepthIdentifier\n\t\t})),\n\t\tobject: dictOf(tie(\"keys\"), tie(\"anything\"), maxKeys, size, depthIdentifier, constraints.withNullPrototype)\n\t})).anything;\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/UnboxedToBoxed.ts\n/** @internal */\nfunction unboxedToBoxedMapper(value) {\n\tswitch (typeof value) {\n\t\tcase \"boolean\": return new SBoolean(value);\n\t\tcase \"number\": return new SNumber(value);\n\t\tcase \"string\": return new SString(value);\n\t\tdefault: return value;\n\t}\n}\n/** @internal */\nfunction unboxedToBoxedUnmapper(value) {\n\tif (typeof value !== \"object\" || value === null || !(\"constructor\" in value)) return value;\n\treturn value.constructor === SBoolean || value.constructor === SNumber || value.constructor === SString ? value.valueOf() : value;\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/BoxedArbitraryBuilder.ts\n/** @internal */\nfunction boxedArbitraryBuilder(arb) {\n\treturn arb.map(unboxedToBoxedMapper, unboxedToBoxedUnmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/QualifiedObjectConstraints.ts\n/** @internal */\nfunction defaultValues(constraints, stringArbitrary) {\n\treturn [\n\t\tboolean(),\n\t\tmaxSafeInteger(),\n\t\tdouble(),\n\t\tstringArbitrary(constraints),\n\t\toneof(stringArbitrary(constraints), constant(null), constant(void 0))\n\t];\n}\n/** @internal */\nfunction boxArbitraries(arbs) {\n\treturn arbs.map((arb) => boxedArbitraryBuilder(arb));\n}\n/** @internal */\nfunction boxArbitrariesIfNeeded(arbs, boxEnabled) {\n\treturn boxEnabled ? boxArbitraries(arbs).concat(arbs) : arbs;\n}\n/**\n* Convert constraints of type ObjectConstraints into fully qualified constraints\n* @internal\n*/\nfunction toQualifiedObjectConstraints(settings = {}) {\n\tconst valueConstraints = {\n\t\tsize: settings.size,\n\t\tunit: \"stringUnit\" in settings ? settings.stringUnit : settings.withUnicodeString ? \"binary\" : void 0\n\t};\n\treturn {\n\t\tkey: settings.key !== void 0 ? settings.key : string(valueConstraints),\n\t\tvalues: boxArbitrariesIfNeeded(settings.values !== void 0 ? settings.values : defaultValues(valueConstraints, string), settings.withBoxedValues === true),\n\t\tdepthSize: settings.depthSize,\n\t\tmaxDepth: settings.maxDepth,\n\t\tmaxKeys: settings.maxKeys,\n\t\tsize: settings.size,\n\t\twithSet: settings.withSet === true,\n\t\twithMap: settings.withMap === true,\n\t\twithObjectString: settings.withObjectString === true,\n\t\twithNullPrototype: settings.withNullPrototype === true,\n\t\twithBigInt: settings.withBigInt === true,\n\t\twithDate: settings.withDate === true,\n\t\twithTypedArray: settings.withTypedArray === true,\n\t\twithSparseArray: settings.withSparseArray === true\n\t};\n}\n//#endregion\n//#region src/arbitrary/object.ts\n/** @internal */\nfunction objectInternal(constraints) {\n\treturn dictionary(constraints.key, anyArbitraryBuilder(constraints), {\n\t\tmaxKeys: constraints.maxKeys,\n\t\tnoNullPrototype: !constraints.withNullPrototype,\n\t\tsize: constraints.size\n\t});\n}\nfunction object(constraints) {\n\treturn objectInternal(toQualifiedObjectConstraints(constraints));\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/JsonConstraintsBuilder.ts\n/**\n* Derive `ObjectConstraints` from a `JsonSharedConstraints`\n* @internal\n*/\nfunction jsonConstraintsBuilder(stringArbitrary, constraints) {\n\tconst { depthSize, maxDepth } = constraints;\n\treturn {\n\t\tkey: stringArbitrary,\n\t\tvalues: [\n\t\t\tboolean(),\n\t\t\tdouble({\n\t\t\t\tnoDefaultInfinity: true,\n\t\t\t\tnoNaN: true\n\t\t\t}),\n\t\t\tstringArbitrary,\n\t\t\tconstant(null)\n\t\t],\n\t\tdepthSize,\n\t\tmaxDepth\n\t};\n}\n//#endregion\n//#region src/arbitrary/anything.ts\nfunction anything(constraints) {\n\treturn anyArbitraryBuilder(toQualifiedObjectConstraints(constraints));\n}\n//#endregion\n//#region src/arbitrary/jsonValue.ts\n/**\n* For any JSON compliant values\n*\n* Keys and string values rely on {@link string}\n*\n* As `JSON.parse` preserves `-0`, `jsonValue` can also have `-0` as a value.\n* `jsonValue` must be seen as: any value that could have been built by doing a `JSON.parse` on a given string.\n*\n* @param constraints - Constraints to be applied onto the generated instance\n*\n* @remarks Since 2.20.0\n* @public\n*/\nfunction jsonValue(constraints = {}) {\n\tconst noUnicodeString = constraints.noUnicodeString === void 0 || constraints.noUnicodeString === true;\n\treturn anything(jsonConstraintsBuilder(\"stringUnit\" in constraints ? string({ unit: constraints.stringUnit }) : noUnicodeString ? string() : string({ unit: \"binary\" }), constraints));\n}\n//#endregion\n//#region src/arbitrary/json.ts\n/** @internal */\nconst safeJsonStringify = JSON.stringify;\n/** @internal */\nconst safeJsonParse = JSON.parse;\n/** @internal */\nfunction jsonStringUnmapper(value) {\n\tif (typeof value !== \"string\") throw new SError(\"Cannot unmap the passed value\");\n\treturn safeJsonParse(value);\n}\n/**\n* For any JSON strings\n*\n* Keys and string values rely on {@link string}\n*\n* @param constraints - Constraints to be applied onto the generated instance (since 2.5.0)\n*\n* @remarks Since 0.0.7\n* @public\n*/\nfunction json(constraints = {}) {\n\treturn jsonValue(constraints).map(safeJsonStringify, jsonStringUnmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/StreamArbitrary.ts\nconst safeObjectDefineProperties = Object.defineProperties;\n/** @internal */\nfunction prettyPrint(numSeen, seenValuesStrings) {\n\treturn `Stream(${seenValuesStrings !== void 0 ? `${safeJoin(seenValuesStrings, \",\")}…` : `${numSeen} emitted`})`;\n}\n/** @internal */\nvar StreamArbitrary = class extends Arbitrary {\n\tconstructor(arb, history) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t\tthis.history = history;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst appliedBiasFactor = biasFactor !== void 0 && mrng.nextInt(1, biasFactor) === 1 ? biasFactor : void 0;\n\t\tconst enrichedProducer = () => {\n\t\t\tconst seenValues = this.history ? [] : null;\n\t\t\tlet numSeenValues = 0;\n\t\t\tconst g = function* (arb, clonedMrng) {\n\t\t\t\twhile (true) {\n\t\t\t\t\tconst value = arb.generate(clonedMrng, appliedBiasFactor).value;\n\t\t\t\t\tnumSeenValues++;\n\t\t\t\t\tif (seenValues !== null) safePush(seenValues, value);\n\t\t\t\t\tyield value;\n\t\t\t\t}\n\t\t\t};\n\t\t\treturn safeObjectDefineProperties(new Stream(g(this.arb, mrng.clone())), {\n\t\t\t\ttoString: { value: () => prettyPrint(numSeenValues, seenValues !== null ? seenValues.map(stringify) : void 0) },\n\t\t\t\t[toStringMethod]: { value: () => prettyPrint(numSeenValues, seenValues !== null ? seenValues.map(stringify) : void 0) },\n\t\t\t\t[asyncToStringMethod]: { value: async () => prettyPrint(numSeenValues, seenValues !== null ? await Promise.all(seenValues.map(asyncStringify)) : void 0) },\n\t\t\t\t[cloneMethod]: {\n\t\t\t\t\tvalue: enrichedProducer,\n\t\t\t\t\tenumerable: true\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\t\treturn new Value(enrichedProducer(), void 0);\n\t}\n\tcanShrinkWithoutContext(_value) {\n\t\treturn false;\n\t}\n\tshrink(_value, _context) {\n\t\treturn Stream.nil();\n\t}\n};\n//#endregion\n//#region src/arbitrary/infiniteStream.ts\n/**\n* Produce an infinite stream of values\n*\n* WARNING: By default, infiniteStream remembers all values it has ever\n* generated. This causes unbounded memory growth during large tests.\n* Set noHistory to disable.\n*\n* WARNING: Requires Object.assign\n*\n* @param arb - Arbitrary used to generate the values\n* @param constraints - Constraints to apply when building instances (since 4.3.0)\n*\n* @remarks Since 1.8.0\n* @public\n*/\nfunction infiniteStream(arb, constraints) {\n\treturn new StreamArbitrary(arb, constraints !== void 0 && typeof constraints === \"object\" && \"noHistory\" in constraints ? !constraints.noHistory : true);\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/CodePointsToString.ts\n/** @internal - tab is supposed to be composed of valid code-points, not halved surrogate pairs */\nfunction codePointsToStringMapper(tab) {\n\treturn safeJoin(tab, \"\");\n}\n/** @internal */\nfunction codePointsToStringUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Cannot unmap the passed value\");\n\treturn [...value];\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/StringToBase64.ts\n/** @internal - s is supposed to be composed of valid base64 values, not any '=' */\nfunction stringToBase64Mapper(s) {\n\tswitch (s.length % 4) {\n\t\tcase 0: return s;\n\t\tcase 3: return `${s}=`;\n\t\tcase 2: return `${s}==`;\n\t\tdefault: return safeSubstring(s, 1);\n\t}\n}\n/** @internal */\nfunction stringToBase64Unmapper(value) {\n\tif (typeof value !== \"string\" || value.length % 4 !== 0) throw new Error(\"Invalid string received\");\n\tconst lastTrailingIndex = value.indexOf(\"=\");\n\tif (lastTrailingIndex === -1) return value;\n\tif (value.length - lastTrailingIndex > 2) throw new Error(\"Cannot unmap the passed value\");\n\treturn safeSubstring(value, 0, lastTrailingIndex);\n}\n//#endregion\n//#region src/arbitrary/base64String.ts\nconst safeStringFromCharCode = String.fromCharCode;\n/** @internal */\nfunction base64Mapper(v) {\n\tif (v < 26) return safeStringFromCharCode(v + 65);\n\tif (v < 52) return safeStringFromCharCode(v + 97 - 26);\n\tif (v < 62) return safeStringFromCharCode(v + 48 - 52);\n\treturn v === 62 ? \"+\" : \"/\";\n}\n/** @internal */\nfunction base64Unmapper(s) {\n\tif (typeof s !== \"string\" || s.length !== 1) throw new SError(\"Invalid entry\");\n\tconst v = safeCharCodeAt(s, 0);\n\tif (v >= 65 && v <= 90) return v - 65;\n\tif (v >= 97 && v <= 122) return v - 97 + 26;\n\tif (v >= 48 && v <= 57) return v - 48 + 52;\n\treturn v === 43 ? 62 : v === 47 ? 63 : -1;\n}\n/** @internal */\nfunction base64() {\n\treturn integer({\n\t\tmin: 0,\n\t\tmax: 63\n\t}).map(base64Mapper, base64Unmapper);\n}\n/**\n* For base64 strings\n*\n* A base64 string will always have a length multiple of 4 (padded with =)\n*\n* @param constraints - Constraints to apply when building instances (since 2.4.0)\n*\n* @remarks Since 0.0.1\n* @public\n*/\nfunction base64String(constraints = {}) {\n\tconst { minLength: unscaledMinLength = 0, maxLength: unscaledMaxLength = MaxLengthUpperBound, size } = constraints;\n\tconst minLength = unscaledMinLength + 3 - (unscaledMinLength + 3) % 4;\n\tconst maxLength = unscaledMaxLength - unscaledMaxLength % 4;\n\tconst requestedSize = constraints.maxLength === void 0 && size === void 0 ? \"=\" : size;\n\tif (minLength > maxLength) throw new SError(\"Minimal length should be inferior or equal to maximal length\");\n\tif (minLength % 4 !== 0) throw new SError(\"Minimal length of base64 strings must be a multiple of 4\");\n\tif (maxLength % 4 !== 0) throw new SError(\"Maximal length of base64 strings must be a multiple of 4\");\n\tconst charArbitrary = base64();\n\treturn array(charArbitrary, {\n\t\tminLength,\n\t\tmaxLength,\n\t\tsize: requestedSize,\n\t\texperimentalCustomSlices: createSlicesForStringLegacy(charArbitrary, codePointsToStringUnmapper)\n\t}).map(codePointsToStringMapper, codePointsToStringUnmapper).map(stringToBase64Mapper, stringToBase64Unmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/IsSubarrayOf.ts\nconst safeObjectIs = Object.is;\nfunction isSubarrayOf(source, small) {\n\tconst countMap = new SMap$1();\n\tlet countMinusZero = 0;\n\tfor (const sourceEntry of source) if (safeObjectIs(sourceEntry, -0)) ++countMinusZero;\n\telse safeMapSet(countMap, sourceEntry, (safeMapGet(countMap, sourceEntry) || 0) + 1);\n\tfor (let index = 0; index !== small.length; ++index) {\n\t\tif (!(index in small)) return false;\n\t\tconst smallEntry = small[index];\n\t\tif (safeObjectIs(smallEntry, -0)) {\n\t\t\tif (countMinusZero === 0) return false;\n\t\t\t--countMinusZero;\n\t\t} else {\n\t\t\tconst oldCount = safeMapGet(countMap, smallEntry) || 0;\n\t\t\tif (oldCount === 0) return false;\n\t\t\tsafeMapSet(countMap, smallEntry, oldCount - 1);\n\t\t}\n\t}\n\treturn true;\n}\n//#endregion\n//#region src/arbitrary/_internals/SubarrayArbitrary.ts\nconst safeMathFloor$1 = Math.floor;\nconst safeMathLog = Math.log;\nconst safeArrayIsArray = Array.isArray;\n/** @internal */\nvar SubarrayArbitrary = class extends Arbitrary {\n\tconstructor(originalArray, isOrdered, minLength, maxLength) {\n\t\tsuper();\n\t\tthis.originalArray = originalArray;\n\t\tthis.isOrdered = isOrdered;\n\t\tthis.minLength = minLength;\n\t\tthis.maxLength = maxLength;\n\t\tif (minLength < 0 || minLength > originalArray.length) throw new Error(\"fc.*{s|S}ubarrayOf expects the minimal length to be between 0 and the size of the original array\");\n\t\tif (maxLength < 0 || maxLength > originalArray.length) throw new Error(\"fc.*{s|S}ubarrayOf expects the maximal length to be between 0 and the size of the original array\");\n\t\tif (minLength > maxLength) throw new Error(\"fc.*{s|S}ubarrayOf expects the minimal length to be inferior or equal to the maximal length\");\n\t\tthis.lengthArb = new IntegerArbitrary(minLength, maxLength);\n\t\tthis.biasedLengthArb = minLength !== maxLength ? new IntegerArbitrary(minLength, minLength + safeMathFloor$1(safeMathLog(maxLength - minLength) / safeMathLog(2))) : this.lengthArb;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst size = (biasFactor !== void 0 && mrng.nextInt(1, biasFactor) === 1 ? this.biasedLengthArb : this.lengthArb).generate(mrng, void 0);\n\t\tconst sizeValue = size.value;\n\t\tconst remainingElements = safeMap(this.originalArray, (_v, idx) => idx);\n\t\tconst ids = [];\n\t\tfor (let index = 0; index !== sizeValue; ++index) {\n\t\t\tconst selectedIdIndex = mrng.nextInt(0, remainingElements.length - 1);\n\t\t\tsafePush(ids, remainingElements[selectedIdIndex]);\n\t\t\tsafeSplice(remainingElements, selectedIdIndex, 1);\n\t\t}\n\t\tif (this.isOrdered) safeSort(ids, (a, b) => a - b);\n\t\treturn new Value(safeMap(ids, (i) => this.originalArray[i]), size.context);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\tif (!safeArrayIsArray(value)) return false;\n\t\tif (!this.lengthArb.canShrinkWithoutContext(value.length)) return false;\n\t\treturn isSubarrayOf(this.originalArray, value);\n\t}\n\tshrink(value, context) {\n\t\tif (value.length === 0) return Stream.nil();\n\t\treturn this.lengthArb.shrink(value.length, context).map((newSize) => {\n\t\t\treturn new Value(safeSlice(value, value.length - newSize.value), newSize.context);\n\t\t}).join(value.length > this.minLength ? makeLazy(() => this.shrink(safeSlice(value, 1), void 0).filter((newValue) => this.minLength <= newValue.value.length + 1).map((newValue) => new Value([value[0], ...newValue.value], void 0))) : Stream.nil());\n\t}\n};\n//#endregion\n//#region src/arbitrary/subarray.ts\n/**\n* For subarrays of `originalArray` (keeps ordering)\n*\n* @param originalArray - Original array\n* @param constraints - Constraints to apply when building instances (since 2.4.0)\n*\n* @remarks Since 1.5.0\n* @public\n*/\nfunction subarray(originalArray, constraints = {}) {\n\tconst { minLength = 0, maxLength = originalArray.length } = constraints;\n\treturn new SubarrayArbitrary(originalArray, true, minLength, maxLength);\n}\n//#endregion\n//#region src/arbitrary/shuffledSubarray.ts\n/**\n* For subarrays of `originalArray`\n*\n* @param originalArray - Original array\n* @param constraints - Constraints to apply when building instances (since 2.4.0)\n*\n* @remarks Since 1.5.0\n* @public\n*/\nfunction shuffledSubarray(originalArray, constraints = {}) {\n\tconst { minLength = 0, maxLength = originalArray.length } = constraints;\n\treturn new SubarrayArbitrary(originalArray, false, minLength, maxLength);\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/UintToBase32String.ts\n/** @internal */\nconst encodeSymbolLookupTable = {\n\t10: \"A\",\n\t11: \"B\",\n\t12: \"C\",\n\t13: \"D\",\n\t14: \"E\",\n\t15: \"F\",\n\t16: \"G\",\n\t17: \"H\",\n\t18: \"J\",\n\t19: \"K\",\n\t20: \"M\",\n\t21: \"N\",\n\t22: \"P\",\n\t23: \"Q\",\n\t24: \"R\",\n\t25: \"S\",\n\t26: \"T\",\n\t27: \"V\",\n\t28: \"W\",\n\t29: \"X\",\n\t30: \"Y\",\n\t31: \"Z\"\n};\n/** @internal */\nconst decodeSymbolLookupTable = {\n\t\"0\": 0,\n\t\"1\": 1,\n\t\"2\": 2,\n\t\"3\": 3,\n\t\"4\": 4,\n\t\"5\": 5,\n\t\"6\": 6,\n\t\"7\": 7,\n\t\"8\": 8,\n\t\"9\": 9,\n\tA: 10,\n\tB: 11,\n\tC: 12,\n\tD: 13,\n\tE: 14,\n\tF: 15,\n\tG: 16,\n\tH: 17,\n\tJ: 18,\n\tK: 19,\n\tM: 20,\n\tN: 21,\n\tP: 22,\n\tQ: 23,\n\tR: 24,\n\tS: 25,\n\tT: 26,\n\tV: 27,\n\tW: 28,\n\tX: 29,\n\tY: 30,\n\tZ: 31\n};\n/** @internal */\nfunction encodeSymbol(symbol) {\n\treturn symbol < 10 ? SString(symbol) : encodeSymbolLookupTable[symbol];\n}\n/** @internal */\nfunction pad(value, paddingLength) {\n\tlet extraPadding = \"\";\n\twhile (value.length + extraPadding.length < paddingLength) extraPadding += \"0\";\n\treturn extraPadding + value;\n}\n/** @internal */\nfunction smallUintToBase32StringMapper(num) {\n\tlet base32Str = \"\";\n\tfor (let remaining = num; remaining !== 0;) {\n\t\tconst next = remaining >> 5;\n\t\tbase32Str = encodeSymbol(remaining - (next << 5)) + base32Str;\n\t\tremaining = next;\n\t}\n\treturn base32Str;\n}\n/** @internal */\nfunction uintToBase32StringMapper(num, paddingLength) {\n\tconst head = ~~(num / 1073741824);\n\tconst tail = num & 1073741823;\n\treturn pad(smallUintToBase32StringMapper(head), paddingLength - 6) + pad(smallUintToBase32StringMapper(tail), 6);\n}\n/** @internal */\nfunction paddedUintToBase32StringMapper(paddingLength) {\n\treturn function padded(num) {\n\t\treturn uintToBase32StringMapper(num, paddingLength);\n\t};\n}\n/** @internal */\nfunction uintToBase32StringUnmapper(value) {\n\tif (typeof value !== \"string\") throw new SError(\"Unsupported type\");\n\tlet accumulated = 0;\n\tlet power = 1;\n\tfor (let index = value.length - 1; index >= 0; --index) {\n\t\tconst numericForChar = decodeSymbolLookupTable[value[index]];\n\t\tif (numericForChar === void 0) throw new SError(\"Unsupported type\");\n\t\taccumulated += numericForChar * power;\n\t\tpower *= 32;\n\t}\n\treturn accumulated;\n}\n//#endregion\n//#region src/arbitrary/ulid.ts\nconst padded10Mapper = paddedUintToBase32StringMapper(10);\nconst padded8Mapper = paddedUintToBase32StringMapper(8);\nfunction ulidMapper(parts) {\n\treturn padded10Mapper(parts[0]) + padded8Mapper(parts[1]) + padded8Mapper(parts[2]);\n}\nfunction ulidUnmapper(value) {\n\tif (typeof value !== \"string\" || value.length !== 26) throw new Error(\"Unsupported type\");\n\treturn [\n\t\tuintToBase32StringUnmapper(value.slice(0, 10)),\n\t\tuintToBase32StringUnmapper(value.slice(10, 18)),\n\t\tuintToBase32StringUnmapper(value.slice(18))\n\t];\n}\n/**\n* For ulid\n*\n* According to {@link https://github.com/ulid/spec | ulid spec}\n*\n* No mixed case, only upper case digits (0-9A-Z except for: I,L,O,U)\n*\n* @remarks Since 3.11.0\n* @public\n*/\nfunction ulid() {\n\treturn tuple(integer({\n\t\tmin: 0,\n\t\tmax: 0xffffffffffff\n\t}), integer({\n\t\tmin: 0,\n\t\tmax: 0xffffffffff\n\t}), integer({\n\t\tmin: 0,\n\t\tmax: 0xffffffffff\n\t})).map(ulidMapper, ulidUnmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/NumberToPaddedEight.ts\n/** @internal */\nfunction numberToPaddedEightMapper(n) {\n\treturn safePadStart(safeNumberToString(n, 16), 8, \"0\");\n}\n/** @internal */\nfunction numberToPaddedEightUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Unsupported type\");\n\tif (value.length !== 8) throw new Error(\"Unsupported value: invalid length\");\n\tconst n = parseInt(value, 16);\n\tif (value !== numberToPaddedEightMapper(n)) throw new Error(\"Unsupported value: invalid content\");\n\treturn n;\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/PaddedNumberArbitraryBuilder.ts\n/** @internal */\nfunction buildPaddedNumberArbitrary(min, max) {\n\treturn integer({\n\t\tmin,\n\t\tmax\n\t}).map(numberToPaddedEightMapper, numberToPaddedEightUnmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/PaddedEightsToUuid.ts\n/** @internal */\nfunction paddedEightsToUuidMapper(t) {\n\treturn `${t[0]}-${safeSubstring(t[1], 4)}-${safeSubstring(t[1], 0, 4)}-${safeSubstring(t[2], 0, 4)}-${safeSubstring(t[2], 4)}${t[3]}`;\n}\n/** @internal */\nconst UuidRegex = /^([0-9a-f]{8})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{4})-([0-9a-f]{12})$/;\n/** @internal */\nfunction paddedEightsToUuidUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Unsupported type\");\n\tconst m = UuidRegex.exec(value);\n\tif (m === null) throw new Error(\"Unsupported type\");\n\treturn [\n\t\tm[1],\n\t\tm[3] + m[2],\n\t\tm[4] + safeSubstring(m[5], 0, 4),\n\t\tsafeSubstring(m[5], 4)\n\t];\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/VersionsApplierForUuid.ts\n/** @internal */\nconst quickNumberToHexaString = \"0123456789abcdef\";\n/** @internal */\nfunction buildVersionsAppliersForUuid(versions) {\n\tconst mapping = {};\n\tconst reversedMapping = {};\n\tfor (let index = 0; index !== versions.length; ++index) {\n\t\tconst from = quickNumberToHexaString[index];\n\t\tconst to = quickNumberToHexaString[versions[index]];\n\t\tmapping[from] = to;\n\t\treversedMapping[to] = from;\n\t}\n\tfunction versionsApplierMapper(value) {\n\t\treturn mapping[value[0]] + safeSubstring(value, 1);\n\t}\n\tfunction versionsApplierUnmapper(value) {\n\t\tif (typeof value !== \"string\") throw new SError(\"Cannot produce non-string values\");\n\t\tconst rev = reversedMapping[value[0]];\n\t\tif (rev === void 0) throw new SError(\"Cannot produce strings not starting by the version in hexa code\");\n\t\treturn rev + safeSubstring(value, 1);\n\t}\n\treturn {\n\t\tversionsApplierMapper,\n\t\tversionsApplierUnmapper\n\t};\n}\n//#endregion\n//#region src/arbitrary/uuid.ts\n/** @internal */\nfunction assertValidVersions(versions) {\n\tconst found = {};\n\tfor (const version of versions) {\n\t\tif (found[version]) throw new SError(`Version ${version} has been requested at least twice for uuid`);\n\t\tfound[version] = true;\n\t\tif (version < 1 || version > 15) throw new SError(`Version must be a value in [1-15] for uuid, but received ${version}`);\n\t\tif (~~version !== version) throw new SError(`Version must be an integer value for uuid, but received ${version}`);\n\t}\n\tif (versions.length === 0) throw new SError(`Must provide at least one version for uuid`);\n}\n/**\n* For UUID from v1 to v5\n*\n* According to {@link https://tools.ietf.org/html/rfc4122 | RFC 4122}\n*\n* No mixed case, only lower case digits (0-9a-f)\n*\n* @remarks Since 1.17.0\n* @public\n*/\nfunction uuid(constraints = {}) {\n\tconst padded = buildPaddedNumberArbitrary(0, 4294967295);\n\tconst version = constraints.version !== void 0 ? typeof constraints.version === \"number\" ? [constraints.version] : constraints.version : [\n\t\t1,\n\t\t2,\n\t\t3,\n\t\t4,\n\t\t5,\n\t\t6,\n\t\t7,\n\t\t8\n\t];\n\tassertValidVersions(version);\n\tconst { versionsApplierMapper, versionsApplierUnmapper } = buildVersionsAppliersForUuid(version);\n\treturn tuple(padded, buildPaddedNumberArbitrary(0, 268435456 * version.length - 1).map(versionsApplierMapper, versionsApplierUnmapper), buildPaddedNumberArbitrary(2147483648, 3221225471), padded).map(paddedEightsToUuidMapper, paddedEightsToUuidUnmapper);\n}\n//#endregion\n//#region src/arbitrary/webAuthority.ts\n/** @internal */\nfunction hostUserInfo(size) {\n\treturn string({\n\t\tunit: getOrCreateAlphaNumericPercentArbitrary(\"-._~!$&'()*+,;=:\"),\n\t\tsize\n\t});\n}\n/** @internal */\nfunction userHostPortMapper([u, h, p]) {\n\treturn (u === null ? \"\" : `${u}@`) + h + (p === null ? \"\" : `:${p}`);\n}\n/** @internal */\nfunction userHostPortUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Unsupported\");\n\tconst atPosition = value.indexOf(\"@\");\n\tconst user = atPosition !== -1 ? value.substring(0, atPosition) : null;\n\tconst m = /:(\\d+)$/.exec(value);\n\tconst port = m !== null ? Number(m[1]) : null;\n\treturn [\n\t\tuser,\n\t\tm !== null ? value.substring(atPosition + 1, value.length - m[1].length - 1) : value.substring(atPosition + 1),\n\t\tport\n\t];\n}\n/** @internal */\nfunction bracketedMapper(s) {\n\treturn `[${s}]`;\n}\n/** @internal */\nfunction bracketedUnmapper(value) {\n\tif (typeof value !== \"string\" || value[0] !== \"[\" || value[value.length - 1] !== \"]\") throw new Error(\"Unsupported\");\n\treturn value.substring(1, value.length - 1);\n}\n/**\n* For web authority\n*\n* According to {@link https://www.ietf.org/rfc/rfc3986.txt | RFC 3986} - `authority = [ userinfo \"@\" ] host [ \":\" port ]`\n*\n* @param constraints - Constraints to apply when building instances\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction webAuthority(constraints) {\n\tconst c = constraints || {};\n\tconst size = c.size;\n\tconst hostnameArbs = [\n\t\tdomain({ size }),\n\t\t...c.withIPv4 === true ? [ipV4()] : [],\n\t\t...c.withIPv6 === true ? [ipV6().map(bracketedMapper, bracketedUnmapper)] : [],\n\t\t...c.withIPv4Extended === true ? [ipV4Extended()] : []\n\t];\n\treturn tuple(c.withUserInfo === true ? option(hostUserInfo(size)) : constant(null), oneof(...hostnameArbs), c.withPort === true ? option(nat(65535)) : constant(null)).map(userHostPortMapper, userHostPortUnmapper);\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/UriQueryOrFragmentArbitraryBuilder.ts\n/** @internal */\nfunction buildUriQueryOrFragmentArbitrary(size) {\n\treturn string({\n\t\tunit: getOrCreateAlphaNumericPercentArbitrary(\"-._~!$&'()*+,;=:@/?\"),\n\t\tsize\n\t});\n}\n//#endregion\n//#region src/arbitrary/webFragments.ts\n/**\n* For fragments of an URI (web included)\n*\n* According to {@link https://www.ietf.org/rfc/rfc3986.txt | RFC 3986}\n*\n* eg.: In the url `https://domain/plop?page=1#hello=1&world=2`, `?hello=1&world=2` are query parameters\n*\n* @param constraints - Constraints to apply when building instances (since 2.22.0)\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction webFragments(constraints = {}) {\n\treturn buildUriQueryOrFragmentArbitrary(constraints.size);\n}\n//#endregion\n//#region src/arbitrary/webSegment.ts\n/**\n* For internal segment of an URI (web included)\n*\n* According to {@link https://www.ietf.org/rfc/rfc3986.txt | RFC 3986}\n*\n* eg.: In the url `https://github.com/dubzzz/fast-check/`, `dubzzz` and `fast-check` are segments\n*\n* @param constraints - Constraints to apply when building instances (since 2.22.0)\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction webSegment(constraints = {}) {\n\treturn string({\n\t\tunit: getOrCreateAlphaNumericPercentArbitrary(\"-._~!$&'()*+,;=:@\"),\n\t\tsize: constraints.size\n\t});\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/SegmentsToPath.ts\n/** @internal */\nfunction segmentsToPathMapper(segments) {\n\treturn safeJoin(safeMap(segments, (v) => `/${v}`), \"\");\n}\n/** @internal */\nfunction segmentsToPathUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Incompatible value received: type\");\n\tif (value.length !== 0 && value[0] !== \"/\") throw new Error(\"Incompatible value received: start\");\n\treturn safeSplice(safeSplit(value, \"/\"), 1);\n}\n//#endregion\n//#region src/arbitrary/_internals/builders/UriPathArbitraryBuilder.ts\n/** @internal */\nfunction sqrtSize(size) {\n\tswitch (size) {\n\t\tcase \"xsmall\": return [\"xsmall\", \"xsmall\"];\n\t\tcase \"small\": return [\"small\", \"xsmall\"];\n\t\tcase \"medium\": return [\"small\", \"small\"];\n\t\tcase \"large\": return [\"medium\", \"small\"];\n\t\tcase \"xlarge\": return [\"medium\", \"medium\"];\n\t}\n}\n/** @internal */\nfunction buildUriPathArbitraryInternal(segmentSize, numSegmentSize) {\n\treturn array(webSegment({ size: segmentSize }), { size: numSegmentSize }).map(segmentsToPathMapper, segmentsToPathUnmapper);\n}\n/** @internal */\nfunction buildUriPathArbitrary(resolvedSize) {\n\tconst [segmentSize, numSegmentSize] = sqrtSize(resolvedSize);\n\tif (segmentSize === numSegmentSize) return buildUriPathArbitraryInternal(segmentSize, numSegmentSize);\n\treturn oneof(buildUriPathArbitraryInternal(segmentSize, numSegmentSize), buildUriPathArbitraryInternal(numSegmentSize, segmentSize));\n}\n//#endregion\n//#region src/arbitrary/webPath.ts\n/**\n* For web path\n*\n* According to {@link https://www.ietf.org/rfc/rfc3986.txt | RFC 3986} and\n* {@link https://url.spec.whatwg.org/ | WHATWG URL Standard}\n*\n* @param constraints - Constraints to apply when building instances\n*\n* @remarks Since 3.3.0\n* @public\n*/\nfunction webPath(constraints) {\n\treturn buildUriPathArbitrary(resolveSize((constraints || {}).size));\n}\n//#endregion\n//#region src/arbitrary/webQueryParameters.ts\n/**\n* For query parameters of an URI (web included)\n*\n* According to {@link https://www.ietf.org/rfc/rfc3986.txt | RFC 3986}\n*\n* eg.: In the url `https://domain/plop/?hello=1&world=2`, `?hello=1&world=2` are query parameters\n*\n* @param constraints - Constraints to apply when building instances (since 2.22.0)\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction webQueryParameters(constraints = {}) {\n\treturn buildUriQueryOrFragmentArbitrary(constraints.size);\n}\n//#endregion\n//#region src/arbitrary/_internals/mappers/PartsToUrl.ts\n/** @internal */\nfunction partsToUrlMapper(data) {\n\tconst [scheme, authority, path] = data;\n\treturn `${scheme}://${authority}${path}${data[3] === null ? \"\" : `?${data[3]}`}${data[4] === null ? \"\" : `#${data[4]}`}`;\n}\n/** @internal More details on RFC 3986, https://www.ietf.org/rfc/rfc3986.txt */\nconst UrlSplitRegex = /^([[A-Za-z][A-Za-z0-9+.-]*):\\/\\/([^/?#]*)([^?#]*)(\\?[A-Za-z0-9\\-._~!$&'()*+,;=:@/?%]*)?(#[A-Za-z0-9\\-._~!$&'()*+,;=:@/?%]*)?$/;\n/** @internal */\nfunction partsToUrlUnmapper(value) {\n\tif (typeof value !== \"string\") throw new Error(\"Incompatible value received: type\");\n\tconst m = UrlSplitRegex.exec(value);\n\tif (m === null) throw new Error(\"Incompatible value received\");\n\tconst scheme = m[1];\n\tconst authority = m[2];\n\tconst path = m[3];\n\tconst query = m[4];\n\tconst fragments = m[5];\n\treturn [\n\t\tscheme,\n\t\tauthority,\n\t\tpath,\n\t\tquery !== void 0 ? query.substring(1) : null,\n\t\tfragments !== void 0 ? fragments.substring(1) : null\n\t];\n}\n//#endregion\n//#region src/arbitrary/webUrl.ts\n/**\n* For web url\n*\n* According to {@link https://www.ietf.org/rfc/rfc3986.txt | RFC 3986} and\n* {@link https://url.spec.whatwg.org/ | WHATWG URL Standard}\n*\n* @param constraints - Constraints to apply when building instances\n*\n* @remarks Since 1.14.0\n* @public\n*/\nfunction webUrl(constraints) {\n\tconst c = constraints || {};\n\tconst resolvedSize = resolveSize(c.size);\n\tconst resolvedAuthoritySettingsSize = c.authoritySettings !== void 0 && c.authoritySettings.size !== void 0 ? relativeSizeToSize(c.authoritySettings.size, resolvedSize) : resolvedSize;\n\tconst resolvedAuthoritySettings = {\n\t\t...c.authoritySettings,\n\t\tsize: resolvedAuthoritySettingsSize\n\t};\n\treturn tuple(constantFrom(...c.validSchemes || [\"http\", \"https\"]), webAuthority(resolvedAuthoritySettings), webPath({ size: resolvedSize }), c.withQueryParameters === true ? option(webQueryParameters({ size: resolvedSize })) : constant(null), c.withFragments === true ? option(webFragments({ size: resolvedSize })) : constant(null)).map(partsToUrlMapper, partsToUrlUnmapper);\n}\n//#endregion\n//#region src/check/model/commands/CommandsIterable.ts\n/**\n* Iterable datastructure accepted as input for asyncModelRun and modelRun\n*/\nvar CommandsIterable = class CommandsIterable {\n\tconstructor(commands, metadataForReplay) {\n\t\tthis.commands = commands;\n\t\tthis.metadataForReplay = metadataForReplay;\n\t\tthis[cloneMethod] = function() {\n\t\t\treturn new CommandsIterable(this.commands.map((c) => c.clone()), this.metadataForReplay);\n\t\t};\n\t}\n\t[Symbol.iterator]() {\n\t\treturn this.commands[Symbol.iterator]();\n\t}\n\ttoString() {\n\t\tconst serializedCommands = this.commands.filter((c) => c.hasRan).map((c) => c.toString()).join(\",\");\n\t\tconst metadata = this.metadataForReplay();\n\t\treturn metadata.length !== 0 ? `${serializedCommands} /*${metadata}*/` : serializedCommands;\n\t}\n};\n//#endregion\n//#region src/check/model/commands/CommandWrapper.ts\n/**\n* Wrapper around commands used internally by fast-check to wrap existing commands\n* in order to add them a flag to know whether or not they already have been executed\n*/\nvar CommandWrapper = class CommandWrapper {\n\tconstructor(cmd) {\n\t\tthis.cmd = cmd;\n\t\tthis.hasRan = false;\n\t\tif (hasToStringMethod(cmd)) {\n\t\t\tconst method = cmd[toStringMethod];\n\t\t\tthis[toStringMethod] = function toStringMethod() {\n\t\t\t\treturn method.call(cmd);\n\t\t\t};\n\t\t}\n\t\tif (hasAsyncToStringMethod(cmd)) {\n\t\t\tconst method = cmd[asyncToStringMethod];\n\t\t\tthis[asyncToStringMethod] = function asyncToStringMethod() {\n\t\t\t\treturn method.call(cmd);\n\t\t\t};\n\t\t}\n\t}\n\tcheck(m) {\n\t\treturn this.cmd.check(m);\n\t}\n\trun(m, r) {\n\t\tthis.hasRan = true;\n\t\treturn this.cmd.run(m, r);\n\t}\n\tclone() {\n\t\tif (hasCloneMethod(this.cmd)) return new CommandWrapper(this.cmd[cloneMethod]());\n\t\treturn new CommandWrapper(this.cmd);\n\t}\n\ttoString() {\n\t\treturn this.cmd.toString();\n\t}\n};\n//#endregion\n//#region src/check/model/ReplayPath.ts\n/** @internal */\nvar ReplayPath = class {\n\t/** Parse a serialized replayPath */\n\tstatic parse(replayPathStr) {\n\t\tconst [serializedCount, serializedChanges] = replayPathStr.split(\":\");\n\t\tconst counts = this.parseCounts(serializedCount);\n\t\tconst changes = this.parseChanges(serializedChanges);\n\t\treturn this.parseOccurences(counts, changes);\n\t}\n\t/** Stringify a replayPath */\n\tstatic stringify(replayPath) {\n\t\tconst occurences = this.countOccurences(replayPath);\n\t\treturn `${this.stringifyCounts(occurences)}:${this.stringifyChanges(occurences)}`;\n\t}\n\t/** Number to Base64 value */\n\tstatic intToB64(n) {\n\t\tif (n < 26) return String.fromCharCode(n + 65);\n\t\tif (n < 52) return String.fromCharCode(n + 97 - 26);\n\t\tif (n < 62) return String.fromCharCode(n + 48 - 52);\n\t\treturn String.fromCharCode(n === 62 ? 43 : 47);\n\t}\n\t/** Base64 value to number */\n\tstatic b64ToInt(c) {\n\t\tif (c >= \"a\") return c.charCodeAt(0) - 97 + 26;\n\t\tif (c >= \"A\") return c.charCodeAt(0) - 65;\n\t\tif (c >= \"0\") return c.charCodeAt(0) - 48 + 52;\n\t\treturn c === \"+\" ? 62 : 63;\n\t}\n\t/**\n\t* Divide an incoming replayPath into an array of {value, count}\n\t* with count is the number of consecutive occurences of value (with a max set to 64)\n\t*\n\t* Above 64, another {value, count} is created\n\t*/\n\tstatic countOccurences(replayPath) {\n\t\treturn replayPath.reduce((counts, cur) => {\n\t\t\tif (counts.length === 0 || counts[counts.length - 1].count === 64 || counts[counts.length - 1].value !== cur) counts.push({\n\t\t\t\tvalue: cur,\n\t\t\t\tcount: 1\n\t\t\t});\n\t\t\telse counts[counts.length - 1].count += 1;\n\t\t\treturn counts;\n\t\t}, []);\n\t}\n\t/**\n\t* Serialize an array of {value, count} back to its replayPath\n\t*/\n\tstatic parseOccurences(counts, changes) {\n\t\tconst replayPath = [];\n\t\tfor (let idx = 0; idx !== counts.length; ++idx) {\n\t\t\tconst count = counts[idx];\n\t\t\tconst value = changes[idx];\n\t\t\tfor (let num = 0; num !== count; ++num) replayPath.push(value);\n\t\t}\n\t\treturn replayPath;\n\t}\n\t/**\n\t* Stringify the switch from true to false of occurences\n\t*\n\t* {value: 0}, {value: 1}, {value: 1}, {value: 0}\n\t* will be stringified as: 6 = (1 * 0) + (2 * 1) + (4 * 1) + (8 * 0)\n\t*\n\t* {value: 0}, {value: 1}, {value: 1}, {value: 0}, {value: 1}, {value: 0}, {value: 1}, {value: 0}\n\t* will be stringified as: 22, 1 [only 6 values encoded in one number]\n\t*/\n\tstatic stringifyChanges(occurences) {\n\t\tlet serializedChanges = \"\";\n\t\tfor (let idx = 0; idx < occurences.length; idx += 6) {\n\t\t\tconst changesInt = occurences.slice(idx, idx + 6).reduceRight((prev, cur) => (prev << 1) + (cur.value ? 1 : 0), 0);\n\t\t\tserializedChanges += this.intToB64(changesInt);\n\t\t}\n\t\treturn serializedChanges;\n\t}\n\t/**\n\t* Parse switch of value\n\t*/\n\tstatic parseChanges(serializedChanges) {\n\t\tconst changesInt = serializedChanges.split(\"\").map((c) => this.b64ToInt(c));\n\t\tconst changes = [];\n\t\tfor (let idx = 0; idx !== changesInt.length; ++idx) {\n\t\t\tlet current = changesInt[idx];\n\t\t\tfor (let n = 0; n !== 6; ++n, current >>= 1) changes.push(current % 2 === 1);\n\t\t}\n\t\treturn changes;\n\t}\n\t/**\n\t* Stringify counts of occurences\n\t*/\n\tstatic stringifyCounts(occurences) {\n\t\treturn occurences.map(({ count }) => this.intToB64(count - 1)).join(\"\");\n\t}\n\t/**\n\t* Parse counts\n\t*/\n\tstatic parseCounts(serializedCount) {\n\t\treturn serializedCount.split(\"\").map((c) => this.b64ToInt(c) + 1);\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/CommandsArbitrary.ts\n/** @internal */\nvar CommandsArbitrary = class extends Arbitrary {\n\tconstructor(commandArbs, maxGeneratedCommands, maxCommands, sourceReplayPath, disableReplayLog) {\n\t\tsuper();\n\t\tthis.sourceReplayPath = sourceReplayPath;\n\t\tthis.disableReplayLog = disableReplayLog;\n\t\tthis.oneCommandArb = oneof(...commandArbs).map((c) => new CommandWrapper(c));\n\t\tthis.lengthArb = restrictedIntegerArbitraryBuilder(0, maxGeneratedCommands, maxCommands);\n\t\tthis.replayPath = [];\n\t\tthis.replayPathPosition = 0;\n\t}\n\tmetadataForReplay() {\n\t\treturn this.disableReplayLog ? \"\" : `replayPath=${JSON.stringify(ReplayPath.stringify(this.replayPath))}`;\n\t}\n\tbuildValueFor(items, shrunkOnce) {\n\t\tconst commands = items.map((item) => item.value_);\n\t\tconst context = {\n\t\t\tshrunkOnce,\n\t\t\titems\n\t\t};\n\t\treturn new Value(new CommandsIterable(commands, () => this.metadataForReplay()), context);\n\t}\n\tgenerate(mrng) {\n\t\tconst sizeValue = this.lengthArb.generate(mrng, void 0).value;\n\t\tconst items = Array(sizeValue);\n\t\tfor (let idx = 0; idx !== sizeValue; ++idx) items[idx] = this.oneCommandArb.generate(mrng, void 0);\n\t\tthis.replayPathPosition = 0;\n\t\treturn this.buildValueFor(items, false);\n\t}\n\tcanShrinkWithoutContext(_value) {\n\t\treturn false;\n\t}\n\t/** Filter commands based on the real status of the execution */\n\tfilterOnExecution(itemsRaw) {\n\t\tconst items = [];\n\t\tfor (const c of itemsRaw) if (c.value_.hasRan) {\n\t\t\tthis.replayPath.push(true);\n\t\t\titems.push(c);\n\t\t} else this.replayPath.push(false);\n\t\treturn items;\n\t}\n\t/** Filter commands based on the internal replay state */\n\tfilterOnReplay(itemsRaw) {\n\t\treturn itemsRaw.filter((c, idx) => {\n\t\t\tconst state = this.replayPath[this.replayPathPosition + idx];\n\t\t\tif (state === void 0) throw new Error(`Too short replayPath`);\n\t\t\tif (!state && c.value_.hasRan) throw new Error(`Mismatch between replayPath and real execution`);\n\t\t\treturn state;\n\t\t});\n\t}\n\t/** Filter commands for shrinking purposes */\n\tfilterForShrinkImpl(itemsRaw) {\n\t\tif (this.replayPathPosition === 0) this.replayPath = this.sourceReplayPath !== null ? ReplayPath.parse(this.sourceReplayPath) : [];\n\t\tconst items = this.replayPathPosition < this.replayPath.length ? this.filterOnReplay(itemsRaw) : this.filterOnExecution(itemsRaw);\n\t\tthis.replayPathPosition += itemsRaw.length;\n\t\treturn items;\n\t}\n\tshrink(_value, context) {\n\t\tif (context === void 0) return Stream.nil();\n\t\tconst safeContext = context;\n\t\tconst shrunkOnce = safeContext.shrunkOnce;\n\t\tconst itemsRaw = safeContext.items;\n\t\tconst items = this.filterForShrinkImpl(itemsRaw);\n\t\tif (items.length === 0) return Stream.nil();\n\t\tconst rootShrink = shrunkOnce ? Stream.nil() : new Stream([[]][Symbol.iterator]());\n\t\tconst nextShrinks = [];\n\t\tfor (let numToKeep = 0; numToKeep !== items.length; ++numToKeep) nextShrinks.push(makeLazy(() => {\n\t\t\tconst fixedStart = items.slice(0, numToKeep);\n\t\t\treturn this.lengthArb.shrink(items.length - 1 - numToKeep, void 0).map((l) => fixedStart.concat(items.slice(items.length - (l.value + 1))));\n\t\t}));\n\t\tfor (let itemAt = 0; itemAt !== items.length; ++itemAt) nextShrinks.push(makeLazy(() => this.oneCommandArb.shrink(items[itemAt].value_, items[itemAt].context).map((v) => items.slice(0, itemAt).concat([v], items.slice(itemAt + 1)))));\n\t\treturn rootShrink.join(...nextShrinks).map((shrinkables) => {\n\t\t\treturn this.buildValueFor(shrinkables.map((c) => new Value(c.value_.clone(), c.context)), true);\n\t\t});\n\t}\n};\n//#endregion\n//#region src/arbitrary/commands.ts\nfunction commands(commandArbs, constraints = {}) {\n\tconst { size, maxCommands = MaxLengthUpperBound, disableReplayLog = false, replayPath = null } = constraints;\n\treturn new CommandsArbitrary(commandArbs, maxGeneratedLengthFromSizeForArbitrary(size, 0, maxCommands, constraints.maxCommands !== void 0), maxCommands, replayPath, disableReplayLog);\n}\n//#endregion\n//#region src/check/model/commands/ScheduledCommand.ts\n/** @internal */\nvar ScheduledCommand = class {\n\tconstructor(s, cmd) {\n\t\tthis.s = s;\n\t\tthis.cmd = cmd;\n\t}\n\tasync check(m) {\n\t\tlet error = null;\n\t\tlet checkPassed = false;\n\t\tif ((await this.s.scheduleSequence([{\n\t\t\tlabel: `check@${this.cmd.toString()}`,\n\t\t\tbuilder: async () => {\n\t\t\t\ttry {\n\t\t\t\t\tcheckPassed = await Promise.resolve(this.cmd.check(m));\n\t\t\t\t} catch (err) {\n\t\t\t\t\terror = err;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\t\t}]).task).faulty) throw error;\n\t\treturn checkPassed;\n\t}\n\tasync run(m, r) {\n\t\tlet error = null;\n\t\tif ((await this.s.scheduleSequence([{\n\t\t\tlabel: `run@${this.cmd.toString()}`,\n\t\t\tbuilder: async () => {\n\t\t\t\ttry {\n\t\t\t\t\tawait this.cmd.run(m, r);\n\t\t\t\t} catch (err) {\n\t\t\t\t\terror = err;\n\t\t\t\t\tthrow err;\n\t\t\t\t}\n\t\t\t}\n\t\t}]).task).faulty) throw error;\n\t}\n};\n/** @internal */\nconst scheduleCommands = function* (s, cmds) {\n\tfor (const cmd of cmds) yield new ScheduledCommand(s, cmd);\n};\n//#endregion\n//#region src/check/model/ModelRunner.ts\n/** @internal */\nconst genericModelRun = (s, cmds, initialValue, runCmd, then) => {\n\treturn s.then((o) => {\n\t\tconst { model, real } = o;\n\t\tlet state = initialValue;\n\t\tfor (const c of cmds) state = then(state, () => {\n\t\t\treturn runCmd(c, model, real);\n\t\t});\n\t\treturn state;\n\t});\n};\n/** @internal */\nconst internalModelRun = (s, cmds) => {\n\tconst then = (_p, c) => c();\n\tconst setupProducer = { then: (fun) => {\n\t\tfun(s());\n\t} };\n\tconst runSync = (cmd, m, r) => {\n\t\tif (cmd.check(m)) cmd.run(m, r);\n\t};\n\treturn genericModelRun(setupProducer, cmds, void 0, runSync, then);\n};\n/** @internal */\nconst isAsyncSetup = (s) => {\n\treturn typeof s.then === \"function\";\n};\n/** @internal */\nconst internalAsyncModelRun = async (s, cmds, defaultPromise = Promise.resolve()) => {\n\tconst then = (p, c) => p.then(c);\n\tconst setupProducer = { then: (fun) => {\n\t\tconst out = s();\n\t\tif (isAsyncSetup(out)) return out.then(fun);\n\t\telse return fun(out);\n\t} };\n\tconst runAsync = async (cmd, m, r) => {\n\t\tif (await cmd.check(m)) await cmd.run(m, r);\n\t};\n\treturn await genericModelRun(setupProducer, cmds, defaultPromise, runAsync, then);\n};\n/**\n* Run synchronous commands over a `Model` and the `Real` system\n*\n* Throw in case of inconsistency\n*\n* @param s - Initial state provider\n* @param cmds - Synchronous commands to be executed\n*\n* @remarks Since 1.5.0\n* @public\n*/\nfunction modelRun(s, cmds) {\n\tinternalModelRun(s, cmds);\n}\n/**\n* Run asynchronous commands over a `Model` and the `Real` system\n*\n* Throw in case of inconsistency\n*\n* @param s - Initial state provider\n* @param cmds - Asynchronous commands to be executed\n*\n* @remarks Since 1.5.0\n* @public\n*/\nasync function asyncModelRun(s, cmds) {\n\tawait internalAsyncModelRun(s, cmds);\n}\n/**\n* Run asynchronous and scheduled commands over a `Model` and the `Real` system\n*\n* Throw in case of inconsistency\n*\n* @param scheduler - Scheduler\n* @param s - Initial state provider\n* @param cmds - Asynchronous commands to be executed\n*\n* @remarks Since 1.24.0\n* @public\n*/\nasync function scheduledModelRun(scheduler, s, cmds) {\n\tconst out = internalAsyncModelRun(s, scheduleCommands(scheduler, cmds), scheduler.schedule(Promise.resolve(), \"startModel\"));\n\tawait scheduler.waitFor(out);\n\tawait scheduler.waitAll();\n}\n//#endregion\n//#region src/arbitrary/_internals/implementations/SchedulerImplem.ts\nconst defaultSchedulerAct = (f) => f();\n/** @internal */\nvar SchedulerImplem = class SchedulerImplem {\n\tconstructor(act, taskSelector) {\n\t\tthis.act = act;\n\t\tthis.taskSelector = taskSelector;\n\t\tthis.lastTaskId = 0;\n\t\tthis.sourceTaskSelector = taskSelector.clone();\n\t\tthis.scheduledTasks = [];\n\t\tthis.triggeredTasks = [];\n\t\tthis.scheduledWatchers = [];\n\t\tthis[cloneMethod] = function() {\n\t\t\treturn new SchedulerImplem(this.act, this.sourceTaskSelector);\n\t\t};\n\t}\n\tstatic buildLog(reportItem) {\n\t\treturn `[task\\${${reportItem.taskId}}] ${reportItem.label.length !== 0 ? `${reportItem.schedulingType}::${reportItem.label}` : reportItem.schedulingType} ${reportItem.status}${reportItem.outputValue !== void 0 ? ` with value ${escapeForTemplateString(reportItem.outputValue)}` : \"\"}`;\n\t}\n\tlog(schedulingType, taskId, label, metadata, status, data) {\n\t\tthis.triggeredTasks.push({\n\t\t\tstatus,\n\t\t\tschedulingType,\n\t\t\ttaskId,\n\t\t\tlabel,\n\t\t\tmetadata,\n\t\t\toutputValue: data !== void 0 ? stringify(data) : void 0\n\t\t});\n\t}\n\tscheduleInternal(schedulingType, label, task, metadata, customAct, thenTaskToBeAwaited) {\n\t\tconst taskId = ++this.lastTaskId;\n\t\tlet trigger = void 0;\n\t\tconst scheduledPromise = new Promise((resolve, reject) => {\n\t\t\ttrigger = () => {\n\t\t\t\tconst promise = Promise.resolve(thenTaskToBeAwaited !== void 0 ? task.then(() => thenTaskToBeAwaited()) : task);\n\t\t\t\tpromise.then((data) => {\n\t\t\t\t\tthis.log(schedulingType, taskId, label, metadata, \"resolved\", data);\n\t\t\t\t\tresolve(data);\n\t\t\t\t}, (err) => {\n\t\t\t\t\tthis.log(schedulingType, taskId, label, metadata, \"rejected\", err);\n\t\t\t\t\treject(err);\n\t\t\t\t});\n\t\t\t\treturn promise;\n\t\t\t};\n\t\t});\n\t\tthis.scheduledTasks.push({\n\t\t\toriginal: task,\n\t\t\ttrigger,\n\t\t\tschedulingType,\n\t\t\ttaskId,\n\t\t\tlabel,\n\t\t\tmetadata,\n\t\t\tcustomAct\n\t\t});\n\t\tif (this.scheduledWatchers.length !== 0) this.scheduledWatchers[0]();\n\t\treturn scheduledPromise;\n\t}\n\tschedule(task, label, metadata, customAct) {\n\t\treturn this.scheduleInternal(\"promise\", label || \"\", task, metadata, customAct || defaultSchedulerAct);\n\t}\n\tscheduleFunction(asyncFunction, customAct) {\n\t\treturn (...args) => this.scheduleInternal(\"function\", `${asyncFunction.name}(${args.map(stringify).join(\",\")})`, asyncFunction(...args), void 0, customAct || defaultSchedulerAct);\n\t}\n\tscheduleSequence(sequenceBuilders, customAct) {\n\t\tconst status = {\n\t\t\tdone: false,\n\t\t\tfaulty: false\n\t\t};\n\t\tconst dummyResolvedPromise = { then: (f) => f() };\n\t\tlet resolveSequenceTask = () => {};\n\t\tconst sequenceTask = new Promise((resolve) => {\n\t\t\tresolveSequenceTask = () => resolve({\n\t\t\t\tdone: status.done,\n\t\t\t\tfaulty: status.faulty\n\t\t\t});\n\t\t});\n\t\tconst onFaultyItemNoThrow = () => {\n\t\t\tstatus.faulty = true;\n\t\t\tresolveSequenceTask();\n\t\t};\n\t\tconst onDone = () => {\n\t\t\tstatus.done = true;\n\t\t\tresolveSequenceTask();\n\t\t};\n\t\tconst registerNextBuilder = (index, previous) => {\n\t\t\tif (index >= sequenceBuilders.length) {\n\t\t\t\tprevious.then(onDone, onFaultyItemNoThrow);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tprevious.then(() => {\n\t\t\t\tconst item = sequenceBuilders[index];\n\t\t\t\tconst [builder, label, metadata] = typeof item === \"function\" ? [\n\t\t\t\t\titem,\n\t\t\t\t\titem.name,\n\t\t\t\t\tvoid 0\n\t\t\t\t] : [\n\t\t\t\t\titem.builder,\n\t\t\t\t\titem.label,\n\t\t\t\t\titem.metadata\n\t\t\t\t];\n\t\t\t\tconst scheduled = this.scheduleInternal(\"sequence\", label, dummyResolvedPromise, metadata, customAct || defaultSchedulerAct, () => builder());\n\t\t\t\tregisterNextBuilder(index + 1, scheduled);\n\t\t\t}, onFaultyItemNoThrow);\n\t\t};\n\t\tregisterNextBuilder(0, dummyResolvedPromise);\n\t\treturn Object.assign(status, { task: sequenceTask });\n\t}\n\tcount() {\n\t\treturn this.scheduledTasks.length;\n\t}\n\tinternalWaitOne() {\n\t\tif (this.scheduledTasks.length === 0) throw new Error(\"No task scheduled\");\n\t\tconst taskIndex = this.taskSelector.nextTaskIndex(this.scheduledTasks);\n\t\tconst [scheduledTask] = this.scheduledTasks.splice(taskIndex, 1);\n\t\treturn scheduledTask.customAct(() => {\n\t\t\treturn scheduledTask.trigger().catch((_err) => {});\n\t\t});\n\t}\n\twaitOne(customAct) {\n\t\tconst waitAct = customAct || defaultSchedulerAct;\n\t\treturn this.act(() => waitAct(() => this.internalWaitOne()));\n\t}\n\tasync waitAll(customAct) {\n\t\twhile (this.scheduledTasks.length > 0) await this.waitOne(customAct);\n\t}\n\tasync internalWaitFor(unscheduledTask, options) {\n\t\tlet taskResolved = false;\n\t\tconst customAct = options.customAct;\n\t\tconst onWaitStart = options.onWaitStart;\n\t\tconst onWaitIdle = options.onWaitIdle;\n\t\tconst launchAwaiterOnInit = options.launchAwaiterOnInit;\n\t\tlet resolveFinal = void 0;\n\t\tlet rejectFinal = void 0;\n\t\tlet awaiterTicks = 0;\n\t\tlet awaiterPromise = null;\n\t\tlet awaiterScheduledTaskPromise = null;\n\t\tconst awaiter = async () => {\n\t\t\tawaiterTicks = 50;\n\t\t\tfor (awaiterTicks = 50; !taskResolved && awaiterTicks > 0; --awaiterTicks) await Promise.resolve();\n\t\t\tif (!taskResolved && this.scheduledTasks.length > 0) {\n\t\t\t\tif (onWaitStart !== void 0) onWaitStart();\n\t\t\t\tawaiterScheduledTaskPromise = this.waitOne(customAct);\n\t\t\t\treturn awaiterScheduledTaskPromise.then(() => {\n\t\t\t\t\tawaiterScheduledTaskPromise = null;\n\t\t\t\t\treturn awaiter();\n\t\t\t\t}, (err) => {\n\t\t\t\t\tawaiterScheduledTaskPromise = null;\n\t\t\t\t\ttaskResolved = true;\n\t\t\t\t\trejectFinal(err);\n\t\t\t\t\tthrow err;\n\t\t\t\t});\n\t\t\t}\n\t\t\tif (!taskResolved && onWaitIdle !== void 0) onWaitIdle();\n\t\t\tawaiterPromise = null;\n\t\t};\n\t\tconst handleNotified = () => {\n\t\t\tif (awaiterPromise !== null) {\n\t\t\t\tawaiterTicks = 51;\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tawaiterPromise = awaiter().catch(() => {});\n\t\t};\n\t\tconst clearAndReplaceWatcher = () => {\n\t\t\tconst handleNotifiedIndex = this.scheduledWatchers.indexOf(handleNotified);\n\t\t\tif (handleNotifiedIndex !== -1) this.scheduledWatchers.splice(handleNotifiedIndex, 1);\n\t\t\tif (handleNotifiedIndex === 0 && this.scheduledWatchers.length !== 0) this.scheduledWatchers[0]();\n\t\t};\n\t\tconst finalTask = new Promise((resolve, reject) => {\n\t\t\tresolveFinal = (value) => {\n\t\t\t\tclearAndReplaceWatcher();\n\t\t\t\tresolve(value);\n\t\t\t};\n\t\t\trejectFinal = (error) => {\n\t\t\t\tclearAndReplaceWatcher();\n\t\t\t\treject(error);\n\t\t\t};\n\t\t});\n\t\tunscheduledTask.then((ret) => {\n\t\t\ttaskResolved = true;\n\t\t\tif (awaiterScheduledTaskPromise === null) resolveFinal(ret);\n\t\t\telse awaiterScheduledTaskPromise.then(() => resolveFinal(ret), (error) => rejectFinal(error));\n\t\t}, (err) => {\n\t\t\ttaskResolved = true;\n\t\t\tif (awaiterScheduledTaskPromise === null) rejectFinal(err);\n\t\t\telse awaiterScheduledTaskPromise.then(() => rejectFinal(err), () => rejectFinal(err));\n\t\t});\n\t\tif ((this.scheduledTasks.length > 0 || launchAwaiterOnInit) && this.scheduledWatchers.length === 0) handleNotified();\n\t\tthis.scheduledWatchers.push(handleNotified);\n\t\treturn finalTask;\n\t}\n\twaitNext(count, customAct) {\n\t\tlet resolver = void 0;\n\t\tlet remaining = count;\n\t\tconst awaited = remaining <= 0 ? Promise.resolve() : new Promise((r) => {\n\t\t\tresolver = () => {\n\t\t\t\tif (--remaining <= 0) r();\n\t\t\t};\n\t\t});\n\t\treturn this.internalWaitFor(awaited, {\n\t\t\tcustomAct,\n\t\t\tonWaitStart: resolver,\n\t\t\tonWaitIdle: void 0,\n\t\t\tlaunchAwaiterOnInit: false\n\t\t});\n\t}\n\twaitIdle(customAct) {\n\t\tlet resolver = void 0;\n\t\tconst awaited = new Promise((r) => resolver = r);\n\t\treturn this.internalWaitFor(awaited, {\n\t\t\tcustomAct,\n\t\t\tonWaitStart: void 0,\n\t\t\tonWaitIdle: resolver,\n\t\t\tlaunchAwaiterOnInit: true\n\t\t});\n\t}\n\twaitFor(unscheduledTask, customAct) {\n\t\treturn this.internalWaitFor(unscheduledTask, {\n\t\t\tcustomAct,\n\t\t\tonWaitStart: void 0,\n\t\t\tonWaitIdle: void 0,\n\t\t\tlaunchAwaiterOnInit: false\n\t\t});\n\t}\n\treport() {\n\t\treturn [...this.triggeredTasks, ...this.scheduledTasks.map((t) => ({\n\t\t\tstatus: \"pending\",\n\t\t\tschedulingType: t.schedulingType,\n\t\t\ttaskId: t.taskId,\n\t\t\tlabel: t.label,\n\t\t\tmetadata: t.metadata\n\t\t}))];\n\t}\n\ttoString() {\n\t\treturn \"schedulerFor()`\\n\" + this.report().map(SchedulerImplem.buildLog).map((log) => `-> ${log}`).join(\"\\n\") + \"`\";\n\t}\n};\n//#endregion\n//#region src/arbitrary/_internals/helpers/BuildSchedulerFor.ts\n/** @internal */\nfunction buildNextTaskIndex$1(ordering) {\n\tlet numTasks = 0;\n\treturn {\n\t\tclone: () => buildNextTaskIndex$1(ordering),\n\t\tnextTaskIndex: (scheduledTasks) => {\n\t\t\tif (ordering.length <= numTasks) throw new Error(`Invalid schedulerFor defined: too many tasks have been scheduled`);\n\t\t\tconst taskIndex = scheduledTasks.findIndex((t) => t.taskId === ordering[numTasks]);\n\t\t\tif (taskIndex === -1) throw new Error(`Invalid schedulerFor defined: unable to find next task`);\n\t\t\t++numTasks;\n\t\t\treturn taskIndex;\n\t\t}\n\t};\n}\n/** @internal */\nfunction buildSchedulerFor(act, ordering) {\n\treturn new SchedulerImplem(act, buildNextTaskIndex$1(ordering));\n}\n//#endregion\n//#region src/arbitrary/_internals/SchedulerArbitrary.ts\n/**\n* @internal\n* Passed instance of mrng should never be altered from the outside.\n* Passed instance will never be affected by current code but always cloned before usage.\n*/\nfunction buildNextTaskIndex(mrng) {\n\tconst clonedMrng = mrng.clone();\n\treturn {\n\t\tclone: () => buildNextTaskIndex(clonedMrng),\n\t\tnextTaskIndex: (scheduledTasks) => {\n\t\t\treturn mrng.nextInt(0, scheduledTasks.length - 1);\n\t\t}\n\t};\n}\n/** @internal */\nvar SchedulerArbitrary = class extends Arbitrary {\n\tconstructor(act) {\n\t\tsuper();\n\t\tthis.act = act;\n\t}\n\tgenerate(mrng, _biasFactor) {\n\t\treturn new Value(new SchedulerImplem(this.act, buildNextTaskIndex(mrng.clone())), void 0);\n\t}\n\tcanShrinkWithoutContext(_value) {\n\t\treturn false;\n\t}\n\tshrink(_value, _context) {\n\t\treturn Stream.nil();\n\t}\n};\n//#endregion\n//#region src/arbitrary/scheduler.ts\n/**\n* For scheduler of promises\n* @remarks Since 1.20.0\n* @public\n*/\nfunction scheduler(constraints) {\n\tconst { act = (f) => f() } = constraints || {};\n\treturn new SchedulerArbitrary(act);\n}\nfunction schedulerFor(customOrderingOrConstraints, constraintsOrUndefined) {\n\tconst { act = (f) => f() } = Array.isArray(customOrderingOrConstraints) ? constraintsOrUndefined || {} : customOrderingOrConstraints || {};\n\tif (Array.isArray(customOrderingOrConstraints)) return buildSchedulerFor(act, customOrderingOrConstraints);\n\treturn function(_strs, ...ordering) {\n\t\treturn buildSchedulerFor(act, ordering);\n\t};\n}\n//#endregion\n//#region src/arbitrary/bigInt64Array.ts\n/**\n* For BigInt64Array\n* @remarks Since 3.0.0\n* @public\n*/\nfunction bigInt64Array(constraints = {}) {\n\treturn typedIntArrayArbitraryArbitraryBuilder(constraints, SBigInt(\"-9223372036854775808\"), SBigInt(\"9223372036854775807\"), SBigInt64Array, bigInt);\n}\n//#endregion\n//#region src/arbitrary/bigUint64Array.ts\n/**\n* For BigUint64Array\n* @remarks Since 3.0.0\n* @public\n*/\nfunction bigUint64Array(constraints = {}) {\n\treturn typedIntArrayArbitraryArbitraryBuilder(constraints, SBigInt(0), SBigInt(\"18446744073709551615\"), SBigUint64Array, bigInt);\n}\n//#endregion\n//#region src/utils/noSuchValue.ts\n/**\n* Typeguard to ensure a value is never there\n* @param value The value that should not exist\n* @param returnedValue The value to be returned\n*/\nfunction noSuchValue(_value, returnedValue) {\n\treturn returnedValue;\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/ClampRegexAst.ts\nconst safeMathFloor = Math.floor;\nconst safeMathMin = Math.min;\n/** @internal */\nfunction clampRegexAstInternal(astNode, maxLength) {\n\tswitch (astNode.type) {\n\t\tcase \"Char\": return {\n\t\t\tastNode,\n\t\t\tminLength: 1\n\t\t};\n\t\tcase \"Repetition\": switch (astNode.quantifier.kind) {\n\t\t\tcase \"*\": {\n\t\t\t\tconst clamped = clampRegexAstInternal(astNode.expression, maxLength);\n\t\t\t\treturn {\n\t\t\t\t\tastNode: {\n\t\t\t\t\t\ttype: \"Repetition\",\n\t\t\t\t\t\tquantifier: {\n\t\t\t\t\t\t\t...astNode.quantifier,\n\t\t\t\t\t\t\tkind: \"Range\",\n\t\t\t\t\t\t\tfrom: 0,\n\t\t\t\t\t\t\tto: maxLength\n\t\t\t\t\t\t},\n\t\t\t\t\t\texpression: clamped.astNode\n\t\t\t\t\t},\n\t\t\t\t\tminLength: 0\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"+\": {\n\t\t\t\tconst clamped = clampRegexAstInternal(astNode.expression, maxLength);\n\t\t\t\tconst scaledClampedMinLength = clamped.minLength > 1 ? clamped.minLength : 1;\n\t\t\t\treturn {\n\t\t\t\t\tastNode: {\n\t\t\t\t\t\ttype: \"Repetition\",\n\t\t\t\t\t\tquantifier: {\n\t\t\t\t\t\t\t...astNode.quantifier,\n\t\t\t\t\t\t\tkind: \"Range\",\n\t\t\t\t\t\t\tfrom: 1,\n\t\t\t\t\t\t\tto: safeMathFloor(maxLength / scaledClampedMinLength)\n\t\t\t\t\t\t},\n\t\t\t\t\t\texpression: clamped.astNode\n\t\t\t\t\t},\n\t\t\t\t\tminLength: clamped.minLength\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"?\": {\n\t\t\t\tconst clamped = clampRegexAstInternal(astNode.expression, maxLength);\n\t\t\t\tif (maxLength < clamped.minLength) return {\n\t\t\t\t\tastNode: {\n\t\t\t\t\t\ttype: \"Repetition\",\n\t\t\t\t\t\tquantifier: {\n\t\t\t\t\t\t\t...astNode.quantifier,\n\t\t\t\t\t\t\tkind: \"Range\",\n\t\t\t\t\t\t\tfrom: 0,\n\t\t\t\t\t\t\tto: 0\n\t\t\t\t\t\t},\n\t\t\t\t\t\texpression: clamped.astNode\n\t\t\t\t\t},\n\t\t\t\t\tminLength: 0\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tastNode: {\n\t\t\t\t\t\t...astNode,\n\t\t\t\t\t\texpression: clamped.astNode\n\t\t\t\t\t},\n\t\t\t\t\tminLength: 0\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"Range\": {\n\t\t\t\tconst scaledMaxLength = astNode.quantifier.from > 1 ? safeMathFloor(maxLength / astNode.quantifier.from) : maxLength;\n\t\t\t\tconst clamped = clampRegexAstInternal(astNode.expression, scaledMaxLength);\n\t\t\t\tconst scaledClampedMinLength = clamped.minLength > 1 ? clamped.minLength : 1;\n\t\t\t\tif (astNode.quantifier.to === void 0 || astNode.quantifier.to * scaledClampedMinLength > maxLength) return {\n\t\t\t\t\tastNode: {\n\t\t\t\t\t\ttype: \"Repetition\",\n\t\t\t\t\t\tquantifier: {\n\t\t\t\t\t\t\t...astNode.quantifier,\n\t\t\t\t\t\t\tkind: \"Range\",\n\t\t\t\t\t\t\tto: safeMathFloor(maxLength / scaledClampedMinLength)\n\t\t\t\t\t\t},\n\t\t\t\t\t\texpression: clamped.astNode\n\t\t\t\t\t},\n\t\t\t\t\tminLength: astNode.quantifier.from * clamped.minLength\n\t\t\t\t};\n\t\t\t\treturn {\n\t\t\t\t\tastNode: {\n\t\t\t\t\t\t...astNode,\n\t\t\t\t\t\texpression: clamped.astNode\n\t\t\t\t\t},\n\t\t\t\t\tminLength: astNode.quantifier.from * clamped.minLength\n\t\t\t\t};\n\t\t\t}\n\t\t\tdefault: return noSuchValue(astNode.quantifier, {\n\t\t\t\tastNode,\n\t\t\t\tminLength: 0\n\t\t\t});\n\t\t}\n\t\tcase \"Quantifier\": return {\n\t\t\tastNode,\n\t\t\tminLength: 0\n\t\t};\n\t\tcase \"Alternative\": {\n\t\t\tlet totalMinLength = 0;\n\t\t\tconst extendedClampeds = [];\n\t\t\tfor (let index = 0; index !== astNode.expressions.length; ++index) {\n\t\t\t\tconst temporaryAllowance = maxLength - totalMinLength;\n\t\t\t\tconst clamped = clampRegexAstInternal(astNode.expressions[index], temporaryAllowance);\n\t\t\t\ttotalMinLength += clamped.minLength;\n\t\t\t\tsafePush(extendedClampeds, {\n\t\t\t\t\tvalue: clamped,\n\t\t\t\t\tallowance: temporaryAllowance\n\t\t\t\t});\n\t\t\t}\n\t\t\tconst refinedExpressions = [];\n\t\t\tfor (let index = 0; index !== extendedClampeds.length; ++index) {\n\t\t\t\tconst current = extendedClampeds[index].value;\n\t\t\t\tconst pastAllowance = extendedClampeds[index].allowance;\n\t\t\t\tconst allowance = maxLength - totalMinLength + current.minLength;\n\t\t\t\tsafePush(refinedExpressions, (allowance !== pastAllowance ? clampRegexAstInternal(current.astNode, allowance) : current).astNode);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tastNode: {\n\t\t\t\t\t...astNode,\n\t\t\t\t\texpressions: refinedExpressions\n\t\t\t\t},\n\t\t\t\tminLength: totalMinLength\n\t\t\t};\n\t\t}\n\t\tcase \"CharacterClass\": return {\n\t\t\tastNode,\n\t\t\tminLength: 1\n\t\t};\n\t\tcase \"ClassRange\": return {\n\t\t\tastNode,\n\t\t\tminLength: 1\n\t\t};\n\t\tcase \"Group\": {\n\t\t\tconst clamped = clampRegexAstInternal(astNode.expression, maxLength);\n\t\t\treturn {\n\t\t\t\tastNode: {\n\t\t\t\t\t...astNode,\n\t\t\t\t\texpression: clamped.astNode\n\t\t\t\t},\n\t\t\t\tminLength: clamped.minLength\n\t\t\t};\n\t\t}\n\t\tcase \"Disjunction\": {\n\t\t\tif (astNode.left === null) {\n\t\t\t\tif (astNode.right === null) return {\n\t\t\t\t\tastNode,\n\t\t\t\t\tminLength: 0\n\t\t\t\t};\n\t\t\t\tconst clampedRight = clampRegexAstInternal(astNode.right, maxLength);\n\t\t\t\tconst refinedRight = clampedRight.minLength > maxLength ? null : clampedRight.astNode;\n\t\t\t\treturn {\n\t\t\t\t\tastNode: {\n\t\t\t\t\t\t...astNode,\n\t\t\t\t\t\tleft: null,\n\t\t\t\t\t\tright: refinedRight\n\t\t\t\t\t},\n\t\t\t\t\tminLength: 0\n\t\t\t\t};\n\t\t\t}\n\t\t\tif (astNode.right === null) {\n\t\t\t\tconst clampLeft = clampRegexAstInternal(astNode.left, maxLength);\n\t\t\t\tconst refinedLeft = clampLeft.minLength > maxLength ? null : clampLeft.astNode;\n\t\t\t\treturn {\n\t\t\t\t\tastNode: {\n\t\t\t\t\t\t...astNode,\n\t\t\t\t\t\tleft: refinedLeft,\n\t\t\t\t\t\tright: null\n\t\t\t\t\t},\n\t\t\t\t\tminLength: 0\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst clampedLeft = clampRegexAstInternal(astNode.left, maxLength);\n\t\t\tconst clampedRight = clampRegexAstInternal(astNode.right, maxLength);\n\t\t\tif (clampedLeft.minLength > maxLength) return clampedRight;\n\t\t\tif (clampedRight.minLength > maxLength) return clampedLeft;\n\t\t\treturn {\n\t\t\t\tastNode: {\n\t\t\t\t\t...astNode,\n\t\t\t\t\tleft: clampedLeft.astNode,\n\t\t\t\t\tright: clampedRight.astNode\n\t\t\t\t},\n\t\t\t\tminLength: safeMathMin(clampedLeft.minLength, clampedRight.minLength)\n\t\t\t};\n\t\t}\n\t\tcase \"Assertion\": return {\n\t\t\tastNode,\n\t\t\tminLength: 0\n\t\t};\n\t\tcase \"Backreference\": return {\n\t\t\tastNode,\n\t\t\tminLength: 0\n\t\t};\n\t\tcase \"UnicodeProperty\": return {\n\t\t\tastNode,\n\t\t\tminLength: 1\n\t\t};\n\t}\n}\n/**\n* Adapt an AST Node to fit within a maxLength constraint\n* @param astNode - The AST to be adapted\n* @param maxLength - The max authorized length\n*/\nfunction clampRegexAst(astNode, maxLength) {\n\treturn clampRegexAstInternal(astNode, maxLength).astNode;\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/SanitizeRegexAst.ts\nfunction raiseUnsupportedASTNode$1(astNode) {\n\treturn /* @__PURE__ */ new Error(`Unsupported AST node! Received: ${stringify(astNode)}`);\n}\nfunction addMissingDotStarTraversalAddMissing(astNode, isFirst, isLast) {\n\tif (!isFirst && !isLast) return astNode;\n\tconst traversalResults = {\n\t\thasStart: false,\n\t\thasEnd: false\n\t};\n\tconst revampedNode = addMissingDotStarTraversal(astNode, isFirst, isLast, traversalResults);\n\tconst missingStart = isFirst && !traversalResults.hasStart;\n\tconst missingEnd = isLast && !traversalResults.hasEnd;\n\tif (!missingStart && !missingEnd) return revampedNode;\n\tconst expressions = [];\n\tif (missingStart) {\n\t\texpressions.push({\n\t\t\ttype: \"Assertion\",\n\t\t\tkind: \"^\"\n\t\t});\n\t\texpressions.push({\n\t\t\ttype: \"Repetition\",\n\t\t\tquantifier: {\n\t\t\t\ttype: \"Quantifier\",\n\t\t\t\tkind: \"*\",\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\texpression: {\n\t\t\t\ttype: \"Char\",\n\t\t\t\tkind: \"meta\",\n\t\t\t\tsymbol: \".\",\n\t\t\t\tvalue: \".\",\n\t\t\t\tcodePoint: NaN\n\t\t\t}\n\t\t});\n\t}\n\texpressions.push(revampedNode);\n\tif (missingEnd) {\n\t\texpressions.push({\n\t\t\ttype: \"Repetition\",\n\t\t\tquantifier: {\n\t\t\t\ttype: \"Quantifier\",\n\t\t\t\tkind: \"*\",\n\t\t\t\tgreedy: true\n\t\t\t},\n\t\t\texpression: {\n\t\t\t\ttype: \"Char\",\n\t\t\t\tkind: \"meta\",\n\t\t\t\tsymbol: \".\",\n\t\t\t\tvalue: \".\",\n\t\t\t\tcodePoint: NaN\n\t\t\t}\n\t\t});\n\t\texpressions.push({\n\t\t\ttype: \"Assertion\",\n\t\t\tkind: \"$\"\n\t\t});\n\t}\n\treturn {\n\t\ttype: \"Group\",\n\t\tcapturing: false,\n\t\texpression: {\n\t\t\ttype: \"Alternative\",\n\t\t\texpressions\n\t\t}\n\t};\n}\nfunction addMissingDotStarTraversal(astNode, isFirst, isLast, traversalResults) {\n\tswitch (astNode.type) {\n\t\tcase \"Char\": return astNode;\n\t\tcase \"Repetition\": return astNode;\n\t\tcase \"Quantifier\": throw new Error(`Wrongly defined AST tree, Quantifier nodes not supposed to be scanned!`);\n\t\tcase \"Alternative\":\n\t\t\ttraversalResults.hasStart = true;\n\t\t\ttraversalResults.hasEnd = true;\n\t\t\treturn {\n\t\t\t\t...astNode,\n\t\t\t\texpressions: astNode.expressions.map((node, index) => addMissingDotStarTraversalAddMissing(node, isFirst && index === 0, isLast && index === astNode.expressions.length - 1))\n\t\t\t};\n\t\tcase \"CharacterClass\": return astNode;\n\t\tcase \"ClassRange\": return astNode;\n\t\tcase \"Group\": return {\n\t\t\t...astNode,\n\t\t\texpression: addMissingDotStarTraversal(astNode.expression, isFirst, isLast, traversalResults)\n\t\t};\n\t\tcase \"Disjunction\":\n\t\t\ttraversalResults.hasStart = true;\n\t\t\ttraversalResults.hasEnd = true;\n\t\t\treturn {\n\t\t\t\t...astNode,\n\t\t\t\tleft: astNode.left !== null ? addMissingDotStarTraversalAddMissing(astNode.left, isFirst, isLast) : null,\n\t\t\t\tright: astNode.right !== null ? addMissingDotStarTraversalAddMissing(astNode.right, isFirst, isLast) : null\n\t\t\t};\n\t\tcase \"Assertion\": if (astNode.kind === \"^\" || astNode.kind === \"Lookahead\") {\n\t\t\ttraversalResults.hasStart = true;\n\t\t\treturn astNode;\n\t\t} else if (astNode.kind === \"$\" || astNode.kind === \"Lookbehind\") {\n\t\t\ttraversalResults.hasEnd = true;\n\t\t\treturn astNode;\n\t\t} else throw new Error(`Assertions of kind ${astNode.kind} not implemented yet!`);\n\t\tcase \"Backreference\": return astNode;\n\t\tcase \"UnicodeProperty\": return astNode;\n\t\tdefault: throw raiseUnsupportedASTNode$1(astNode);\n\t}\n}\n/**\n* Revamp a regex token tree into one featuring missing ^ and $ assertions.\n*\n* WARNING: The produced tree may not define the same groups.\n* Refer to the unit tests for more details on this limitation.\n*\n* @internal\n*/\nfunction addMissingDotStar(astNode) {\n\treturn addMissingDotStarTraversalAddMissing(astNode, true, true);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/ReadRegex.ts\n/**\n* Internal helper used to compute the size in bytes of one character\n*/\nfunction charSizeAt(text, pos) {\n\treturn text[pos] >= \"\\ud800\" && text[pos] <= \"\\udbff\" && text[pos + 1] >= \"\\udc00\" && text[pos + 1] <= \"\\udfff\" ? 2 : 1;\n}\n/**\n* Internal helper checking if a character is an hexadecimal one, ie: a-fA-F0-9\n*/\nfunction isHexaDigit(char) {\n\treturn char >= \"0\" && char <= \"9\" || char >= \"a\" && char <= \"f\" || char >= \"A\" && char <= \"F\";\n}\n/**\n* Internal helper checking if a character is a decimal one, ie: 0-9\n*/\nfunction isDigit$1(char) {\n\treturn char >= \"0\" && char <= \"9\";\n}\n/**\n* Find the index of the last character of a squared-bracket \"[]\" block.\n* The returned index corresponds to the one of the ] closing the block.\n*/\nfunction squaredBracketBlockContentEndFrom(text, from) {\n\tfor (let index = from; index !== text.length; ++index) {\n\t\tconst char = text[index];\n\t\tif (char === \"\\\\\") index += 1;\n\t\telse if (char === \"]\") return index;\n\t}\n\tthrow new Error(`Missing closing ']'`);\n}\n/**\n* Find the index of the last character of a parenthesis \"()\" block.\n* The returned index corresponds to the one of the ) closing the block.\n*/\nfunction parenthesisBlockContentEndFrom(text, from) {\n\tlet numExtraOpened = 0;\n\tfor (let index = from; index !== text.length; ++index) {\n\t\tconst char = text[index];\n\t\tif (char === \"\\\\\") index += 1;\n\t\telse if (char === \")\") {\n\t\t\tif (numExtraOpened === 0) return index;\n\t\t\tnumExtraOpened -= 1;\n\t\t} else if (char === \"[\") index = squaredBracketBlockContentEndFrom(text, index);\n\t\telse if (char === \"(\") numExtraOpened += 1;\n\t}\n\tthrow new Error(`Missing closing ')'`);\n}\n/**\n* Find the index of the last character of a culry-bracket \"{}\" block.\n* The returned index corresponds to the one of the } closing the blockor -1 if the opening { does not make a block.\n*/\nfunction curlyBracketBlockContentEndFrom(text, from) {\n\tlet foundComma = false;\n\tfor (let index = from; index !== text.length; ++index) {\n\t\tconst char = text[index];\n\t\tif (isDigit$1(char)) {} else if (from === index) return -1;\n\t\telse if (char === \",\") {\n\t\t\tif (foundComma) return -1;\n\t\t\tfoundComma = true;\n\t\t} else if (char === \"}\") return index;\n\t\telse return -1;\n\t}\n\treturn -1;\n}\n/**\n* Find the index past-one of the last character of the block starting at index \"from\" in \"text\"\n*/\nfunction blockEndFrom(text, from, unicodeMode, mode) {\n\tswitch (text[from]) {\n\t\tcase \"[\":\n\t\t\tif (mode === 1) return from + 1;\n\t\t\treturn squaredBracketBlockContentEndFrom(text, from + 1) + 1;\n\t\tcase \"{\": {\n\t\t\tif (mode === 1) return from + 1;\n\t\t\tconst foundEnd = curlyBracketBlockContentEndFrom(text, from + 1);\n\t\t\tif (foundEnd === -1) return from + 1;\n\t\t\treturn foundEnd + 1;\n\t\t}\n\t\tcase \"(\":\n\t\t\tif (mode === 1) return from + 1;\n\t\t\treturn parenthesisBlockContentEndFrom(text, from + 1) + 1;\n\t\tcase \"]\":\n\t\tcase \"}\":\n\t\tcase \")\": return from + 1;\n\t\tcase \"\\\\\": {\n\t\t\tconst next1 = text[from + 1];\n\t\t\tswitch (next1) {\n\t\t\t\tcase \"x\":\n\t\t\t\t\tif (isHexaDigit(text[from + 2]) && isHexaDigit(text[from + 3])) return from + 4;\n\t\t\t\t\tthrow new Error(`Unexpected token '${text.substring(from, from + 4)}' found`);\n\t\t\t\tcase \"u\":\n\t\t\t\t\tif (text[from + 2] === \"{\") {\n\t\t\t\t\t\tif (!unicodeMode) return from + 2;\n\t\t\t\t\t\tif (text[from + 4] === \"}\") {\n\t\t\t\t\t\t\tif (isHexaDigit(text[from + 3])) return from + 5;\n\t\t\t\t\t\t\tthrow new Error(`Unexpected token '${text.substring(from, from + 5)}' found`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (text[from + 5] === \"}\") {\n\t\t\t\t\t\t\tif (isHexaDigit(text[from + 3]) && isHexaDigit(text[from + 4])) return from + 6;\n\t\t\t\t\t\t\tthrow new Error(`Unexpected token '${text.substring(from, from + 6)}' found`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (text[from + 6] === \"}\") {\n\t\t\t\t\t\t\tif (isHexaDigit(text[from + 3]) && isHexaDigit(text[from + 4]) && isHexaDigit(text[from + 5])) return from + 7;\n\t\t\t\t\t\t\tthrow new Error(`Unexpected token '${text.substring(from, from + 7)}' found`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (text[from + 7] === \"}\") {\n\t\t\t\t\t\t\tif (isHexaDigit(text[from + 3]) && isHexaDigit(text[from + 4]) && isHexaDigit(text[from + 5]) && isHexaDigit(text[from + 6])) return from + 8;\n\t\t\t\t\t\t\tthrow new Error(`Unexpected token '${text.substring(from, from + 8)}' found`);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (text[from + 8] === \"}\" && isHexaDigit(text[from + 3]) && isHexaDigit(text[from + 4]) && isHexaDigit(text[from + 5]) && isHexaDigit(text[from + 6]) && isHexaDigit(text[from + 7])) return from + 9;\n\t\t\t\t\t\tthrow new Error(`Unexpected token '${text.substring(from, from + 9)}' found`);\n\t\t\t\t\t}\n\t\t\t\t\tif (isHexaDigit(text[from + 2]) && isHexaDigit(text[from + 3]) && isHexaDigit(text[from + 4]) && isHexaDigit(text[from + 5])) return from + 6;\n\t\t\t\t\tthrow new Error(`Unexpected token '${text.substring(from, from + 6)}' found`);\n\t\t\t\tcase \"p\":\n\t\t\t\tcase \"P\": {\n\t\t\t\t\tif (!unicodeMode) return from + 2;\n\t\t\t\t\tlet subIndex = from + 2;\n\t\t\t\t\tfor (; subIndex < text.length && text[subIndex] !== \"}\"; subIndex += text[subIndex] === \"\\\\\" ? 2 : 1);\n\t\t\t\t\tif (text[subIndex] !== \"}\") throw new Error(`Invalid \\\\P definition`);\n\t\t\t\t\treturn subIndex + 1;\n\t\t\t\t}\n\t\t\t\tcase \"k\": {\n\t\t\t\t\tlet subIndex = from + 2;\n\t\t\t\t\tfor (; subIndex < text.length && text[subIndex] !== \">\"; ++subIndex);\n\t\t\t\t\tif (text[subIndex] !== \">\") {\n\t\t\t\t\t\tif (!unicodeMode) return from + 2;\n\t\t\t\t\t\tthrow new Error(`Invalid \\\\k definition`);\n\t\t\t\t\t}\n\t\t\t\t\treturn subIndex + 1;\n\t\t\t\t}\n\t\t\t\tdefault:\n\t\t\t\t\tif (isDigit$1(next1)) {\n\t\t\t\t\t\tconst maxIndex = unicodeMode ? text.length : Math.min(from + 4, text.length);\n\t\t\t\t\t\tlet subIndex = from + 2;\n\t\t\t\t\t\tfor (; subIndex < maxIndex && isDigit$1(text[subIndex]); ++subIndex);\n\t\t\t\t\t\treturn subIndex;\n\t\t\t\t\t}\n\t\t\t\t\treturn from + (unicodeMode ? charSizeAt(text, from + 1) : 1) + 1;\n\t\t\t}\n\t\t}\n\t\tdefault: return from + (unicodeMode ? charSizeAt(text, from) : 1);\n\t}\n}\n/**\n* Extract the block starting at \"from\" in \"text\"\n* @internal\n*/\nfunction readFrom(text, from, unicodeMode, mode) {\n\tconst to = blockEndFrom(text, from, unicodeMode, mode);\n\treturn text.substring(from, to);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/UnicodePropertyData.ts\n/** @internal */\nconst NON_BINARY_ALIASES_TO_PROP_NAMES = {\n\tgc: \"General_Category\",\n\tsc: \"Script\",\n\tscx: \"Script_Extensions\"\n};\n/** @internal */\nconst BINARY_PROP_NAMES_TO_ALIASES = {\n\tASCII: \"ASCII\",\n\tASCII_Hex_Digit: \"AHex\",\n\tAlphabetic: \"Alpha\",\n\tAny: \"Any\",\n\tAssigned: \"Assigned\",\n\tBidi_Control: \"Bidi_C\",\n\tBidi_Mirrored: \"Bidi_M\",\n\tCase_Ignorable: \"CI\",\n\tCased: \"Cased\",\n\tChanges_When_Casefolded: \"CWCF\",\n\tChanges_When_Casemapped: \"CWCM\",\n\tChanges_When_Lowercased: \"CWL\",\n\tChanges_When_NFKC_Casefolded: \"CWKCF\",\n\tChanges_When_Titlecased: \"CWT\",\n\tChanges_When_Uppercased: \"CWU\",\n\tDash: \"Dash\",\n\tDefault_Ignorable_Code_Point: \"DI\",\n\tDeprecated: \"Dep\",\n\tDiacritic: \"Dia\",\n\tEmoji: \"Emoji\",\n\tEmoji_Component: \"Emoji_Component\",\n\tEmoji_Modifier: \"Emoji_Modifier\",\n\tEmoji_Modifier_Base: \"Emoji_Modifier_Base\",\n\tEmoji_Presentation: \"Emoji_Presentation\",\n\tExtended_Pictographic: \"Extended_Pictographic\",\n\tExtender: \"Ext\",\n\tGrapheme_Base: \"Gr_Base\",\n\tGrapheme_Extend: \"Gr_Ext\",\n\tHex_Digit: \"Hex\",\n\tIDS_Binary_Operator: \"IDSB\",\n\tIDS_Trinary_Operator: \"IDST\",\n\tID_Continue: \"IDC\",\n\tID_Start: \"IDS\",\n\tIdeographic: \"Ideo\",\n\tJoin_Control: \"Join_C\",\n\tLogical_Order_Exception: \"LOE\",\n\tLowercase: \"Lower\",\n\tMath: \"Math\",\n\tNoncharacter_Code_Point: \"NChar\",\n\tPattern_Syntax: \"Pat_Syn\",\n\tPattern_White_Space: \"Pat_WS\",\n\tQuotation_Mark: \"QMark\",\n\tRadical: \"Radical\",\n\tRegional_Indicator: \"RI\",\n\tSentence_Terminal: \"STerm\",\n\tSoft_Dotted: \"SD\",\n\tTerminal_Punctuation: \"Term\",\n\tUnified_Ideograph: \"UIdeo\",\n\tUppercase: \"Upper\",\n\tVariation_Selector: \"VS\",\n\tWhite_Space: \"space\",\n\tXID_Continue: \"XIDC\",\n\tXID_Start: \"XIDS\"\n};\n/** @internal */\nconst BINARY_ALIASES_TO_PROP_NAMES = inverseMap(BINARY_PROP_NAMES_TO_ALIASES);\n/** @internal */\nconst GENERAL_CATEGORY_VALUE_TO_ALIASES = {\n\tCased_Letter: \"LC\",\n\tClose_Punctuation: \"Pe\",\n\tConnector_Punctuation: \"Pc\",\n\tControl: [\"Cc\", \"cntrl\"],\n\tCurrency_Symbol: \"Sc\",\n\tDash_Punctuation: \"Pd\",\n\tDecimal_Number: [\"Nd\", \"digit\"],\n\tEnclosing_Mark: \"Me\",\n\tFinal_Punctuation: \"Pf\",\n\tFormat: \"Cf\",\n\tInitial_Punctuation: \"Pi\",\n\tLetter: \"L\",\n\tLetter_Number: \"Nl\",\n\tLine_Separator: \"Zl\",\n\tLowercase_Letter: \"Ll\",\n\tMark: [\"M\", \"Combining_Mark\"],\n\tMath_Symbol: \"Sm\",\n\tModifier_Letter: \"Lm\",\n\tModifier_Symbol: \"Sk\",\n\tNonspacing_Mark: \"Mn\",\n\tNumber: \"N\",\n\tOpen_Punctuation: \"Ps\",\n\tOther: \"C\",\n\tOther_Letter: \"Lo\",\n\tOther_Number: \"No\",\n\tOther_Punctuation: \"Po\",\n\tOther_Symbol: \"So\",\n\tParagraph_Separator: \"Zp\",\n\tPrivate_Use: \"Co\",\n\tPunctuation: [\"P\", \"punct\"],\n\tSeparator: \"Z\",\n\tSpace_Separator: \"Zs\",\n\tSpacing_Mark: \"Mc\",\n\tSurrogate: \"Cs\",\n\tSymbol: \"S\",\n\tTitlecase_Letter: \"Lt\",\n\tUnassigned: \"Cn\",\n\tUppercase_Letter: \"Lu\"\n};\n/** @internal */\nconst GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES = inverseMap(GENERAL_CATEGORY_VALUE_TO_ALIASES);\n/** @internal */\nconst SCRIPT_VALUE_TO_ALIASES = {\n\tAdlam: \"Adlm\",\n\tAhom: \"Ahom\",\n\tAnatolian_Hieroglyphs: \"Hluw\",\n\tArabic: \"Arab\",\n\tArmenian: \"Armn\",\n\tAvestan: \"Avst\",\n\tBalinese: \"Bali\",\n\tBamum: \"Bamu\",\n\tBassa_Vah: \"Bass\",\n\tBatak: \"Batk\",\n\tBengali: \"Beng\",\n\tBhaiksuki: \"Bhks\",\n\tBopomofo: \"Bopo\",\n\tBrahmi: \"Brah\",\n\tBraille: \"Brai\",\n\tBuginese: \"Bugi\",\n\tBuhid: \"Buhd\",\n\tCanadian_Aboriginal: \"Cans\",\n\tCarian: \"Cari\",\n\tCaucasian_Albanian: \"Aghb\",\n\tChakma: \"Cakm\",\n\tCham: \"Cham\",\n\tCherokee: \"Cher\",\n\tCommon: \"Zyyy\",\n\tCoptic: [\"Copt\", \"Qaac\"],\n\tCuneiform: \"Xsux\",\n\tCypriot: \"Cprt\",\n\tCyrillic: \"Cyrl\",\n\tDeseret: \"Dsrt\",\n\tDevanagari: \"Deva\",\n\tDogra: \"Dogr\",\n\tDuployan: \"Dupl\",\n\tEgyptian_Hieroglyphs: \"Egyp\",\n\tElbasan: \"Elba\",\n\tEthiopic: \"Ethi\",\n\tGeorgian: \"Geor\",\n\tGlagolitic: \"Glag\",\n\tGothic: \"Goth\",\n\tGrantha: \"Gran\",\n\tGreek: \"Grek\",\n\tGujarati: \"Gujr\",\n\tGunjala_Gondi: \"Gong\",\n\tGurmukhi: \"Guru\",\n\tHan: \"Hani\",\n\tHangul: \"Hang\",\n\tHanifi_Rohingya: \"Rohg\",\n\tHanunoo: \"Hano\",\n\tHatran: \"Hatr\",\n\tHebrew: \"Hebr\",\n\tHiragana: \"Hira\",\n\tImperial_Aramaic: \"Armi\",\n\tInherited: [\"Zinh\", \"Qaai\"],\n\tInscriptional_Pahlavi: \"Phli\",\n\tInscriptional_Parthian: \"Prti\",\n\tJavanese: \"Java\",\n\tKaithi: \"Kthi\",\n\tKannada: \"Knda\",\n\tKatakana: \"Kana\",\n\tKayah_Li: \"Kali\",\n\tKharoshthi: \"Khar\",\n\tKhmer: \"Khmr\",\n\tKhojki: \"Khoj\",\n\tKhudawadi: \"Sind\",\n\tLao: \"Laoo\",\n\tLatin: \"Latn\",\n\tLepcha: \"Lepc\",\n\tLimbu: \"Limb\",\n\tLinear_A: \"Lina\",\n\tLinear_B: \"Linb\",\n\tLisu: \"Lisu\",\n\tLycian: \"Lyci\",\n\tLydian: \"Lydi\",\n\tMahajani: \"Mahj\",\n\tMakasar: \"Maka\",\n\tMalayalam: \"Mlym\",\n\tMandaic: \"Mand\",\n\tManichaean: \"Mani\",\n\tMarchen: \"Marc\",\n\tMedefaidrin: \"Medf\",\n\tMasaram_Gondi: \"Gonm\",\n\tMeetei_Mayek: \"Mtei\",\n\tMende_Kikakui: \"Mend\",\n\tMeroitic_Cursive: \"Merc\",\n\tMeroitic_Hieroglyphs: \"Mero\",\n\tMiao: \"Plrd\",\n\tModi: \"Modi\",\n\tMongolian: \"Mong\",\n\tMro: \"Mroo\",\n\tMultani: \"Mult\",\n\tMyanmar: \"Mymr\",\n\tNabataean: \"Nbat\",\n\tNew_Tai_Lue: \"Talu\",\n\tNewa: \"Newa\",\n\tNko: \"Nkoo\",\n\tNushu: \"Nshu\",\n\tOgham: \"Ogam\",\n\tOl_Chiki: \"Olck\",\n\tOld_Hungarian: \"Hung\",\n\tOld_Italic: \"Ital\",\n\tOld_North_Arabian: \"Narb\",\n\tOld_Permic: \"Perm\",\n\tOld_Persian: \"Xpeo\",\n\tOld_Sogdian: \"Sogo\",\n\tOld_South_Arabian: \"Sarb\",\n\tOld_Turkic: \"Orkh\",\n\tOriya: \"Orya\",\n\tOsage: \"Osge\",\n\tOsmanya: \"Osma\",\n\tPahawh_Hmong: \"Hmng\",\n\tPalmyrene: \"Palm\",\n\tPau_Cin_Hau: \"Pauc\",\n\tPhags_Pa: \"Phag\",\n\tPhoenician: \"Phnx\",\n\tPsalter_Pahlavi: \"Phlp\",\n\tRejang: \"Rjng\",\n\tRunic: \"Runr\",\n\tSamaritan: \"Samr\",\n\tSaurashtra: \"Saur\",\n\tSharada: \"Shrd\",\n\tShavian: \"Shaw\",\n\tSiddham: \"Sidd\",\n\tSignWriting: \"Sgnw\",\n\tSinhala: \"Sinh\",\n\tSogdian: \"Sogd\",\n\tSora_Sompeng: \"Sora\",\n\tSoyombo: \"Soyo\",\n\tSundanese: \"Sund\",\n\tSyloti_Nagri: \"Sylo\",\n\tSyriac: \"Syrc\",\n\tTagalog: \"Tglg\",\n\tTagbanwa: \"Tagb\",\n\tTai_Le: \"Tale\",\n\tTai_Tham: \"Lana\",\n\tTai_Viet: \"Tavt\",\n\tTakri: \"Takr\",\n\tTamil: \"Taml\",\n\tTangut: \"Tang\",\n\tTelugu: \"Telu\",\n\tThaana: \"Thaa\",\n\tThai: \"Thai\",\n\tTibetan: \"Tibt\",\n\tTifinagh: \"Tfng\",\n\tTirhuta: \"Tirh\",\n\tUgaritic: \"Ugar\",\n\tVai: \"Vaii\",\n\tWarang_Citi: \"Wara\",\n\tYi: \"Yiii\",\n\tZanabazar_Square: \"Zanb\"\n};\n/** @internal */\nconst SCRIPT_VALUE_ALIASES_TO_VALUES = inverseMap(SCRIPT_VALUE_TO_ALIASES);\nfunction inverseMap(data) {\n\tconst inverse = {};\n\tfor (const name of Object.keys(data)) {\n\t\tconst value = data[name];\n\t\tif (Array.isArray(value)) for (let i = 0; i !== value.length; ++i) inverse[value[i]] = name;\n\t\telse inverse[value] = name;\n\t}\n\treturn inverse;\n}\nfunction isGeneralCategoryValue(value) {\n\treturn value in GENERAL_CATEGORY_VALUE_TO_ALIASES || value in GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES;\n}\nfunction isBinaryPropertyName(name) {\n\treturn name in BINARY_PROP_NAMES_TO_ALIASES || name in BINARY_ALIASES_TO_PROP_NAMES;\n}\nfunction getCanonicalName(name) {\n\tif (name in NON_BINARY_ALIASES_TO_PROP_NAMES) return NON_BINARY_ALIASES_TO_PROP_NAMES[name];\n\tif (name in BINARY_ALIASES_TO_PROP_NAMES) return BINARY_ALIASES_TO_PROP_NAMES[name];\n\tif (name in BINARY_PROP_NAMES_TO_ALIASES || name === \"General_Category\" || name === \"Script\" || name === \"Script_Extensions\") return name;\n\tthrow new Error(`Unknown Unicode property name: ${name}`);\n}\nfunction getCanonicalValue(value) {\n\tif (value in GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES) return GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES[value];\n\tif (value in SCRIPT_VALUE_ALIASES_TO_VALUES) return SCRIPT_VALUE_ALIASES_TO_VALUES[value];\n\tif (value in BINARY_ALIASES_TO_PROP_NAMES) return BINARY_ALIASES_TO_PROP_NAMES[value];\n\tif (value in GENERAL_CATEGORY_VALUE_TO_ALIASES || value in SCRIPT_VALUE_TO_ALIASES || value in BINARY_PROP_NAMES_TO_ALIASES) return value;\n\tthrow new Error(`Unknown Unicode property value: ${value}`);\n}\n/**\n* Resolve a Unicode property escape specification into a structured token\n* that matches the regexp-tree AST format.\n*\n* @param propertySpec - The content between \\p\\{ and \\}, e.g. \"Letter\", \"Script=Latin\", \"Emoji\"\n* @param negative - true for \\P\\{\\}, false for \\p\\{\\}\n* @internal\n*/\nfunction resolveUnicodeProperty(propertySpec, negative) {\n\tconst equalIndex = propertySpec.indexOf(\"=\");\n\tif (equalIndex !== -1) {\n\t\tconst name = propertySpec.substring(0, equalIndex);\n\t\tconst value = propertySpec.substring(equalIndex + 1);\n\t\treturn {\n\t\t\ttype: \"UnicodeProperty\",\n\t\t\tname,\n\t\t\tvalue,\n\t\t\tnegative,\n\t\t\tshorthand: false,\n\t\t\tbinary: false,\n\t\t\tcanonicalName: getCanonicalName(name),\n\t\t\tcanonicalValue: getCanonicalValue(value)\n\t\t};\n\t}\n\tif (isGeneralCategoryValue(propertySpec)) return {\n\t\ttype: \"UnicodeProperty\",\n\t\tname: \"General_Category\",\n\t\tvalue: propertySpec,\n\t\tnegative,\n\t\tshorthand: true,\n\t\tbinary: false,\n\t\tcanonicalName: \"General_Category\",\n\t\tcanonicalValue: getCanonicalValue(propertySpec)\n\t};\n\tif (isBinaryPropertyName(propertySpec)) {\n\t\tconst canonicalName = getCanonicalName(propertySpec);\n\t\treturn {\n\t\t\ttype: \"UnicodeProperty\",\n\t\t\tname: propertySpec,\n\t\t\tvalue: propertySpec,\n\t\t\tnegative,\n\t\t\tshorthand: false,\n\t\t\tbinary: true,\n\t\t\tcanonicalName,\n\t\t\tcanonicalValue: canonicalName\n\t\t};\n\t}\n\tthrow new Error(`Invalid Unicode property: ${propertySpec}`);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/TokenizeRegex.ts\nconst safeStringFromCodePoint$2 = String.fromCodePoint;\n/**\n* Pop the last pushed token and return it,\n* Throw if unable to pop it.\n*/\nfunction safePop(tokens) {\n\tconst previous = tokens.pop();\n\tif (previous === void 0) throw new Error(\"Unable to extract token preceeding the currently parsed one\");\n\treturn previous;\n}\n/**\n* Internal helper checking if a character is a decimal one, ie: 0-9\n*/\nfunction isDigit(char) {\n\treturn char >= \"0\" && char <= \"9\";\n}\n/**\n* Create a simple char token\n*/\nfunction simpleChar(char, escaped) {\n\treturn {\n\t\ttype: \"Char\",\n\t\tkind: \"simple\",\n\t\tsymbol: char,\n\t\tvalue: char,\n\t\tcodePoint: char.codePointAt(0) || -1,\n\t\tescaped\n\t};\n}\n/**\n* Create a meta char token corresponding to things such as \\t, \\n...\n*/\nfunction metaEscapedChar(block, symbol) {\n\treturn {\n\t\ttype: \"Char\",\n\t\tkind: \"meta\",\n\t\tsymbol,\n\t\tvalue: block,\n\t\tcodePoint: symbol.codePointAt(0) || -1\n\t};\n}\nfunction toSingleToken(tokens, allowEmpty) {\n\tif (tokens.length > 1) return {\n\t\ttype: \"Alternative\",\n\t\texpressions: tokens\n\t};\n\tif (!allowEmpty && tokens.length === 0) throw new Error(`Unsupported no token`);\n\treturn tokens[0];\n}\n/**\n* Create a character token based on a full block.\n* This function does not check the block itself, only call it with valid blocks.\n*/\nfunction blockToCharToken(block) {\n\tif (block[0] === \"\\\\\") {\n\t\tconst next = block[1];\n\t\tswitch (next) {\n\t\t\tcase \"x\": {\n\t\t\t\tconst allDigits = block.substring(2);\n\t\t\t\tconst codePoint = Number.parseInt(allDigits, 16);\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"Char\",\n\t\t\t\t\tkind: \"hex\",\n\t\t\t\t\tsymbol: safeStringFromCodePoint$2(codePoint),\n\t\t\t\t\tvalue: block,\n\t\t\t\t\tcodePoint\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"u\": {\n\t\t\t\tif (block === \"\\\\u\") return simpleChar(\"u\", true);\n\t\t\t\tconst allDigits = block[2] === \"{\" ? block.substring(3, block.length - 1) : block.substring(2);\n\t\t\t\tconst codePoint = Number.parseInt(allDigits, 16);\n\t\t\t\treturn {\n\t\t\t\t\ttype: \"Char\",\n\t\t\t\t\tkind: \"unicode\",\n\t\t\t\t\tsymbol: safeStringFromCodePoint$2(codePoint),\n\t\t\t\t\tvalue: block,\n\t\t\t\t\tcodePoint\n\t\t\t\t};\n\t\t\t}\n\t\t\tcase \"0\": return metaEscapedChar(block, \"\\0\");\n\t\t\tcase \"n\": return metaEscapedChar(block, \"\\n\");\n\t\t\tcase \"f\": return metaEscapedChar(block, \"\\f\");\n\t\t\tcase \"r\": return metaEscapedChar(block, \"\\r\");\n\t\t\tcase \"t\": return metaEscapedChar(block, \"\t\");\n\t\t\tcase \"v\": return metaEscapedChar(block, \"\\v\");\n\t\t\tcase \"w\":\n\t\t\tcase \"W\":\n\t\t\tcase \"d\":\n\t\t\tcase \"D\":\n\t\t\tcase \"s\":\n\t\t\tcase \"S\":\n\t\t\tcase \"b\":\n\t\t\tcase \"B\": return {\n\t\t\t\ttype: \"Char\",\n\t\t\t\tkind: \"meta\",\n\t\t\t\tsymbol: void 0,\n\t\t\t\tvalue: block,\n\t\t\t\tcodePoint: NaN\n\t\t\t};\n\t\t\tdefault:\n\t\t\t\tif (isDigit(next)) {\n\t\t\t\t\tconst allDigits = block.substring(1);\n\t\t\t\t\tconst codePoint = Number(allDigits);\n\t\t\t\t\treturn {\n\t\t\t\t\t\ttype: \"Char\",\n\t\t\t\t\t\tkind: \"decimal\",\n\t\t\t\t\t\tsymbol: safeStringFromCodePoint$2(codePoint),\n\t\t\t\t\t\tvalue: block,\n\t\t\t\t\t\tcodePoint\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif (block.length > 2 && (next === \"p\" || next === \"P\")) {\n\t\t\t\t\tconst negative = next === \"P\";\n\t\t\t\t\treturn resolveUnicodeProperty(block.substring(3, block.length - 1), negative);\n\t\t\t\t}\n\t\t\t\treturn simpleChar(block.substring(1), true);\n\t\t}\n\t}\n\treturn simpleChar(block);\n}\n/**\n* Build tokens corresponding to the received regex and push them into the passed array of tokens\n*/\nfunction pushTokens(tokens, regexSource, unicodeMode, groups) {\n\tlet disjunctions = null;\n\tfor (let index = 0, block = readFrom(regexSource, index, unicodeMode, 0); index !== regexSource.length; index += block.length, block = readFrom(regexSource, index, unicodeMode, 0)) {\n\t\tconst firstInBlock = block[0];\n\t\tswitch (firstInBlock) {\n\t\t\tcase \"|\":\n\t\t\t\tif (disjunctions === null) disjunctions = [];\n\t\t\t\tdisjunctions.push(toSingleToken(tokens.splice(0), true) || null);\n\t\t\t\tbreak;\n\t\t\tcase \".\":\n\t\t\t\ttokens.push({\n\t\t\t\t\ttype: \"Char\",\n\t\t\t\t\tkind: \"meta\",\n\t\t\t\t\tsymbol: block,\n\t\t\t\t\tvalue: block,\n\t\t\t\t\tcodePoint: NaN\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\tcase \"*\":\n\t\t\tcase \"+\": {\n\t\t\t\tconst previous = safePop(tokens);\n\t\t\t\ttokens.push({\n\t\t\t\t\ttype: \"Repetition\",\n\t\t\t\t\texpression: previous,\n\t\t\t\t\tquantifier: {\n\t\t\t\t\t\ttype: \"Quantifier\",\n\t\t\t\t\t\tkind: firstInBlock,\n\t\t\t\t\t\tgreedy: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"?\": {\n\t\t\t\tconst previous = safePop(tokens);\n\t\t\t\tif (previous.type === \"Repetition\") {\n\t\t\t\t\tprevious.quantifier.greedy = false;\n\t\t\t\t\ttokens.push(previous);\n\t\t\t\t} else tokens.push({\n\t\t\t\t\ttype: \"Repetition\",\n\t\t\t\t\texpression: previous,\n\t\t\t\t\tquantifier: {\n\t\t\t\t\t\ttype: \"Quantifier\",\n\t\t\t\t\t\tkind: firstInBlock,\n\t\t\t\t\t\tgreedy: true\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"{\": {\n\t\t\t\tif (block === \"{\") {\n\t\t\t\t\ttokens.push(simpleChar(block));\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tconst previous = safePop(tokens);\n\t\t\t\tconst quantifierTokens = block.substring(1, block.length - 1).split(\",\");\n\t\t\t\tconst from = Number(quantifierTokens[0]);\n\t\t\t\tconst to = quantifierTokens.length === 1 ? from : quantifierTokens[1].length !== 0 ? Number(quantifierTokens[1]) : void 0;\n\t\t\t\ttokens.push({\n\t\t\t\t\ttype: \"Repetition\",\n\t\t\t\t\texpression: previous,\n\t\t\t\t\tquantifier: {\n\t\t\t\t\t\ttype: \"Quantifier\",\n\t\t\t\t\t\tkind: \"Range\",\n\t\t\t\t\t\tgreedy: true,\n\t\t\t\t\t\tfrom,\n\t\t\t\t\t\tto\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"[\": {\n\t\t\t\tconst blockContent = block.substring(1, block.length - 1);\n\t\t\t\tconst subTokens = [];\n\t\t\t\tlet negative = void 0;\n\t\t\t\tlet previousWasSimpleDash = false;\n\t\t\t\tfor (let subIndex = 0, subBlock = readFrom(blockContent, subIndex, unicodeMode, 1); subIndex !== blockContent.length; subIndex += subBlock.length, subBlock = readFrom(blockContent, subIndex, unicodeMode, 1)) {\n\t\t\t\t\tif (subIndex === 0 && subBlock === \"^\") {\n\t\t\t\t\t\tnegative = true;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\tconst newToken = blockToCharToken(subBlock);\n\t\t\t\t\tif (subBlock === \"-\") {\n\t\t\t\t\t\tsubTokens.push(newToken);\n\t\t\t\t\t\tpreviousWasSimpleDash = true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tconst operand1Token = subTokens.length >= 2 ? subTokens[subTokens.length - 2] : void 0;\n\t\t\t\t\t\tif (previousWasSimpleDash && operand1Token !== void 0 && operand1Token.type === \"Char\" && newToken.type === \"Char\") {\n\t\t\t\t\t\t\tsubTokens.pop();\n\t\t\t\t\t\t\tsubTokens.pop();\n\t\t\t\t\t\t\tsubTokens.push({\n\t\t\t\t\t\t\t\ttype: \"ClassRange\",\n\t\t\t\t\t\t\t\tfrom: operand1Token,\n\t\t\t\t\t\t\t\tto: newToken\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else subTokens.push(newToken);\n\t\t\t\t\t\tpreviousWasSimpleDash = false;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\ttokens.push({\n\t\t\t\t\ttype: \"CharacterClass\",\n\t\t\t\t\texpressions: subTokens,\n\t\t\t\t\tnegative\n\t\t\t\t});\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase \"(\": {\n\t\t\t\tconst blockContent = block.substring(1, block.length - 1);\n\t\t\t\tconst subTokens = [];\n\t\t\t\tif (blockContent[0] === \"?\") if (blockContent[1] === \":\") {\n\t\t\t\t\tpushTokens(subTokens, blockContent.substring(2), unicodeMode, groups);\n\t\t\t\t\ttokens.push({\n\t\t\t\t\t\ttype: \"Group\",\n\t\t\t\t\t\tcapturing: false,\n\t\t\t\t\t\texpression: toSingleToken(subTokens)\n\t\t\t\t\t});\n\t\t\t\t} else if (blockContent[1] === \"=\" || blockContent[1] === \"!\") {\n\t\t\t\t\tpushTokens(subTokens, blockContent.substring(2), unicodeMode, groups);\n\t\t\t\t\ttokens.push({\n\t\t\t\t\t\ttype: \"Assertion\",\n\t\t\t\t\t\tkind: \"Lookahead\",\n\t\t\t\t\t\tnegative: blockContent[1] === \"!\" ? true : void 0,\n\t\t\t\t\t\tassertion: toSingleToken(subTokens)\n\t\t\t\t\t});\n\t\t\t\t} else if (blockContent[1] === \"<\" && (blockContent[2] === \"=\" || blockContent[2] === \"!\")) {\n\t\t\t\t\tpushTokens(subTokens, blockContent.substring(3), unicodeMode, groups);\n\t\t\t\t\ttokens.push({\n\t\t\t\t\t\ttype: \"Assertion\",\n\t\t\t\t\t\tkind: \"Lookbehind\",\n\t\t\t\t\t\tnegative: blockContent[2] === \"!\" ? true : void 0,\n\t\t\t\t\t\tassertion: toSingleToken(subTokens)\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tconst chunks = blockContent.split(\">\");\n\t\t\t\t\tif (chunks.length < 2 || chunks[0][1] !== \"<\") throw new Error(`Unsupported regex content found at ${JSON.stringify(block)}`);\n\t\t\t\t\tconst groupIndex = ++groups.lastIndex;\n\t\t\t\t\tconst nameRaw = chunks[0].substring(2);\n\t\t\t\t\tgroups.named.set(nameRaw, groupIndex);\n\t\t\t\t\tpushTokens(subTokens, chunks.slice(1).join(\">\"), unicodeMode, groups);\n\t\t\t\t\ttokens.push({\n\t\t\t\t\t\ttype: \"Group\",\n\t\t\t\t\t\tcapturing: true,\n\t\t\t\t\t\tnameRaw,\n\t\t\t\t\t\tname: nameRaw,\n\t\t\t\t\t\tnumber: groupIndex,\n\t\t\t\t\t\texpression: toSingleToken(subTokens)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tconst groupIndex = ++groups.lastIndex;\n\t\t\t\t\tpushTokens(subTokens, blockContent, unicodeMode, groups);\n\t\t\t\t\ttokens.push({\n\t\t\t\t\t\ttype: \"Group\",\n\t\t\t\t\t\tcapturing: true,\n\t\t\t\t\t\tnumber: groupIndex,\n\t\t\t\t\t\texpression: toSingleToken(subTokens)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault:\n\t\t\t\tif (block === \"^\") tokens.push({\n\t\t\t\t\ttype: \"Assertion\",\n\t\t\t\t\tkind: block\n\t\t\t\t});\n\t\t\t\telse if (block === \"$\") tokens.push({\n\t\t\t\t\ttype: \"Assertion\",\n\t\t\t\t\tkind: block\n\t\t\t\t});\n\t\t\t\telse if (block[0] === \"\\\\\" && isDigit(block[1])) {\n\t\t\t\t\tconst reference = Number(block.substring(1));\n\t\t\t\t\tif (unicodeMode || reference <= groups.lastIndex) tokens.push({\n\t\t\t\t\t\ttype: \"Backreference\",\n\t\t\t\t\t\tkind: \"number\",\n\t\t\t\t\t\tnumber: reference,\n\t\t\t\t\t\treference\n\t\t\t\t\t});\n\t\t\t\t\telse tokens.push(blockToCharToken(block));\n\t\t\t\t} else if (block[0] === \"\\\\\" && block[1] === \"k\" && block.length !== 2) {\n\t\t\t\t\tconst referenceRaw = block.substring(3, block.length - 1);\n\t\t\t\t\ttokens.push({\n\t\t\t\t\t\ttype: \"Backreference\",\n\t\t\t\t\t\tkind: \"name\",\n\t\t\t\t\t\tnumber: groups.named.get(referenceRaw) || 0,\n\t\t\t\t\t\treferenceRaw,\n\t\t\t\t\t\treference: referenceRaw\n\t\t\t\t\t});\n\t\t\t\t} else tokens.push(blockToCharToken(block));\n\t\t\t\tbreak;\n\t\t}\n\t}\n\tif (disjunctions !== null) {\n\t\tdisjunctions.push(toSingleToken(tokens.splice(0), true) || null);\n\t\tlet currentDisjunction = {\n\t\t\ttype: \"Disjunction\",\n\t\t\tleft: disjunctions[0],\n\t\t\tright: disjunctions[1]\n\t\t};\n\t\tfor (let index = 2; index < disjunctions.length; ++index) currentDisjunction = {\n\t\t\ttype: \"Disjunction\",\n\t\t\tleft: currentDisjunction,\n\t\t\tright: disjunctions[index]\n\t\t};\n\t\ttokens.push(currentDisjunction);\n\t}\n}\n/**\n* Build the AST corresponding to the passed instance of RegExp\n*/\nfunction tokenizeRegex(regex) {\n\tconst unicodeMode = safeIndexOf([...regex.flags], \"u\") !== -1;\n\tconst regexSource = regex.source;\n\tconst tokens = [];\n\tpushTokens(tokens, regexSource, unicodeMode, {\n\t\tlastIndex: 0,\n\t\tnamed: /* @__PURE__ */ new Map()\n\t});\n\treturn toSingleToken(tokens);\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/UnicodePropertyArbitraryHelper.ts\n/** @internal */\nconst safeStringFromCodePoint$1 = String.fromCodePoint;\n/** @internal */\nfunction getPropertySpec(astNode) {\n\tif (astNode.binary || astNode.shorthand) return astNode.canonicalValue;\n\treturn `${astNode.canonicalName}=${astNode.canonicalValue}`;\n}\n/** @internal */\nfunction appendRangesForRegex(regex, from, to, ranges) {\n\tlet currentRangeStart = -1;\n\tfor (let cp = from; cp <= to; ++cp) if (regex.test(safeStringFromCodePoint$1(cp))) {\n\t\tif (currentRangeStart === -1) currentRangeStart = cp;\n\t} else if (currentRangeStart !== -1) {\n\t\tconst rangeEnd = cp - 1;\n\t\tranges.push(currentRangeStart === rangeEnd ? [rangeEnd] : [currentRangeStart, rangeEnd]);\n\t\tcurrentRangeStart = -1;\n\t}\n\tif (currentRangeStart !== -1) ranges.push(currentRangeStart === to ? [to] : [currentRangeStart, to]);\n}\n/** @internal */\nfunction extractRangesForProperty(propertySpec, negative) {\n\tconst regex = new RegExp(`^\\\\${negative ? \"P\" : \"p\"}{${propertySpec}}$`, \"u\");\n\tconst ranges = [];\n\tappendRangesForRegex(regex, 0, 55295, ranges);\n\tappendRangesForRegex(regex, 57344, 1114111, ranges);\n\treturn ranges;\n}\n/** @internal */\nconst cache = /* @__PURE__ */ new Map();\n/** @internal */\nfunction extractRangesForPropertyOrFromCache(propertySpec, negative) {\n\tconst cacheKey = `${negative ? \"P\" : \"p\"}:${propertySpec}`;\n\tconst cachedRanges = cache.get(cacheKey);\n\tif (cachedRanges !== void 0) return cachedRanges;\n\tconst ranges = extractRangesForProperty(propertySpec, negative);\n\tcache.set(cacheKey, ranges);\n\treturn ranges;\n}\n/**\n* Build an arbitrary producing characters matching a Unicode property (`\\p{…}` / `\\P{…}`).\n* @internal\n*/\nfunction unicodePropertyArbitrary(astNode) {\n\treturn mapToConstant(...safeMap(extractRangesForPropertyOrFromCache(getPropertySpec(astNode), astNode.negative), (range) => convertGraphemeRangeToMapToConstantEntry(range)));\n}\n//#endregion\n//#region src/arbitrary/stringMatching.ts\nconst safeStringFromCodePoint = String.fromCodePoint;\nconst wordChars = [...\"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_\"];\nconst digitChars = [...\"0123456789\"];\nconst spaceChars = [...\" \t\\r\\n\\v\\f\"];\nconst newLineChars = [...\"\\r\\n\"];\nconst terminatorChars = [...\"\u001e\u0015\"];\nconst newLineAndTerminatorChars = [...newLineChars, ...terminatorChars];\nconst defaultChar = () => string({\n\tunit: \"grapheme-ascii\",\n\tminLength: 1,\n\tmaxLength: 1\n});\nfunction raiseUnsupportedASTNode(astNode) {\n\treturn new SError(`Unsupported AST node! Received: ${stringify(astNode)}`);\n}\n/**\n* Convert an AST of tokens into an arbitrary able to produce the requested pattern\n* @internal\n*/\nfunction toMatchingArbitrary(astNode, constraints, flags) {\n\tswitch (astNode.type) {\n\t\tcase \"Char\":\n\t\t\tif (astNode.kind === \"meta\") switch (astNode.value) {\n\t\t\t\tcase \"\\\\w\": return constantFrom(...wordChars);\n\t\t\t\tcase \"\\\\W\": return defaultChar().filter((c) => safeIndexOf(wordChars, c) === -1);\n\t\t\t\tcase \"\\\\d\": return constantFrom(...digitChars);\n\t\t\t\tcase \"\\\\D\": return defaultChar().filter((c) => safeIndexOf(digitChars, c) === -1);\n\t\t\t\tcase \"\\\\s\": return constantFrom(...spaceChars);\n\t\t\t\tcase \"\\\\S\": return defaultChar().filter((c) => safeIndexOf(spaceChars, c) === -1);\n\t\t\t\tcase \"\\\\b\":\n\t\t\t\tcase \"\\\\B\": throw new SError(`Meta character ${astNode.value} not implemented yet!`);\n\t\t\t\tcase \".\": {\n\t\t\t\t\tconst forbiddenChars = flags.dotAll ? terminatorChars : newLineAndTerminatorChars;\n\t\t\t\t\treturn defaultChar().filter((c) => safeIndexOf(forbiddenChars, c) === -1);\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (astNode.symbol === void 0) throw new SError(`Unexpected undefined symbol received for non-meta Char! Received: ${stringify(astNode)}`);\n\t\t\treturn constant(astNode.symbol);\n\t\tcase \"Repetition\": {\n\t\t\tconst node = toMatchingArbitrary(astNode.expression, constraints, flags);\n\t\t\tswitch (astNode.quantifier.kind) {\n\t\t\t\tcase \"*\": return string({\n\t\t\t\t\t...constraints,\n\t\t\t\t\tunit: node\n\t\t\t\t});\n\t\t\t\tcase \"+\": return string({\n\t\t\t\t\t...constraints,\n\t\t\t\t\tminLength: 1,\n\t\t\t\t\tunit: node\n\t\t\t\t});\n\t\t\t\tcase \"?\": return string({\n\t\t\t\t\t...constraints,\n\t\t\t\t\tminLength: 0,\n\t\t\t\t\tmaxLength: 1,\n\t\t\t\t\tunit: node\n\t\t\t\t});\n\t\t\t\tcase \"Range\": return string({\n\t\t\t\t\t...constraints,\n\t\t\t\t\tminLength: astNode.quantifier.from,\n\t\t\t\t\tmaxLength: astNode.quantifier.to,\n\t\t\t\t\tunit: node\n\t\t\t\t});\n\t\t\t\tdefault: throw raiseUnsupportedASTNode(astNode.quantifier);\n\t\t\t}\n\t\t}\n\t\tcase \"Quantifier\": throw new SError(`Wrongly defined AST tree, Quantifier nodes not supposed to be scanned!`);\n\t\tcase \"Alternative\": return tuple(...safeMap(astNode.expressions, (n) => toMatchingArbitrary(n, constraints, flags))).map((vs) => safeJoin(vs, \"\"));\n\t\tcase \"CharacterClass\":\n\t\t\tif (astNode.negative) {\n\t\t\t\tconst childrenArbitraries = safeMap(astNode.expressions, (n) => toMatchingArbitrary(n, constraints, flags));\n\t\t\t\treturn defaultChar().filter((c) => safeEvery(childrenArbitraries, (arb) => !arb.canShrinkWithoutContext(c)));\n\t\t\t}\n\t\t\treturn oneof(...safeMap(astNode.expressions, (n) => toMatchingArbitrary(n, constraints, flags)));\n\t\tcase \"ClassRange\": {\n\t\t\tconst min = astNode.from.codePoint;\n\t\t\tconst max = astNode.to.codePoint;\n\t\t\treturn integer({\n\t\t\t\tmin,\n\t\t\t\tmax\n\t\t\t}).map((n) => safeStringFromCodePoint(n), (c) => {\n\t\t\t\tif (typeof c !== \"string\") throw new SError(\"Invalid type\");\n\t\t\t\tif ([...c].length !== 1) throw new SError(\"Invalid length\");\n\t\t\t\treturn safeCharCodeAt(c, 0);\n\t\t\t});\n\t\t}\n\t\tcase \"Group\": return toMatchingArbitrary(astNode.expression, constraints, flags);\n\t\tcase \"Disjunction\": return oneof(astNode.left !== null ? toMatchingArbitrary(astNode.left, constraints, flags) : constant(\"\"), astNode.right !== null ? toMatchingArbitrary(astNode.right, constraints, flags) : constant(\"\"));\n\t\tcase \"Assertion\":\n\t\t\tif (astNode.kind === \"^\" || astNode.kind === \"$\") {\n\t\t\t\tif (flags.multiline) if (astNode.kind === \"^\") return oneof(constant(\"\"), tuple(string({ unit: defaultChar() }), constantFrom(...newLineChars)).map((t) => `${t[0]}${t[1]}`, (value) => {\n\t\t\t\t\tif (typeof value !== \"string\" || value.length === 0) throw new SError(\"Invalid type\");\n\t\t\t\t\treturn [safeSubstring(value, 0, value.length - 1), value[value.length - 1]];\n\t\t\t\t}));\n\t\t\t\telse return oneof(constant(\"\"), tuple(constantFrom(...newLineChars), string({ unit: defaultChar() })).map((t) => `${t[0]}${t[1]}`, (value) => {\n\t\t\t\t\tif (typeof value !== \"string\" || value.length === 0) throw new SError(\"Invalid type\");\n\t\t\t\t\treturn [value[0], safeSubstring(value, 1)];\n\t\t\t\t}));\n\t\t\t\treturn constant(\"\");\n\t\t\t}\n\t\t\tthrow new SError(`Assertions of kind ${astNode.kind} not implemented yet!`);\n\t\tcase \"Backreference\": throw new SError(`Backreference nodes not implemented yet!`);\n\t\tcase \"UnicodeProperty\": return unicodePropertyArbitrary(astNode);\n\t\tdefault: throw raiseUnsupportedASTNode(astNode);\n\t}\n}\n/**\n* For strings matching the provided regex\n*\n* @param regex - Arbitrary able to generate random strings (possibly multiple characters)\n* @param constraints - Constraints to apply when building instances\n*\n* @remarks Since 3.10.0\n* @public\n*/\nfunction stringMatching(regex, constraints = {}) {\n\tfor (const flag of regex.flags) if (flag !== \"d\" && flag !== \"g\" && flag !== \"m\" && flag !== \"s\" && flag !== \"u\") throw new SError(`Unable to use \"stringMatching\" against a regex using the flag ${flag}`);\n\tconst maxLength = constraints.maxLength;\n\tconst sanitizedConstraints = {\n\t\tsize: constraints.size,\n\t\tmaxLength\n\t};\n\tconst flags = {\n\t\tmultiline: regex.multiline,\n\t\tdotAll: regex.dotAll\n\t};\n\tlet regexRootToken = addMissingDotStar(tokenizeRegex(regex));\n\tif (maxLength !== void 0) regexRootToken = clampRegexAst(regexRootToken, maxLength);\n\tconst baseArbitrary = toMatchingArbitrary(regexRootToken, sanitizedConstraints, flags);\n\tif (maxLength !== void 0) return baseArbitrary.filter((s) => [...s].length <= maxLength);\n\treturn baseArbitrary;\n}\n//#endregion\n//#region src/arbitrary/_internals/helpers/ZipIterableIterators.ts\n/** @internal */\nfunction initZippedValues(its) {\n\tconst vs = [];\n\tfor (let index = 0; index !== its.length; ++index) vs.push(its[index].next());\n\treturn vs;\n}\n/** @internal */\nfunction nextZippedValues(its, vs) {\n\tfor (let index = 0; index !== its.length; ++index) vs[index] = its[index].next();\n}\n/** @internal */\nfunction isDoneZippedValues(vs) {\n\tfor (let index = 0; index !== vs.length; ++index) if (vs[index].done) return true;\n\treturn false;\n}\n/** @internal */\nfunction* zipIterableIterators(...its) {\n\tconst vs = initZippedValues(its);\n\twhile (!isDoneZippedValues(vs)) {\n\t\tyield vs.map((v) => v.value);\n\t\tnextZippedValues(its, vs);\n\t}\n}\n//#endregion\n//#region src/arbitrary/_internals/LimitedShrinkArbitrary.ts\n/** @internal */\nfunction* iotaFrom(startValue) {\n\tlet value = startValue;\n\twhile (true) {\n\t\tyield value;\n\t\t++value;\n\t}\n}\n/** @internal */\nvar LimitedShrinkArbitrary = class extends Arbitrary {\n\tconstructor(arb, maxShrinks) {\n\t\tsuper();\n\t\tthis.arb = arb;\n\t\tthis.maxShrinks = maxShrinks;\n\t}\n\tgenerate(mrng, biasFactor) {\n\t\tconst value = this.arb.generate(mrng, biasFactor);\n\t\treturn this.valueMapper(value, 0);\n\t}\n\tcanShrinkWithoutContext(value) {\n\t\treturn this.arb.canShrinkWithoutContext(value);\n\t}\n\tshrink(value, context) {\n\t\tif (this.isSafeContext(context)) return this.safeShrink(value, context.originalContext, context.length);\n\t\treturn this.safeShrink(value, void 0, 0);\n\t}\n\tsafeShrink(value, originalContext, currentLength) {\n\t\tconst remaining = this.maxShrinks - currentLength;\n\t\tif (remaining <= 0) return Stream.nil();\n\t\treturn new Stream(zipIterableIterators(this.arb.shrink(value, originalContext), iotaFrom(currentLength + 1))).take(remaining).map((valueAndLength) => this.valueMapper(valueAndLength[0], valueAndLength[1]));\n\t}\n\tvalueMapper(v, newLength) {\n\t\tconst context = {\n\t\t\toriginalContext: v.context,\n\t\t\tlength: newLength\n\t\t};\n\t\treturn new Value(v.value, context);\n\t}\n\tisSafeContext(context) {\n\t\treturn context !== null && context !== void 0 && typeof context === \"object\" && \"originalContext\" in context && \"length\" in context;\n\t}\n};\n//#endregion\n//#region src/arbitrary/limitShrink.ts\n/**\n* Create another Arbitrary with a limited (or capped) number of shrink values\n*\n* @example\n* ```typescript\n* const dataGenerator: Arbitrary<string> = ...;\n* const limitedShrinkableDataGenerator: Arbitrary<string> = fc.limitShrink(dataGenerator, 10);\n* // up to 10 shrunk values could be extracted from the resulting arbitrary\n* ```\n*\n* NOTE: Although limiting the shrinking capabilities can speed up your CI when failures occur, we do not recommend this approach.\n* Instead, if you want to reduce the shrinking time for automated jobs or local runs, consider using `endOnFailure` or `interruptAfterTimeLimit`.\n*\n* @param arbitrary - Instance of arbitrary responsible to generate and shrink values\n* @param maxShrinks - Maximal number of shrunk values that can be pulled from the resulting arbitrary\n*\n* @returns Create another arbitrary with limited number of shrink values\n* @remarks Since 3.20.0\n* @public\n*/\nfunction limitShrink(arbitrary, maxShrinks) {\n\treturn new LimitedShrinkArbitrary(arbitrary, maxShrinks);\n}\n//#endregion\n//#region src/fast-check-default.ts\nvar fast_check_default_exports = /* @__PURE__ */ __exportAll({\n\tArbitrary: () => Arbitrary,\n\tExecutionStatus: () => ExecutionStatus,\n\tPreconditionFailure: () => PreconditionFailure,\n\tRandom: () => Random,\n\tStream: () => Stream,\n\tValue: () => Value,\n\tVerbosityLevel: () => VerbosityLevel,\n\t__commitHash: () => __commitHash,\n\t__type: () => __type,\n\t__version: () => __version,\n\tanything: () => anything,\n\tarray: () => array,\n\tassert: () => assert,\n\tasyncDefaultReportMessage: () => asyncDefaultReportMessage,\n\tasyncModelRun: () => asyncModelRun,\n\tasyncProperty: () => asyncProperty,\n\tasyncStringify: () => asyncStringify,\n\tasyncToStringMethod: () => asyncToStringMethod,\n\tbase64String: () => base64String,\n\tbigInt: () => bigInt,\n\tbigInt64Array: () => bigInt64Array,\n\tbigUint64Array: () => bigUint64Array,\n\tboolean: () => boolean,\n\tchainUntil: () => chainUntil,\n\tcheck: () => check,\n\tclone: () => clone,\n\tcloneIfNeeded: () => cloneIfNeeded,\n\tcloneMethod: () => cloneMethod,\n\tcommands: () => commands,\n\tcompareBooleanFunc: () => compareBooleanFunc,\n\tcompareFunc: () => compareFunc,\n\tconfigureGlobal: () => configureGlobal,\n\tconstant: () => constant,\n\tconstantFrom: () => constantFrom,\n\tcontext: () => context,\n\tcreateDepthIdentifier: () => createDepthIdentifier,\n\tdate: () => date,\n\tdefaultReportMessage: () => defaultReportMessage,\n\tdictionary: () => dictionary,\n\tdomain: () => domain,\n\tdouble: () => double,\n\temailAddress: () => emailAddress,\n\tentityGraph: () => entityGraph,\n\tfalsy: () => falsy,\n\tfloat: () => float,\n\tfloat32Array: () => float32Array,\n\tfloat64Array: () => float64Array,\n\tfunc: () => func,\n\tgen: () => gen,\n\tgetDepthContextFor: () => getDepthContextFor,\n\thasAsyncToStringMethod: () => hasAsyncToStringMethod,\n\thasCloneMethod: () => hasCloneMethod,\n\thasToStringMethod: () => hasToStringMethod,\n\thash: () => hash,\n\tinfiniteStream: () => infiniteStream,\n\tint16Array: () => int16Array,\n\tint32Array: () => int32Array,\n\tint8Array: () => int8Array,\n\tinteger: () => integer,\n\tipV4: () => ipV4,\n\tipV4Extended: () => ipV4Extended,\n\tipV6: () => ipV6,\n\tjson: () => json,\n\tjsonValue: () => jsonValue,\n\tletrec: () => letrec,\n\tlimitShrink: () => limitShrink,\n\tlorem: () => lorem,\n\tmap: () => map,\n\tmapToConstant: () => mapToConstant,\n\tmaxSafeInteger: () => maxSafeInteger,\n\tmaxSafeNat: () => maxSafeNat,\n\tmemo: () => memo,\n\tmixedCase: () => mixedCase,\n\tmodelRun: () => modelRun,\n\tnat: () => nat,\n\tnoBias: () => noBias,\n\tnoShrink: () => noShrink,\n\tobject: () => object,\n\toneof: () => oneof,\n\toption: () => option,\n\tpre: () => pre,\n\tproperty: () => property,\n\treadConfigureGlobal: () => readConfigureGlobal,\n\trecord: () => record,\n\tresetConfigureGlobal: () => resetConfigureGlobal,\n\tsample: () => sample,\n\tscheduledModelRun: () => scheduledModelRun,\n\tscheduler: () => scheduler,\n\tschedulerFor: () => schedulerFor,\n\tset: () => set,\n\tshuffledSubarray: () => shuffledSubarray,\n\tsparseArray: () => sparseArray,\n\tstatistics: () => statistics,\n\tstream: () => stream,\n\tstring: () => string,\n\tstringMatching: () => stringMatching,\n\tstringify: () => stringify,\n\tsubarray: () => subarray,\n\ttoStringMethod: () => toStringMethod,\n\ttuple: () => tuple,\n\tuint16Array: () => uint16Array,\n\tuint32Array: () => uint32Array,\n\tuint8Array: () => uint8Array,\n\tuint8ClampedArray: () => uint8ClampedArray,\n\tulid: () => ulid,\n\tuniqueArray: () => uniqueArray,\n\tuuid: () => uuid,\n\twebAuthority: () => webAuthority,\n\twebFragments: () => webFragments,\n\twebPath: () => webPath,\n\twebQueryParameters: () => webQueryParameters,\n\twebSegment: () => webSegment,\n\twebUrl: () => webUrl\n});\n/**\n* Type of module (commonjs or module)\n* @remarks Since 1.22.0\n* @public\n*/\nconst __type = \"module\";\n/**\n* Version of fast-check used by your project (eg.: \"4.8.0\")\n* @remarks Since 1.22.0\n* @public\n*/\nconst __version = \"4.8.0\";\n/**\n* Commit hash of the current code (eg.: \"c0da76fbcf6470339ad7bb2f0dfcebee06ede56c\")\n* @remarks Since 2.7.0\n* @public\n*/\nconst __commitHash = \"c0da76fbcf6470339ad7bb2f0dfcebee06ede56c\";\n//#endregion\n//#region src/fast-check.ts\nvar fast_check_default = fast_check_default_exports;\n//#endregion\nexport { Arbitrary, ExecutionStatus, PreconditionFailure, Random, Stream, Value, VerbosityLevel, __commitHash, __type, __version, anything, array, assert, asyncDefaultReportMessage, asyncModelRun, asyncProperty, asyncStringify, asyncToStringMethod, base64String, bigInt, bigInt64Array, bigUint64Array, boolean, chainUntil, check, clone, cloneIfNeeded, cloneMethod, commands, compareBooleanFunc, compareFunc, configureGlobal, constant, constantFrom, context, createDepthIdentifier, date, fast_check_default as default, defaultReportMessage, dictionary, domain, double, emailAddress, entityGraph, falsy, float, float32Array, float64Array, func, gen, getDepthContextFor, hasAsyncToStringMethod, hasCloneMethod, hasToStringMethod, hash, infiniteStream, int16Array, int32Array, int8Array, integer, ipV4, ipV4Extended, ipV6, json, jsonValue, letrec, limitShrink, lorem, map, mapToConstant, maxSafeInteger, maxSafeNat, memo, mixedCase, modelRun, nat, noBias, noShrink, object, oneof, option, pre, property, readConfigureGlobal, record, resetConfigureGlobal, sample, scheduledModelRun, scheduler, schedulerFor, set, shuffledSubarray, sparseArray, statistics, stream, string, stringMatching, stringify, subarray, toStringMethod, tuple, uint16Array, uint32Array, uint8Array, uint8ClampedArray, ulid, uniqueArray, uuid, webAuthority, webFragments, webPath, webQueryParameters, webSegment, webUrl };\n"]}