<?xml version='1.0' encoding='UTF-8'?>
<AST>
  <HeaderNode startPos="0,0,0" endPos="0,0,0">
    <VariableTable startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="0" name="groupedByFirstName" startPos="2,13,14" endPos="2,31,32"/>
      <NameSlot slot="1" name="in0" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="2" name="$" startPos="0,0,0" endPos="0,0,0"/>
      <NameSlot slot="3" name="$$" startPos="2,34,35" endPos="2,34,35"/>
      <NameSlot slot="4" name="groupedBySalary" startPos="3,13,92" endPos="3,28,107"/>
      <NameSlot slot="5" name="students" startPos="4,13,209" endPos="4,21,217"/>
      <NameSlot slot="6" name="firstName" startPos="5,21,330" endPos="5,30,339"/>
      <NameSlot slot="7" name="lastName" startPos="5,46,355" endPos="5,54,363"/>
    </VariableTable>
    <VariableTable startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="0" name="dw::Core" startPos="0,0,0" endPos="0,0,0"/>
    </VariableTable>
    <ExternalBindings startPos="0,0,0" endPos="0,0,0">
      <NameSlot slot="1" name="in0" startPos="0,0,0" endPos="0,0,0"/>
    </ExternalBindings>
    <VersionDirective startPos="0,0,0" endPos="0,0,0">
      <VersionMajor startPos="0,0,0" endPos="0,0,0"/>
      <VersionMinor startPos="0,0,0" endPos="0,0,0"/>
    </VersionDirective>
  </HeaderNode>
  <ObjectNode startPos="1,1,0" endPos="7,2,540">
    <KeyValuePairNode startPos="2,3,4" endPos="2,77,78">
      <LiteralKeyNode startPos="2,3,4" endPos="2,4,5">
        <StringNode startPos="2,3,4" endPos="2,4,5">a</StringNode>
      </LiteralKeyNode>
      <UsingNode startPos="2,6,7" endPos="2,77,78">
        <VarDirective startPos="0,0,0" endPos="0,0,0">
          <NameSlot slot="0" name="groupedByFirstName" startPos="2,13,14" endPos="2,31,32"/>
          <FunctionCallNode startPos="2,34,35" endPos="2,57,58">
            <VariableReferenceNode startPos="2,38,39" endPos="2,45,46"/>
            <VariableReferenceNode startPos="2,34,35" endPos="2,37,38"/>
            <DynamicFunctionNode startPos="2,46,47" endPos="2,57,58">
              <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="2,34,35" endPos="2,34,35">
                <NameSlot slot="2" name="$" startPos="2,34,35" endPos="2,34,35"/>
                <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                  <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                </LiteralTypeNode>
              </FunctionParameterNode>
              <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="2,34,35" endPos="2,34,35">
                <NameSlot slot="3" name="$$" startPos="2,34,35" endPos="2,34,35"/>
                <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                  <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                </LiteralTypeNode>
              </FunctionParameterNode>
              <NullSafeNode startPos="2,46,47" endPos="2,57,58">
                <BinaryOpNode name="Value Selector" startPos="2,46,47" endPos="2,57,58">
                  <VariableReferenceNode startPos="2,46,47" endPos="2,47,48"/>
                  <LiteralNameNode startPos="2,48,49" endPos="2,57,58">firstName</LiteralNameNode>
                </BinaryOpNode>
              </NullSafeNode>
            </DynamicFunctionNode>
          </FunctionCallNode>
        </VarDirective>
        <VariableReferenceNode startPos="2,59,60" endPos="2,77,78"/>
      </UsingNode>
    </KeyValuePairNode>
    <KeyValuePairNode startPos="3,3,82" endPos="3,116,195">
      <LiteralKeyNode startPos="3,3,82" endPos="3,4,83">
        <StringNode startPos="3,3,82" endPos="3,4,83">b</StringNode>
      </LiteralKeyNode>
      <UsingNode startPos="3,6,85" endPos="3,116,195">
        <VarDirective startPos="0,0,0" endPos="0,0,0">
          <NameSlot slot="4" name="groupedBySalary" startPos="3,13,92" endPos="3,28,107"/>
          <FunctionCallNode startPos="3,31,110" endPos="3,99,178">
            <VariableReferenceNode startPos="3,83,162" endPos="3,90,169"/>
            <FunctionCallNode startPos="3,31,110" endPos="3,82,161">
              <VariableReferenceNode startPos="3,51,130" endPos="3,57,136"/>
              <FunctionCallNode startPos="3,31,110" endPos="3,50,129">
                <VariableReferenceNode startPos="3,35,114" endPos="3,38,117"/>
                <VariableReferenceNode startPos="3,31,110" endPos="3,34,113"/>
                <DynamicFunctionNode startPos="3,39,118" endPos="3,50,129">
                  <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="3,31,110" endPos="3,31,110">
                    <NameSlot slot="2" name="$" startPos="3,31,110" endPos="3,31,110"/>
                    <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                      <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                    </LiteralTypeNode>
                  </FunctionParameterNode>
                  <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="3,31,110" endPos="3,31,110">
                    <NameSlot slot="3" name="$$" startPos="3,31,110" endPos="3,31,110"/>
                    <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                      <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                    </LiteralTypeNode>
                  </FunctionParameterNode>
                  <NullSafeNode startPos="3,39,118" endPos="3,50,129">
                    <BinaryOpNode name="Value Selector" startPos="3,39,118" endPos="3,50,129">
                      <VariableReferenceNode startPos="3,39,118" endPos="3,40,119"/>
                      <LiteralNameNode startPos="3,41,120" endPos="3,50,129">firstName</LiteralNameNode>
                    </BinaryOpNode>
                  </NullSafeNode>
                </DynamicFunctionNode>
              </FunctionCallNode>
              <DynamicFunctionNode startPos="3,58,137" endPos="3,82,161">
                <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="3,31,110" endPos="3,31,110">
                  <NameSlot slot="2" name="$" startPos="3,31,110" endPos="3,31,110"/>
                  <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                    <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                  </LiteralTypeNode>
                </FunctionParameterNode>
                <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="3,31,110" endPos="3,31,110">
                  <NameSlot slot="3" name="$$" startPos="3,31,110" endPos="3,31,110"/>
                  <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                    <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                  </LiteralTypeNode>
                </FunctionParameterNode>
                <BinaryOpNode name="==" startPos="3,58,137" endPos="3,82,161">
                  <NullSafeNode startPos="3,58,137" endPos="3,68,147">
                    <BinaryOpNode name="Value Selector" startPos="3,58,137" endPos="3,68,147">
                      <VariableReferenceNode startPos="3,58,137" endPos="3,59,138"/>
                      <LiteralNameNode startPos="3,60,139" endPos="3,68,147">lastName</LiteralNameNode>
                    </BinaryOpNode>
                  </NullSafeNode>
                  <StringNode startPos="3,72,151" endPos="3,82,161">Emiliano</StringNode>
                </BinaryOpNode>
              </DynamicFunctionNode>
            </FunctionCallNode>
            <DynamicFunctionNode startPos="3,91,170" endPos="3,99,178">
              <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="3,31,110" endPos="3,31,110">
                <NameSlot slot="2" name="$" startPos="3,31,110" endPos="3,31,110"/>
                <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                  <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                </LiteralTypeNode>
              </FunctionParameterNode>
              <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="3,31,110" endPos="3,31,110">
                <NameSlot slot="3" name="$$" startPos="3,31,110" endPos="3,31,110"/>
                <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                  <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                </LiteralTypeNode>
              </FunctionParameterNode>
              <NullSafeNode startPos="3,91,170" endPos="3,99,178">
                <BinaryOpNode name="Value Selector" startPos="3,91,170" endPos="3,99,178">
                  <VariableReferenceNode startPos="3,91,170" endPos="3,92,171"/>
                  <LiteralNameNode startPos="3,93,172" endPos="3,99,178">salary</LiteralNameNode>
                </BinaryOpNode>
              </NullSafeNode>
            </DynamicFunctionNode>
          </FunctionCallNode>
        </VarDirective>
        <VariableReferenceNode startPos="3,101,180" endPos="3,116,195"/>
      </UsingNode>
    </KeyValuePairNode>
    <KeyValuePairNode startPos="4,3,199" endPos="4,112,308">
      <LiteralKeyNode startPos="4,3,199" endPos="4,4,200">
        <StringNode startPos="4,3,199" endPos="4,4,200">c</StringNode>
      </LiteralKeyNode>
      <UsingNode startPos="4,6,202" endPos="4,112,308">
        <VarDirective startPos="0,0,0" endPos="0,0,0">
          <NameSlot slot="5" name="students" startPos="4,13,209" endPos="4,21,217"/>
          <FunctionCallNode startPos="4,24,220" endPos="4,80,276">
            <VariableReferenceNode startPos="4,28,224" endPos="4,31,227"/>
            <VariableReferenceNode startPos="4,24,220" endPos="4,27,223"/>
            <DynamicFunctionNode startPos="4,32,228" endPos="4,80,276">
              <FunctionParameterNode materialize="true" typeRequiresMaterialize="false" startPos="4,24,220" endPos="4,24,220">
                <NameSlot slot="2" name="$" startPos="4,24,220" endPos="4,24,220"/>
                <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                  <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                </LiteralTypeNode>
              </FunctionParameterNode>
              <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="4,24,220" endPos="4,24,220">
                <NameSlot slot="3" name="$$" startPos="4,24,220" endPos="4,24,220"/>
                <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                  <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                </LiteralTypeNode>
              </FunctionParameterNode>
              <ObjectNode startPos="4,32,228" endPos="4,80,276">
                <KeyValuePairNode startPos="4,34,230" endPos="4,56,252">
                  <LiteralKeyNode startPos="4,34,230" endPos="4,43,239">
                    <StringNode startPos="4,34,230" endPos="4,43,239">firstName</StringNode>
                  </LiteralKeyNode>
                  <NullSafeNode startPos="4,45,241" endPos="4,56,252">
                    <BinaryOpNode name="Value Selector" startPos="4,45,241" endPos="4,56,252">
                      <VariableReferenceNode startPos="4,45,241" endPos="4,46,242"/>
                      <LiteralNameNode startPos="4,47,243" endPos="4,56,252">firstName</LiteralNameNode>
                    </BinaryOpNode>
                  </NullSafeNode>
                </KeyValuePairNode>
                <KeyValuePairNode startPos="4,58,254" endPos="4,78,274">
                  <LiteralKeyNode startPos="4,58,254" endPos="4,66,262">
                    <StringNode startPos="4,58,254" endPos="4,66,262">lastName</StringNode>
                  </LiteralKeyNode>
                  <NullSafeNode startPos="4,68,264" endPos="4,78,274">
                    <BinaryOpNode name="Value Selector" startPos="4,68,264" endPos="4,78,274">
                      <VariableReferenceNode startPos="4,68,264" endPos="4,69,265"/>
                      <LiteralNameNode startPos="4,70,266" endPos="4,78,274">lastName</LiteralNameNode>
                    </BinaryOpNode>
                  </NullSafeNode>
                </KeyValuePairNode>
              </ObjectNode>
            </DynamicFunctionNode>
          </FunctionCallNode>
        </VarDirective>
        <FunctionCallNode startPos="4,83,279" endPos="4,111,307">
          <VariableReferenceNode startPos="4,92,288" endPos="4,99,295"/>
          <VariableReferenceNode startPos="4,83,279" endPos="4,91,287"/>
          <DynamicFunctionNode startPos="4,100,296" endPos="4,111,307">
            <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="4,83,279" endPos="4,83,279">
              <NameSlot slot="2" name="$" startPos="4,83,279" endPos="4,83,279"/>
              <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                <TypeNode startPos="0,0,0" endPos="0,0,0"/>
              </LiteralTypeNode>
            </FunctionParameterNode>
            <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="4,83,279" endPos="4,83,279">
              <NameSlot slot="3" name="$$" startPos="4,83,279" endPos="4,83,279"/>
              <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                <TypeNode startPos="0,0,0" endPos="0,0,0"/>
              </LiteralTypeNode>
            </FunctionParameterNode>
            <NullSafeNode startPos="4,100,296" endPos="4,111,307">
              <BinaryOpNode name="Value Selector" startPos="4,100,296" endPos="4,111,307">
                <VariableReferenceNode startPos="4,100,296" endPos="4,101,297"/>
                <LiteralNameNode startPos="4,102,298" endPos="4,111,307">firstName</LiteralNameNode>
              </BinaryOpNode>
            </NullSafeNode>
          </DynamicFunctionNode>
        </FunctionCallNode>
      </UsingNode>
    </KeyValuePairNode>
    <KeyValuePairNode startPos="5,3,312" endPos="5,151,460">
      <LiteralKeyNode startPos="5,3,312" endPos="5,4,313">
        <StringNode startPos="5,3,312" endPos="5,4,313">d</StringNode>
      </LiteralKeyNode>
      <FunctionCallNode startPos="5,6,315" endPos="5,151,460">
        <VariableReferenceNode startPos="5,10,319" endPos="5,13,322"/>
        <VariableReferenceNode startPos="5,6,315" endPos="5,9,318"/>
        <DynamicFunctionNode startPos="5,14,323" endPos="5,151,460">
          <FunctionParameterNode materialize="true" typeRequiresMaterialize="false" startPos="5,6,315" endPos="5,6,315">
            <NameSlot slot="2" name="$" startPos="5,6,315" endPos="5,6,315"/>
            <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
              <TypeNode startPos="0,0,0" endPos="0,0,0"/>
            </LiteralTypeNode>
          </FunctionParameterNode>
          <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="5,6,315" endPos="5,6,315">
            <NameSlot slot="3" name="$$" startPos="5,6,315" endPos="5,6,315"/>
            <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
              <TypeNode startPos="0,0,0" endPos="0,0,0"/>
            </LiteralTypeNode>
          </FunctionParameterNode>
          <UsingNode startPos="5,14,323" endPos="5,151,460">
            <VarDirective startPos="0,0,0" endPos="0,0,0">
              <NameSlot slot="6" name="firstName" startPos="5,21,330" endPos="5,30,339"/>
              <NullSafeNode startPos="5,33,342" endPos="5,44,353">
                <BinaryOpNode name="Value Selector" startPos="5,33,342" endPos="5,44,353">
                  <VariableReferenceNode startPos="5,33,342" endPos="5,34,343"/>
                  <LiteralNameNode startPos="5,35,344" endPos="5,44,353">firstName</LiteralNameNode>
                </BinaryOpNode>
              </NullSafeNode>
            </VarDirective>
            <VarDirective startPos="0,0,0" endPos="0,0,0">
              <NameSlot slot="7" name="lastName" startPos="5,46,355" endPos="5,54,363"/>
              <NullSafeNode startPos="5,57,366" endPos="5,67,376">
                <BinaryOpNode name="Value Selector" startPos="5,57,366" endPos="5,67,376">
                  <VariableReferenceNode startPos="5,57,366" endPos="5,58,367"/>
                  <LiteralNameNode startPos="5,59,368" endPos="5,67,376">lastName</LiteralNameNode>
                </BinaryOpNode>
              </NullSafeNode>
            </VarDirective>
            <ObjectNode startPos="5,69,378" endPos="5,151,460">
              <KeyValuePairNode startPos="5,71,380" endPos="5,91,400">
                <LiteralKeyNode startPos="5,71,380" endPos="5,80,389">
                  <StringNode startPos="5,71,380" endPos="5,80,389">firstName</StringNode>
                </LiteralKeyNode>
                <VariableReferenceNode startPos="5,82,391" endPos="5,91,400"/>
              </KeyValuePairNode>
              <KeyValuePairNode startPos="5,93,402" endPos="5,111,420">
                <LiteralKeyNode startPos="5,93,402" endPos="5,101,410">
                  <StringNode startPos="5,93,402" endPos="5,101,410">lastName</StringNode>
                </LiteralKeyNode>
                <VariableReferenceNode startPos="5,103,412" endPos="5,111,420"/>
              </KeyValuePairNode>
              <KeyValuePairNode startPos="5,113,422" endPos="5,149,458">
                <LiteralKeyNode startPos="5,113,422" endPos="5,121,430">
                  <StringNode startPos="5,113,422" endPos="5,121,430">fullName</StringNode>
                </LiteralKeyNode>
                <ChainedExecutionNode startPos="5,123,432" endPos="5,149,458">
                  <VariableReferenceNode startPos="5,123,432" endPos="5,132,441"/>
                  <StringNode startPos="5,135,444" endPos="5,138,447"> </StringNode>
                  <VariableReferenceNode startPos="5,141,450" endPos="5,149,458"/>
                </ChainedExecutionNode>
              </KeyValuePairNode>
            </ObjectNode>
          </UsingNode>
        </DynamicFunctionNode>
      </FunctionCallNode>
    </KeyValuePairNode>
    <KeyValuePairNode startPos="6,3,464" endPos="6,77,538">
      <LiteralKeyNode startPos="6,3,464" endPos="6,4,465">
        <StringNode startPos="6,3,464" endPos="6,4,465">e</StringNode>
      </LiteralKeyNode>
      <UsingNode startPos="6,6,467" endPos="6,77,538">
        <VarDirective startPos="0,0,0" endPos="0,0,0">
          <NameSlot slot="0" name="groupedByFirstName" startPos="6,13,474" endPos="6,31,492"/>
          <FunctionCallNode startPos="6,34,495" endPos="6,57,518">
            <VariableReferenceNode startPos="6,38,499" endPos="6,45,506"/>
            <VariableReferenceNode startPos="6,34,495" endPos="6,37,498"/>
            <DynamicFunctionNode startPos="6,46,507" endPos="6,57,518">
              <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="6,34,495" endPos="6,34,495">
                <NameSlot slot="2" name="$" startPos="6,34,495" endPos="6,34,495"/>
                <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                  <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                </LiteralTypeNode>
              </FunctionParameterNode>
              <FunctionParameterNode materialize="false" typeRequiresMaterialize="false" startPos="6,34,495" endPos="6,34,495">
                <NameSlot slot="3" name="$$" startPos="6,34,495" endPos="6,34,495"/>
                <LiteralTypeNode startPos="0,0,0" endPos="0,0,0">
                  <TypeNode startPos="0,0,0" endPos="0,0,0"/>
                </LiteralTypeNode>
              </FunctionParameterNode>
              <NullSafeNode startPos="6,46,507" endPos="6,57,518">
                <BinaryOpNode name="Value Selector" startPos="6,46,507" endPos="6,57,518">
                  <VariableReferenceNode startPos="6,46,507" endPos="6,47,508"/>
                  <LiteralNameNode startPos="6,48,509" endPos="6,57,518">firstName</LiteralNameNode>
                </BinaryOpNode>
              </NullSafeNode>
            </DynamicFunctionNode>
          </FunctionCallNode>
        </VarDirective>
        <VariableReferenceNode startPos="6,59,520" endPos="6,77,538"/>
      </UsingNode>
    </KeyValuePairNode>
  </ObjectNode>
</AST>