{
	"trades": {
		"$dynamic.list.next_index": {
			"wants": {
				"$dynamic.list.index_pair": {
					"item": "$general.item_identifier",
					"quantity": {
						"@import.value": "$general.number",
						"@meta": {
							"validate": {
								"confirm": "(Bridge.Node.children.length !== 2 && Bridge.Node.data === '') || Number.isNaN(Number(Bridge.Node.data))",
								"then": {
									"show": true,
									"message": "Invalid data type: Expected min/max field or number"
								}
							}
						},
						"min": "$general.number",
						"max": "$general.number"
					},
					"functions": "$loot_table.functions",
					"price_multiplier": "$general.decimal"
				}
			},
			"gives": {
				"0": {
					"item": "$general.item_identifier",
					"quantity": {
						"@import.value": "$general.number",
						"@meta": {
							"validate": {
								"confirm": "(Bridge.Node.children.length !== 2 && Bridge.Node.data === '') || Number.isNaN(Number(Bridge.Node.data))",
								"then": {
									"show": true,
									"message": "Invalid data type: Expected min/max field or number"
								}
							}
						},
						"min": "$general.number",
						"max": "$general.number"
					},
					"functions": "$loot_table.functions",
					"choice": {
						"$dynamic.list.next_index": {
							"item": "$general.item_identifier",
							"quantity": {
								"@import.value": "$general.number",
								"@meta": {
									"validate": {
										"confirm": "(Bridge.Node.children.length !== 2 && Bridge.Node.data === '') || Number.isNaN(Number(Bridge.Node.data))",
										"then": {
											"show": true,
											"message": "Invalid data type: Expected min/max field or number"
										}
									}
								},
								"min": "$general.number",
								"max": "$general.number"
							},
							"functions": "$loot_table.functions"
						}
					}
				}
			},
			"trader_exp": "$general.number",
			"max_uses": ["-1", "1", "2", "3", "4", "5", "6", "7"],
			"reward_exp": "$general.boolean"
		}
	}
}
