(
(let $1 (Configure! world (DataSource '"config") '"DqEngine" '"force"))
(let $2 (Configure! $1 (DataSource '"dq" '"$all") '"Attr" '"maxtasksperstage" '"2"))
(let $3 (Configure! $2 (DataSource '"pq" '"$all") '"Attr" '"consumer" '"test_client"))
(let $4 (DataType 'String))
(let $5 (StructType '('"Data" $4)))
(let $6 (PqTopic '"pq" '"local" '"test_topic_output" '('('"PartitionsCount" '"1")) '() $5))
(let $7 '('('"system" '"_yql_sys_create_time") '('"system" '"_yql_sys_tsp_write_time") '('"system" '"_yql_sys_partition_id") '('"system" '"_yql_sys_offset") '('"system" '"_yql_sys_message_group_id") '('"system" '"_yql_sys_seq_no")))
(let $8 (PqTopic '"pq" '"local" '"test_topic_input" '('('"PartitionsCount" '"1")) $7 $5))
(let $9 (DataType 'Timestamp))
(let $10 (DataType 'Uint64))
(let $11 (ListType (StructType '('"Data" $4) '('"_yql_sys_create_time" $9) '('"_yql_sys_message_group_id" $4) '('"_yql_sys_offset" $10) '('"_yql_sys_partition_id" $10) '('"_yql_sys_seq_no" $10) '('"_yql_sys_tsp_write_time" $9))))
(let $12 (ResourceType '"Yson2.Options"))
(let $13 (ResourceType '"Yson2.Node"))
(let $14 (OptionalType $12))
(let $15 (OptionalType (DataType 'Bool)))
(let $16 (CallableType '('"2") '($12) '($15 '"AutoConvert") '($15 '"Strict")))
(let $17 (SqlProjectItem $11 '"ys" (lambda '($50) (block '(
  (let $51 (TupleType (TupleType $4 $12) (StructType) (TupleType)))
  (let $52 '($4 '"" '"1"))
  (let $53 (CallableType '('"1") '((OptionalType $13)) $52 '($14)))
  (let $54 (Udf '"Yson2.Parse" (Void) $51 '"" $53 (VoidType) '"" '()))
  (let $55 (Udf '"Yson2.Options" (Void) (VoidType) '"" $16 (VoidType) '"" '('('"strict"))))
  (return (Apply $54 (Member $50 '"Data") (Just (NamedApply $55 '() (AsStruct '('"AutoConvert" (Just (Bool '"false"))) '('"Strict" (Just (Bool '"true"))))))))
)))))
(let $18 (SqlProjectItem $11 '"_yql_sys_tsp_write_time" (lambda '($56) (Member $56 '"_yql_sys_tsp_write_time"))))
(let $19 (DataType 'Yson))
(let $20 (ListType (StructType '('"_yql_sys_tsp_write_time" $9) '('"ys" (OptionalType $19)))))
(let $21 (OptionalType $10))
(let $22 (TupleType (TupleType $19) (StructType) (TupleType)))
(let $23 '($19 '"" '"1"))
(let $24 (CallableType '('"1") '($13) $23 '($14)))
(let $25 (SqlProjectItem $20 '"t" (lambda '($63) (FlatMap (Member $63 '"ys") (lambda '($64) (block '(
  (let $65 '($13 '"" '"1"))
  (let $66 (CallableType '('"1") '($21) $65 '($4) '($14)))
  (let $67 (Udf '"Yson2.LookupUint64" (Void) (VoidType) '"" $66 (VoidType) '"" '()))
  (let $68 (Udf '"Yson2.Parse" (Void) $22 '"" $24 (VoidType) '"" '('('"strict"))))
  (let $69 (Udf '"Yson2.Options" (Void) (VoidType) '"" $16 (VoidType) '"" '('('"strict"))))
  (return (Apply $67 (Apply $68 $64) (String '"time") (Just (NamedApply $69 '() (AsStruct '('"AutoConvert" (Just (Bool '"false"))) '('"Strict" (Just (Bool '"true"))))))))
)))))))
(let $26 (DataType 'Int64))
(let $27 (OptionalType $26))
(let $28 '($13 '"" '"1"))
(let $29 (CallableType '('"1") '($27) $28 '($4) '($14)))
(let $30 (SqlProjectItem $20 '"k" (lambda '($70) (FlatMap (Member $70 '"ys") (lambda '($71) (block '(
  (let $72 (Udf '"Yson2.LookupInt64" (Void) (VoidType) '"" $29 (VoidType) '"" '()))
  (let $73 (Udf '"Yson2.Parse" (Void) $22 '"" $24 (VoidType) '"" '('('"strict"))))
  (let $74 (Udf '"Yson2.Options" (Void) (VoidType) '"" $16 (VoidType) '"" '('('"strict"))))
  (return (Apply $72 (Apply $73 $71) (String '"key") (Just (NamedApply $74 '() (AsStruct '('"AutoConvert" (Just (Bool '"false"))) '('"Strict" (Just (Bool '"true"))))))))
)))))))
(let $31 (SqlProjectItem $20 '"v" (lambda '($75) (FlatMap (Member $75 '"ys") (lambda '($76) (block '(
  (let $77 (Udf '"Yson2.LookupInt64" (Void) (VoidType) '"" $29 (VoidType) '"" '()))
  (let $78 (Udf '"Yson2.Parse" (Void) $22 '"" $24 (VoidType) '"" '('('"strict"))))
  (let $79 (Udf '"Yson2.Options" (Void) (VoidType) '"" $16 (VoidType) '"" '('('"strict"))))
  (return (Apply $77 (Apply $78 $76) (String '"val") (Just (NamedApply $79 '() (AsStruct '('"AutoConvert" (Just (Bool '"false"))) '('"Strict" (Just (Bool '"true"))))))))
)))))))
(let $32 (SqlProjectItem $20 '"_yql_sys_tsp_write_time" (lambda '($80) (Member $80 '"_yql_sys_tsp_write_time"))))
(let $33 '($25 $30 $31 $32))
(let $34 (StructType '('"_yql_sys_tsp_write_time" $9) '('"k" $27) '('"t" $21) '('"v" $27)))
(let $35 (Udf 'Stat.TDigest_Create))
(let $36 (ListType $26))
(let $37 (ListItemType $36))
(let $38 (DataType 'Double))
(let $39 (lambda '() (Null)))
(let $40 (ListItemType (ListType $27)))
(let $41 (AggregationTraits $34 (lambda '($81 $82) (block '(
  (let $83 (Member $81 '"v"))
  (return (MatchType $27 'Optional (lambda '() (IfPresent $83 (lambda '($84) (Just (NamedApply $35 '((MatchType $37 'Interval (lambda '() (SafeCast $84 $38)) (lambda '() $84))) (AsStruct) (DependsOn $82)))) (Nothing (OptionalType (TypeOf (NamedApply $35 '((InstanceOf $26)) (AsStruct) (DependsOn $82))))))) 'Null $39 (lambda '() (NamedApply $35 '((MatchType $37 'Interval (lambda '() (SafeCast $83 $38)) (lambda '() $83))) (AsStruct) (DependsOn $82)))))
))) (lambda '($85 $86 $87) (block '(
  (let $88 (Member $85 '"v"))
  (let $89 (Udf 'Stat.TDigest_AddValue))
  (return (MatchType $40 'Optional (lambda '() (block '(
    (let $90 (MatchType $40 'Optional (lambda '() (block '(
      (let $94 (InstanceOf (OptionalItemType (TypeOf $88))))
      (return (IfPresent $88 (lambda '($95) (Just (NamedApply $35 '((MatchType $37 'Interval (lambda '() (SafeCast $95 $38)) (lambda '() $95))) (AsStruct) (DependsOn $87)))) (Nothing (OptionalType (TypeOf (NamedApply $35 '((MatchType $37 'Interval (lambda '() (SafeCast $94 $38)) (lambda '() $94))) (AsStruct) (DependsOn $87)))))))
    ))) 'Null $39 (lambda '() (NamedApply $35 '((MatchType $37 'Interval (lambda '() (SafeCast $88 $38)) (lambda '() $88))) (AsStruct) (DependsOn $87)))))
    (return (IfPresent $86 (lambda '($91) (IfPresent $88 (lambda '($92) (block '(
      (let $93 (MatchType $37 'Interval (lambda '() (SafeCast $92 $38)) (lambda '() $92)))
      (return (Just (NamedApply $89 '($91 $93) (AsStruct) (DependsOn $87))))
    ))) (Just $91))) $90))
  ))) 'Null (lambda '() (Null)) (lambda '() (block '(
    (let $96 (MatchType $37 'Interval (lambda '() (SafeCast $88 $38)) (lambda '() $88)))
    (return (NamedApply $89 '($86 $96) (AsStruct) (DependsOn $87)))
  )))))
))) (lambda '($97) (block '(
  (let $98 (Udf 'Stat.TDigest_Serialize))
  (return (MatchType $40 'Optional (lambda '() (Map $97 (lambda '($99) (Apply $98 $99)))) 'Null (lambda '() (Null)) (lambda '() (Apply $98 $97))))
))) (lambda '($100) (block '(
  (let $101 (Udf 'Stat.TDigest_Deserialize))
  (return (MatchType $40 'Optional (lambda '() (Map $100 (lambda '($102) (Apply $101 $102)))) 'Null (lambda '() (Null)) (lambda '() (Apply $101 $100))))
))) (lambda '($103 $104) (block '(
  (let $105 (Udf 'Stat.TDigest_Merge))
  (return (MatchType $40 'Optional (lambda '() (OptionalReduce $103 $104 (lambda '($106 $107) (Apply $105 $106 $107)))) 'Null (lambda '() (Null)) (lambda '() (Apply $105 $103 $104))))
))) (lambda '($108) (block '(
  (let $109 '((Double '"0.75") (Double '"0.9")))
  (let $110 (ListItemType (MatchType $27 'Optional (lambda '() $36) (lambda '() (ListType $40)))))
  (let $111 (Udf 'Stat.TDigest_GetPercentile))
  (let $112 (DataType 'Int64))
  (let $113 (DataType 'Interval))
  (return (MatchType $40 'Optional (lambda '() (Map $108 (lambda '($114) (MatchType $109 'Tuple (lambda '() (StaticMap $109 (lambda '($115) (MatchType $115 'Tuple (lambda '() (StaticMap $115 (lambda '($116) (block '(
    (let $117 (Apply $111 $114 $116))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $117 $112) $113))) (lambda '() $117)))
  ))))) 'Struct (lambda '() (StaticMap $115 (lambda '($118) (block '(
    (let $119 (Apply $111 $114 $118))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $119 $112) $113))) (lambda '() $119)))
  ))))) 'List (lambda '() (OrderedMap $115 (lambda '($120) (block '(
    (let $121 (Apply $111 $114 $120))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $121 $112) $113))) (lambda '() $121)))
  ))))) (lambda '() (block '(
    (let $122 (Apply $111 $114 $115))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $122 $112) $113))) (lambda '() $122)))
  ))))))) (lambda '() (MatchType $109 'Tuple (lambda '() (StaticMap $109 (lambda '($123) (block '(
    (let $124 (Apply $111 $114 $123))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $124 $112) $113))) (lambda '() $124)))
  ))))) 'Struct (lambda '() (StaticMap $109 (lambda '($125) (block '(
    (let $126 (Apply $111 $114 $125))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $126 $112) $113))) (lambda '() $126)))
  ))))) 'List (lambda '() (OrderedMap $109 (lambda '($127) (block '(
    (let $128 (Apply $111 $114 $127))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $128 $112) $113))) (lambda '() $128)))
  ))))) (lambda '() (block '(
    (let $129 (Apply $111 $114 $109))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $129 $112) $113))) (lambda '() $129)))
  ))))))))) 'Null (lambda '() (Null)) (lambda '() (MatchType $109 'Tuple (lambda '() (StaticMap $109 (lambda '($130) (MatchType $130 'Tuple (lambda '() (StaticMap $130 (lambda '($131) (block '(
    (let $132 (Apply $111 $108 $131))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $132 $112) $113))) (lambda '() $132)))
  ))))) 'Struct (lambda '() (StaticMap $130 (lambda '($133) (block '(
    (let $134 (Apply $111 $108 $133))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $134 $112) $113))) (lambda '() $134)))
  ))))) 'List (lambda '() (OrderedMap $130 (lambda '($135) (block '(
    (let $136 (Apply $111 $108 $135))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $136 $112) $113))) (lambda '() $136)))
  ))))) (lambda '() (block '(
    (let $137 (Apply $111 $108 $130))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $137 $112) $113))) (lambda '() $137)))
  ))))))) (lambda '() (MatchType $109 'Tuple (lambda '() (StaticMap $109 (lambda '($138) (block '(
    (let $139 (Apply $111 $108 $138))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $139 $112) $113))) (lambda '() $139)))
  ))))) 'Struct (lambda '() (StaticMap $109 (lambda '($140) (block '(
    (let $141 (Apply $111 $108 $140))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $141 $112) $113))) (lambda '() $141)))
  ))))) 'List (lambda '() (OrderedMap $109 (lambda '($142) (block '(
    (let $143 (Apply $111 $108 $142))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $143 $112) $113))) (lambda '() $143)))
  ))))) (lambda '() (block '(
    (let $144 (Apply $111 $108 $109))
    (return (MatchType $110 'Interval (lambda '() (Unwrap (StrictCast (ToIntegral $144 $112) $113))) (lambda '() $144)))
  )))))))))
))) (Null)))
(let $42 (HoppingTraits $34 (lambda '($145) (FlatMap (SafeCast (Unwrap (Member $145 '"t")) (OptionalType (DataType 'Uint32))) (lambda '($146) (block '(
  (let $147 '($10 '"" '"1"))
  (let $148 (CallableType '() '((OptionalType $9)) $147))
  (let $149 (Udf '"DateTime2.FromMilliseconds" (Void) (VoidType) '"" $148 (VoidType) '"" '('('"blocks") '('"strict"))))
  (return (Apply $149 (Convert $146 $10)))
))))) (Interval '5000) (Interval '10000) (Interval '10000) 'true 'v1))
(let $43 (Aggregate (PersistableRepr (SqlProject (OrderedMap (SqlProject (Right! (PqReadTopic! $3 (DataSource '"pq" '"pq") $8 (Void) '"raw" '"" (Void) '('('"data.datetime.formatname" '"POSIX") '('"data.timestamp.formatname" '"POSIX")))) '($17 $18)) (lambda '($57) (block '(
  (let $58 '"_yql_sys_tsp_write_time")
  (return (AsStruct '($58 (Member $57 $58)) '('"ys" (Map (Member $57 '"ys") (lambda '($59) (block '(
    (let $60 '($13 '"" '"1"))
    (let $61 (CallableType '() '($19) $60))
    (let $62 (Udf '"Yson2.Serialize" (Void) (VoidType) '"" $61 (VoidType) '"" '('('"strict"))))
    (return (Apply $62 $59))
  )))))))
)))) $33)) '() '('('('Percentile0 'Percentile1) $41)) '('('hopping $42))))
(let $44 (AssumeColumnOrderPartial $43 '()))
(let $45 (TypeOf $44))
(let $46 (SqlProjectItem $45 '"p75" (lambda '($150) (Member $150 'Percentile0))))
(let $47 (SqlProjectItem $45 '"p90" (lambda '($151) (Member $151 'Percentile1))))
(let $48 (PersistableRepr (SqlProject $44 '($46 $47))))
(let $49 (PqWriteTopic! $3 (DataSink '"pq" '"pq") $6 (RemoveSystemMembers (PersistableRepr (SqlProject $48 '((SqlProjectItem (TypeOf $48) '"" (lambda '($152) (SqlCall '"Yson2.SerializeText" '((PositionalArgs (SqlCall '"Yson2.From" '((PositionalArgs (RemoveSystemMembers $152)))))))) '('('autoName))))))) 'append '()))
(return (Commit! $49 (DataSink '"pq" '"pq")))
)
