<? = __construct(, = ('id', 'pid'), = 0->result = ->fields = ->root = -> (->result [[->fields[1]]][] = ( ( = (); > 0; -- ( => (!(, -> (!->->tmp = (, ->already[] = ( => ([->fields[0]] == ->tmp[0[][]['child'] = ->tmp[1->tmp = (, [->tmp = ->tmp = recur_n(, ( ([->fields[0]] == ->arr[] = ([->fields[1]] != ->root) ->recur_n(, [->fields[1 recur_p( ( ->arr[] = [->fields[0 (['child']) ->recur_p(['child' leaf( = = ( == ) ? ->root : ->tmp[ navi(->arr = ->recur_n(->result, (-> -> leafid(->arr = ->arr[] = ->recur_p(->leaf( ->?>