type [] US0 = | US0_0 | US0_1 | US0_2 | US0_3 | US0_4 let rec method0 () : struct (string * string * string * bool) = let v0 : string = "" let v1 : obj = v0 struct (v0, v0, v0, true) and method1 (v0 : string) : Types.EmitType = let v1 : string = "String::from(core::ops::Deref::deref($0))" let v2 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v0 v1 let v3 : Types.EmitType = v2 |> unbox> v3 and method2 (v0 : Types.rocket.http.uri.Segments) : Types.EmitType = let v1 : string = "format!(\"{:?}\", $0)" let v2 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v0 v1 let v3 : Types.EmitType = v2 |> unbox> v3 and method4 (v0 : int32, v1 : string) : string = let v2 : int32 = String.length v1 let v3 : bool = v2 < v0 if v3 then let v4 : string = $"0{v1}" method4(v0, v4) else v1 and method5 (v0 : uint8) : Types.EmitType = let v1 : string = "format!(\"{:?}\", $0)" let v2 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v0 v1 let v3 : Types.EmitType = v2 |> unbox> v3 and method6 (v0 : Types.std.string.String) : Types.EmitType = let v1 : Types.EmitType = v0 |> unbox> v1 and method7 (v0 : (Types.EmitType [])) : Types.EmitType = let v1 : string = "$0" let v2 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr v0 v1 let v3 : string = "core::ops::Deref::deref(v2)" let v4 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr () v3 let v5 : obj = v4 let v6 : string = "format!(\"{:?}\", $0)" let v7 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v5 v6 let v8 : Types.EmitType = v7 |> unbox> v8 and method8 (v0 : string) : string = v0 and method9 () : string = let v0 : string = "$1=$2" v0 and method10 (v0 : Types.std.string.String) : Types.std.string.String = v0 and method11 () : string = let v0 : string = "[$1]" v0 and method12 () : string = let v0 : string = "\"" v0 and method13 () : string = let v0 : string = " " v0 and method3 (v0 : int64, v1 : (Types.EmitType [])) : unit = let v2 : string = "chrono::Utc::now()" let v3 : Types.chrono.DateTime = Fable.Core.RustInterop.emitRustExpr () v2 let v4 : string = "($0).timestamp()" let v5 : int64 = Fable.Core.RustInterop.emitRustExpr v3 v4 let v6 : int64 = v5 - v0 let v7 : string = (v6).ToString () let v8 : int32 = 6 let v9 : string = method4(v8, v7) let v10 : string = "rand::random::()" let v11 : uint8 = Fable.Core.RustInterop.emitRustExpr () v10 let v12 : string = "timestamp" let v13 : Types.EmitType = method1(v12) let v14 : Types.EmitType = method1(v9) let v15 : string = "run_id" let v16 : Types.EmitType = method1(v15) let v17 : Types.EmitType = method5(v11) let v18 : string = "log_level" let v19 : Types.EmitType = method1(v18) let v20 : US0 = US0_1 let v21 : string = "format!(\"{:?}\", $0)" let v22 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v20 v21 let v23 : Types.EmitType = method6(v22) let v24 : (Types.EmitType []) = [|v13; v14; v16; v17; v19; v23|] let v25 : Types.EmitType = method7(v24) let v26 : string = "> parseUrls ()" let v27 : Types.EmitType = method1(v26) let v28 : (Types.EmitType []) = [|v27|] let v29 : string = "$0" let v30 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr v28 v29 let v31 : string = "core::ops::Deref::deref(v30)" let v32 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr () v31 let v33 : obj = v32 let v34 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v33 v21 let v35 : Types.EmitType = v34 |> unbox> let v36 : string = "format!(\"{}\", $0)" let v37 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v35 v36 let v38 : string = (v37).ToString () let v39 : string = "\"([^\"]+)\", \"([^\"]+)\"" let v40 : string = "r#\"" + v39 + "\"#" let v41 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v40 let v42 : string = "regex::RegexBuilder::new($0)" let v43 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v41 v42 let v44 : string = "$0.build().unwrap()" let v45 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v43 v44 let v46 : string = method8(v38) let v47 : string = "v46.as_str()" let v48 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v47 let v49 : string = method9() let v50 : string = "v49.as_str()" let v51 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v50 let v52 : string = "$0.replace_all(&$1, $2).to_string()" let v53 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v45, v48, v51) v52 let v54 : Types.std.string.String = method10(v53) let v55 : string = "fable_library_rust::String_::fromString(v54)" let v56 : string = Fable.Core.RustInterop.emitRustExpr () v55 let v57 : string = "\\[\"(.*?)\"\\]" let v58 : string = "r#\"" + v57 + "\"#" let v59 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v58 let v60 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v59 v42 let v61 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v60 v44 let v62 : string = method8(v56) let v63 : string = "v62.as_str()" let v64 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v63 let v65 : string = method11() let v66 : string = "v65.as_str()" let v67 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v66 let v68 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v61, v64, v67) v52 let v69 : Types.std.string.String = method10(v68) let v70 : string = "fable_library_rust::String_::fromString(v69)" let v71 : string = Fable.Core.RustInterop.emitRustExpr () v70 let v72 : string = "\\\\\"" let v73 : string = "r#\"" + v72 + "\"#" let v74 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v73 let v75 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v74 v42 let v76 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v75 v44 let v77 : string = method8(v71) let v78 : string = "v77.as_str()" let v79 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v78 let v80 : string = method12() let v81 : string = "v80.as_str()" let v82 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v81 let v83 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v76, v79, v82) v52 let v84 : Types.std.string.String = method10(v83) let v85 : string = "fable_library_rust::String_::fromString(v84)" let v86 : string = Fable.Core.RustInterop.emitRustExpr () v85 let v87 : string = ", " let v88 : string = "r#\"" + v87 + "\"#" let v89 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v88 let v90 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v89 v42 let v91 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v90 v44 let v92 : string = method8(v86) let v93 : string = "v92.as_str()" let v94 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v93 let v95 : string = method13() let v96 : string = "v95.as_str()" let v97 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v96 let v98 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v91, v94, v97) v52 let v99 : Types.std.string.String = method10(v98) let v100 : string = "fable_library_rust::String_::fromString(v99)" let v101 : string = Fable.Core.RustInterop.emitRustExpr () v100 let v102 : Types.EmitType = method1(v101) let v103 : string = "$0" let v104 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr v1 v103 let v105 : string = "core::ops::Deref::deref(v104)" let v106 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr () v105 let v107 : obj = v106 let v108 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v107 v21 let v109 : Types.EmitType = v108 |> unbox> let v110 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v109 v36 let v111 : string = (v110).ToString () let v112 : string = "r#\"" + v39 + "\"#" let v113 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v112 let v114 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v113 v42 let v115 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v114 v44 let v116 : string = method8(v111) let v117 : string = "v116.as_str()" let v118 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v117 let v119 : string = method9() let v120 : string = "v119.as_str()" let v121 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v120 let v122 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v115, v118, v121) v52 let v123 : Types.std.string.String = method10(v122) let v124 : string = "fable_library_rust::String_::fromString(v123)" let v125 : string = Fable.Core.RustInterop.emitRustExpr () v124 let v126 : string = "r#\"" + v57 + "\"#" let v127 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v126 let v128 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v127 v42 let v129 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v128 v44 let v130 : string = method8(v125) let v131 : string = "v130.as_str()" let v132 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v131 let v133 : string = method11() let v134 : string = "v133.as_str()" let v135 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v134 let v136 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v129, v132, v135) v52 let v137 : Types.std.string.String = method10(v136) let v138 : string = "fable_library_rust::String_::fromString(v137)" let v139 : string = Fable.Core.RustInterop.emitRustExpr () v138 let v140 : string = "r#\"" + v72 + "\"#" let v141 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v140 let v142 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v141 v42 let v143 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v142 v44 let v144 : string = method8(v139) let v145 : string = "v144.as_str()" let v146 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v145 let v147 : string = method12() let v148 : string = "v147.as_str()" let v149 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v148 let v150 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v143, v146, v149) v52 let v151 : Types.std.string.String = method10(v150) let v152 : string = "fable_library_rust::String_::fromString(v151)" let v153 : string = Fable.Core.RustInterop.emitRustExpr () v152 let v154 : string = "r#\"" + v87 + "\"#" let v155 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v154 let v156 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v155 v42 let v157 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v156 v44 let v158 : string = method8(v153) let v159 : string = "v158.as_str()" let v160 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v159 let v161 : string = method13() let v162 : string = "v161.as_str()" let v163 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v162 let v164 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v157, v160, v163) v52 let v165 : Types.std.string.String = method10(v164) let v166 : string = "fable_library_rust::String_::fromString(v165)" let v167 : string = Fable.Core.RustInterop.emitRustExpr () v166 let v168 : Types.EmitType = method1(v167) let v169 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v25 v36 let v170 : string = (v169).ToString () let v171 : string = "r#\"" + v39 + "\"#" let v172 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v171 let v173 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v172 v42 let v174 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v173 v44 let v175 : string = method8(v170) let v176 : string = "v175.as_str()" let v177 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v176 let v178 : string = method9() let v179 : string = "v178.as_str()" let v180 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v179 let v181 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v174, v177, v180) v52 let v182 : Types.std.string.String = method10(v181) let v183 : string = "fable_library_rust::String_::fromString(v182)" let v184 : string = Fable.Core.RustInterop.emitRustExpr () v183 let v185 : string = "r#\"" + v57 + "\"#" let v186 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v185 let v187 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v186 v42 let v188 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v187 v44 let v189 : string = method8(v184) let v190 : string = "v189.as_str()" let v191 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v190 let v192 : string = method11() let v193 : string = "v192.as_str()" let v194 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v193 let v195 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v188, v191, v194) v52 let v196 : Types.std.string.String = method10(v195) let v197 : string = "fable_library_rust::String_::fromString(v196)" let v198 : string = Fable.Core.RustInterop.emitRustExpr () v197 let v199 : string = "r#\"" + v72 + "\"#" let v200 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v199 let v201 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v200 v42 let v202 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v201 v44 let v203 : string = method8(v198) let v204 : string = "v203.as_str()" let v205 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v204 let v206 : string = method12() let v207 : string = "v206.as_str()" let v208 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v207 let v209 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v202, v205, v208) v52 let v210 : Types.std.string.String = method10(v209) let v211 : string = "fable_library_rust::String_::fromString(v210)" let v212 : string = Fable.Core.RustInterop.emitRustExpr () v211 let v213 : string = "r#\"" + v87 + "\"#" let v214 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v213 let v215 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v214 v42 let v216 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v215 v44 let v217 : string = method8(v212) let v218 : string = "v217.as_str()" let v219 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v218 let v220 : string = method13() let v221 : string = "v220.as_str()" let v222 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v221 let v223 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v216, v219, v222) v52 let v224 : Types.std.string.String = method10(v223) let v225 : string = "fable_library_rust::String_::fromString(v224)" let v226 : string = Fable.Core.RustInterop.emitRustExpr () v225 let v227 : Types.EmitType = method1(v226) let v228 : string = "006666" let v229 : string = v228.Substring (0, 2) let v230 : string = "u8::from_str_radix($0, 16).unwrap()" let v231 : uint8 = Fable.Core.RustInterop.emitRustExpr v229 v230 let v232 : string = v228.Substring (2, 4) let v233 : uint8 = Fable.Core.RustInterop.emitRustExpr v232 v230 let v234 : string = v228.Substring (4, 6) let v235 : uint8 = Fable.Core.RustInterop.emitRustExpr v234 v230 let v236 : string = "colored::Colorize::truecolor(&*$0.to_string(), $1, $2, $3)" let v237 : Types.colored.ColoredString = Fable.Core.RustInterop.emitRustExpr struct (v168, v231, v233, v235) v236 let v238 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v237 v36 let v239 : string = "385779" let v240 : string = v239.Substring (0, 2) let v241 : uint8 = Fable.Core.RustInterop.emitRustExpr v240 v230 let v242 : string = v239.Substring (2, 4) let v243 : uint8 = Fable.Core.RustInterop.emitRustExpr v242 v230 let v244 : string = v239.Substring (4, 6) let v245 : uint8 = Fable.Core.RustInterop.emitRustExpr v244 v230 let v246 : Types.colored.ColoredString = Fable.Core.RustInterop.emitRustExpr struct (v227, v241, v243, v245) v236 let v247 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v246 v36 let v248 : string = $"{v102} {v238} {v247}" System.Console.WriteLine v248 () and closure1 () (v0 : Types.rocket.http.uri.Segments) : unit = let struct (v1 : string, v2 : string, v3 : string, v4 : bool) = method0() let v5 : string = "chrono::Utc::now()" let v6 : Types.chrono.DateTime = Fable.Core.RustInterop.emitRustExpr () v5 let v7 : string = "($0).timestamp()" let v8 : int64 = Fable.Core.RustInterop.emitRustExpr v6 v7 let v9 : string = "uri" let v10 : Types.EmitType = method1(v9) let v11 : Types.EmitType = method2(v0) let v12 : (Types.EmitType []) = [|v10; v11|] method3(v8, v12) and method14 (v0 : int64, v1 : (Types.EmitType [])) : unit = let v2 : string = "chrono::Utc::now()" let v3 : Types.chrono.DateTime = Fable.Core.RustInterop.emitRustExpr () v2 let v4 : string = "($0).timestamp()" let v5 : int64 = Fable.Core.RustInterop.emitRustExpr v3 v4 let v6 : int64 = v5 - v0 let v7 : string = (v6).ToString () let v8 : int32 = 6 let v9 : string = method4(v8, v7) let v10 : string = "rand::random::()" let v11 : uint8 = Fable.Core.RustInterop.emitRustExpr () v10 let v12 : string = "timestamp" let v13 : Types.EmitType = method1(v12) let v14 : Types.EmitType = method1(v9) let v15 : string = "run_id" let v16 : Types.EmitType = method1(v15) let v17 : Types.EmitType = method5(v11) let v18 : string = "log_level" let v19 : Types.EmitType = method1(v18) let v20 : US0 = US0_1 let v21 : string = "format!(\"{:?}\", $0)" let v22 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v20 v21 let v23 : Types.EmitType = method6(v22) let v24 : (Types.EmitType []) = [|v13; v14; v16; v17; v19; v23|] let v25 : Types.EmitType = method7(v24) let v26 : string = "> init ()" let v27 : Types.EmitType = method1(v26) let v28 : (Types.EmitType []) = [|v27|] let v29 : string = "$0" let v30 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr v28 v29 let v31 : string = "core::ops::Deref::deref(v30)" let v32 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr () v31 let v33 : obj = v32 let v34 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v33 v21 let v35 : Types.EmitType = v34 |> unbox> let v36 : string = "format!(\"{}\", $0)" let v37 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v35 v36 let v38 : string = (v37).ToString () let v39 : string = "\"([^\"]+)\", \"([^\"]+)\"" let v40 : string = "r#\"" + v39 + "\"#" let v41 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v40 let v42 : string = "regex::RegexBuilder::new($0)" let v43 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v41 v42 let v44 : string = "$0.build().unwrap()" let v45 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v43 v44 let v46 : string = method8(v38) let v47 : string = "v46.as_str()" let v48 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v47 let v49 : string = method9() let v50 : string = "v49.as_str()" let v51 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v50 let v52 : string = "$0.replace_all(&$1, $2).to_string()" let v53 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v45, v48, v51) v52 let v54 : Types.std.string.String = method10(v53) let v55 : string = "fable_library_rust::String_::fromString(v54)" let v56 : string = Fable.Core.RustInterop.emitRustExpr () v55 let v57 : string = "\\[\"(.*?)\"\\]" let v58 : string = "r#\"" + v57 + "\"#" let v59 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v58 let v60 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v59 v42 let v61 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v60 v44 let v62 : string = method8(v56) let v63 : string = "v62.as_str()" let v64 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v63 let v65 : string = method11() let v66 : string = "v65.as_str()" let v67 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v66 let v68 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v61, v64, v67) v52 let v69 : Types.std.string.String = method10(v68) let v70 : string = "fable_library_rust::String_::fromString(v69)" let v71 : string = Fable.Core.RustInterop.emitRustExpr () v70 let v72 : string = "\\\\\"" let v73 : string = "r#\"" + v72 + "\"#" let v74 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v73 let v75 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v74 v42 let v76 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v75 v44 let v77 : string = method8(v71) let v78 : string = "v77.as_str()" let v79 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v78 let v80 : string = method12() let v81 : string = "v80.as_str()" let v82 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v81 let v83 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v76, v79, v82) v52 let v84 : Types.std.string.String = method10(v83) let v85 : string = "fable_library_rust::String_::fromString(v84)" let v86 : string = Fable.Core.RustInterop.emitRustExpr () v85 let v87 : string = ", " let v88 : string = "r#\"" + v87 + "\"#" let v89 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v88 let v90 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v89 v42 let v91 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v90 v44 let v92 : string = method8(v86) let v93 : string = "v92.as_str()" let v94 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v93 let v95 : string = method13() let v96 : string = "v95.as_str()" let v97 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v96 let v98 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v91, v94, v97) v52 let v99 : Types.std.string.String = method10(v98) let v100 : string = "fable_library_rust::String_::fromString(v99)" let v101 : string = Fable.Core.RustInterop.emitRustExpr () v100 let v102 : Types.EmitType = method1(v101) let v103 : string = "$0" let v104 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr v1 v103 let v105 : string = "core::ops::Deref::deref(v104)" let v106 : Types.Ref<(Types.EmitType [])> = Fable.Core.RustInterop.emitRustExpr () v105 let v107 : obj = v106 let v108 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v107 v21 let v109 : Types.EmitType = v108 |> unbox> let v110 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v109 v36 let v111 : string = (v110).ToString () let v112 : string = "r#\"" + v39 + "\"#" let v113 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v112 let v114 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v113 v42 let v115 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v114 v44 let v116 : string = method8(v111) let v117 : string = "v116.as_str()" let v118 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v117 let v119 : string = method9() let v120 : string = "v119.as_str()" let v121 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v120 let v122 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v115, v118, v121) v52 let v123 : Types.std.string.String = method10(v122) let v124 : string = "fable_library_rust::String_::fromString(v123)" let v125 : string = Fable.Core.RustInterop.emitRustExpr () v124 let v126 : string = "r#\"" + v57 + "\"#" let v127 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v126 let v128 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v127 v42 let v129 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v128 v44 let v130 : string = method8(v125) let v131 : string = "v130.as_str()" let v132 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v131 let v133 : string = method11() let v134 : string = "v133.as_str()" let v135 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v134 let v136 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v129, v132, v135) v52 let v137 : Types.std.string.String = method10(v136) let v138 : string = "fable_library_rust::String_::fromString(v137)" let v139 : string = Fable.Core.RustInterop.emitRustExpr () v138 let v140 : string = "r#\"" + v72 + "\"#" let v141 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v140 let v142 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v141 v42 let v143 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v142 v44 let v144 : string = method8(v139) let v145 : string = "v144.as_str()" let v146 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v145 let v147 : string = method12() let v148 : string = "v147.as_str()" let v149 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v148 let v150 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v143, v146, v149) v52 let v151 : Types.std.string.String = method10(v150) let v152 : string = "fable_library_rust::String_::fromString(v151)" let v153 : string = Fable.Core.RustInterop.emitRustExpr () v152 let v154 : string = "r#\"" + v87 + "\"#" let v155 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v154 let v156 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v155 v42 let v157 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v156 v44 let v158 : string = method8(v153) let v159 : string = "v158.as_str()" let v160 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v159 let v161 : string = method13() let v162 : string = "v161.as_str()" let v163 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v162 let v164 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v157, v160, v163) v52 let v165 : Types.std.string.String = method10(v164) let v166 : string = "fable_library_rust::String_::fromString(v165)" let v167 : string = Fable.Core.RustInterop.emitRustExpr () v166 let v168 : Types.EmitType = method1(v167) let v169 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v25 v36 let v170 : string = (v169).ToString () let v171 : string = "r#\"" + v39 + "\"#" let v172 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v171 let v173 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v172 v42 let v174 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v173 v44 let v175 : string = method8(v170) let v176 : string = "v175.as_str()" let v177 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v176 let v178 : string = method9() let v179 : string = "v178.as_str()" let v180 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v179 let v181 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v174, v177, v180) v52 let v182 : Types.std.string.String = method10(v181) let v183 : string = "fable_library_rust::String_::fromString(v182)" let v184 : string = Fable.Core.RustInterop.emitRustExpr () v183 let v185 : string = "r#\"" + v57 + "\"#" let v186 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v185 let v187 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v186 v42 let v188 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v187 v44 let v189 : string = method8(v184) let v190 : string = "v189.as_str()" let v191 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v190 let v192 : string = method11() let v193 : string = "v192.as_str()" let v194 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v193 let v195 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v188, v191, v194) v52 let v196 : Types.std.string.String = method10(v195) let v197 : string = "fable_library_rust::String_::fromString(v196)" let v198 : string = Fable.Core.RustInterop.emitRustExpr () v197 let v199 : string = "r#\"" + v72 + "\"#" let v200 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v199 let v201 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v200 v42 let v202 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v201 v44 let v203 : string = method8(v198) let v204 : string = "v203.as_str()" let v205 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v204 let v206 : string = method12() let v207 : string = "v206.as_str()" let v208 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v207 let v209 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v202, v205, v208) v52 let v210 : Types.std.string.String = method10(v209) let v211 : string = "fable_library_rust::String_::fromString(v210)" let v212 : string = Fable.Core.RustInterop.emitRustExpr () v211 let v213 : string = "r#\"" + v87 + "\"#" let v214 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v213 let v215 : Types.regex.RegexBuilder = Fable.Core.RustInterop.emitRustExpr v214 v42 let v216 : Types.Ref = Fable.Core.RustInterop.emitRustExpr v215 v44 let v217 : string = method8(v212) let v218 : string = "v217.as_str()" let v219 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v218 let v220 : string = method13() let v221 : string = "v220.as_str()" let v222 : Types.Ref = Fable.Core.RustInterop.emitRustExpr () v221 let v223 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr struct (v216, v219, v222) v52 let v224 : Types.std.string.String = method10(v223) let v225 : string = "fable_library_rust::String_::fromString(v224)" let v226 : string = Fable.Core.RustInterop.emitRustExpr () v225 let v227 : Types.EmitType = method1(v226) let v228 : string = "666666" let v229 : string = v228.Substring (0, 2) let v230 : string = "u8::from_str_radix($0, 16).unwrap()" let v231 : uint8 = Fable.Core.RustInterop.emitRustExpr v229 v230 let v232 : string = v228.Substring (2, 4) let v233 : uint8 = Fable.Core.RustInterop.emitRustExpr v232 v230 let v234 : string = v228.Substring (4, 6) let v235 : uint8 = Fable.Core.RustInterop.emitRustExpr v234 v230 let v236 : string = "colored::Colorize::truecolor(&*$0.to_string(), $1, $2, $3)" let v237 : Types.colored.ColoredString = Fable.Core.RustInterop.emitRustExpr struct (v168, v231, v233, v235) v236 let v238 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v237 v36 let v239 : string = "385779" let v240 : string = v239.Substring (0, 2) let v241 : uint8 = Fable.Core.RustInterop.emitRustExpr v240 v230 let v242 : string = v239.Substring (2, 4) let v243 : uint8 = Fable.Core.RustInterop.emitRustExpr v242 v230 let v244 : string = v239.Substring (4, 6) let v245 : uint8 = Fable.Core.RustInterop.emitRustExpr v244 v230 let v246 : Types.colored.ColoredString = Fable.Core.RustInterop.emitRustExpr struct (v227, v241, v243, v245) v236 let v247 : Types.std.string.String = Fable.Core.RustInterop.emitRustExpr v246 v36 let v248 : string = $"{v102} {v238} {v247}" System.Console.WriteLine v248 () and closure0 () () : int32 = let struct (v0 : string, v1 : string, v2 : string, v3 : bool) = method0() let v4 : string = "chrono::Utc::now()" let v5 : Types.chrono.DateTime = Fable.Core.RustInterop.emitRustExpr () v4 let v6 : string = "($0).timestamp()" let v7 : int64 = Fable.Core.RustInterop.emitRustExpr v5 v6 let v8 : string = "#[rocket::get(\"/\")]" let v9 : string = " async fn proxy(" let v10 : string = v8 + v9 let v11 : string = " uri: rocket::http::uri::Segments<'_, rocket::http::uri::fmt::Path>," let v12 : string = v10 + v11 let v13 : string = " client: &rocket::State" let v14 : string = v12 + v13 let v15 : string = " ) -> Result, rocket::http::Status> {" let v16 : string = v14 + v15 let v17 : (Types.rocket.http.uri.Segments -> unit) = closure1() let v18 : string = " v17(uri.clone());" let v19 : string = v16 + v18 let v20 : string = " let uri = uri.collect::>();" let v21 : string = v19 + v20 let v22 : string = " let uri = uri.join(\"/\");" let v23 : string = v21 + v22 let v24 : string = " let uri = uri.replace(\":/\", \"://\");" let v25 : string = v23 + v24 let v26 : string = " let (host_url, url) = uri.split_once('|').unwrap_or((\"\", &uri));" let v27 : string = v25 + v26 let v28 : string = " let (host_protocol, host_host) = host_url.split_once(\"://\").unwrap_or((\"https\", \"www.github.com\"));" let v29 : string = v27 + v28 let v30 : string = " let (protocol, suffix) = url.split_once(\"://\").unwrap_or((host_protocol, url));" let v31 : string = v29 + v30 let v32 : string = " let (host, path) = match (url.split_once(\"://\"), suffix.split_once(\"/\")) {" let v33 : string = v31 + v32 let v34 : string = " (Some(_), None) if suffix != \"\" => (suffix, \"\")," let v35 : string = v33 + v34 let v36 : string = " _ => (host_host, suffix)," let v37 : string = v35 + v36 let v38 : string = " };" let v39 : string = v37 + v38 let v40 : string = " let new_url = match path {" let v41 : string = v39 + v40 let v42 : string = " \"\" => format!(\"{protocol}://{host}\")," let v43 : string = v41 + v42 let v44 : string = " _ => format!(\"{protocol}://{host}/{path}\")," let v45 : string = v43 + v44 let v46 : string = " };" let v47 : string = v45 + v46 let v48 : string = " println!(\"uri={uri}; new_url={new_url}; host={host}; path={path}; suffix={suffix}; host_url={host_url}; url={url}; host_host={host_host}; host_protocol={host_protocol}; protocol={protocol}\");" let v49 : string = v47 + v48 let v50 : string = " let res = client" let v51 : string = v49 + v50 let v52 : string = " .get(new_url)" let v53 : string = v51 + v52 let v54 : string = " .send()" let v55 : string = v53 + v54 let v56 : string = " .await" let v57 : string = v55 + v56 let v58 : string = " .map_err(|_| rocket::http::Status::NotFound);" let v59 : string = v57 + v58 let v60 : string = " match res {" let v61 : string = v59 + v60 let v62 : string = " Ok(res) => {" let v63 : string = v61 + v62 let v64 : string = " let content = res.text();" let v65 : string = v63 + v64 let v66 : string = " let content = content.await;" let v67 : string = v65 + v66 let v68 : string = " let content = content.map_err(|_| rocket::http::Status::InternalServerError);" let v69 : string = v67 + v68 let v70 : string = " let content = content.unwrap();" let v71 : string = v69 + v70 let v72 : string = " Ok(rocket::response::content::RawHtml(content))" let v73 : string = v71 + v72 let v74 : string = " }" let v75 : string = v73 + v74 let v76 : string = " Err(status) => Err(status)," let v77 : string = v75 + v76 let v78 : string = " }" let v79 : string = v77 + v78 let v80 : string = "} ()" let v81 : string = v79 + v80 Fable.Core.RustInterop.emitRustExpr () v81 let v82 : string = "#[rocket::get(\"/file/\")]" let v83 : string = " async fn file(" let v84 : string = v82 + v83 let v85 : string = " file: std::path::PathBuf," let v86 : string = v84 + v85 let v87 : string = " client: &rocket::State" let v88 : string = v86 + v87 let v89 : string = " ) -> std::option::Option {" let v90 : string = v88 + v89 let v91 : string = " rocket::fs::NamedFile::open(std::path::Path::new(\"./\").join(file))" let v92 : string = v90 + v91 let v93 : string = " .await" let v94 : string = v92 + v93 let v95 : string = " .ok()" let v96 : string = v94 + v95 let v97 : string = "} ()" let v98 : string = v96 + v97 Fable.Core.RustInterop.emitRustExpr () v98 let v99 : string = "#[rocket::launch]" let v100 : string = " fn rocket() -> _ {" let v101 : string = v99 + v100 let v102 : string = " rocket::build()" let v103 : string = v101 + v102 let v104 : string = " .manage(reqwest::Client::new())" let v105 : string = v103 + v104 let v106 : string = " .mount(\"/\", rocket::routes![proxy, file])" let v107 : string = v105 + v106 let v108 : string = "} ()" let v109 : string = v107 + v108 Fable.Core.RustInterop.emitRustExpr () v109 let v110 : string = "app end" let v111 : Types.EmitType = method1(v110) let v112 : string = "???" let v113 : Types.EmitType = method1(v112) let v114 : (Types.EmitType []) = [|v111; v113|] method14(v7, v114) 0 let v0 : (unit -> int32) = closure0() ()