Skip to content

single_site#

Name: SingleSite

Version: 1.0.0

Pkg-location: aind_behavior_vr_foraging_curricula.single_site

Module README#

Single Site curriculum#

A single-site, non-baited patch-foraging bandit, similar to the dynamic foraging uncoupled, unbaited task. Each patch is one odor-marked reward site (a single accept/reject decision; no stored/baited reward). Two reward odors carry block-switching reward probabilities, so the animal must track relative action value. Code: metrics.py, stages.py, policies.py, helpers.py, curriculum.py.

Stages#

Four stages, in order; the first three shape, the last is terminal.

learn_to_stop → learn_to_choose → probability_grid_short_delay → probability_grid_long_delay
stage goal environment within-session updater stop / delay
learn_to_stop a real stop in one session 2 odors A,B, both p_reward=1.0 STOP_VELOCITY_THRESHOLD 60→8 (gain ×0.93) stop 1.0 s (fixed); delay 0.5 s
learn_to_choose high-contrast discrimination alternating (0.9, 0.1) / (0.1, 0.9) blocks REWARD_DELAY_OFFSET 0→0.3 (+0.002) stop 1.0 s; delay 0.5→0.8 s
probability_grid_short_delay grid + grow patience 13-block band + distractor C (occ 0.475/0.475/0.05) REWARD_DELAY_OFFSET 0→1.5 (+0.01) stop 1.0 s; delay 0.2 + Exp(0.4), [0.2, 2.5] s + the ramp
probability_grid_long_delay terminal / analysis same 13-block band none stop 1.0 s; delay 0.2 + Exp(2.1), [0.2, 7.0] s (stationary)

Reward is 7 µL; velocity threshold is 8 cm/s from learn_to_choose on; learn_to_stop starts at 60.

Transition gates#

from → to fires when
learn_to_stoplearn_to_choose last_stop_threshold_updater ≤ 8, n_seen ≥ 250, n_visited ≥ 150
learn_to_chooseprobability_grid_short_delay last_reward_delay_offset_updater ≥ 0.25, n_seen ≥ 200, n_visited ≥ 50, visit_ratio ≤ 0.7
probability_grid_short_delayprobability_grid_long_delay last_reward_delay_offset_updater ≥ 1.3, n_seen ≥ 300, n_visited ≥ 100, 0.3 ≤ visit_ratio ≤ 0.7

visit_ratio = n_patches_visited / n_patches_seen.

Cross-session policies (start policies)#

Applied on the next in-session day; on a stage transition the task resets to its defaults and these apply from the following session.

  • p_learn_to_stop — seed STOP_VELOCITY_THRESHOLD from the prior session end ×1.2 (eased), clamped to [8, 60].
  • p_reward_water_gate — hold p_reward = 1.0 while the prior session collected < 0.6 mL water; drop to 0.8 once the animal reliably earns. Keys on water actually collected, so a non-earning animal is never penalized.
  • p_learn_to_run — ease learn_to_stop geometry from compressed toward full, scaled by prior locomotion (n_patches_seen / 150).
  • p_seed_reward_delay — seed REWARD_DELAY_OFFSET from the prior session end ×0.8.

Probability-grid band#

Blocks are (p_A, p_B) pairs from the 5×5 grid over {0.1, 0.3, 0.5, 0.7, 0.9}, kept only where the summed reward probability is in {0.8, 1.0, 1.2}13 blocks (vs the full 24). This holds environmental reward rate roughly constant (per-site offered rate 0.38–0.57) while preserving relative-value contrast |p_A − p_B| up to 0.8 — so an unlucky block can't reward-starve the animal, and no rich-everywhere block kills the incentive to skip.

Corridor geometry (cm)#

stage reward site inter-site inter-patch
learn_to_stop (compressed → full) 25 → 40 10 → 15 25 + Exp(50), [25,90] → 50 + Exp(120), [50,150]
later stages 50 15 30 + Exp(60), [30,190]

Metrics (metrics_from_dataset)#

n_patches_visited = ChoiceFeedback count · n_patches_seen = ActivePatch count · last_{stop_threshold,reward_delay_offset}_updater = last value of the in-session updater · total_water_consumed = summed GiveReward (mL).

Diagram#

single_site diagram

Specification#

{
  "pkg_location": "aind_behavior_vr_foraging_curricula.single_site",
  "name": "SingleSite",
  "version": "1.0.0",
  "graph": {
    "nodes": {
      "0": {
        "name": "learn_to_stop",
        "task": {
          "name": "AindVrForaging",
          "description": "",
          "task_parameters": {
            "rng_seed": null,
            "aind_behavior_services_pkg_version": "0.13.7",
            "updaters": {
              "StopVelocityThreshold": {
                "operation": "Gain",
                "parameters": {
                  "initial_value": 60.0,
                  "on_success": 0.93,
                  "on_failure": 0.0,
                  "increment": 0.93,
                  "decrement": 0.0,
                  "minimum": 8.0,
                  "maximum": 60.0
                }
              }
            },
            "environment": {
              "blocks": [
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 1.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 10.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.02
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 25.0,
                                "max": 90.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 25.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 25.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 1.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 10.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.02
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 25.0,
                                "max": 90.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 25.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 25.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.5,
                        0.5
                      ],
                      [
                        0.5,
                        0.5
                      ]
                    ],
                    "first_state_occupancy": [
                      0.5,
                      0.5
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.04
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 100000.0,
                          "max": 100050.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 100000.0
                        }
                      }
                    }
                  ]
                }
              ],
              "sampling_mode": "Sequential"
            },
            "operation_control": {
              "movable_spout_control": {
                "enabled": false,
                "time_to_collect_after_reward": 1.0,
                "retracting_distance": 0.0
              },
              "odor_control": {
                "target_total_flow": 1000,
                "target_odor_flow": 100
              },
              "position_control": {
                "gain": {
                  "x": 1.0,
                  "y": 1.0,
                  "z": 1.0
                },
                "initial_position": {
                  "x": 0.0,
                  "y": 2.56,
                  "z": 0.0
                },
                "frequency_filter_cutoff": 5.0,
                "velocity_threshold": 60.0
              },
              "audio_control": {
                "duration": 0.2,
                "frequency": 9999.0
              },
              "wait_to_start_duration": 0.0,
              "wait_to_finish_duration": 0.0
            }
          },
          "version": "1.0.0",
          "stage_name": "learn_to_stop"
        },
        "graph": {
          "nodes": {
            "0": "aind_behavior_vr_foraging_curricula.single_site.policies.p_learn_to_stop",
            "1": "aind_behavior_vr_foraging_curricula.single_site.policies.p_reward_water_gate",
            "2": "aind_behavior_vr_foraging_curricula.single_site.policies.p_learn_to_run"
          },
          "graph": {
            "0": [],
            "1": [],
            "2": []
          }
        },
        "start_policies": [
          "aind_behavior_vr_foraging_curricula.single_site.policies.p_learn_to_stop",
          "aind_behavior_vr_foraging_curricula.single_site.policies.p_reward_water_gate",
          "aind_behavior_vr_foraging_curricula.single_site.policies.p_learn_to_run"
        ],
        "metrics_provider": "aind_behavior_vr_foraging_curricula.single_site.metrics.metrics_from_dataset"
      },
      "1": {
        "name": "learn_to_choose",
        "task": {
          "name": "AindVrForaging",
          "description": "",
          "task_parameters": {
            "rng_seed": null,
            "aind_behavior_services_pkg_version": "0.13.7",
            "updaters": {
              "RewardDelayOffset": {
                "operation": "Offset",
                "parameters": {
                  "initial_value": 0.0,
                  "on_success": 0.002,
                  "on_failure": 0.0,
                  "increment": 0.002,
                  "decrement": 0.0,
                  "minimum": 0.0,
                  "maximum": 0.3
                }
              }
            },
            "environment": {
              "blocks": [
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.5,
                        0.5
                      ],
                      [
                        0.5,
                        0.5
                      ]
                    ],
                    "first_state_occupancy": [
                      0.5,
                      0.5
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.06666666666666667
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 60.0,
                          "max": 100.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 60.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.5,
                        0.5
                      ],
                      [
                        0.5,
                        0.5
                      ]
                    ],
                    "first_state_occupancy": [
                      0.5,
                      0.5
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.06666666666666667
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 60.0,
                          "max": 100.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 60.0
                        }
                      }
                    }
                  ]
                }
              ],
              "sampling_mode": "Random"
            },
            "operation_control": {
              "movable_spout_control": {
                "enabled": false,
                "time_to_collect_after_reward": 1.0,
                "retracting_distance": 0.0
              },
              "odor_control": {
                "target_total_flow": 1000,
                "target_odor_flow": 100
              },
              "position_control": {
                "gain": {
                  "x": 1.0,
                  "y": 1.0,
                  "z": 1.0
                },
                "initial_position": {
                  "x": 0.0,
                  "y": 2.56,
                  "z": 0.0
                },
                "frequency_filter_cutoff": 5.0,
                "velocity_threshold": 8.0
              },
              "audio_control": {
                "duration": 0.2,
                "frequency": 9999.0
              },
              "wait_to_start_duration": 0.0,
              "wait_to_finish_duration": 0.0
            }
          },
          "version": "1.0.0",
          "stage_name": "learn_to_choose"
        },
        "graph": {
          "nodes": {
            "0": "aind_behavior_vr_foraging_curricula.single_site.policies.p_seed_reward_delay"
          },
          "graph": {
            "0": []
          }
        },
        "start_policies": [
          "aind_behavior_vr_foraging_curricula.single_site.policies.p_seed_reward_delay"
        ],
        "metrics_provider": "aind_behavior_vr_foraging_curricula.single_site.metrics.metrics_from_dataset"
      },
      "2": {
        "name": "probability_grid_short_delay",
        "task": {
          "name": "AindVrForaging",
          "description": "",
          "task_parameters": {
            "rng_seed": null,
            "aind_behavior_services_pkg_version": "0.13.7",
            "updaters": {
              "RewardDelayOffset": {
                "operation": "Offset",
                "parameters": {
                  "initial_value": 0.0,
                  "on_success": 0.01,
                  "on_failure": 0.0,
                  "increment": 0.01,
                  "decrement": 0.0,
                  "minimum": 0.0,
                  "maximum": 1.5
                }
              }
            },
            "environment": {
              "blocks": [
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 2.5
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 2.5
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 40.0,
                          "max": 70.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 40.0
                        }
                      }
                    }
                  ]
                }
              ],
              "sampling_mode": "Random"
            },
            "operation_control": {
              "movable_spout_control": {
                "enabled": false,
                "time_to_collect_after_reward": 1.0,
                "retracting_distance": 0.0
              },
              "odor_control": {
                "target_total_flow": 1000,
                "target_odor_flow": 100
              },
              "position_control": {
                "gain": {
                  "x": 1.0,
                  "y": 1.0,
                  "z": 1.0
                },
                "initial_position": {
                  "x": 0.0,
                  "y": 2.56,
                  "z": 0.0
                },
                "frequency_filter_cutoff": 5.0,
                "velocity_threshold": 8.0
              },
              "audio_control": {
                "duration": 0.2,
                "frequency": 9999.0
              },
              "wait_to_start_duration": 0.0,
              "wait_to_finish_duration": 0.0
            }
          },
          "version": "1.0.0",
          "stage_name": "probability_grid_short_delay"
        },
        "graph": {
          "nodes": {
            "0": "aind_behavior_vr_foraging_curricula.single_site.policies.p_seed_reward_delay"
          },
          "graph": {
            "0": []
          }
        },
        "start_policies": [
          "aind_behavior_vr_foraging_curricula.single_site.policies.p_seed_reward_delay"
        ],
        "metrics_provider": "aind_behavior_vr_foraging_curricula.single_site.metrics.metrics_from_dataset"
      },
      "3": {
        "name": "probability_grid_long_delay",
        "task": {
          "name": "AindVrForaging",
          "description": "",
          "task_parameters": {
            "rng_seed": null,
            "aind_behavior_services_pkg_version": "0.13.7",
            "updaters": {},
            "environment": {
              "blocks": [
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.7
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.5
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.1
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                },
                {
                  "environment": {
                    "environment_type": "Markov",
                    "patches": [
                      {
                        "label": "OdorA",
                        "state_index": 0,
                        "odor_specification": [
                          1.0,
                          0.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.9
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorB",
                        "state_index": 1,
                        "odor_specification": [
                          0.0,
                          1.0,
                          0.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.3
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      },
                      {
                        "label": "OdorC",
                        "state_index": 2,
                        "odor_specification": [
                          0.0,
                          0.0,
                          1.0
                        ],
                        "reward_specification": {
                          "operant_logic": {
                            "is_operant": false,
                            "stop_duration": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "time_to_collect_reward": 100000.0,
                            "grace_distance_threshold": 10.0
                          },
                          "delay": {
                            "family": "Exponential",
                            "distribution_parameters": {
                              "family": "Exponential",
                              "rate": 0.47619047619047616
                            },
                            "truncation_parameters": {
                              "truncation_mode": "exclude",
                              "min": 0.2,
                              "max": 7.0
                            },
                            "scaling_parameters": {
                              "scale": 1.0,
                              "offset": 0.2
                            }
                          },
                          "amount": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 7.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "probability": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 0.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "available": {
                            "family": "Scalar",
                            "distribution_parameters": {
                              "family": "Scalar",
                              "value": 999999.0
                            },
                            "truncation_parameters": null,
                            "scaling_parameters": null
                          },
                          "reward_function": []
                        },
                        "patch_virtual_sites_generator": {
                          "inter_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "InterSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 15.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          },
                          "inter_patch": {
                            "render_specification": {
                              "contrast": 1.0
                            },
                            "label": "InterPatch",
                            "length_distribution": {
                              "family": "Exponential",
                              "distribution_parameters": {
                                "family": "Exponential",
                                "rate": 0.016666666666666666
                              },
                              "truncation_parameters": {
                                "truncation_mode": "exclude",
                                "min": 30.0,
                                "max": 190.0
                              },
                              "scaling_parameters": {
                                "scale": 1.0,
                                "offset": 30.0
                              }
                            },
                            "treadmill_specification": null
                          },
                          "post_patch": null,
                          "reward_site": {
                            "render_specification": {
                              "contrast": 0.5
                            },
                            "label": "RewardSite",
                            "length_distribution": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 50.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            },
                            "treadmill_specification": null
                          }
                        },
                        "patch_terminators": [
                          {
                            "terminator_type": "OnChoice",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          },
                          {
                            "terminator_type": "OnRejection",
                            "count": {
                              "family": "Scalar",
                              "distribution_parameters": {
                                "family": "Scalar",
                                "value": 1.0
                              },
                              "truncation_parameters": null,
                              "scaling_parameters": null
                            }
                          }
                        ]
                      }
                    ],
                    "transition_matrix": [
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ],
                      [
                        0.475,
                        0.475,
                        0.05
                      ]
                    ],
                    "first_state_occupancy": [
                      0.475,
                      0.475,
                      0.05
                    ]
                  },
                  "end_conditions": [
                    {
                      "condition_type": "PatchCount",
                      "value": {
                        "family": "Exponential",
                        "distribution_parameters": {
                          "family": "Exponential",
                          "rate": 0.1
                        },
                        "truncation_parameters": {
                          "truncation_mode": "exclude",
                          "min": 30.0,
                          "max": 60.0
                        },
                        "scaling_parameters": {
                          "scale": 1.0,
                          "offset": 30.0
                        }
                      }
                    }
                  ]
                }
              ],
              "sampling_mode": "Random"
            },
            "operation_control": {
              "movable_spout_control": {
                "enabled": false,
                "time_to_collect_after_reward": 1.0,
                "retracting_distance": 0.0
              },
              "odor_control": {
                "target_total_flow": 1000,
                "target_odor_flow": 100
              },
              "position_control": {
                "gain": {
                  "x": 1.0,
                  "y": 1.0,
                  "z": 1.0
                },
                "initial_position": {
                  "x": 0.0,
                  "y": 2.56,
                  "z": 0.0
                },
                "frequency_filter_cutoff": 5.0,
                "velocity_threshold": 8.0
              },
              "audio_control": {
                "duration": 0.2,
                "frequency": 9999.0
              },
              "wait_to_start_duration": 0.0,
              "wait_to_finish_duration": 0.0
            }
          },
          "version": "1.0.0",
          "stage_name": "probability_grid_long_delay"
        },
        "graph": {
          "nodes": {},
          "graph": {}
        },
        "start_policies": [],
        "metrics_provider": "aind_behavior_vr_foraging_curricula.single_site.metrics.metrics_from_dataset"
      }
    },
    "graph": {
      "0": [
        [
          "aind_behavior_vr_foraging_curricula.single_site.curriculum.st_s_learn_to_stop_to_s_learn_to_choose",
          1
        ]
      ],
      "1": [
        [
          "aind_behavior_vr_foraging_curricula.single_site.curriculum.st_s_learn_to_choose_to_s_probability_grid_short_delay",
          2
        ]
      ],
      "2": [
        [
          "aind_behavior_vr_foraging_curricula.single_site.curriculum.st_s_probability_grid_short_delay_to_s_probability_grid_long_delay",
          3
        ]
      ],
      "3": []
    }
  }
}