{
  "$id": "1",
  "$type": "NINA.Sequencer.Container.SequenceRootContainer, NINA.Sequencer",
  "Strategy": {
    "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
  },
  "Name": "AstroPM - Single Night with Safety (Example)",
  "Conditions": {
    "$id": "2",
    "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
    "$values": []
  },
  "IsExpanded": true,
  "Items": {
    "$id": "3",
    "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
    "$values": [
      {
        "$id": "4",
        "$type": "NINA.Sequencer.Container.StartAreaContainer, NINA.Sequencer",
        "Strategy": {
          "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
        },
        "Name": "Start",
        "Conditions": {
          "$id": "5",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "IsExpanded": true,
        "Items": {
          "$id": "6",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
          "$values": [
            {
              "$id": "7",
              "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
              "Text": "=== SINGLE-NIGHT TEMPLATE - WITH SAFETY MONITOR ===  REQUIRED: the Astro PM plugin (provides 'AstroPM Refresh Cloud Targets', 'Astro PM Nightly Loop', and 'Astro PM Instructions') AND a connected Safety Monitor device - without a safety monitor the imaging branch never runs (use the 'Basic' template if you don't have one). Everything else here is built-in NINA; no Sequencer Powerups or other plugins needed.   START (runs once): unpark the mount and pull tonight's plan from the cloud. ",
              "Parent": {
                "$ref": "4"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "8",
              "$type": "NINA.Sequencer.SequenceItem.Telescope.UnparkScope, NINA.Sequencer",
              "Parent": {
                "$ref": "4"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "9",
              "$type": "AstroPM.NINA.Plugin.Instructions.RefreshCloudTargets, AstroPM.NINA.Plugin",
              "Parent": {
                "$ref": "4"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            }
          ]
        },
        "Triggers": {
          "$id": "10",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "Parent": {
          "$ref": "1"
        },
        "ErrorBehavior": 0,
        "Attempts": 1
      },
      {
        "$id": "11",
        "$type": "NINA.Sequencer.Container.TargetAreaContainer, NINA.Sequencer",
        "Strategy": {
          "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
        },
        "Name": "Targets",
        "Conditions": {
          "$id": "12",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "IsExpanded": true,
        "Items": {
          "$id": "13",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
          "$values": [
            {
              "$id": "14",
              "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
              "Strategy": {
                "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
              },
              "Name": "Astro PM Nightly Loop",
              "Conditions": {
                "$id": "15",
                "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                "$values": [
                  {
                    "$id": "16",
                    "$type": "AstroPM.NINA.Plugin.Instructions.AstroPMLoopCondition, AstroPM.NINA.Plugin",
                    "Parent": {
                      "$ref": "14"
                    }
                  }
                ]
              },
              "IsExpanded": true,
              "Items": {
                "$id": "17",
                "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                "$values": [
                  {
                    "$id": "18",
                    "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                    "Text": "=== NIGHTLY LOOP ===  The 'Astro PM Nightly Loop' condition keeps this container repeating while tonight's Astro PM schedule still has target blocks left to image. Each pass runs exactly ONE of the two branches below, chosen by your Safety Monitor: image WHILE SAFE, or secure-and-wait WHILE UNSAFE. When the schedule is exhausted (or dark time runs out) the loop exits to the End section. (To run unattended across multiple nights, wrap this loop inside an 'Astro PM Daily Loop'.)",
                    "Parent": {
                      "$ref": "14"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "19",
                    "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
                    "Strategy": {
                      "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                    },
                    "Name": "While Safe - Image",
                    "Conditions": {
                      "$id": "20",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                      "$values": [
                        {
                          "$id": "21",
                          "$type": "NINA.Sequencer.Conditions.SafetyMonitorCondition, NINA.Sequencer",
                          "Parent": {
                            "$ref": "19"
                          }
                        }
                      ]
                    },
                    "IsExpanded": true,
                    "Items": {
                      "$id": "22",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                      "$values": [
                        {
                          "$id": "23",
                          "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                          "Text": "=== WHILE SAFE ===  Runs only while the Safety Monitor reports SAFE. Unpark and open the dome, then hand control to 'Astro PM Instructions' - that single instruction does ALL the work for the night: it builds the schedule, slews, plate-solves/centers, rotates, selects filters & exposures, dithers, and images per your Astro PM simulation plan.",
                          "Parent": {
                            "$ref": "19"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "24",
                          "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                          "Text": "=== TRIGGERS - this container's Triggers area (above) ===  Astro PM automatically runs any triggers attached to THIS 'While Safe' container (the one holding 'Astro PM Instructions'), evaluating them between exposures just like a normal NINA imaging container. A Meridian Flip trigger is already included as a starting point. Add whatever else your rig needs: Autofocus (After Filter Change / After Time / After HFR Increase), Center After Drift, etc.  Triggers added to OTHER containers won't be run by Astro PM Instructions.",
                          "Parent": {
                            "$ref": "19"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "25",
                          "$type": "NINA.Sequencer.SequenceItem.Telescope.UnparkScope, NINA.Sequencer",
                          "Parent": {
                            "$ref": "19"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "26",
                          "$type": "NINA.Sequencer.SequenceItem.Dome.OpenDomeShutter, NINA.Sequencer",
                          "Parent": {
                            "$ref": "19"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "27",
                          "$type": "AstroPM.NINA.Plugin.Instructions.TargetInstructionSet, AstroPM.NINA.Plugin",
                          "Strategy": {
                            "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                          },
                          "Name": "Astro PM Instructions",
                          "Conditions": {
                            "$id": "28",
                            "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                            "$values": []
                          },
                          "IsExpanded": true,
                          "Items": {
                            "$id": "29",
                            "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                            "$values": []
                          },
                          "Triggers": {
                            "$id": "30",
                            "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                            "$values": []
                          },
                          "Parent": {
                            "$ref": "19"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        }
                      ]
                    },
                    "Triggers": {
                      "$id": "31",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                      "$values": [
                        {
                          "$id": "32",
                          "$type": "NINA.Sequencer.Trigger.MeridianFlip.MeridianFlipTrigger, NINA.Sequencer",
                          "Parent": {
                            "$ref": "19"
                          },
                          "TriggerRunner": {
                            "$id": "33",
                            "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
                            "Strategy": {
                              "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                            },
                            "Name": null,
                            "Conditions": {
                              "$id": "34",
                              "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                              "$values": []
                            },
                            "IsExpanded": true,
                            "Items": {
                              "$id": "35",
                              "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                              "$values": []
                            },
                            "Triggers": {
                              "$id": "36",
                              "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                              "$values": []
                            },
                            "Parent": null,
                            "ErrorBehavior": 0,
                            "Attempts": 1
                          }
                        }
                      ]
                    },
                    "Parent": {
                      "$ref": "14"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "37",
                    "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
                    "Strategy": {
                      "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                    },
                    "Name": "While Unsafe - Secure & Wait",
                    "Conditions": {
                      "$id": "38",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                      "$values": [
                        {
                          "$id": "39",
                          "$type": "NINA.Sequencer.Conditions.LoopWhileUnsafe, NINA.Sequencer",
                          "Parent": {
                            "$ref": "37"
                          }
                        }
                      ]
                    },
                    "IsExpanded": true,
                    "Items": {
                      "$id": "40",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                      "$values": [
                        {
                          "$id": "41",
                          "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                          "Text": "=== WHILE UNSAFE ===  Runs (and repeats) only while the Safety Monitor reports UNSAFE - clouds, rain, high wind, etc. Close the dome, park the mount, and wait 5 minutes before re-checking. Astro PM keeps every remaining exposure in its schedule, so when conditions clear the loop returns to the 'While Safe' branch and imaging resumes right where it left off.",
                          "Parent": {
                            "$ref": "37"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "42",
                          "$type": "NINA.Sequencer.SequenceItem.Dome.CloseDomeShutter, NINA.Sequencer",
                          "Parent": {
                            "$ref": "37"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "43",
                          "$type": "NINA.Sequencer.SequenceItem.Telescope.ParkScope, NINA.Sequencer",
                          "Parent": {
                            "$ref": "37"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        },
                        {
                          "$id": "44",
                          "$type": "NINA.Sequencer.SequenceItem.Utility.WaitForTimeSpan, NINA.Sequencer",
                          "Time": 300.0,
                          "Parent": {
                            "$ref": "37"
                          },
                          "ErrorBehavior": 0,
                          "Attempts": 1
                        }
                      ]
                    },
                    "Triggers": {
                      "$id": "45",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                      "$values": []
                    },
                    "Parent": {
                      "$ref": "14"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  }
                ]
              },
              "Triggers": {
                "$id": "46",
                "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                "$values": []
              },
              "Parent": {
                "$ref": "11"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            }
          ]
        },
        "Triggers": {
          "$id": "47",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "Parent": {
          "$ref": "1"
        },
        "ErrorBehavior": 0,
        "Attempts": 1
      },
      {
        "$id": "48",
        "$type": "NINA.Sequencer.Container.EndAreaContainer, NINA.Sequencer",
        "Strategy": {
          "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
        },
        "Name": "End",
        "Conditions": {
          "$id": "49",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "IsExpanded": true,
        "Items": {
          "$id": "50",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
          "$values": [
            {
              "$id": "51",
              "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
              "Text": "=== END (runs once) ===  Reached when the Nightly Loop finishes - every target's exposures are complete or there's no safe dark time left tonight. Park the mount and close the dome to leave the observatory secure. Tip: add 'Warm Camera' and a flats routine here if you want them at end of night.",
              "Parent": {
                "$ref": "48"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "52",
              "$type": "NINA.Sequencer.SequenceItem.Telescope.ParkScope, NINA.Sequencer",
              "Parent": {
                "$ref": "48"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "53",
              "$type": "NINA.Sequencer.SequenceItem.Dome.CloseDomeShutter, NINA.Sequencer",
              "Parent": {
                "$ref": "48"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            }
          ]
        },
        "Triggers": {
          "$id": "54",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "Parent": {
          "$ref": "1"
        },
        "ErrorBehavior": 0,
        "Attempts": 1
      }
    ]
  },
  "Triggers": {
    "$id": "55",
    "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
    "$values": []
  },
  "Parent": null,
  "ErrorBehavior": 0,
  "Attempts": 1
}