From 593b4d7554ab24cdbf8bbb46a4c78a80da97582c Mon Sep 17 00:00:00 2001 From: DBotThePony Date: Sun, 6 Nov 2022 12:43:53 +0700 Subject: [PATCH] Allow to use DSL syntax of MatterDataProvider in Java --- .../mc/otm/matter/MatterDataProvider.kt | 743 ++++++++++++------ 1 file changed, 503 insertions(+), 240 deletions(-) diff --git a/src/main/kotlin/ru/dbotthepony/mc/otm/matter/MatterDataProvider.kt b/src/main/kotlin/ru/dbotthepony/mc/otm/matter/MatterDataProvider.kt index 20390fd3b..2e4cd223e 100644 --- a/src/main/kotlin/ru/dbotthepony/mc/otm/matter/MatterDataProvider.kt +++ b/src/main/kotlin/ru/dbotthepony/mc/otm/matter/MatterDataProvider.kt @@ -174,119 +174,222 @@ open class MatterDataProvider(protected val dataGenerator: DataGenerator, val na } } - fun Scope( matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) - fun Scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) - fun Scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) - fun Scope( matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) - fun Scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) - fun Scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) - fun Scope( matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) - fun Scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) - fun Scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) - fun Scope( matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) - fun Scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) - fun Scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope( matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope( matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope( matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope( matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) - fun Scope( matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope( matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun Scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(matterValue, complexity, configurator) - fun scope(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, matterValue, complexity, configurator) - fun scope(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, matterValue, complexity, configurator) - fun scope( matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) - fun scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) - fun scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) - fun scope( matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) - fun scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) - fun scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) - fun scope( matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) - fun scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) - fun scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) - fun scope( matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) - fun scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) - fun scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun scope( matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(matterValue, complexity, configurator) + fun scope(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, matterValue, complexity, configurator) + fun scope(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, matterValue, complexity, configurator) + fun scope( matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun scope( matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun scope( matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun scope( matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) - fun scope( matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope( matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) - fun scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + + fun Scope( matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope( matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope( matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope( matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + + fun Scope( matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + + fun Scope( matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + + fun Scope( matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope( matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + + fun scope( matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(matterValue, complexity, configurator) + fun scope(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, matterValue, complexity, configurator) + fun scope(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, matterValue, complexity, configurator) + fun scope( matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun scope( matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun scope( matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + fun scope( matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity, configurator) + + fun scope( matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + + fun scope( matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + + fun scope( matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope( matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue), complexity.toDouble(), configurator) /** - * Allows to easily declare matter values using relative costs in "pyramid" pattern - * - * do not even think about using this in Java - * - * JUST DONT + * Allows to easily declare matter values using relative costs in DSL pattern */ inner class Scope(val matterValue: ImpreciseFraction, val complexity: Double, configurator: Scope.() -> Unit) { constructor(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) : this(matterValue, complexity, configurator) { @@ -297,158 +400,318 @@ open class MatterDataProvider(protected val dataGenerator: DataGenerator, val na insert(tag, matterValue, complexity) } + constructor(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) : this(matterValue, complexity, configurator::accept) { + insert(item, matterValue, complexity) + } + + constructor(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) : this(matterValue, complexity, configurator::accept) { + insert(tag, matterValue, complexity) + } + + constructor(matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) : this(matterValue, complexity, configurator::accept) + init { configurator.invoke(this) } - fun Scope( matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(matterValue * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, matterValue * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, matterValue * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(matterValue * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope( matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun Scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(matterValue * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, matterValue * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, matterValue * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(matterValue * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope( matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Scope.() -> Unit) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + // ---- + fun Scope( matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(matterValue * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun Scope( matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun Scope( matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun Scope( matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope( matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun Scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun scope( matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(matterValue * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Double, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun scope( matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Int, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun scope( matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Float, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun scope( matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Int, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Long, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Double, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope( matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(item: ItemLike, matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun scope(tag: TagKey, matterValue: Float, complexity: Long, configurator: Consumer) = this@MatterDataProvider.Scope(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) ////////// - fun relative(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, matterValue * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, matterValue * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Int, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Int, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Long, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Long, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Double, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Double, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Float, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Float, complexity: Double, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(item, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(tag, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Int, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Int, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Long, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Long, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Double, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Double, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Float, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Float, complexity: Double, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Int, complexity: Int, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Int, complexity: Int, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Long, complexity: Int, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Long, complexity: Int, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Double, complexity: Int, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Double, complexity: Int, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Float, complexity: Int, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Float, complexity: Int, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Int, complexity: Int, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Int, complexity: Int, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Long, complexity: Int, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Long, complexity: Int, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Double, complexity: Int, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Double, complexity: Int, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Float, complexity: Int, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Float, complexity: Int, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Int, complexity: Float, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Int, complexity: Float, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Long, complexity: Float, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Long, complexity: Float, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Double, complexity: Float, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Double, complexity: Float, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Float, complexity: Float, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Float, complexity: Float, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Int, complexity: Float, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Int, complexity: Float, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Long, complexity: Float, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Long, complexity: Float, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Double, complexity: Float, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Double, complexity: Float, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Float, complexity: Float, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Float, complexity: Float, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun relative(item: ItemLike, matterValue: Int, complexity: Long, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Int, complexity: Long, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Long, complexity: Long, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Long, complexity: Long, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Double, complexity: Long, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Double, complexity: Long, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Float, complexity: Long, configurator: InsertConfiguration.() -> Unit) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Float, complexity: Long, configurator: InsertConfiguration.() -> Unit) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun relative(item: ItemLike, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer = Consumer {}) = insert(item, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: ImpreciseFraction, complexity: Double, configurator: Consumer = Consumer {}) = insert(tag, matterValue * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Int, complexity: Double, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Int, complexity: Double, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Long, complexity: Double, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Long, complexity: Double, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Double, complexity: Double, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Double, complexity: Double, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Float, complexity: Double, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Float, complexity: Double, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun relative(item: ItemLike, matterValue: Int, complexity: Int, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Int, complexity: Int, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Long, complexity: Int, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Long, complexity: Int, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Double, complexity: Int, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Double, complexity: Int, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Float, complexity: Int, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Float, complexity: Int, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun relative(item: ItemLike, matterValue: Int, complexity: Float, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Int, complexity: Float, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Long, complexity: Float, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Long, complexity: Float, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Double, complexity: Float, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Double, complexity: Float, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Float, complexity: Float, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Float, complexity: Float, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + + fun relative(item: ItemLike, matterValue: Int, complexity: Long, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Int, complexity: Long, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Long, complexity: Long, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Long, complexity: Long, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Double, complexity: Long, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Double, complexity: Long, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(item: ItemLike, matterValue: Float, complexity: Long, configurator: Consumer = Consumer {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) + fun relative(tag: TagKey, matterValue: Float, complexity: Long, configurator: Consumer = Consumer {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Int, complexity: Long, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Int, complexity: Long, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Long, complexity: Long, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Long, complexity: Long, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Double, complexity: Long, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Double, complexity: Long, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(item: ItemLike, matterValue: Float, complexity: Long, configurator: InsertConfiguration.() -> Unit = {}) = insert(item, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) - fun relative(tag: TagKey, matterValue: Float, complexity: Long, configurator: InsertConfiguration.() -> Unit = {}) = insert(tag, ImpreciseFraction(matterValue) * this.matterValue, complexity * this.complexity, configurator) //////// fun equal(vararg items: ItemLike) {