(
(let $1 (lambda '() (block '(
  (let $59 '@@["StructType";[["user";["OptionalType";["DataType";"String"]]];["ts";["OptionalType";["DataType";"Int32"]]];["payload";["DataType";"Int32"]]]]@@)
  (let $60 (YqlRowSpec '('NativeYtTypeFlags '0) '('StrictSchema '1) '('UniqueKeys '0) '('Type $59)))
  (let $61 (YtMeta '('CanWrite '1) '('DoesExist '1) '('YqlCompatibleScheme '1) '('InferredScheme '0) '('IsDynamic '0) '('Attrs '('('"native_strict_schema" '"false")))))
  (let $62 (YtStat '('Id '"Input") '('RecordsCount '"18") '('DataSize '"656") '('ChunkCount '1) '('ModifyTime '0) '('Revision '0)))
  (let $63 (YtTable '"Input" $60 $61 $62 '() (Void) (Void) '"/Root/plato"))
  (let $64 '('"payload" '"ts" '"user"))
  (let $65 (YtReadTable! world (DataSource '"yt" '"/Root/plato") '((YtSection '((YtPath $63 $64 (Void) (Void))) '()))))
  (return (FromFlow (DqReadWideWrap $65 '())))
))))
(let $2 '('"_logical_id" '5414))
(let $3 (DataType 'Int32))
(let $4 '('"payload" $3))
(let $5 (OptionalType $3))
(let $6 '('"user" (OptionalType (DataType 'String))))
(let $7 (StructType $4 '('"ts" $5) $6))
(let $8 '('"_wide_channels" $7))
(let $9 '($2 '('"_id" '"d61feb6-8fb4306c-15861d85-a209d5f0") $8))
(let $10 (DqPhyStage '() $1 $9))
(let $11 '('2))
(let $12 (DqCnHashShuffle (TDqOutput $10 '0) $11 '0 '"HashV2"))
(let $13 (lambda '($74 $75 $76) $76))
(let $14 (lambda '($77 $78 $79) (AsStruct '('"payload" $77) '('"ts" $78) '('"user" $79))))
(let $15 '('Auto 'Many))
(let $16 (Bool 'true))
(let $17 (lambda '($80) (OrderedFlatMap (DictPayloads $80) (lambda '($81) (Sort $81 $16 (lambda '($82) (Member $82 '"ts")))))))
(let $18 (lambda '($83) (block '(
  (let $84 (Member $83 '"ts"))
  (return '($83 $84 $84 (Member $83 '"user")))
))))
(let $19 (lambda '($85 $86) (block '(
  (let $87 (Member $85 '"user"))
  (let $88 (Member $85 '"ts"))
  (let $89 '($85 $88 $88 $87))
  (let $90 (Nth $86 '2))
  (let $91 (If (Coalesce (< $90 $88) $16) (- $88 $90) (- $90 $88)))
  (let $92 (If (And (AggrNotEquals $88 $90) (Coalesce (< (Int32 '"10") $91) $16)) $88 (Nth $86 '1)))
  (let $93 '($85 $92 $88 $87))
  (return (If (AggrNotEquals $87 (Member (Nth $86 '0) '"user")) $89 $93))
))))
(let $20 (Int32 '"100500"))
(let $21 (Uint64 '1))
(let $22 (DataType 'Uint64))
(let $23 (OptionalType $22))
(let $24 (Nothing $23))
(let $25 '('"_logical_id" '4576))
(let $26 (ListType $3))
(let $27 (OptionalType $26))
(let $28 (OptionalType $5))
(let $29 '"_yql_group_session_start")
(let $30 '($29 $5))
(let $31 (StructType '('_yql_agg_0 $27) '('_yql_agg_1 $23) '('_yql_agg_2 $23) '('_yql_agg_3 $28) $30 $6))
(let $32 '('"_wide_channels" $31))
(let $33 '($25 '('"_id" '"3123a9c7-69b84096-6eefd481-1478251") $32))
(let $34 (DqPhyStage '($12) (lambda '($66) (block '(
  (let $67 (NarrowSqueezeToDict (ToFlow $66) $13 $14 $15))
  (let $68 (Chain1Map (OrderedFlatMap $67 $17) $18 $19))
  (let $69 (lambda '($94) (block '(
    (let $95 (Nth $94 '0))
    (return (Nth $94 '1) (Member $95 '"ts") (Member $95 '"user"))
  ))))
  (let $70 (lambda '($96 $97 $98) $98 $96))
  (let $71 (lambda '($99 $100 $101 $102 $103) (AsList (Coalesce $102 $20)) $21 $102))
  (let $72 (lambda '($104 $105 $106 $107 $108 $109 $110 $111) (Insert $109 (Coalesce $107 $20)) (Inc $110) (AggrMin $107 $111)))
  (let $73 (lambda '($112 $113 $114 $115 $116) (Just $114) (Just $115) $24 (Just $116) $113 $112))
  (return (WideFromBlocks (DqPhyHashCombine (WideToBlocks (FromFlow (ExpandMap $68 $69))) '-1073741824 $70 $71 $72 $73)))
))) $33))
(let $35 '($2 '('"_id" '"94713d65-9dd10c8b-b1697b39-802f95cb") $8))
(let $36 (DqPhyStage '() $1 $35))
(let $37 (DqCnHashShuffle (TDqOutput $36 '0) $11 '0 '"HashV2"))
(let $38 (StructType '('_yql_agg_2 $22) $30 $4 $6))
(let $39 '($25 '('"_id" '"e30ce1b5-93bced44-7fb5ac0e-d39c90b3") '('"_wide_channels" $38)))
(let $40 (DqPhyStage '($37) (lambda '($117) (block '(
  (let $118 (NarrowSqueezeToDict (ToFlow $117) $13 $14 $15))
  (let $119 (Chain1Map (OrderedFlatMap $118 $17) $18 $19))
  (let $120 (lambda '($123) (block '(
    (let $124 (Nth $123 '0))
    (return (Nth $123 '1) (Member $124 '"payload") (Member $124 '"user"))
  ))))
  (let $121 (lambda '($125 $126 $127) $127 $125 $126))
  (let $122 (lambda '($141 $142 $143 $144) $144 $142 $143 $141))
  (return (DqPhyHashCombine (WideToBlocks (FromFlow (ExpandMap $119 $120))) '-1073741824 $121 (lambda '($128 $129 $130 $131 $132 $133) $21) (lambda '($134 $135 $136 $137 $138 $139 $140) $140) $122))
))) $39))
(let $41 '('"3" '1 '2))
(let $42 (DqCnHashShuffle (TDqOutput $40 '0) $41 '0 '"HashV2"))
(let $43 '('('"_logical_id" '4685) '('"_id" '"75c52a59-af352537-5d942c7c-112e2102") '('"_partition_mode" '"aggregate") $32))
(let $44 (DqPhyStage '($42) (lambda '($145) (block '(
  (let $146 (NarrowSqueezeToDict (ToFlow (WideFromBlocks $145)) (lambda '($149 $150 $151 $152) '($152 $150 $151)) (lambda '($153 $154 $155 $156) (AsStruct '('_yql_agg_2 $153) '($29 $154) '('"payload" $155) '('"user" $156))) $15))
  (let $147 (Condense1 (OrderedFlatMap $146 (lambda '($157) (OrderedFlatMap (DictPayloads $157) (lambda '($158) $158)))) (lambda '($159) $159) (lambda '($160 $161) (Or (AggrNotEquals (Member $160 '"user") (Member $161 '"user")) (AggrNotEquals (Member $160 $29) (Member $161 $29)) (AggrNotEquals (Member $160 '"payload") (Member $161 '"payload")))) (lambda '($162 $163) $162)))
  (let $148 (lambda '($164) (Nothing $27) $24 (Just (Member $164 '_yql_agg_2)) (Nothing $28) (Member $164 $29) (Member $164 '"user")))
  (return (FromFlow (ExpandMap $147 $148)))
))) $43))
(let $45 (DqCnParallelUnionAll (TDqOutput $34 '0)))
(let $46 (DqCnParallelUnionAll (TDqOutput $44 '0)))
(let $47 '('('"_logical_id" '4938) '('"_id" '"44a76371-423e3ffe-2883c0ae-a4f3005d") $32))
(let $48 (DqPhyStage '($45 $46) (lambda '($165 $166) (FromFlow (Extend (ToFlow $165) (ToFlow $166)))) $47))
(let $49 (DqCnHashShuffle (TDqOutput $48 '0) '('"5" '"4") '0 '"HashV2"))
(let $50 '"distinct_playloads")
(let $51 (StructType '($50 $22) '('session $26) '('"session_len" $22) '('"session_start" $3) $6))
(let $52 '('('"_logical_id" '5296) '('"_id" '"137cf480-3da9e9b3-625b7755-849c897c") '('"_wide_channels" $51)))
(let $53 (DqPhyStage '($49) (lambda '($167) (block '(
  (let $168 (NarrowSqueezeToDict (ToFlow $167) (lambda '($172 $173 $174 $175 $176 $177) '($177 $176)) (lambda '($178 $179 $180 $181 $182 $183) (AsStruct '('_yql_agg_0 $178) '('_yql_agg_1 $179) '('_yql_agg_2 $180) '('_yql_agg_3 $181) '($29 $182) '('"user" $183))) $15))
  (let $169 (Condense1 (OrderedFlatMap $168 (lambda '($184) (OrderedFlatMap (DictPayloads $184) (lambda '($185) $185)))) (lambda '($186) $186) (lambda '($187 $188) (Or (AggrNotEquals (Member $187 '"user") (Member $188 '"user")) (AggrNotEquals (Member $187 $29) (Member $188 $29)))) (lambda '($189 $190) (block '(
    (let $191 (Member $189 '_yql_agg_0))
    (let $192 (Member $190 '_yql_agg_0))
    (let $193 (IfPresent $191 (lambda '($203) (IfPresent $192 (lambda '($204) (Just (Extend $203 $204))) $191)) $192))
    (let $194 (Member $189 '_yql_agg_1))
    (let $195 (Member $190 '_yql_agg_1))
    (let $196 (IfPresent $194 (lambda '($205) (IfPresent $195 (lambda '($206) (Just (AggrAdd $205 $206))) $194)) $195))
    (let $197 (Member $189 '_yql_agg_2))
    (let $198 (Member $190 '_yql_agg_2))
    (let $199 (IfPresent $197 (lambda '($207) (IfPresent $198 (lambda '($208) (Just (AggrAdd $207 $208))) $197)) $198))
    (let $200 (Member $189 '_yql_agg_3))
    (let $201 (Member $190 '_yql_agg_3))
    (let $202 (IfPresent $200 (lambda '($209) (IfPresent $201 (lambda '($210) (Just (AggrMin $209 $210))) $200)) $201))
    (return (AsStruct '('_yql_agg_0 $193) '('_yql_agg_1 $196) '('_yql_agg_2 $199) '('_yql_agg_3 $202) '($29 (Member $190 $29)) '('"user" (Member $190 '"user"))))
  )))))
  (let $170 (Sort (Map $169 (lambda '($211) (block '(
    (let $212 (Sort (Unwrap (Member $211 '_yql_agg_0)) $16 (lambda '($213) $213)))
    (return (AsStruct '($50 (Unwrap (Member $211 '_yql_agg_2))) '('session $212) '('"session_len" (Unwrap (Member $211 '_yql_agg_1))) '('"session_start" (Coalesce (Unwrap (Member $211 '_yql_agg_3)) $20)) '('"user" (Member $211 '"user"))))
  )))) '($16 $16) (lambda '($214) '((Member $214 '"user") (Member $214 '"session_start")))))
  (let $171 (lambda '($215) (Member $215 $50) (Member $215 'session) (Member $215 '"session_len") (Member $215 '"session_start") (Member $215 '"user")))
  (return (FromFlow (ExpandMap $170 $171)))
))) $52))
(let $54 (DqCnMerge (TDqOutput $53 '0) '('('"4" '"Asc") '('"3" '"Asc"))))
(let $55 (DqPhyStage '($54) (lambda '($216) (FromFlow (NarrowMap (ToFlow $216) (lambda '($217 $218 $219 $220 $221) (AsStruct '($50 $217) '('session $218) '('"session_len" $219) '('"session_start" $220) '('"user" $221)))))) '('('"_logical_id" '5308) '('"_id" '"94aa8308-271bc7f6-f98aa428-21a0b241"))))
(let $56 '($10 $34 $36 $40 $44 $48 $53 $55))
(let $57 '('"user" '"session_start" 'session '"session_len" $50))
(let $58 (DqCnResult (TDqOutput $55 '0) $57))
(return (KqpPhysicalQuery '((KqpPhysicalTx $56 '($58) '() '('('"type" '"generic")))) '((KqpTxResultBinding (ListType $51) '0 '0)) '('('"type" '"query"))))
)
