(
(let $1 (DataType 'String))
(let $2 '('"value" $1))
(let $3 (StructType '('"key" $1) '('"subkey" $1) $2))
(let $4 '('('"_logical_id" '12769) '('"_id" '"9bedbb37-ed6925be-71d2323a-ee68cd12") '('"_wide_channels" $3)))
(let $5 (DqPhyStage '() (lambda '() (block '(
  (let $19 '@@["StructType";[["key";["DataType";"String"]];["subkey";["DataType";"String"]];["value";["DataType";"String"]]]]@@)
  (let $20 (YqlRowSpec '('NativeYtTypeFlags '0) '('StrictSchema '1) '('UniqueKeys '0) '('Type $19)))
  (let $21 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" '"false")))))
  (let $22 (YtStat '('Id '"Input") '('RecordsCount '"30") '('DataSize '"1170") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
  (let $23 (YtTable '"Input" $20 $21 $22 '() (Void) (Void) '"/Root/plato"))
  (let $24 '('"key" '"subkey" '"value"))
  (let $25 (YtReadTable! world (DataSource '"yt" '"/Root/plato") '((YtSection '((YtPath $23 $24 (Void) (Void))) '()))))
  (return (FromFlow (WideFilter (DqReadWideWrap $25 '()) (lambda '($26 $27 $28) (== $26 (String '1))))))
))) $4))
(let $6 (DqCnHashShuffle (TDqOutput $5 '0) '('0) '0 '"HashV2"))
(let $7 (ListType $1))
(let $8 (DataType 'Uint64))
(let $9 (OptionalType $8))
(let $10 '"agglist_distinct1")
(let $11 (StructType '('"agglist2" $7) '($10 $7) '('"count1" $8) '('"sum1" $9) '('"sum2" $9) $2))
(let $12 '('('"_logical_id" '13246) '('"_id" '"4bbe3af2-639922a0-136429df-4a6f6d5a") '('"_wide_channels" $11)))
(let $13 (DqPhyStage '($6) (lambda '($29) (block '(
  (let $30 (NarrowSqueezeToDict (ToFlow $29) (lambda '($35 $36 $37) $35) (lambda '($38 $39 $40) (AsStruct '('"key" $38) '('"subkey" $39) '('"value" $40))) '('Auto 'Many)))
  (let $31 (Bool 'true))
  (let $32 (Chopper (OrderedFlatMap $30 (lambda '($41) (OrderedFlatMap (DictPayloads $41) (lambda '($42) (Sort $42 $31 (lambda '($43) (Member $43 '"value"))))))) (lambda '($44) (Member $44 '"key")) (lambda '($45 $46) (AggrNotEquals $45 (Member $46 '"key"))) (lambda '($47 $48) (block '(
    (let $49 (Uint64 '"2"))
    (let $50 (lambda '($103) (Member $103 'AggregateList0)))
    (let $51 (List $7))
    (let $52 (Uint64 '0))
    (let $53 (lambda '($104) (Member $104 'AggregateListDistinct0)))
    (let $54 (lambda '($105) (Member $105 'Count0)))
    (let $55 (lambda '($106) (Just (Member $106 'Sum0))))
    (let $56 (Nothing $9))
    (let $57 (lambda '($107) (Member $107 'Sum1)))
    (let $58 (DataType 'Uint32))
    (let $59 (ResourceType '"Set.SetResource.String"))
    (let $60 '($59))
    (let $61 '($1))
    (let $62 '('('"strict")))
    (let $63 (DependsOn (Uint32 '1)))
    (let $64 (OptionalType $58))
    (let $65 (lambda '($108) (Just (SafeCast $108 $8))))
    (let $66 (TupleType (TupleType $59) (StructType) $1))
    (let $67 (CallableType '() '($7) $60))
    (let $68 (Udf '"Set.GetResult" (Void) $66 '"" $67 (VoidType) '"" $62))
    (let $69 (Chain1Map $48 (lambda '($70) (block '(
      (let $71 (StructType '('AggregateList0 $7) '('AggregateListDistinct0 $7) '('Count0 $8) '('Sum0 $8) '('Sum1 $9)))
      (let $72 (Uint64 '"3"))
      (let $73 (DependsOn $70))
      (let $74 (QueueCreate $71 $72 $72 $73))
      (let $75 (QueuePeek $74 $49 $73))
      (let $76 (IfPresent $75 $50 $51))
      (let $77 '('AggregateList0 $76))
      (let $78 (QueuePeek $74 $52 $73))
      (let $79 (IfPresent $78 $53 $51))
      (let $80 '('AggregateListDistinct0 $79))
      (let $81 (IfPresent $78 $54 $52))
      (let $82 '('Count0 $81))
      (let $83 (IfPresent $78 $55 $56))
      (let $84 '('Sum0 $83))
      (let $85 (IfPresent $75 $57 $56))
      (let $86 '('Sum1 $85))
      (let $87 (Member $70 '"subkey"))
      (let $88 (AsStruct $77 $80 $82 $84 $86 '('"key" (Member $70 '"key")) '('"subkey" $87) '('"value" (Member $70 '"value"))))
      (let $89 (AsStruct $77 $80 $82 $84 $86))
      (let $90 '('AggregateList0 (AsList $87)))
      (let $91 (TupleType (TupleType $1 $58) (StructType) $1))
      (let $92 (CallableType '() $60 $61 '($58)))
      (let $93 (Udf '"Set.Create" (Void) $91 '"" $92 (VoidType) '"" $62))
      (let $94 (NamedApply $93 '($87 (Uint32 '0)) (AsStruct) $63))
      (let $95 '('Count0 (Uint64 '1)))
      (let $96 (SafeCast $87 $64))
      (let $97 '('Sum0 (SafeCast (Unwrap $96) $8)))
      (let $98 (IfPresent $96 $65 $56))
      (let $99 '('Sum1 $98))
      (let $100 (AsStruct $90 '('AggregateListDistinct0 $94) $95 $97 $99))
      (let $101 (AsStruct $90 '('AggregateListDistinct0 (Apply $68 $94)) $95 $97 $99))
      (let $102 (Seq $89 $100 $101 '($100 (QueuePush (QueuePop $74) $101))))
      (return '($88 $102))
    ))) (lambda '($109 $110) (block '(
      (let $111 (Nth $110 '1))
      (let $112 (Nth $111 '1))
      (let $113 (DependsOn $109))
      (let $114 (QueuePeek $112 $49 $113))
      (let $115 (IfPresent $114 $50 $51))
      (let $116 '('AggregateList0 $115))
      (let $117 (QueuePeek $112 $52 $113))
      (let $118 (IfPresent $117 $53 $51))
      (let $119 '('AggregateListDistinct0 $118))
      (let $120 (IfPresent $117 $54 $52))
      (let $121 '('Count0 $120))
      (let $122 (IfPresent $117 $55 $56))
      (let $123 '('Sum0 $122))
      (let $124 (IfPresent $114 $57 $56))
      (let $125 '('Sum1 $124))
      (let $126 (Member $109 '"subkey"))
      (let $127 (AsStruct $116 $119 $121 $123 $125 '('"key" (Member $109 '"key")) '('"subkey" $126) '('"value" (Member $109 '"value"))))
      (let $128 (AsStruct $116 $119 $121 $123 $125))
      (let $129 (Nth $111 '0))
      (let $130 '('AggregateList0 (Insert (Member $129 'AggregateList0) $126)))
      (let $131 (TupleType (TupleType $59 $1) (StructType) $1))
      (let $132 (CallableType '() $60 $60 $61))
      (let $133 (Udf '"Set.AddValue" (Void) $131 '"" $132 (VoidType) '"" $62))
      (let $134 (NamedApply $133 '((Member $129 'AggregateListDistinct0) $126) (AsStruct) $63))
      (let $135 '('Count0 (Inc (Member $129 'Count0))))
      (let $136 (SafeCast $126 $64))
      (let $137 '('Sum0 (AggrAdd (SafeCast (Unwrap $136) $8) (Member $129 'Sum0))))
      (let $138 (IfPresent $136 $65 $56))
      (let $139 '('Sum1 (AggrAdd $138 (Member $129 'Sum1))))
      (let $140 (AsStruct $130 '('AggregateListDistinct0 $134) $135 $137 $139))
      (let $141 (AsStruct $130 '('AggregateListDistinct0 (Apply $68 $134)) $135 $137 $139))
      (let $142 (Seq $128 $140 $141 '($140 (QueuePush (QueuePop $112) $141))))
      (return '($127 $142))
    )))))
    (return (OrderedMap $69 (lambda '($143) (block '(
      (let $144 (Nth $143 '0))
      (return (AsStruct '('AggregateList0 (Member $144 'AggregateList0)) '('AggregateListDistinct0 (Member $144 'AggregateListDistinct0)) '('Count0 (Member $144 'Count0)) '('Sum0 (Member $144 'Sum0)) '('Sum1 (Member $144 'Sum1)) '('"value" (Member $144 '"value"))))
    )))))
  )))))
  (let $33 (Sort (Map $32 (lambda '($145) (block '(
    (let $146 (Sort (Member $145 'AggregateListDistinct0) $31 (lambda '($147) $147)))
    (return (AsStruct '('"agglist2" (Member $145 'AggregateList0)) '($10 $146) '('"count1" (Member $145 'Count0)) '('"sum1" (Member $145 'Sum0)) '('"sum2" (Member $145 'Sum1)) '('"value" (Member $145 '"value"))))
  )))) $31 (lambda '($148) (Member $148 '"value"))))
  (let $34 (lambda '($149) (Member $149 '"agglist2") (Member $149 $10) (Member $149 '"count1") (Member $149 '"sum1") (Member $149 '"sum2") (Member $149 '"value")))
  (return (FromFlow (ExpandMap $33 $34)))
))) $12))
(let $14 (DqCnMerge (TDqOutput $13 '0) '('('"5" '"Asc"))))
(let $15 (DqPhyStage '($14) (lambda '($150) (FromFlow (NarrowMap (ToFlow $150) (lambda '($151 $152 $153 $154 $155 $156) (AsStruct '('"agglist2" $151) '($10 $152) '('"count1" $153) '('"sum1" $154) '('"sum2" $155) '('"value" $156)))))) '('('"_logical_id" '13258) '('"_id" '"2db8301b-6b0906d5-ff07b048-9fb7b2b8"))))
(let $16 '($5 $13 $15))
(let $17 '('"value" '"sum1" '"count1" $10 '"sum2" '"agglist2"))
(let $18 (DqCnResult (TDqOutput $15 '0) $17))
(return (KqpPhysicalQuery '((KqpPhysicalTx $16 '($18) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $11) '0 '0)) '('('"type" '"query"))))
)
