(
(let $1 (DataSource '"yt" '"/Root/plato"))
(let $2 '('NativeYtTypeFlags '0))
(let $3 '('StrictSchema '1))
(let $4 '('UniqueKeys '0))
(let $5 (Bool 'true))
(let $6 '('SortDirections '($5 $5)))
(let $7 '('"k2" '"v2"))
(let $8 (DataType 'String))
(let $9 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0)))
(let $10 '('ChunkCount '1))
(let $11 '('ModifyTime '0))
(let $12 '('Revision '0))
(let $13 '('"k2" $8))
(let $14 '('"u2" $8))
(let $15 '('"v2" $8))
(let $16 (StructType $13 $14 $15))
(let $17 '('('"_logical_id" '1826) '('"_id" '"37bae95c-67b2d228-1cc1bede-bc032644") '('"_wide_channels" $16)))
(let $18 (DqPhyStage '() (lambda '() (block '(
  (let $56 '@@["StructType";[["k2";["DataType";"String"]];["v2";["DataType";"String"]];["u2";["DataType";"String"]]]]@@)
  (let $57 (YqlRowSpec $2 $3 $4 '('Type $56) $6 '('SortMembers $7) '('SortedBy $7) '('SortedByTypes '($8 $8))))
  (let $58 (YtStat '('Id '"Input2") '('RecordsCount '"16") '('DataSize '"518") $10 $11 $12))
  (let $59 (YtTable '"Input2" $57 $9 $58 '() (Void) (Void) '"/Root/plato"))
  (let $60 '('"k2" '"u2" '"v2"))
  (let $61 (YtReadTable! world $1 '((YtSection '((YtPath $59 $60 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $61 '())))
))) $17))
(let $19 '('"k1" '"v1"))
(let $20 (OptionalType $8))
(let $21 '('"k1" $8))
(let $22 '('"u1" $8))
(let $23 '('"v1" $20))
(let $24 (StructType $21 $22 $23))
(let $25 '('"_wide_channels" $24))
(let $26 '('('"_logical_id" '1853) '('"_id" '"41e76ebb-2a741115-4900d33a-cc0ffbb") $25))
(let $27 (DqPhyStage '() (lambda '() (block '(
  (let $62 '@@["StructType";[["k1";["DataType";"String"]];["v1";["OptionalType";["DataType";"String"]]];["u1";["DataType";"String"]]]]@@)
  (let $63 (YqlRowSpec $2 $3 $4 '('Type $62) $6 '('SortMembers $19) '('SortedBy $19) '('SortedByTypes '($8 $20))))
  (let $64 (YtStat '('Id '"Input1") '('RecordsCount '"23") '('DataSize '"745") $10 $11 $12))
  (let $65 (YtTable '"Input1" $63 $9 $64 '() (Void) (Void) '"/Root/plato"))
  (let $66 '('"k1" '"u1" '"v1"))
  (let $67 (YtReadTable! world $1 '((YtSection '((YtPath $65 $66 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $67 '())))
))) $26))
(let $28 '('0 '"2"))
(let $29 (DqCnHashShuffle (TDqOutput $27 '0) $28 '0 '"HashV2"))
(let $30 '('Auto 'Many))
(let $31 '('"_partition_mode" '"aggregate"))
(let $32 '('('"_logical_id" '2013) '('"_id" '"c5d33cc1-98f4c703-8c03f7fb-a1de894f") $31 $25))
(let $33 (DqPhyStage '($29) (lambda '($68) (block '(
  (let $69 (NarrowSqueezeToDict (ToFlow $68) (lambda '($72 $73 $74) '($72 $74)) (lambda '($75 $76 $77) (AsStruct '('"k1" $75) '('"u1" $76) '('"v1" $77))) $30))
  (let $70 (Condense1 (OrderedFlatMap $69 (lambda '($78) (OrderedFlatMap (DictPayloads $78) (lambda '($79) $79)))) (lambda '($80) $80) (lambda '($81 $82) (Or (AggrNotEquals (Member $81 '"k1") (Member $82 '"k1")) (AggrNotEquals (Member $81 '"v1") (Member $82 '"v1")))) (lambda '($83 $84) $84)))
  (let $71 (lambda '($85) (Member $85 '"k1") (Member $85 '"u1") (Member $85 '"v1")))
  (return (FromFlow (ExpandMap $70 $71)))
))) $32))
(let $34 '('"k3" '"v3"))
(let $35 '('"k3" $20))
(let $36 '('"u3" $8))
(let $37 '('"v3" $8))
(let $38 (StructType $35 $36 $37))
(let $39 '('"_wide_channels" $38))
(let $40 '('('"_logical_id" '1881) '('"_id" '"cf889726-46f2492e-585fc19f-1501fd44") $39))
(let $41 (DqPhyStage '() (lambda '() (block '(
  (let $86 '@@["StructType";[["k3";["OptionalType";["DataType";"String"]]];["v3";["DataType";"String"]];["u3";["DataType";"String"]]]]@@)
  (let $87 (YqlRowSpec $2 $3 $4 '('Type $86) $6 '('SortMembers $34) '('SortedBy $34) '('SortedByTypes '($20 $8))))
  (let $88 (YtStat '('Id '"Input3") '('RecordsCount '"6") '('DataSize '"194") $10 $11 $12))
  (let $89 (YtTable '"Input3" $87 $9 $88 '() (Void) (Void) '"/Root/plato"))
  (let $90 '('"k3" '"u3" '"v3"))
  (let $91 (YtReadTable! world $1 '((YtSection '((YtPath $89 $90 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $91 '())))
))) $40))
(let $42 (DqCnHashShuffle (TDqOutput $41 '0) $28 '0 '"HashV2"))
(let $43 '('('"_logical_id" '2060) '('"_id" '"5f75e062-dbca548e-9298f3bd-c026ced6") $31 $39))
(let $44 (DqPhyStage '($42) (lambda '($92) (block '(
  (let $93 (NarrowSqueezeToDict (ToFlow $92) (lambda '($96 $97 $98) '($96 $98)) (lambda '($99 $100 $101) (AsStruct '('"k3" $99) '('"u3" $100) '('"v3" $101))) $30))
  (let $94 (Condense1 (OrderedFlatMap $93 (lambda '($102) (OrderedFlatMap (DictPayloads $102) (lambda '($103) $103)))) (lambda '($104) $104) (lambda '($105 $106) (Or (AggrNotEquals (Member $105 '"k3") (Member $106 '"k3")) (AggrNotEquals (Member $105 '"v3") (Member $106 '"v3")))) (lambda '($107 $108) $108)))
  (let $95 (lambda '($109) (Member $109 '"k3") (Member $109 '"u3") (Member $109 '"v3")))
  (return (FromFlow (ExpandMap $94 $95)))
))) $43))
(let $45 (DqCnHashShuffle (TDqOutput $18 '0) $28 '0 '"HashV2"))
(let $46 (DqCnBroadcast (TDqOutput $33 '0)))
(let $47 (DqCnBroadcast (TDqOutput $44 '0)))
(let $48 '($45 $46 $47))
(let $49 (StructType $21 $13 $35 $22 $14 $36 $23 $15 $37))
(let $50 '('('"_logical_id" '2615) '('"_id" '"79ff87f-1d006899-f44b9f00-4ca3ff9c") '('"_wide_channels" $49)))
(let $51 (DqPhyStage $48 (lambda '($110 $111 $112) (block '(
  (let $113 (TupleType $8 $8))
  (let $114 '('Many 'Hashed 'Compact))
  (let $115 (SqueezeToDict (NarrowFlatMap (WideFilter (ToFlow $112) (lambda '($118 $119 $120) (Exists $118))) (lambda '($121 $122 $123) (IfPresent (FilterNullElements (Just '($121 $123)) '('0)) (lambda '($124) (block '(
    (let $125 (AsStruct '('"k3" $121) '('"u3" $122) '('"v3" $123)))
    (return (Just '($124 $125)))
  ))) (Nothing (OptionalType (TupleType $113 $38)))))) (lambda '($126) (Nth $126 '0)) (lambda '($127) (Nth $127 '1)) $114))
  (let $116 (Sort (Map (FlatMap $115 (lambda '($128) (block '(
    (let $129 (SqueezeToDict (NarrowFlatMap (WideFilter (ToFlow $111) (lambda '($133 $134 $135) (Exists $135))) (lambda '($136 $137 $138) (IfPresent (FilterNullElements (Just '($136 $138)) '('1)) (lambda '($139) (block '(
      (let $140 (AsStruct '('"k1" $136) '('"u1" $137) '('"v1" $138)))
      (return (Just '($139 $140)))
    ))) (Nothing (OptionalType (TupleType $113 $24)))))) (lambda '($141) (Nth $141 '0)) (lambda '($142) (Nth $142 '1)) $114))
    (let $130 '('"a.k1" '"a.v1"))
    (let $131 '('"a.k1" '"a.k1" '"a.u1" '"a.u1" '"a.v1" '"a.v1" '"b.k2" '"b.k2" '"b.u2" '"b.u2" '"b.v2" '"b.v2"))
    (let $132 '('"k3" '"c.k3" '"u3" '"c.u3" '"v3" '"c.v3"))
    (return (MapJoinCore (OrderedFilter (FlatMap $129 (lambda '($143) (block '(
      (let $144 (NarrowSqueezeToDict (ToFlow $110) (lambda '($148 $149 $150) '($148 $150)) (lambda '($151 $152 $153) (AsStruct '('"k2" $151) '('"u2" $152) '('"v2" $153))) $30))
      (let $145 (Condense1 (OrderedFlatMap $144 (lambda '($154) (OrderedFlatMap (DictPayloads $154) (lambda '($155) $155)))) (lambda '($156) $156) (lambda '($157 $158) (Or (AggrNotEquals (Member $157 '"k2") (Member $158 '"k2")) (AggrNotEquals (Member $157 '"v2") (Member $158 '"v2")))) (lambda '($159 $160) $160)))
      (let $146 '('"k2" '"b.k2" '"u2" '"b.u2" '"v2" '"b.v2"))
      (let $147 '('"k1" '"a.k1" '"u1" '"a.u1" '"v1" '"a.v1"))
      (return (MapJoinCore $145 $143 'Inner $7 $19 $146 $147 '('"b.k2" '"b.v2") $130))
    )))) (lambda '($161) (Exists (Member $161 '"a.v1")))) $128 'Inner $130 $34 $131 $132 $130 '('"c.k3" '"c.v3")))
  )))) (lambda '($162) (AsStruct '('"k1" (Member $162 '"a.k1")) '('"k2" (Member $162 '"b.k2")) '('"k3" (Member $162 '"c.k3")) '('"u1" (Member $162 '"a.u1")) '('"u2" (Member $162 '"b.u2")) '('"u3" (Member $162 '"c.u3")) '('"v1" (Member $162 '"a.v1")) '('"v2" (Member $162 '"b.v2")) '('"v3" (Member $162 '"c.v3"))))) $5 (lambda '($163) (Member $163 '"u1"))))
  (let $117 (lambda '($164) (Member $164 '"k1") (Member $164 '"k2") (Member $164 '"k3") (Member $164 '"u1") (Member $164 '"u2") (Member $164 '"u3") (Member $164 '"v1") (Member $164 '"v2") (Member $164 '"v3")))
  (return (FromFlow (ExpandMap $116 $117)))
))) $50))
(let $52 (DqCnMerge (TDqOutput $51 '0) '('('"3" '"Asc"))))
(let $53 (DqPhyStage '($52) (lambda '($165) (FromFlow (NarrowMap (ToFlow $165) (lambda '($166 $167 $168 $169 $170 $171 $172 $173 $174) (AsStruct '('"k1" $166) '('"k2" $167) '('"k3" $168) '('"u1" $169) '('"u2" $170) '('"u3" $171) '('"v1" $172) '('"v2" $173) '('"v3" $174)))))) '('('"_logical_id" '2627) '('"_id" '"d69d953f-332df9fb-2d392cac-d282e136"))))
(let $54 '($18 $27 $33 $41 $44 $51 $53))
(let $55 (DqCnResult (TDqOutput $53 '0) '()))
(return (KqpPhysicalQuery '((KqpPhysicalTx $54 '($55) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $49) '0 '0)) '('('"type" '"query"))))
)
