<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:camunda="http://camunda.org/schema/1.0/bpmn" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.4.0">
  <bpmn:process id="VNFSnapShotActivity" name="VNFSnapShotActivity" isExecutable="true">
    <bpmn:startEvent id="VNFSnapShotActivity_Start">
      <bpmn:outgoing>SequenceFlow_06vhbci</bpmn:outgoing>
    </bpmn:startEvent>
    <bpmn:endEvent id="VNFSnapShotActivity_End">
      <bpmn:incoming>SequenceFlow_048qlth</bpmn:incoming>
      <bpmn:incoming>SequenceFlow_17zvrl5</bpmn:incoming>
    </bpmn:endEvent>
    <bpmn:sequenceFlow id="SequenceFlow_06vhbci" sourceRef="VNFSnapShotActivity_Start" targetRef="TaskPreProcessActivity" />
    <bpmn:sequenceFlow id="SequenceFlow_01312aj" sourceRef="TaskSnapShot" targetRef="ExclusiveGateway_0u10l8w" />
    <bpmn:serviceTask id="TaskSnapShot" name="VM SnapShot" camunda:type="external" camunda:topic="AppcService">
      <bpmn:incoming>SequenceFlow_041lqrr</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_01312aj</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:serviceTask id="TaskPreProcessActivity" name="PreProcess Activity" camunda:expression="${AppcOrchestratorPreProcessor.buildAppcTaskRequest(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)),&#34;Snapshot&#34;)}">
      <bpmn:incoming>SequenceFlow_06vhbci</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_0cf0riu</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:sequenceFlow id="SequenceFlow_0cf0riu" sourceRef="TaskPreProcessActivity" targetRef="ExclusiveGateway_0ivqnoj" />
    <bpmn:sequenceFlow id="SequenceFlow_041lqrr" sourceRef="TaskPreProcessVM" targetRef="TaskSnapShot" />
    <bpmn:exclusiveGateway id="ExclusiveGateway_0ivqnoj" name="Are there VMs?" default="SequenceFlow_048qlth">
      <bpmn:incoming>SequenceFlow_0cf0riu</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_0aachpx</bpmn:outgoing>
      <bpmn:outgoing>SequenceFlow_048qlth</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:sequenceFlow id="SequenceFlow_0aachpx" name="yes" sourceRef="ExclusiveGateway_0ivqnoj" targetRef="TaskPreProcessVM">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("vmIdListSize") > 0}]]></bpmn:conditionExpression>
    </bpmn:sequenceFlow>
    <bpmn:sequenceFlow id="SequenceFlow_048qlth" name="no" sourceRef="ExclusiveGateway_0ivqnoj" targetRef="VNFSnapShotActivity_End" />
    <bpmn:serviceTask id="TaskPreProcessVM" name="PreProcess VM" camunda:expression="${AppcOrchestratorPreProcessor.addVmInfoToAppcTaskRequest(InjectExecution.execute(execution, execution.getVariable(&#34;gBuildingBlockExecution&#34;)))}">
      <bpmn:incoming>SequenceFlow_0aachpx</bpmn:incoming>
      <bpmn:incoming>SequenceFlow_12eenwu</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_041lqrr</bpmn:outgoing>
    </bpmn:serviceTask>
    <bpmn:exclusiveGateway id="ExclusiveGateway_0u10l8w" name="Any more VMs?" default="SequenceFlow_17zvrl5">
      <bpmn:incoming>SequenceFlow_01312aj</bpmn:incoming>
      <bpmn:outgoing>SequenceFlow_17zvrl5</bpmn:outgoing>
      <bpmn:outgoing>SequenceFlow_12eenwu</bpmn:outgoing>
    </bpmn:exclusiveGateway>
    <bpmn:sequenceFlow id="SequenceFlow_17zvrl5" name="no" sourceRef="ExclusiveGateway_0u10l8w" targetRef="VNFSnapShotActivity_End" />
    <bpmn:sequenceFlow id="SequenceFlow_12eenwu" name="yes" sourceRef="ExclusiveGateway_0u10l8w" targetRef="TaskPreProcessVM">
      <bpmn:conditionExpression xsi:type="bpmn:tFormalExpression"><![CDATA[#{execution.getVariable("vmIndex") < execution.getVariable("vmIdListSize")}]]></bpmn:conditionExpression>
    </bpmn:sequenceFlow>
  </bpmn:process>
  <bpmndi:BPMNDiagram id="BPMNDiagram_1">
    <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="VNFSnapShotActivity">
      <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="VNFSnapShotActivity_Start">
        <dc:Bounds x="173" y="102" width="36" height="36" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="EndEvent_102xlzi_di" bpmnElement="VNFSnapShotActivity_End">
        <dc:Bounds x="1047" y="102" width="36" height="36" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="1065" y="138" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_06vhbci_di" bpmnElement="SequenceFlow_06vhbci">
        <di:waypoint xsi:type="dc:Point" x="209" y="120" />
        <di:waypoint xsi:type="dc:Point" x="255" y="120" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="232" y="105" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_01312aj_di" bpmnElement="SequenceFlow_01312aj">
        <di:waypoint xsi:type="dc:Point" x="850" y="120" />
        <di:waypoint xsi:type="dc:Point" x="911" y="120" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="881" y="105" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="ServiceTask_066idx4_di" bpmnElement="TaskSnapShot">
        <dc:Bounds x="750" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ServiceTask_0fti66x_di" bpmnElement="TaskPreProcessActivity">
        <dc:Bounds x="255" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0cf0riu_di" bpmnElement="SequenceFlow_0cf0riu">
        <di:waypoint xsi:type="dc:Point" x="355" y="120" />
        <di:waypoint xsi:type="dc:Point" x="430" y="120" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="393" y="105" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_041lqrr_di" bpmnElement="SequenceFlow_041lqrr">
        <di:waypoint xsi:type="dc:Point" x="667" y="120" />
        <di:waypoint xsi:type="dc:Point" x="750" y="120" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="709" y="105" width="0" height="0" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="ExclusiveGateway_0ivqnoj_di" bpmnElement="ExclusiveGateway_0ivqnoj" isMarkerVisible="true">
        <dc:Bounds x="430" y="95" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="417" y="59" width="76" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_0aachpx_di" bpmnElement="SequenceFlow_0aachpx">
        <di:waypoint xsi:type="dc:Point" x="480" y="120" />
        <di:waypoint xsi:type="dc:Point" x="567" y="120" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="515" y="105" width="18" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_048qlth_di" bpmnElement="SequenceFlow_048qlth">
        <di:waypoint xsi:type="dc:Point" x="455" y="145" />
        <di:waypoint xsi:type="dc:Point" x="455" y="243" />
        <di:waypoint xsi:type="dc:Point" x="1065" y="243" />
        <di:waypoint xsi:type="dc:Point" x="1065" y="138" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="754" y="228" width="12" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNShape id="ServiceTask_12efz54_di" bpmnElement="TaskPreProcessVM">
        <dc:Bounds x="567" y="80" width="100" height="80" />
      </bpmndi:BPMNShape>
      <bpmndi:BPMNShape id="ExclusiveGateway_0u10l8w_di" bpmnElement="ExclusiveGateway_0u10l8w" isMarkerVisible="true">
        <dc:Bounds x="911" y="95" width="50" height="50" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="897" y="145" width="78" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNShape>
      <bpmndi:BPMNEdge id="SequenceFlow_17zvrl5_di" bpmnElement="SequenceFlow_17zvrl5">
        <di:waypoint xsi:type="dc:Point" x="961" y="120" />
        <di:waypoint xsi:type="dc:Point" x="1047" y="120" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="998" y="95" width="12" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
      <bpmndi:BPMNEdge id="SequenceFlow_12eenwu_di" bpmnElement="SequenceFlow_12eenwu">
        <di:waypoint xsi:type="dc:Point" x="936" y="95" />
        <di:waypoint xsi:type="dc:Point" x="936" y="-10" />
        <di:waypoint xsi:type="dc:Point" x="617" y="-10" />
        <di:waypoint xsi:type="dc:Point" x="617" y="80" />
        <bpmndi:BPMNLabel>
          <dc:Bounds x="768" y="-25" width="18" height="12" />
        </bpmndi:BPMNLabel>
      </bpmndi:BPMNEdge>
    </bpmndi:BPMNPlane>
  </bpmndi:BPMNDiagram>
</bpmn:definitions>