1{ 2 "prebuilts_download_dir": "../openharmony_prebuilts", 3 "npm_install_path": [ 4 "developtools/ace_ets2bundle/compiler", 5 "developtools/ace_js2bundle/ace-loader", 6 "third_party/jsframework", 7 "third_party/parse5/packages/parse5", 8 "third_party/weex-loader", 9 "arkcompiler/ets_frontend/legacy_bin/api8", 10 "interface/sdk-js/build-tools" 11 ], 12 "uninstalled_tools": [ 13 "prebuilts/build-tools/common/restool" 14 ], 15 "node_modules_copy": [ 16 { 17 "src": "third_party/jsframework/node_modules", 18 "dest": "prebuilts/build-tools/common/js-framework/node_modules", 19 "use_symlink": "True" 20 }, 21 { 22 "src": "arkcompiler/ets_frontend/legacy_bin/api8/node_modules", 23 "dest": "prebuilts/build-tools/common/ts2abc/node_modules", 24 "use_symlink": "True" 25 }, 26 { 27 "src": "test/testfwk/arkxtest/jsunit", 28 "dest": "developtools/ace_ets2bundle/compiler/node_modules/@ohos/hypium", 29 "use_symlink": "False" 30 }, 31 { 32 "src": "test/testfwk/arkxtest/jsunit", 33 "dest": "developtools/ace_js2bundle/ace-loader/node_modules/@ohos/hypium", 34 "use_symlink": "False" 35 }, 36 { 37 "src": "test/testfwk/arkxtest/jsunit/", 38 "dest": "developtools/ace_ets2bundle/compiler/node_modules/hypium/", 39 "use_symlink": "False" 40 }, 41 { 42 "src": "test/testfwk/arkxtest/jsunit/", 43 "dest": "developtools/ace_js2bundle/ace-loader/node_modules/hypium/", 44 "use_symlink": "False" 45 } 46 ], 47 "file_handle_config": [ 48 { 49 "src":"/prebuilts/build-tools/common/nodejs", 50 "dest":"/prebuilts/build-tools/common/nodejs", 51 "rename": "true", 52 "symlink_src":"/node-v14.21.1-linux-x64", 53 "symlink_dest":"/current" 54 }, 55 { 56 "src":"/prebuilts/python/linux-x86", 57 "dest":"/prebuilts/python/linux-x86", 58 "rename": "true", 59 "symlink_src":"/3.10.2", 60 "symlink_dest":"/current" 61 }, 62 { 63 "src":"/prebuilts/python/darwin-x86", 64 "dest":"/prebuilts/python/darwin-x86", 65 "rename": "true", 66 "symlink_src":"/3.10.2", 67 "symlink_dest":"/current" 68 }, 69 { 70 "src": "/prebuilts/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi", 71 "tmp": "/prebuilts/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi2", 72 "dest": "/prebuilts/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi" 73 }, 74 { 75 "src": "/prebuilts/clang/ohos/windows-x86_64/clang_windows-x86_64-d1aa60-0630_sp1", 76 "dest": "/prebuilts/clang/ohos/windows-x86_64/llvm", 77 "rename": "true", 78 "symlink_src": "/lib/clang/15.0.4", 79 "symlink_dest": "/lib/clang/current" 80 }, 81 { 82 "src": "/prebuilts/clang/ohos/linux-x86_64/clang_linux-x86_64-d1aa60-0630", 83 "dest": "/prebuilts/clang/ohos/linux-x86_64/llvm", 84 "rename": "true", 85 "symlink_src": "/lib/clang/15.0.4", 86 "symlink_dest": "/lib/clang/current" 87 }, 88 { 89 "src": "/prebuilts/clang/ohos/darwin-arm64/clang_darwin-arm64-d1aa60-0630", 90 "dest": "/prebuilts/clang/ohos/darwin-arm64/llvm", 91 "rename": "true", 92 "symlink_src": "/lib/clang/15.0.4", 93 "symlink_dest": "/lib/clang/current" 94 }, 95 { 96 "src": "/prebuilts/clang/ohos/darwin-x86_64/clang_darwin-x86_64-d1aa60-0630", 97 "dest": "/prebuilts/clang/ohos/darwin-x86_64/llvm", 98 "rename": "true", 99 "symlink_src": "/lib/clang/15.0.4", 100 "symlink_dest": "/lib/clang/current" 101 }, 102 { 103 "src": "/prebuilts/clang/ohos/linux-x86_64/15.0.4/clang_linux-x86_64-77da71-20230230", 104 "dest": "/prebuilts/clang/ohos/linux-x86_64/15.0.4/llvm", 105 "rename": "true", 106 "symlink_src": "/lib/clang/15.0.4", 107 "symlink_dest": "/lib/clang/current" 108 }, 109 { 110 "src": "/prebuilts/clang/ohos/darwin-arm64/15.0.4/clang_darwin-arm64-77da71-20230230", 111 "dest": "/prebuilts/clang/ohos/darwin-arm64/15.0.4/llvm", 112 "rename": "true", 113 "symlink_src": "/lib/clang/15.0.4", 114 "symlink_dest": "/lib/clang/current" 115 }, 116 { 117 "src": "/prebuilts/clang/ohos/windows-x86_64/libcxx-ndk_windows-x86_64-d1aa60-0630", 118 "dest": "/prebuilts/clang/ohos/windows-x86_64/libcxx-ndk", 119 "rename": "true" 120 }, 121 { 122 "src": "/prebuilts/clang/ohos/linux-x86_64/libcxx-ndk_linux-x86_64-d1aa60-0630", 123 "dest": "/prebuilts/clang/ohos/linux-x86_64/libcxx-ndk", 124 "rename": "true" 125 }, 126 { 127 "src": "/prebuilts/clang/ohos/darwin-arm64/libcxx-ndk_darwin-arm64-d1aa60-0630", 128 "dest": "/prebuilts/clang/ohos/darwin-arm64/libcxx-ndk", 129 "rename": "true" 130 }, 131 { 132 "src": "/prebuilts/clang/ohos/darwin-x86_64/libcxx-ndk_darwin-x86_64-d1aa60-0630", 133 "dest": "/prebuilts/clang/ohos/darwin-x86_64/libcxx-ndk", 134 "rename": "true" 135 }, 136 { 137 "src": "/prebuilts/clang/ohos/linux-x86_64/15.0.4/libcxx-ndk_linux-x86_64-77da71-20230230", 138 "dest": "/prebuilts/clang/ohos/linux-x86_64/15.0.4/libcxx-ndk", 139 "rename": "true" 140 }, 141 { 142 "src": "/prebuilts/clang/ohos/darwin-arm64/15.0.4/libcxx-ndk_darwin-arm64-77da71-20230230", 143 "dest": "/prebuilts/clang/ohos/darwin-arm64/15.0.4/libcxx-ndk", 144 "rename": "true" 145 } 146 ], 147 "linux": { 148 "node_config": [ 149 { 150 "unzip_dir": "prebuilts/build-tools/common/nodejs", 151 "file_path": "/nodejs/v14.21.1/node-v14.21.1-linux-x64.tar.gz", 152 "unzip_filename": "node-v14.21.1-linux-x64" 153 } 154 ], 155 "arm64": { 156 "copy_config": [ 157 { 158 "unzip_dir": "prebuilts/cmake", 159 "file_path": "/openharmony/compiler/cmake/3.16.5/linux/cmake-linux-x86-3.16.5.tar.gz", 160 "unzip_filename": "linux" 161 }, 162 { 163 "unzip_dir": "prebuilts/build-tools/linux-x86/bin", 164 "file_path": "/openharmony/compiler/gn/1717/linux/gn-linux-x86-1717.tar.gz", 165 "unzip_filename": "gn" 166 }, 167 { 168 "unzip_dir": "prebuilts/build-tools/linux-x86/bin", 169 "file_path": "/openharmony/compiler/ninja/1.11.0/linux/ninja-linux-x86-1.11.0.tar.gz", 170 "unzip_filename": "ninja" 171 }, 172 { 173 "unzip_dir": "prebuilts/ark_tools", 174 "file_path": "/openharmony/compiler/llvm_prebuilt_libs/ark_js_prebuilts_20230713.tar.gz", 175 "unzip_filename": "ark_js_prebuilts" 176 } 177 ], 178 "linux_copy_config": [ 179 { 180 "unzip_dir": "prebuilts/cmake", 181 "file_path": "/openharmony/compiler/cmake/3.16.5/windows/cmake-windows-x86-3.16.5.tar.gz", 182 "unzip_filename": "windows-x86" 183 }, 184 { 185 "unzip_dir": "prebuilts/mingw-w64/ohos/linux-x86_64", 186 "file_path": "/openharmony/compiler/mingw-w64/7.0.0/clang-mingw.tar.gz", 187 "unzip_filename": "clang-mingw" 188 }, 189 { 190 "unzip_dir": "prebuilts/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi", 191 "file_path": "/openharmony/compiler/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi/1.0/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi.tar.gz", 192 "unzip_filename": "prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi" 193 }, 194 { 195 "unzip_dir": "prebuilts/gcc/linux-x86/aarch64", 196 "file_path": "/openharmony/compiler/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi/1.0/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz", 197 "unzip_filename": "gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu" 198 }, 199 { 200 "unzip_dir": "prebuilts/clang/ohos/windows-x86_64", 201 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60_sp1/windows/clang_windows-x86_64-d1aa60-0630_sp1.tar.bz2", 202 "unzip_filename": "llvm" 203 }, 204 { 205 "unzip_dir": "prebuilts/clang/ohos/windows-x86_64", 206 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/windows/libcxx-ndk_windows-x86_64-d1aa60-0630.tar.bz2", 207 "unzip_filename": "libcxx-ndk" 208 }, 209 { 210 "unzip_dir": "prebuilts/clang/ohos/linux-x86_64", 211 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/linux/clang_linux-x86_64-d1aa60-0630.tar.bz2", 212 "unzip_filename": "llvm" 213 }, 214 { 215 "unzip_dir": "prebuilts/clang/ohos/linux-x86_64", 216 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/linux/libcxx-ndk_linux-x86_64-d1aa60-0630.tar.bz2", 217 "unzip_filename": "libcxx-ndk" 218 }, 219 { 220 "unzip_dir": "prebuilts/clang/ohos/linux-x86_64/15.0.4", 221 "file_path": "/openharmony/compiler/clang/15.0.4-77da71/linux/clang_linux-x86_64-77da71-20230230.tar.bz2", 222 "unzip_filename": "llvm" 223 }, 224 { 225 "unzip_dir": "prebuilts/clang/ohos/linux-x86_64/15.0.4", 226 "file_path": "/openharmony/compiler/clang/15.0.4-77da71/linux/libcxx-ndk_linux-x86_64-77da71-20230230.tar.bz2", 227 "unzip_filename": "libcxx-ndk" 228 }, 229 { 230 "unzip_dir": "prebuilts/python", 231 "file_path": "/openharmony/compiler/python/3.10.2/linux/python-linux-x86-3.10.2_20230604.tar.gz", 232 "unzip_filename": "linux-x86" 233 }, 234 { 235 "unzip_dir": "prebuilts/develop_tools", 236 "file_path": "/openharmony/develop_tools/bpftool_v5.10.93_20221114.tar.gz", 237 "unzip_filename": "bpftool" 238 }, 239 { 240 "unzip_dir": "prebuilts/develop_tools", 241 "file_path": "/openharmony/develop_tools/pahole_v1.21_20221124.tar.gz", 242 "unzip_filename": "pahole" 243 } 244 ] 245 }, 246 "x86_64": { 247 "copy_config": [ 248 { 249 "unzip_dir": "prebuilts/cmake", 250 "file_path": "/openharmony/compiler/cmake/3.16.5/linux/cmake-linux-x86-3.16.5.tar.gz", 251 "unzip_filename": "linux" 252 }, 253 { 254 "unzip_dir": "prebuilts/build-tools/linux-x86/bin", 255 "file_path": "/openharmony/compiler/gn/2024/linux/gn-linux-x86-20230426.tar.gz", 256 "unzip_filename": "gn" 257 }, 258 { 259 "unzip_dir": "prebuilts/build-tools/linux-x86/bin", 260 "file_path": "/openharmony/compiler/ninja/1.11.0/linux/ninja-linux-x86-1.11.0.tar.gz", 261 "unzip_filename": "ninja" 262 }, 263 { 264 "unzip_dir": "prebuilts/ark_tools", 265 "file_path": "/openharmony/compiler/llvm_prebuilt_libs/ark_js_prebuilts_20230713.tar.gz", 266 "unzip_filename": "ark_js_prebuilts" 267 } 268 ], 269 "linux_copy_config": [ 270 { 271 "unzip_dir": "prebuilts/cmake", 272 "file_path": "/openharmony/compiler/cmake/3.16.5/windows/cmake-windows-x86-3.16.5.tar.gz", 273 "unzip_filename": "windows-x86" 274 }, 275 { 276 "unzip_dir": "prebuilts/mingw-w64/ohos/linux-x86_64", 277 "file_path": "/openharmony/compiler/mingw-w64/7.0.0/clang-mingw.tar.gz", 278 "unzip_filename": "clang-mingw" 279 }, 280 { 281 "unzip_dir": "prebuilts/gcc/linux-x86/arm/gcc-linaro-7.5.0-arm-linux-gnueabi", 282 "file_path": "/openharmony/compiler/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi/1.0/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi.tar.gz", 283 "unzip_filename": "prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi" 284 }, 285 { 286 "unzip_dir": "prebuilts/gcc/linux-x86/aarch64", 287 "file_path": "/openharmony/compiler/prebuilts_gcc_linux-x86_arm_gcc-linaro-7.5.0-arm-linux-gnueabi/1.0/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu.tar.xz", 288 "unzip_filename": "gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu" 289 }, 290 { 291 "unzip_dir": "prebuilts/clang/ohos/windows-x86_64", 292 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60_sp1/windows/clang_windows-x86_64-d1aa60-0630_sp1.tar.bz2", 293 "unzip_filename": "llvm" 294 }, 295 { 296 "unzip_dir": "prebuilts/clang/ohos/windows-x86_64", 297 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/windows/libcxx-ndk_windows-x86_64-d1aa60-0630.tar.bz2", 298 "unzip_filename": "libcxx-ndk" 299 }, 300 { 301 "unzip_dir": "prebuilts/clang/ohos/linux-x86_64", 302 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/linux/clang_linux-x86_64-d1aa60-0630.tar.bz2", 303 "unzip_filename": "llvm" 304 }, 305 { 306 "unzip_dir": "prebuilts/clang/ohos/linux-x86_64", 307 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/linux/libcxx-ndk_linux-x86_64-d1aa60-0630.tar.bz2", 308 "unzip_filename": "libcxx-ndk" 309 }, 310 { 311 "unzip_dir": "prebuilts/clang/ohos/linux-x86_64/15.0.4", 312 "file_path": "/openharmony/compiler/clang/15.0.4-77da71/linux/clang_linux-x86_64-77da71-20230230.tar.bz2", 313 "unzip_filename": "llvm" 314 }, 315 { 316 "unzip_dir": "prebuilts/clang/ohos/linux-x86_64/15.0.4", 317 "file_path": "/openharmony/compiler/clang/15.0.4-77da71/linux/libcxx-ndk_linux-x86_64-77da71-20230230.tar.bz2", 318 "unzip_filename": "libcxx-ndk" 319 }, 320 { 321 "unzip_dir": "prebuilts/python", 322 "file_path": "/openharmony/compiler/python/3.10.2/linux/python-linux-x86-3.10.2_20230604.tar.gz", 323 "unzip_filename": "linux-x86" 324 }, 325 { 326 "unzip_dir": "prebuilts/develop_tools", 327 "file_path": "/openharmony/develop_tools/bpftool_v5.10.93_20221114.tar.gz", 328 "unzip_filename": "bpftool" 329 }, 330 { 331 "unzip_dir": "prebuilts/develop_tools", 332 "file_path": "/openharmony/develop_tools/pahole_v1.21_20221124.tar.gz", 333 "unzip_filename": "pahole" 334 }, 335 { 336 "unzip_dir": "prebuilts/rustc", 337 "file_path": "/openharmony/compiler/rust/rust-1.68.0-dev-x86_64-unknown-linux-gnu-norpath.tar.gz", 338 "unzip_filename": "rustc" 339 }, 340 { 341 "unzip_dir": "prebuilts/rustc", 342 "file_path": "/openharmony/compiler/rust/rust-std-1.68.0-dev-aarch64-linux-ohos-norpath_20230706.tar.gz", 343 "unzip_filename": "rustc-aarch64-std" 344 }, 345 { 346 "unzip_dir": "prebuilts/rustc", 347 "file_path": "/openharmony/compiler/rust/rust-std-1.68.0-dev-armv7-linux-ohos-norpath.tar.gz", 348 "unzip_filename": "rustc-arm-std" 349 } 350 ], 351 "install": [ 352 { 353 "install_dir":"prebuilts/rustc/rust-1.68.0-dev-x86_64-unknown-linux-gnu", 354 "script":"install.sh", 355 "args": [ 356 { 357 "prefix": "''" 358 } 359 ], 360 "destdir": "prebuilts/rustc/linux-x86_64/current" 361 }, 362 { 363 "install_dir":"prebuilts/rustc/rust-std-1.68.0-dev-aarch64-linux-ohos", 364 "script":"install.sh", 365 "args": [ 366 { 367 "prefix": "''" 368 } 369 ], 370 "destdir": "prebuilts/rustc/linux-x86_64/current" 371 }, 372 { 373 "install_dir":"prebuilts/rustc/rust-std-1.68.0-dev-armv7-linux-ohos", 374 "script":"install.sh", 375 "args": [ 376 { 377 "prefix": "''" 378 } 379 ], 380 "destdir": "prebuilts/rustc/linux-x86_64/current" 381 } 382 ] 383 } 384 }, 385 "darwin": { 386 "node_config": [ 387 { 388 "unzip_dir": "prebuilts/build-tools/common/nodejs", 389 "file_path": "/nodejs/v14.21.1/node-v14.21.1-darwin-x64.tar.gz", 390 "unzip_filename": "node-v14.21.1-darwin-x64" 391 } 392 ], 393 "arm64": { 394 "copy_config": [ 395 { 396 "unzip_dir": "prebuilts/cmake", 397 "file_path": "/openharmony/compiler/cmake/3.16.5/darwin/cmake-darwin-x86-3.16.5.tar.gz", 398 "unzip_filename": "darwin" 399 }, 400 { 401 "unzip_dir": "prebuilts/build-tools/darwin-x86/bin", 402 "file_path": "/openharmony/compiler/gn/2024/darwin/gn-darwin-x86-20230425.tar.gz", 403 "unzip_filename": "gn" 404 }, 405 { 406 "unzip_dir": "prebuilts/build-tools/darwin-x86/bin", 407 "file_path": "/openharmony/compiler/ninja/1.11.0/darwin/ninja-darwin-x86-1.11.0.tar.gz", 408 "unzip_filename": "ninja" 409 }, 410 { 411 "unzip_dir": "prebuilts/ark_tools", 412 "file_path": "/openharmony/compiler/llvm_prebuilt_libs/ark_js_prebuilts_darwin_arm64_20230209.tar.gz", 413 "unzip_filename": "ark_js_prebuilts" 414 } 415 ], 416 "darwin_copy_config": [ 417 { 418 "unzip_dir": "prebuilts/clang/ohos/darwin-arm64", 419 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/darwin/clang_darwin-arm64-d1aa60-0630.tar.bz2", 420 "unzip_filename": "llvm" 421 }, 422 { 423 "unzip_dir": "prebuilts/clang/ohos/darwin-arm64", 424 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/darwin/libcxx-ndk_darwin-arm64-d1aa60-0630.tar.bz2", 425 "unzip_filename": "libcxx-ndk" 426 }, 427 { 428 "unzip_dir": "prebuilts/clang/ohos/darwin-arm64/15.0.4", 429 "file_path": "/openharmony/compiler/clang/15.0.4-77da71/darwin/clang_darwin-arm64-77da71-20230230.tar.bz2", 430 "unzip_filename": "llvm" 431 }, 432 { 433 "unzip_dir": "prebuilts/clang/ohos/darwin-arm64/15.0.4", 434 "file_path": "/openharmony/compiler/clang/15.0.4-77da71/darwin/libcxx-ndk_darwin-arm64-77da71-20230230.tar.bz2", 435 "unzip_filename": "libcxx-ndk" 436 }, 437 { 438 "unzip_dir": "prebuilts/python", 439 "file_path": "/openharmony/compiler/python/3.10.2/darwin/python-darwin-x86-3.10.2_20230604.tar.gz", 440 "unzip_filename": "darwin-x86" 441 } 442 ] 443 }, 444 "x86_64": { 445 "copy_config": [ 446 { 447 "unzip_dir": "prebuilts/cmake", 448 "file_path": "/openharmony/compiler/cmake/3.16.5/darwin/cmake-darwin-x86-3.16.5.tar.gz", 449 "unzip_filename": "darwin" 450 }, 451 { 452 "unzip_dir": "prebuilts/build-tools/darwin-x86/bin", 453 "file_path": "/openharmony/compiler/gn/2024/darwin/gn-darwin-x86-20230425.tar.gz", 454 "unzip_filename": "gn" 455 }, 456 { 457 "unzip_dir": "prebuilts/build-tools/darwin-x86/bin", 458 "file_path": "/openharmony/compiler/ninja/1.11.0/darwin/ninja-darwin-x86-1.11.0.tar.gz", 459 "unzip_filename": "ninja" 460 }, 461 { 462 "unzip_dir": "prebuilts/ark_tools", 463 "file_path": "/openharmony/compiler/llvm_prebuilt_libs/ark_js_prebuilts_darwin_x64_20230209.tar.gz", 464 "unzip_filename": "ark_js_prebuilts" 465 } 466 ], 467 "darwin_copy_config": [ 468 { 469 "unzip_dir": "prebuilts/clang/ohos/darwin-x86_64", 470 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/darwin/clang_darwin-x86_64-d1aa60-0630.tar.bz2", 471 "unzip_filename": "llvm" 472 }, 473 { 474 "unzip_dir": "prebuilts/clang/ohos/darwin-x86_64", 475 "file_path": "/openharmony/compiler/clang/15.0.4-d1aa60/darwin/libcxx-ndk_darwin-x86_64-d1aa60-0630.tar.bz2", 476 "unzip_filename": "libcxx-ndk" 477 }, 478 { 479 "unzip_dir": "prebuilts/python", 480 "file_path": "/openharmony/compiler/python/3.10.2/darwin/python-darwin-x86-3.10.2_20230604.tar.gz", 481 "unzip_filename": "darwin-x86" 482 } 483 ] 484 } 485 } 486} 487 488