route_frag, i = 0;! this.tree = libr3.r3_tree_create(10);! this.data = [];! this.index = [];! for (route in routes) {! this.data[i] = routes[route];! data = ref.alloc('int', i);! this.index[i] = data; // prevent GC! route = route.trim();! route_frag = route.split(' ');! if (route_frag.length > 1) {! route = route_frag[1];! method = METHODS[route_frag[0].toUpperCase()];! if (!method) { throw new Error(route_frag[0]); }! r3_tree_insert_route(this.tree, method, route, data);! } else {! r3_tree_insert_route(this.tree, 0, route, data);! }! i++;! }! libr3.r3_tree_compile(this.tree);! return this;! };