gitextract_tcizrmu1/ ├── .gitattributes ├── .gitignore ├── LICENSE ├── README.md ├── doc/ │ ├── health_check_design.md │ ├── opentelemetry_design.md │ └── rate_limit_design.md ├── doc.go ├── go/ │ ├── archive/ │ │ ├── archive.go │ │ ├── option/ │ │ │ └── file_info.go │ │ └── zip/ │ │ ├── zip.go │ │ └── zip_test.go │ ├── bytes/ │ │ ├── bytes.go │ │ └── bytes_test.go │ ├── client/ │ │ ├── client.go │ │ ├── client.options.go │ │ ├── client_options.go │ │ └── client_test.go │ ├── container/ │ │ ├── heap/ │ │ │ ├── heap.go │ │ │ └── heap_test.go │ │ ├── set/ │ │ │ ├── set.go │ │ │ ├── set.interface.go │ │ │ ├── set_interface_test.go │ │ │ ├── set_string.go │ │ │ ├── set_string_test.go │ │ │ └── set_test.go │ │ └── workqueue/ │ │ ├── queue.go │ │ └── queue_test.go │ ├── context/ │ │ ├── context.go │ │ └── context_test.go │ ├── crypto/ │ │ ├── aes/ │ │ │ ├── aes_cbc.go │ │ │ ├── aes_cbc_test.go │ │ │ └── error.go │ │ ├── md5/ │ │ │ ├── md5.go │ │ │ └── md5_test.go │ │ └── sha256/ │ │ ├── sha256.go │ │ └── sha256_test.go │ ├── doc.go │ ├── encoding/ │ │ ├── base64/ │ │ │ ├── base64.go │ │ │ └── base64_test.go │ │ ├── hash/ │ │ │ ├── hash.go │ │ │ └── hash_test.go │ │ ├── jwt/ │ │ │ ├── jwt.go │ │ │ └── jwt_test.go │ │ └── protojson/ │ │ ├── decode.go │ │ ├── decode.option.go │ │ ├── decode_option.go │ │ ├── encode.go │ │ ├── encode.option.go │ │ ├── encode_option.go │ │ ├── protojson_test.go │ │ └── testdata/ │ │ ├── date.pb.go │ │ └── date.proto │ ├── errors/ │ │ ├── error.code.go │ │ ├── error.grpc.go │ │ ├── errors.go │ │ ├── errors_test.go │ │ └── handler.go │ ├── filesystem/ │ │ ├── filesystem.go │ │ └── mountpoint.go │ ├── flag/ │ │ └── flag.go │ ├── go.mod │ ├── go.sum │ ├── idgen/ │ │ ├── id_gen.go │ │ ├── id_gen_test.go │ │ ├── wk_id_gen.go │ │ └── wk_id_gen_test.go │ ├── io/ │ │ ├── copy.go │ │ ├── copy_darwin.go │ │ ├── copy_linux.go │ │ ├── copy_test.go │ │ ├── io.go │ │ ├── io_test.go │ │ └── testdata/ │ │ ├── dir/ │ │ │ ├── file/ │ │ │ │ └── 1.txt │ │ │ └── hello.text │ │ └── file/ │ │ └── 1.txt │ ├── math/ │ │ ├── exp/ │ │ │ ├── exp.go │ │ │ └── exp_test.go │ │ ├── math.go │ │ ├── math_test.go │ │ └── rand/ │ │ ├── rand.go │ │ └── rand_test.go │ ├── net/ │ │ ├── grpc/ │ │ │ ├── example/ │ │ │ │ ├── data.pb.go │ │ │ │ ├── data.proto │ │ │ │ ├── data.repository.go │ │ │ │ ├── data.repository_test.go │ │ │ │ └── data_grpc.pb.go │ │ │ ├── grpc_client.go │ │ │ ├── grpc_client.option.go │ │ │ ├── grpc_client.repository.factory.go │ │ │ ├── grpc_client.repository.go │ │ │ ├── grpc_client_option.go │ │ │ ├── grpc_client_test.go │ │ │ ├── grpc_stats.handler.go │ │ │ └── ip.go │ │ ├── http/ │ │ │ ├── clone.go │ │ │ ├── example/ │ │ │ │ ├── data.pb.go │ │ │ │ ├── data.proto │ │ │ │ └── http_client.repository_test.go │ │ │ ├── http_client.do.go │ │ │ ├── http_client.go │ │ │ ├── http_client.option.go │ │ │ ├── http_client.repository.factory.go │ │ │ ├── http_client.repository.go │ │ │ ├── http_client_option.go │ │ │ ├── http_client_proxy.go │ │ │ ├── http_client_test.go │ │ │ ├── http_error.go │ │ │ ├── http_handler_chain.option.go │ │ │ ├── http_handler_interceptor.go │ │ │ ├── http_handler_interceptor.option.go │ │ │ ├── http_host_context.go │ │ │ ├── http_proxy_context.go │ │ │ ├── http_request_id.go │ │ │ ├── http_round_trip.go │ │ │ ├── http_transport.go │ │ │ ├── http_transport.host.go │ │ │ ├── http_transport.proxy.go │ │ │ ├── ip.go │ │ │ └── response_writer.go │ │ ├── ip.go │ │ ├── ip_test.go │ │ ├── mac.go │ │ ├── mac_test.go │ │ ├── parse.go │ │ ├── resolver/ │ │ │ ├── build.go │ │ │ ├── build.option.go │ │ │ ├── build_option.go │ │ │ ├── dns/ │ │ │ │ ├── dns_resolver.go │ │ │ │ ├── dns_resolver_builder.option.go │ │ │ │ └── dns_resolver_builder_option.go │ │ │ ├── passthrough/ │ │ │ │ └── passthrough.go │ │ │ ├── register.reslover.go │ │ │ ├── resolve/ │ │ │ │ └── resolve.go │ │ │ ├── resolve.all.option.go │ │ │ ├── resolve.all_option.go │ │ │ ├── resolve.now_option.go │ │ │ ├── resolve.one.option.go │ │ │ ├── resolve.one_option.go │ │ │ ├── resolver.go │ │ │ ├── resolver_test.go │ │ │ ├── target.go │ │ │ └── unix/ │ │ │ └── unix.go │ │ └── url/ │ │ ├── url.go │ │ ├── url.resolve.go │ │ ├── url_codec.go │ │ ├── url_option.go │ │ ├── url_test.go │ │ └── value.go │ ├── os/ │ │ ├── env.go │ │ ├── env_test.go │ │ ├── exec/ │ │ │ ├── exec.go │ │ │ ├── exec.options.go │ │ │ ├── exec_options.go │ │ │ └── exec_test.go │ │ ├── file.go │ │ ├── file_test.go │ │ ├── getwd.go │ │ ├── getwd_test.go │ │ ├── proc.go │ │ ├── proc_darwin.go │ │ ├── proc_linux.go │ │ ├── proc_test.go │ │ ├── remove_file.go │ │ ├── signal_posix.go │ │ ├── term/ │ │ │ └── term.go │ │ ├── value.go │ │ └── value_test.go │ ├── path/ │ │ └── filepath/ │ │ ├── match.go │ │ ├── path.go │ │ └── path_test.go │ ├── reflect/ │ │ ├── array.go │ │ ├── array_test.go │ │ ├── error.go │ │ ├── id.go │ │ ├── struct.go │ │ ├── struct_test.go │ │ ├── truncate.go │ │ ├── truncate_test.go │ │ ├── value.go │ │ └── value_test.go │ ├── runtime/ │ │ ├── extern.go │ │ ├── extern_test.go │ │ ├── function.go │ │ ├── function_test.go │ │ ├── goroutine.go │ │ ├── marshaler/ │ │ │ ├── jsonpb.marshaler.go │ │ │ ├── jsonpb.marshaler.option.go │ │ │ ├── jsonpb.marshaler_option.go │ │ │ └── proto.marshaler.go │ │ ├── meta.data.go │ │ ├── panic.go │ │ ├── panic_test.go │ │ └── stack.go │ ├── slices/ │ │ ├── slices.go │ │ └── slices_test.go │ ├── strconv/ │ │ ├── atoi.go │ │ ├── atoi_test.go │ │ ├── atonum.go │ │ ├── atonum_test.go │ │ └── itoa.go │ ├── strings/ │ │ ├── string_slice.go │ │ ├── string_slice_test.go │ │ ├── strings.go │ │ └── strings_test.go │ ├── sync/ │ │ ├── atomic/ │ │ │ ├── file_lock.go │ │ │ └── file_lock_test.go │ │ ├── cond.go │ │ └── cond_test.go │ ├── syscall/ │ │ ├── disk.go │ │ ├── disk_test.go │ │ ├── memory_darwin.go │ │ ├── memory_linux.go │ │ ├── memory_linux_test.go │ │ ├── rlimit.go │ │ ├── rlimit_test.go │ │ └── syscall.go │ ├── time/ │ │ ├── backoff.go │ │ ├── exponential_backoff.go │ │ ├── exponential_backoff.options.go │ │ ├── exponential_backoff_options.go │ │ ├── exponential_backoff_test.go │ │ ├── exponentialbackeoff_syncmap.go │ │ ├── rate/ │ │ │ ├── rate.go │ │ │ ├── rate_method.go │ │ │ ├── rate_qps.go │ │ │ ├── rate_qps_method.go │ │ │ ├── rate_qps_test.go │ │ │ └── rate_test.go │ │ ├── time.go │ │ ├── time_counter.go │ │ ├── time_counter_test.go │ │ ├── time_test.go │ │ ├── wait.go │ │ └── wait_test.go │ ├── unsafe/ │ │ └── unsafe.go │ └── utils/ │ ├── compare.go │ ├── generics_get.go │ └── generics_get_test.go ├── go.mod ├── go.sum ├── pkg/ │ ├── binlog/ │ │ ├── binlog.archive.go │ │ ├── binlog.go │ │ ├── binlog.option.go │ │ ├── binlog.pb.go │ │ ├── binlog.proto │ │ ├── binlog.yaml │ │ ├── binlog_option.go │ │ ├── binlog_test.go │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── datastore/ │ │ │ ├── data.store.go │ │ │ ├── dbstore/ │ │ │ │ └── db.store.go │ │ │ ├── filestore/ │ │ │ │ └── file.store.go │ │ │ └── message.go │ │ ├── go.mod │ │ └── go.sum │ ├── config/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── go.mod │ │ └── go.sum │ ├── container/ │ │ ├── docker/ │ │ │ └── docker.proto │ │ ├── go.mod │ │ └── go.sum │ ├── crontab/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── crontab.go │ │ ├── crontab.pb.go │ │ ├── crontab.proto │ │ ├── crontab.yaml │ │ ├── crontab_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ └── testdata/ │ │ ├── 1.txt │ │ ├── 2.txt │ │ └── 3.txt │ ├── database/ │ │ ├── db.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── mysql/ │ │ │ ├── config.go │ │ │ ├── config.option.go │ │ │ ├── config_option.go │ │ │ ├── migrate/ │ │ │ │ └── rename_db.sql │ │ │ ├── mysql.go │ │ │ ├── mysql.option.go │ │ │ ├── mysql.pb.go │ │ │ ├── mysql.proto │ │ │ ├── mysql.yaml │ │ │ ├── mysql_operate_test.go │ │ │ ├── mysql_options.go │ │ │ ├── mysql_test.go │ │ │ ├── mysql_transaction.go │ │ │ ├── sql.go │ │ │ ├── sql_exec.go │ │ │ ├── sql_test.go │ │ │ └── sql_type.go │ │ └── redis/ │ │ ├── command.get.values.go │ │ ├── command.hset.go │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── redis.go │ │ ├── redis.options.go │ │ ├── redis.pb.go │ │ ├── redis.proto │ │ ├── redis.yaml │ │ ├── redis_benchmark_test.go │ │ ├── redis_hset_test.go │ │ ├── redis_key_delete_test.go │ │ ├── redis_key_test.go │ │ ├── redis_list_test.go │ │ ├── redis_options.go │ │ ├── redis_set_test.go │ │ ├── redis_string_test.go │ │ ├── redis_transaction_test.go │ │ ├── redis_type.go │ │ └── redis_zset_test.go │ ├── discovery/ │ │ ├── consul/ │ │ │ └── discovery.go │ │ ├── etcd/ │ │ │ ├── config.go │ │ │ ├── config.option.go │ │ │ ├── config_option.go │ │ │ ├── etcd.go │ │ │ ├── etcd.option.go │ │ │ ├── etcd.pb.go │ │ │ ├── etcd.proto │ │ │ ├── etcd.watch.go │ │ │ ├── etcd.yaml │ │ │ ├── etcd_options.go │ │ │ ├── etcd_test.go │ │ │ └── etcd_type.go │ │ ├── go.mod │ │ └── go.sum │ ├── file-cleanup/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── disk/ │ │ │ ├── disk_cleaner.go │ │ │ ├── disk_cleaner.option.go │ │ │ ├── disk_cleaner.pb.go │ │ │ ├── disk_cleaner.proto │ │ │ └── disk_cleaner_option.go │ │ ├── disk_cleaner_test.go │ │ ├── diskcleaner.yaml │ │ ├── file_cleaner.go │ │ ├── file_cleaner.option.go │ │ ├── file_cleaner_option.go │ │ ├── file_cleaner_test.go │ │ ├── go.mod │ │ └── go.sum │ ├── file-rotate/ │ │ ├── go.mod │ │ ├── go.sum │ │ ├── rotate_file.go │ │ ├── rotate_file.option.go │ │ ├── rotate_file_option.go │ │ └── rotate_file_test.go │ ├── file-transfer/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── file.transfer.go │ │ ├── file.transfer.option.go │ │ ├── file.transfer_option.go │ │ ├── file.transfer_test.go │ │ ├── ft.pb.go │ │ ├── ft.proto │ │ ├── ft.yaml │ │ ├── go.mod │ │ ├── go.sum │ │ └── upload/ │ │ ├── upload.svr.go │ │ └── upload.svr_test.go │ ├── fsnotify/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── fsnotify.go │ │ ├── fsnotify.option.go │ │ ├── fsnotify.pb.go │ │ ├── fsnotify.proto │ │ ├── fsnotify.yaml │ │ ├── fsnotify_option.go │ │ ├── fsnotify_test.go │ │ ├── go.mod │ │ └── go.sum │ ├── gocv/ │ │ ├── cgo/ │ │ │ ├── CMakeLists.txt │ │ │ ├── api/ │ │ │ │ └── openapi-spec/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Makefile │ │ │ │ ├── gocv/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── gocv.magick.pb.go │ │ │ │ │ ├── gocv.magick.pb.h │ │ │ │ │ ├── gocv.magick.proto │ │ │ │ │ └── libproto-gocv.a │ │ │ │ ├── proto.gen.go │ │ │ │ ├── scripts/ │ │ │ │ │ └── proto-gen.sh │ │ │ │ ├── thirdparty.cmake │ │ │ │ ├── thirdparty.srv.cmake │ │ │ │ └── types/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── code/ │ │ │ │ │ ├── code.error.go │ │ │ │ │ ├── sdk-go.code.pb.go │ │ │ │ │ ├── sdk-go.code.pb.h │ │ │ │ │ └── sdk-go.code.proto │ │ │ │ ├── libproto-types.a │ │ │ │ ├── sdk-go.types.pb.go │ │ │ │ ├── sdk-go.types.pb.h │ │ │ │ └── sdk-go.types.proto │ │ │ ├── cmake/ │ │ │ │ └── FindProtobuf.cmake │ │ │ ├── gocv/ │ │ │ │ ├── Makefile │ │ │ │ ├── gocv.go │ │ │ │ ├── gocv_test.go │ │ │ │ ├── magick.h │ │ │ │ ├── magick_linux_amd64.cpp │ │ │ │ └── magick_linux_amd64.go │ │ │ ├── pkgconfig/ │ │ │ │ ├── graphics-magick.pc │ │ │ │ ├── opencv2.pc │ │ │ │ ├── opencv4.pc │ │ │ │ ├── protobuf.pc │ │ │ │ ├── pybind11.pc │ │ │ │ └── python3-embed.pc │ │ │ ├── script/ │ │ │ │ └── version.sh │ │ │ ├── swig/ │ │ │ │ ├── gocv/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── cgo.go │ │ │ │ │ ├── gocv.go │ │ │ │ │ ├── gocv.h │ │ │ │ │ ├── gocv.swigcxx │ │ │ │ │ ├── gocv_linux_amd64.cpp │ │ │ │ │ ├── gocv_linux_amd64.go │ │ │ │ │ ├── gocv_test.go │ │ │ │ │ ├── gocv_wrap.cxx │ │ │ │ │ └── gocv_wrap.h │ │ │ │ ├── pycv/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── __init__.py │ │ │ │ │ ├── cgo.go │ │ │ │ │ ├── pycv.go │ │ │ │ │ ├── pycv.h │ │ │ │ │ ├── pycv.py │ │ │ │ │ ├── pycv.swigcxx │ │ │ │ │ ├── pycv_linux_amd64.cpp │ │ │ │ │ ├── pycv_test.go │ │ │ │ │ ├── pycv_wrap.cxx │ │ │ │ │ └── pycv_wrap.h │ │ │ │ └── types/ │ │ │ │ └── pybind11/ │ │ │ │ ├── pybind11.swigcxx │ │ │ │ └── pybind11_mock.h │ │ │ └── third_path/ │ │ │ ├── graphics-magick/ │ │ │ │ ├── bin/ │ │ │ │ │ ├── GraphicsMagick++-config │ │ │ │ │ ├── GraphicsMagick-config │ │ │ │ │ ├── GraphicsMagickWand-config │ │ │ │ │ └── gm │ │ │ │ ├── include/ │ │ │ │ │ ├── GraphicsMagick/ │ │ │ │ │ │ ├── Magick++/ │ │ │ │ │ │ │ ├── Blob.h │ │ │ │ │ │ │ ├── CoderInfo.h │ │ │ │ │ │ │ ├── Color.h │ │ │ │ │ │ │ ├── Drawable.h │ │ │ │ │ │ │ ├── Exception.h │ │ │ │ │ │ │ ├── Geometry.h │ │ │ │ │ │ │ ├── Image.h │ │ │ │ │ │ │ ├── Include.h │ │ │ │ │ │ │ ├── Montage.h │ │ │ │ │ │ │ ├── Pixels.h │ │ │ │ │ │ │ ├── STL.h │ │ │ │ │ │ │ └── TypeMetric.h │ │ │ │ │ │ ├── Magick++.h │ │ │ │ │ │ ├── magick/ │ │ │ │ │ │ │ ├── analyze.h │ │ │ │ │ │ │ ├── api.h │ │ │ │ │ │ │ ├── attribute.h │ │ │ │ │ │ │ ├── average.h │ │ │ │ │ │ │ ├── blob.h │ │ │ │ │ │ │ ├── cdl.h │ │ │ │ │ │ │ ├── channel.h │ │ │ │ │ │ │ ├── color.h │ │ │ │ │ │ │ ├── color_lookup.h │ │ │ │ │ │ │ ├── colormap.h │ │ │ │ │ │ │ ├── colorspace.h │ │ │ │ │ │ │ ├── command.h │ │ │ │ │ │ │ ├── common.h │ │ │ │ │ │ │ ├── compare.h │ │ │ │ │ │ │ ├── composite.h │ │ │ │ │ │ │ ├── compress.h │ │ │ │ │ │ │ ├── confirm_access.h │ │ │ │ │ │ │ ├── constitute.h │ │ │ │ │ │ │ ├── decorate.h │ │ │ │ │ │ │ ├── delegate.h │ │ │ │ │ │ │ ├── deprecate.h │ │ │ │ │ │ │ ├── describe.h │ │ │ │ │ │ │ ├── draw.h │ │ │ │ │ │ │ ├── effect.h │ │ │ │ │ │ │ ├── enhance.h │ │ │ │ │ │ │ ├── error.h │ │ │ │ │ │ │ ├── forward.h │ │ │ │ │ │ │ ├── fx.h │ │ │ │ │ │ │ ├── gem.h │ │ │ │ │ │ │ ├── gradient.h │ │ │ │ │ │ │ ├── hclut.h │ │ │ │ │ │ │ ├── image.h │ │ │ │ │ │ │ ├── list.h │ │ │ │ │ │ │ ├── log.h │ │ │ │ │ │ │ ├── magic.h │ │ │ │ │ │ │ ├── magick.h │ │ │ │ │ │ │ ├── magick_config.h │ │ │ │ │ │ │ ├── magick_types.h │ │ │ │ │ │ │ ├── memory.h │ │ │ │ │ │ │ ├── module.h │ │ │ │ │ │ │ ├── monitor.h │ │ │ │ │ │ │ ├── montage.h │ │ │ │ │ │ │ ├── operator.h │ │ │ │ │ │ │ ├── paint.h │ │ │ │ │ │ │ ├── pixel_cache.h │ │ │ │ │ │ │ ├── pixel_iterator.h │ │ │ │ │ │ │ ├── plasma.h │ │ │ │ │ │ │ ├── profile.h │ │ │ │ │ │ │ ├── quantize.h │ │ │ │ │ │ │ ├── random.h │ │ │ │ │ │ │ ├── registry.h │ │ │ │ │ │ │ ├── render.h │ │ │ │ │ │ │ ├── resize.h │ │ │ │ │ │ │ ├── resource.h │ │ │ │ │ │ │ ├── shear.h │ │ │ │ │ │ │ ├── signature.h │ │ │ │ │ │ │ ├── statistics.h │ │ │ │ │ │ │ ├── symbols.h │ │ │ │ │ │ │ ├── texture.h │ │ │ │ │ │ │ ├── timer.h │ │ │ │ │ │ │ ├── transform.h │ │ │ │ │ │ │ ├── type.h │ │ │ │ │ │ │ ├── utility.h │ │ │ │ │ │ │ └── version.h │ │ │ │ │ │ └── wand/ │ │ │ │ │ │ ├── drawing_wand.h │ │ │ │ │ │ ├── magick_wand.h │ │ │ │ │ │ ├── pixel_wand.h │ │ │ │ │ │ ├── wand_api.h │ │ │ │ │ │ └── wand_symbols.h │ │ │ │ │ ├── Magick++/ │ │ │ │ │ │ ├── Blob.h │ │ │ │ │ │ ├── CoderInfo.h │ │ │ │ │ │ ├── Color.h │ │ │ │ │ │ ├── Drawable.h │ │ │ │ │ │ ├── Exception.h │ │ │ │ │ │ ├── Geometry.h │ │ │ │ │ │ ├── Image.h │ │ │ │ │ │ ├── Include.h │ │ │ │ │ │ ├── Montage.h │ │ │ │ │ │ ├── Pixels.h │ │ │ │ │ │ ├── STL.h │ │ │ │ │ │ └── TypeMetric.h │ │ │ │ │ ├── Magick++.h │ │ │ │ │ ├── magick/ │ │ │ │ │ │ ├── analyze.h │ │ │ │ │ │ ├── api.h │ │ │ │ │ │ ├── attribute.h │ │ │ │ │ │ ├── average.h │ │ │ │ │ │ ├── blob.h │ │ │ │ │ │ ├── cdl.h │ │ │ │ │ │ ├── channel.h │ │ │ │ │ │ ├── color.h │ │ │ │ │ │ ├── color_lookup.h │ │ │ │ │ │ ├── colormap.h │ │ │ │ │ │ ├── colorspace.h │ │ │ │ │ │ ├── command.h │ │ │ │ │ │ ├── common.h │ │ │ │ │ │ ├── compare.h │ │ │ │ │ │ ├── composite.h │ │ │ │ │ │ ├── compress.h │ │ │ │ │ │ ├── confirm_access.h │ │ │ │ │ │ ├── constitute.h │ │ │ │ │ │ ├── decorate.h │ │ │ │ │ │ ├── delegate.h │ │ │ │ │ │ ├── deprecate.h │ │ │ │ │ │ ├── describe.h │ │ │ │ │ │ ├── draw.h │ │ │ │ │ │ ├── effect.h │ │ │ │ │ │ ├── enhance.h │ │ │ │ │ │ ├── error.h │ │ │ │ │ │ ├── forward.h │ │ │ │ │ │ ├── fx.h │ │ │ │ │ │ ├── gem.h │ │ │ │ │ │ ├── gradient.h │ │ │ │ │ │ ├── hclut.h │ │ │ │ │ │ ├── image.h │ │ │ │ │ │ ├── list.h │ │ │ │ │ │ ├── log.h │ │ │ │ │ │ ├── magic.h │ │ │ │ │ │ ├── magick.h │ │ │ │ │ │ ├── magick_config.h │ │ │ │ │ │ ├── magick_types.h │ │ │ │ │ │ ├── memory.h │ │ │ │ │ │ ├── module.h │ │ │ │ │ │ ├── monitor.h │ │ │ │ │ │ ├── montage.h │ │ │ │ │ │ ├── operator.h │ │ │ │ │ │ ├── paint.h │ │ │ │ │ │ ├── pixel_cache.h │ │ │ │ │ │ ├── pixel_iterator.h │ │ │ │ │ │ ├── plasma.h │ │ │ │ │ │ ├── profile.h │ │ │ │ │ │ ├── quantize.h │ │ │ │ │ │ ├── random.h │ │ │ │ │ │ ├── registry.h │ │ │ │ │ │ ├── render.h │ │ │ │ │ │ ├── resize.h │ │ │ │ │ │ ├── resource.h │ │ │ │ │ │ ├── shear.h │ │ │ │ │ │ ├── signature.h │ │ │ │ │ │ ├── statistics.h │ │ │ │ │ │ ├── symbols.h │ │ │ │ │ │ ├── texture.h │ │ │ │ │ │ ├── timer.h │ │ │ │ │ │ ├── transform.h │ │ │ │ │ │ ├── type.h │ │ │ │ │ │ ├── utility.h │ │ │ │ │ │ └── version.h │ │ │ │ │ └── wand/ │ │ │ │ │ ├── drawing_wand.h │ │ │ │ │ ├── magick_wand.h │ │ │ │ │ ├── pixel_wand.h │ │ │ │ │ ├── wand_api.h │ │ │ │ │ └── wand_symbols.h │ │ │ │ ├── lib/ │ │ │ │ │ ├── GraphicsMagick-1.3.35/ │ │ │ │ │ │ └── config/ │ │ │ │ │ │ ├── delegates.mgk │ │ │ │ │ │ ├── type-ghostscript.mgk │ │ │ │ │ │ ├── type-solaris.mgk │ │ │ │ │ │ ├── type-windows.mgk │ │ │ │ │ │ └── type.mgk │ │ │ │ │ ├── libGraphicsMagick++.a │ │ │ │ │ ├── libGraphicsMagick++.so.12.4.3 │ │ │ │ │ ├── libGraphicsMagick.a │ │ │ │ │ ├── libGraphicsMagick.so.3.21.0 │ │ │ │ │ ├── libGraphicsMagickWand.a │ │ │ │ │ ├── libGraphicsMagickWand.so.2.9.4 │ │ │ │ │ ├── libjbig.so.2.0 │ │ │ │ │ ├── libpng15.so.15 │ │ │ │ │ ├── libtiff.so.5 │ │ │ │ │ ├── libtiff.so.5.2.0 │ │ │ │ │ ├── libwebp.so.4 │ │ │ │ │ ├── libwebp.so.4.0.2 │ │ │ │ │ ├── libwebpmux.so.0 │ │ │ │ │ ├── libwebpmux.so.0.0.0 │ │ │ │ │ └── pkgconfig/ │ │ │ │ │ ├── GraphicsMagick++.pc │ │ │ │ │ ├── GraphicsMagick.pc │ │ │ │ │ └── GraphicsMagickWand.pc │ │ │ │ └── share/ │ │ │ │ ├── GraphicsMagick-1.3.35/ │ │ │ │ │ └── config/ │ │ │ │ │ ├── colors.mgk │ │ │ │ │ ├── log.mgk │ │ │ │ │ └── modules.mgk │ │ │ │ ├── doc/ │ │ │ │ │ └── GraphicsMagick/ │ │ │ │ │ ├── ChangeLog │ │ │ │ │ ├── ChangeLog.2001 │ │ │ │ │ ├── ChangeLog.2002 │ │ │ │ │ ├── ChangeLog.2003 │ │ │ │ │ ├── ChangeLog.2004 │ │ │ │ │ ├── ChangeLog.2005 │ │ │ │ │ ├── ChangeLog.2006 │ │ │ │ │ ├── ChangeLog.2007 │ │ │ │ │ ├── ChangeLog.2008 │ │ │ │ │ ├── ChangeLog.2009 │ │ │ │ │ ├── ChangeLog.2010 │ │ │ │ │ ├── ChangeLog.2011 │ │ │ │ │ ├── ChangeLog.2012 │ │ │ │ │ ├── ChangeLog.2013 │ │ │ │ │ ├── ChangeLog.2014 │ │ │ │ │ ├── ChangeLog.2015 │ │ │ │ │ ├── ChangeLog.2016 │ │ │ │ │ ├── ChangeLog.2017 │ │ │ │ │ ├── ChangeLog.2018 │ │ │ │ │ ├── ChangeLog.2019 │ │ │ │ │ ├── Copyright.txt │ │ │ │ │ ├── NEWS.txt │ │ │ │ │ └── www/ │ │ │ │ │ ├── ChangeLog-2001.html │ │ │ │ │ ├── ChangeLog-2002.html │ │ │ │ │ ├── ChangeLog-2003.html │ │ │ │ │ ├── ChangeLog-2004.html │ │ │ │ │ ├── ChangeLog-2005.html │ │ │ │ │ ├── ChangeLog-2006.html │ │ │ │ │ ├── ChangeLog-2007.html │ │ │ │ │ ├── ChangeLog-2008.html │ │ │ │ │ ├── ChangeLog-2009.html │ │ │ │ │ ├── ChangeLog-2010.html │ │ │ │ │ ├── ChangeLog-2011.html │ │ │ │ │ ├── ChangeLog-2012.html │ │ │ │ │ ├── ChangeLog-2013.html │ │ │ │ │ ├── ChangeLog-2014.html │ │ │ │ │ ├── ChangeLog-2015.html │ │ │ │ │ ├── ChangeLog-2016.html │ │ │ │ │ ├── ChangeLog-2017.html │ │ │ │ │ ├── ChangeLog-2018.html │ │ │ │ │ ├── ChangeLog-2019.html │ │ │ │ │ ├── Changelog.html │ │ │ │ │ ├── Changes.html │ │ │ │ │ ├── Copyright.html │ │ │ │ │ ├── FAQ.html │ │ │ │ │ ├── GraphicsMagick.html │ │ │ │ │ ├── Hg.html │ │ │ │ │ ├── INSTALL-unix.html │ │ │ │ │ ├── INSTALL-windows.html │ │ │ │ │ ├── ImageMagickObject.html │ │ │ │ │ ├── Magick++/ │ │ │ │ │ │ ├── Blob.html │ │ │ │ │ │ ├── ChangeLog.html │ │ │ │ │ │ ├── CoderInfo.html │ │ │ │ │ │ ├── Color.html │ │ │ │ │ │ ├── Drawable.html │ │ │ │ │ │ ├── Enumerations.html │ │ │ │ │ │ ├── Exception.html │ │ │ │ │ │ ├── FormatCharacters.html │ │ │ │ │ │ ├── Geometry.html │ │ │ │ │ │ ├── Image.html │ │ │ │ │ │ ├── ImageDesign.html │ │ │ │ │ │ ├── Montage.html │ │ │ │ │ │ ├── PixelPacket.html │ │ │ │ │ │ ├── Pixels.html │ │ │ │ │ │ ├── STL.html │ │ │ │ │ │ ├── TypeMetric.html │ │ │ │ │ │ └── index.html │ │ │ │ │ ├── NEWS.html │ │ │ │ │ ├── OpenMP.html │ │ │ │ │ ├── README.html │ │ │ │ │ ├── animate.html │ │ │ │ │ ├── api/ │ │ │ │ │ │ ├── animate.html │ │ │ │ │ │ ├── annotate.html │ │ │ │ │ │ ├── api.html │ │ │ │ │ │ ├── attribute.html │ │ │ │ │ │ ├── average.html │ │ │ │ │ │ ├── blob.html │ │ │ │ │ │ ├── cdl.html │ │ │ │ │ │ ├── channel.html │ │ │ │ │ │ ├── color.html │ │ │ │ │ │ ├── colormap.html │ │ │ │ │ │ ├── compare.html │ │ │ │ │ │ ├── composite.html │ │ │ │ │ │ ├── confirm_access.html │ │ │ │ │ │ ├── constitute.html │ │ │ │ │ │ ├── decorate.html │ │ │ │ │ │ ├── deprecate.html │ │ │ │ │ │ ├── describe.html │ │ │ │ │ │ ├── display.html │ │ │ │ │ │ ├── draw.html │ │ │ │ │ │ ├── effect.html │ │ │ │ │ │ ├── enhance.html │ │ │ │ │ │ ├── error.html │ │ │ │ │ │ ├── export.html │ │ │ │ │ │ ├── fx.html │ │ │ │ │ │ ├── hclut.html │ │ │ │ │ │ ├── image.html │ │ │ │ │ │ ├── import.html │ │ │ │ │ │ ├── list.html │ │ │ │ │ │ ├── magick.html │ │ │ │ │ │ ├── memory.html │ │ │ │ │ │ ├── monitor.html │ │ │ │ │ │ ├── montage.html │ │ │ │ │ │ ├── operator.html │ │ │ │ │ │ ├── paint.html │ │ │ │ │ │ ├── pixel_cache.html │ │ │ │ │ │ ├── pixel_iterator.html │ │ │ │ │ │ ├── plasma.html │ │ │ │ │ │ ├── profile.html │ │ │ │ │ │ ├── quantize.html │ │ │ │ │ │ ├── registry.html │ │ │ │ │ │ ├── render.html │ │ │ │ │ │ ├── resize.html │ │ │ │ │ │ ├── resource.html │ │ │ │ │ │ ├── segment.html │ │ │ │ │ │ ├── shear.html │ │ │ │ │ │ ├── signature.html │ │ │ │ │ │ ├── statistics.html │ │ │ │ │ │ ├── texture.html │ │ │ │ │ │ ├── transform.html │ │ │ │ │ │ ├── types.html │ │ │ │ │ │ └── widget.html │ │ │ │ │ ├── authors.html │ │ │ │ │ ├── batch.html │ │ │ │ │ ├── benchmark.html │ │ │ │ │ ├── benchmarks.html │ │ │ │ │ ├── bugs.html │ │ │ │ │ ├── color.html │ │ │ │ │ ├── compare.html │ │ │ │ │ ├── composite.html │ │ │ │ │ ├── conjure.html │ │ │ │ │ ├── contribute.html │ │ │ │ │ ├── convert.html │ │ │ │ │ ├── display.html │ │ │ │ │ ├── docutils-api.css │ │ │ │ │ ├── docutils-articles.css │ │ │ │ │ ├── download.html │ │ │ │ │ ├── formats.html │ │ │ │ │ ├── gm.html │ │ │ │ │ ├── identify.html │ │ │ │ │ ├── import.html │ │ │ │ │ ├── index.html │ │ │ │ │ ├── links.html │ │ │ │ │ ├── magick.css │ │ │ │ │ ├── miff.html │ │ │ │ │ ├── mission.html │ │ │ │ │ ├── mogrify.html │ │ │ │ │ ├── montage.html │ │ │ │ │ ├── motion-picture.html │ │ │ │ │ ├── perl.html │ │ │ │ │ ├── process.html │ │ │ │ │ ├── programming.html │ │ │ │ │ ├── project.html │ │ │ │ │ ├── quantize.html │ │ │ │ │ ├── reference.html │ │ │ │ │ ├── security.html │ │ │ │ │ ├── smile.c │ │ │ │ │ ├── thanks.html │ │ │ │ │ ├── time.html │ │ │ │ │ ├── tools.html │ │ │ │ │ ├── utilities.html │ │ │ │ │ ├── version.html │ │ │ │ │ └── wand/ │ │ │ │ │ ├── drawing_wand.html │ │ │ │ │ ├── magick_wand.html │ │ │ │ │ ├── pixel_wand.html │ │ │ │ │ └── wand.html │ │ │ │ └── man/ │ │ │ │ ├── man1/ │ │ │ │ │ ├── GraphicsMagick++-config.1 │ │ │ │ │ ├── GraphicsMagick-config.1 │ │ │ │ │ ├── GraphicsMagickWand-config.1 │ │ │ │ │ └── gm.1 │ │ │ │ ├── man4/ │ │ │ │ │ └── miff.4 │ │ │ │ └── man5/ │ │ │ │ └── quantize.5 │ │ │ ├── opencv2/ │ │ │ │ ├── include/ │ │ │ │ │ ├── opencv/ │ │ │ │ │ │ ├── cv.h │ │ │ │ │ │ ├── cv.hpp │ │ │ │ │ │ ├── cvaux.h │ │ │ │ │ │ ├── cvaux.hpp │ │ │ │ │ │ ├── cvwimage.h │ │ │ │ │ │ ├── cxcore.h │ │ │ │ │ │ ├── cxcore.hpp │ │ │ │ │ │ ├── cxeigen.hpp │ │ │ │ │ │ ├── cxmisc.h │ │ │ │ │ │ ├── highgui.h │ │ │ │ │ │ └── ml.h │ │ │ │ │ └── opencv2/ │ │ │ │ │ ├── calib3d/ │ │ │ │ │ │ └── calib3d.hpp │ │ │ │ │ ├── contrib/ │ │ │ │ │ │ ├── contrib.hpp │ │ │ │ │ │ ├── detection_based_tracker.hpp │ │ │ │ │ │ ├── hybridtracker.hpp │ │ │ │ │ │ ├── openfabmap.hpp │ │ │ │ │ │ └── retina.hpp │ │ │ │ │ ├── features2d/ │ │ │ │ │ │ └── features2d.hpp │ │ │ │ │ ├── flann/ │ │ │ │ │ │ ├── all_indices.h │ │ │ │ │ │ ├── allocator.h │ │ │ │ │ │ ├── any.h │ │ │ │ │ │ ├── autotuned_index.h │ │ │ │ │ │ ├── composite_index.h │ │ │ │ │ │ ├── config.h │ │ │ │ │ │ ├── defines.h │ │ │ │ │ │ ├── dist.h │ │ │ │ │ │ ├── dummy.h │ │ │ │ │ │ ├── dynamic_bitset.h │ │ │ │ │ │ ├── flann.hpp │ │ │ │ │ │ ├── flann_base.hpp │ │ │ │ │ │ ├── general.h │ │ │ │ │ │ ├── ground_truth.h │ │ │ │ │ │ ├── hdf5.h │ │ │ │ │ │ ├── heap.h │ │ │ │ │ │ ├── hierarchical_clustering_index.h │ │ │ │ │ │ ├── index_testing.h │ │ │ │ │ │ ├── kdtree_index.h │ │ │ │ │ │ ├── kdtree_single_index.h │ │ │ │ │ │ ├── kmeans_index.h │ │ │ │ │ │ ├── linear_index.h │ │ │ │ │ │ ├── logger.h │ │ │ │ │ │ ├── lsh_index.h │ │ │ │ │ │ ├── lsh_table.h │ │ │ │ │ │ ├── matrix.h │ │ │ │ │ │ ├── miniflann.hpp │ │ │ │ │ │ ├── nn_index.h │ │ │ │ │ │ ├── object_factory.h │ │ │ │ │ │ ├── params.h │ │ │ │ │ │ ├── random.h │ │ │ │ │ │ ├── result_set.h │ │ │ │ │ │ ├── sampling.h │ │ │ │ │ │ ├── saving.h │ │ │ │ │ │ ├── simplex_downhill.h │ │ │ │ │ │ └── timer.h │ │ │ │ │ ├── gpu/ │ │ │ │ │ │ ├── device/ │ │ │ │ │ │ │ ├── block.hpp │ │ │ │ │ │ │ ├── border_interpolate.hpp │ │ │ │ │ │ │ ├── color.hpp │ │ │ │ │ │ │ ├── common.hpp │ │ │ │ │ │ │ ├── datamov_utils.hpp │ │ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ │ │ ├── color_detail.hpp │ │ │ │ │ │ │ │ ├── reduce.hpp │ │ │ │ │ │ │ │ ├── reduce_key_val.hpp │ │ │ │ │ │ │ │ ├── transform_detail.hpp │ │ │ │ │ │ │ │ ├── type_traits_detail.hpp │ │ │ │ │ │ │ │ └── vec_distance_detail.hpp │ │ │ │ │ │ │ ├── dynamic_smem.hpp │ │ │ │ │ │ │ ├── emulation.hpp │ │ │ │ │ │ │ ├── filters.hpp │ │ │ │ │ │ │ ├── funcattrib.hpp │ │ │ │ │ │ │ ├── functional.hpp │ │ │ │ │ │ │ ├── limits.hpp │ │ │ │ │ │ │ ├── reduce.hpp │ │ │ │ │ │ │ ├── saturate_cast.hpp │ │ │ │ │ │ │ ├── scan.hpp │ │ │ │ │ │ │ ├── simd_functions.hpp │ │ │ │ │ │ │ ├── static_check.hpp │ │ │ │ │ │ │ ├── transform.hpp │ │ │ │ │ │ │ ├── type_traits.hpp │ │ │ │ │ │ │ ├── utility.hpp │ │ │ │ │ │ │ ├── vec_distance.hpp │ │ │ │ │ │ │ ├── vec_math.hpp │ │ │ │ │ │ │ ├── vec_traits.hpp │ │ │ │ │ │ │ ├── warp.hpp │ │ │ │ │ │ │ ├── warp_reduce.hpp │ │ │ │ │ │ │ └── warp_shuffle.hpp │ │ │ │ │ │ ├── devmem2d.hpp │ │ │ │ │ │ ├── gpu.hpp │ │ │ │ │ │ ├── gpumat.hpp │ │ │ │ │ │ └── stream_accessor.hpp │ │ │ │ │ ├── highgui/ │ │ │ │ │ │ ├── cap_ios.h │ │ │ │ │ │ ├── highgui.hpp │ │ │ │ │ │ ├── highgui_c.h │ │ │ │ │ │ └── ios.h │ │ │ │ │ ├── imgproc/ │ │ │ │ │ │ ├── imgproc.hpp │ │ │ │ │ │ ├── imgproc_c.h │ │ │ │ │ │ └── types_c.h │ │ │ │ │ ├── legacy/ │ │ │ │ │ │ ├── blobtrack.hpp │ │ │ │ │ │ ├── compat.hpp │ │ │ │ │ │ ├── legacy.hpp │ │ │ │ │ │ └── streams.hpp │ │ │ │ │ ├── ml/ │ │ │ │ │ │ └── ml.hpp │ │ │ │ │ ├── nonfree/ │ │ │ │ │ │ ├── features2d.hpp │ │ │ │ │ │ ├── gpu.hpp │ │ │ │ │ │ ├── nonfree.hpp │ │ │ │ │ │ └── ocl.hpp │ │ │ │ │ ├── objdetect/ │ │ │ │ │ │ └── objdetect.hpp │ │ │ │ │ ├── ocl/ │ │ │ │ │ │ ├── matrix_operations.hpp │ │ │ │ │ │ └── ocl.hpp │ │ │ │ │ ├── opencv.hpp │ │ │ │ │ ├── opencv_modules.hpp │ │ │ │ │ ├── photo/ │ │ │ │ │ │ ├── photo.hpp │ │ │ │ │ │ └── photo_c.h │ │ │ │ │ ├── stitching/ │ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ │ ├── autocalib.hpp │ │ │ │ │ │ │ ├── blenders.hpp │ │ │ │ │ │ │ ├── camera.hpp │ │ │ │ │ │ │ ├── exposure_compensate.hpp │ │ │ │ │ │ │ ├── matchers.hpp │ │ │ │ │ │ │ ├── motion_estimators.hpp │ │ │ │ │ │ │ ├── seam_finders.hpp │ │ │ │ │ │ │ ├── util.hpp │ │ │ │ │ │ │ ├── util_inl.hpp │ │ │ │ │ │ │ ├── warpers.hpp │ │ │ │ │ │ │ └── warpers_inl.hpp │ │ │ │ │ │ ├── stitcher.hpp │ │ │ │ │ │ └── warpers.hpp │ │ │ │ │ ├── superres/ │ │ │ │ │ │ ├── optical_flow.hpp │ │ │ │ │ │ └── superres.hpp │ │ │ │ │ ├── ts/ │ │ │ │ │ │ ├── gpu_perf.hpp │ │ │ │ │ │ ├── gpu_test.hpp │ │ │ │ │ │ ├── ts.hpp │ │ │ │ │ │ ├── ts_gtest.h │ │ │ │ │ │ └── ts_perf.hpp │ │ │ │ │ ├── video/ │ │ │ │ │ │ ├── background_segm.hpp │ │ │ │ │ │ ├── tracking.hpp │ │ │ │ │ │ └── video.hpp │ │ │ │ │ └── videostab/ │ │ │ │ │ ├── deblurring.hpp │ │ │ │ │ ├── fast_marching.hpp │ │ │ │ │ ├── fast_marching_inl.hpp │ │ │ │ │ ├── frame_source.hpp │ │ │ │ │ ├── global_motion.hpp │ │ │ │ │ ├── inpainting.hpp │ │ │ │ │ ├── log.hpp │ │ │ │ │ ├── motion_stabilizing.hpp │ │ │ │ │ ├── optical_flow.hpp │ │ │ │ │ ├── stabilizer.hpp │ │ │ │ │ └── videostab.hpp │ │ │ │ ├── lib/ │ │ │ │ │ ├── libIlmImf.a │ │ │ │ │ ├── libjpeg.a │ │ │ │ │ ├── libjpeg.so.62.3.0 │ │ │ │ │ ├── liblibjasper.a │ │ │ │ │ ├── liblibpng.a │ │ │ │ │ ├── liblibtiff.a │ │ │ │ │ ├── libopencv_calib3d.so.2.4.12 │ │ │ │ │ ├── libopencv_contrib.so.2.4.12 │ │ │ │ │ ├── libopencv_core.so.2.4.12 │ │ │ │ │ ├── libopencv_features2d.so.2.4.12 │ │ │ │ │ ├── libopencv_flann.so.2.4.12 │ │ │ │ │ ├── libopencv_gpu.so.2.4.12 │ │ │ │ │ ├── libopencv_highgui.so.2.4.12 │ │ │ │ │ ├── libopencv_imgproc.so.2.4.12 │ │ │ │ │ ├── libopencv_legacy.so.2.4.12 │ │ │ │ │ ├── libopencv_ml.so.2.4.12 │ │ │ │ │ ├── libopencv_nonfree.so.2.4.12 │ │ │ │ │ ├── libopencv_objdetect.so.2.4.12 │ │ │ │ │ ├── libopencv_ocl.so.2.4.12 │ │ │ │ │ ├── libopencv_photo.so.2.4.12 │ │ │ │ │ ├── libopencv_stitching.so.2.4.12 │ │ │ │ │ ├── libopencv_superres.so.2.4.12 │ │ │ │ │ ├── libopencv_ts.a │ │ │ │ │ ├── libopencv_video.so.2.4.12 │ │ │ │ │ ├── libopencv_videostab.so.2.4.12 │ │ │ │ │ ├── libturbojpeg.a │ │ │ │ │ ├── libturbojpeg.so.0.2.0 │ │ │ │ │ └── pkgconfig/ │ │ │ │ │ └── opencv.pc │ │ │ │ └── version.txt │ │ │ ├── opencv4/ │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── include/ │ │ │ │ │ └── opencv2/ │ │ │ │ │ ├── calib3d/ │ │ │ │ │ │ ├── calib3d.hpp │ │ │ │ │ │ └── calib3d_c.h │ │ │ │ │ ├── calib3d.hpp │ │ │ │ │ ├── core/ │ │ │ │ │ │ ├── affine.hpp │ │ │ │ │ │ ├── async.hpp │ │ │ │ │ │ ├── base.hpp │ │ │ │ │ │ ├── bindings_utils.hpp │ │ │ │ │ │ ├── bufferpool.hpp │ │ │ │ │ │ ├── check.hpp │ │ │ │ │ │ ├── core.hpp │ │ │ │ │ │ ├── core_c.h │ │ │ │ │ │ ├── cuda/ │ │ │ │ │ │ │ ├── block.hpp │ │ │ │ │ │ │ ├── border_interpolate.hpp │ │ │ │ │ │ │ ├── color.hpp │ │ │ │ │ │ │ ├── common.hpp │ │ │ │ │ │ │ ├── datamov_utils.hpp │ │ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ │ │ ├── color_detail.hpp │ │ │ │ │ │ │ │ ├── reduce.hpp │ │ │ │ │ │ │ │ ├── reduce_key_val.hpp │ │ │ │ │ │ │ │ ├── transform_detail.hpp │ │ │ │ │ │ │ │ ├── type_traits_detail.hpp │ │ │ │ │ │ │ │ └── vec_distance_detail.hpp │ │ │ │ │ │ │ ├── dynamic_smem.hpp │ │ │ │ │ │ │ ├── emulation.hpp │ │ │ │ │ │ │ ├── filters.hpp │ │ │ │ │ │ │ ├── funcattrib.hpp │ │ │ │ │ │ │ ├── functional.hpp │ │ │ │ │ │ │ ├── limits.hpp │ │ │ │ │ │ │ ├── reduce.hpp │ │ │ │ │ │ │ ├── saturate_cast.hpp │ │ │ │ │ │ │ ├── scan.hpp │ │ │ │ │ │ │ ├── simd_functions.hpp │ │ │ │ │ │ │ ├── transform.hpp │ │ │ │ │ │ │ ├── type_traits.hpp │ │ │ │ │ │ │ ├── utility.hpp │ │ │ │ │ │ │ ├── vec_distance.hpp │ │ │ │ │ │ │ ├── vec_math.hpp │ │ │ │ │ │ │ ├── vec_traits.hpp │ │ │ │ │ │ │ ├── warp.hpp │ │ │ │ │ │ │ ├── warp_reduce.hpp │ │ │ │ │ │ │ └── warp_shuffle.hpp │ │ │ │ │ │ ├── cuda.hpp │ │ │ │ │ │ ├── cuda.inl.hpp │ │ │ │ │ │ ├── cuda_stream_accessor.hpp │ │ │ │ │ │ ├── cuda_types.hpp │ │ │ │ │ │ ├── cv_cpu_dispatch.h │ │ │ │ │ │ ├── cv_cpu_helper.h │ │ │ │ │ │ ├── cvdef.h │ │ │ │ │ │ ├── cvstd.hpp │ │ │ │ │ │ ├── cvstd.inl.hpp │ │ │ │ │ │ ├── cvstd_wrapper.hpp │ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ │ ├── async_promise.hpp │ │ │ │ │ │ │ └── exception_ptr.hpp │ │ │ │ │ │ ├── directx.hpp │ │ │ │ │ │ ├── dualquaternion.hpp │ │ │ │ │ │ ├── dualquaternion.inl.hpp │ │ │ │ │ │ ├── eigen.hpp │ │ │ │ │ │ ├── fast_math.hpp │ │ │ │ │ │ ├── hal/ │ │ │ │ │ │ │ ├── hal.hpp │ │ │ │ │ │ │ ├── interface.h │ │ │ │ │ │ │ ├── intrin.hpp │ │ │ │ │ │ │ ├── intrin_avx.hpp │ │ │ │ │ │ │ ├── intrin_avx512.hpp │ │ │ │ │ │ │ ├── intrin_cpp.hpp │ │ │ │ │ │ │ ├── intrin_forward.hpp │ │ │ │ │ │ │ ├── intrin_msa.hpp │ │ │ │ │ │ │ ├── intrin_neon.hpp │ │ │ │ │ │ │ ├── intrin_rvv.hpp │ │ │ │ │ │ │ ├── intrin_rvv071.hpp │ │ │ │ │ │ │ ├── intrin_sse.hpp │ │ │ │ │ │ │ ├── intrin_sse_em.hpp │ │ │ │ │ │ │ ├── intrin_vsx.hpp │ │ │ │ │ │ │ ├── intrin_wasm.hpp │ │ │ │ │ │ │ ├── msa_macros.h │ │ │ │ │ │ │ └── simd_utils.impl.hpp │ │ │ │ │ │ ├── mat.hpp │ │ │ │ │ │ ├── mat.inl.hpp │ │ │ │ │ │ ├── matx.hpp │ │ │ │ │ │ ├── neon_utils.hpp │ │ │ │ │ │ ├── ocl.hpp │ │ │ │ │ │ ├── ocl_genbase.hpp │ │ │ │ │ │ ├── opencl/ │ │ │ │ │ │ │ ├── ocl_defs.hpp │ │ │ │ │ │ │ ├── opencl_info.hpp │ │ │ │ │ │ │ ├── opencl_svm.hpp │ │ │ │ │ │ │ └── runtime/ │ │ │ │ │ │ │ ├── autogenerated/ │ │ │ │ │ │ │ │ ├── opencl_clblas.hpp │ │ │ │ │ │ │ │ ├── opencl_clfft.hpp │ │ │ │ │ │ │ │ ├── opencl_core.hpp │ │ │ │ │ │ │ │ ├── opencl_core_wrappers.hpp │ │ │ │ │ │ │ │ ├── opencl_gl.hpp │ │ │ │ │ │ │ │ └── opencl_gl_wrappers.hpp │ │ │ │ │ │ │ ├── opencl_clblas.hpp │ │ │ │ │ │ │ ├── opencl_clfft.hpp │ │ │ │ │ │ │ ├── opencl_core.hpp │ │ │ │ │ │ │ ├── opencl_core_wrappers.hpp │ │ │ │ │ │ │ ├── opencl_gl.hpp │ │ │ │ │ │ │ ├── opencl_gl_wrappers.hpp │ │ │ │ │ │ │ ├── opencl_svm_20.hpp │ │ │ │ │ │ │ ├── opencl_svm_definitions.hpp │ │ │ │ │ │ │ └── opencl_svm_hsa_extension.hpp │ │ │ │ │ │ ├── opengl.hpp │ │ │ │ │ │ ├── operations.hpp │ │ │ │ │ │ ├── optim.hpp │ │ │ │ │ │ ├── ovx.hpp │ │ │ │ │ │ ├── parallel/ │ │ │ │ │ │ │ ├── backend/ │ │ │ │ │ │ │ │ ├── parallel_for.openmp.hpp │ │ │ │ │ │ │ │ └── parallel_for.tbb.hpp │ │ │ │ │ │ │ └── parallel_backend.hpp │ │ │ │ │ │ ├── persistence.hpp │ │ │ │ │ │ ├── quaternion.hpp │ │ │ │ │ │ ├── quaternion.inl.hpp │ │ │ │ │ │ ├── saturate.hpp │ │ │ │ │ │ ├── simd_intrinsics.hpp │ │ │ │ │ │ ├── softfloat.hpp │ │ │ │ │ │ ├── sse_utils.hpp │ │ │ │ │ │ ├── traits.hpp │ │ │ │ │ │ ├── types.hpp │ │ │ │ │ │ ├── types_c.h │ │ │ │ │ │ ├── utility.hpp │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ ├── allocator_stats.hpp │ │ │ │ │ │ │ ├── allocator_stats.impl.hpp │ │ │ │ │ │ │ ├── filesystem.hpp │ │ │ │ │ │ │ ├── instrumentation.hpp │ │ │ │ │ │ │ ├── logger.defines.hpp │ │ │ │ │ │ │ ├── logger.hpp │ │ │ │ │ │ │ ├── logtag.hpp │ │ │ │ │ │ │ ├── tls.hpp │ │ │ │ │ │ │ └── trace.hpp │ │ │ │ │ │ ├── va_intel.hpp │ │ │ │ │ │ ├── version.hpp │ │ │ │ │ │ └── vsx_utils.hpp │ │ │ │ │ ├── core.hpp │ │ │ │ │ ├── cvconfig.h │ │ │ │ │ ├── dnn/ │ │ │ │ │ │ ├── all_layers.hpp │ │ │ │ │ │ ├── dict.hpp │ │ │ │ │ │ ├── dnn.hpp │ │ │ │ │ │ ├── dnn.inl.hpp │ │ │ │ │ │ ├── layer.details.hpp │ │ │ │ │ │ ├── layer.hpp │ │ │ │ │ │ ├── shape_utils.hpp │ │ │ │ │ │ ├── utils/ │ │ │ │ │ │ │ └── inference_engine.hpp │ │ │ │ │ │ └── version.hpp │ │ │ │ │ ├── dnn.hpp │ │ │ │ │ ├── features2d/ │ │ │ │ │ │ ├── features2d.hpp │ │ │ │ │ │ └── hal/ │ │ │ │ │ │ └── interface.h │ │ │ │ │ ├── features2d.hpp │ │ │ │ │ ├── flann/ │ │ │ │ │ │ ├── all_indices.h │ │ │ │ │ │ ├── allocator.h │ │ │ │ │ │ ├── any.h │ │ │ │ │ │ ├── autotuned_index.h │ │ │ │ │ │ ├── composite_index.h │ │ │ │ │ │ ├── config.h │ │ │ │ │ │ ├── defines.h │ │ │ │ │ │ ├── dist.h │ │ │ │ │ │ ├── dummy.h │ │ │ │ │ │ ├── dynamic_bitset.h │ │ │ │ │ │ ├── flann.hpp │ │ │ │ │ │ ├── flann_base.hpp │ │ │ │ │ │ ├── general.h │ │ │ │ │ │ ├── ground_truth.h │ │ │ │ │ │ ├── hdf5.h │ │ │ │ │ │ ├── heap.h │ │ │ │ │ │ ├── hierarchical_clustering_index.h │ │ │ │ │ │ ├── index_testing.h │ │ │ │ │ │ ├── kdtree_index.h │ │ │ │ │ │ ├── kdtree_single_index.h │ │ │ │ │ │ ├── kmeans_index.h │ │ │ │ │ │ ├── linear_index.h │ │ │ │ │ │ ├── logger.h │ │ │ │ │ │ ├── lsh_index.h │ │ │ │ │ │ ├── lsh_table.h │ │ │ │ │ │ ├── matrix.h │ │ │ │ │ │ ├── miniflann.hpp │ │ │ │ │ │ ├── nn_index.h │ │ │ │ │ │ ├── object_factory.h │ │ │ │ │ │ ├── params.h │ │ │ │ │ │ ├── random.h │ │ │ │ │ │ ├── result_set.h │ │ │ │ │ │ ├── sampling.h │ │ │ │ │ │ ├── saving.h │ │ │ │ │ │ ├── simplex_downhill.h │ │ │ │ │ │ └── timer.h │ │ │ │ │ ├── flann.hpp │ │ │ │ │ ├── gapi/ │ │ │ │ │ │ ├── core.hpp │ │ │ │ │ │ ├── cpu/ │ │ │ │ │ │ │ ├── core.hpp │ │ │ │ │ │ │ ├── gcpukernel.hpp │ │ │ │ │ │ │ ├── imgproc.hpp │ │ │ │ │ │ │ ├── stereo.hpp │ │ │ │ │ │ │ └── video.hpp │ │ │ │ │ │ ├── fluid/ │ │ │ │ │ │ │ ├── core.hpp │ │ │ │ │ │ │ ├── gfluidbuffer.hpp │ │ │ │ │ │ │ ├── gfluidkernel.hpp │ │ │ │ │ │ │ └── imgproc.hpp │ │ │ │ │ │ ├── garg.hpp │ │ │ │ │ │ ├── garray.hpp │ │ │ │ │ │ ├── gasync_context.hpp │ │ │ │ │ │ ├── gcall.hpp │ │ │ │ │ │ ├── gcommon.hpp │ │ │ │ │ │ ├── gcompiled.hpp │ │ │ │ │ │ ├── gcompiled_async.hpp │ │ │ │ │ │ ├── gcompoundkernel.hpp │ │ │ │ │ │ ├── gcomputation.hpp │ │ │ │ │ │ ├── gcomputation_async.hpp │ │ │ │ │ │ ├── gframe.hpp │ │ │ │ │ │ ├── gkernel.hpp │ │ │ │ │ │ ├── gmat.hpp │ │ │ │ │ │ ├── gmetaarg.hpp │ │ │ │ │ │ ├── gopaque.hpp │ │ │ │ │ │ ├── gproto.hpp │ │ │ │ │ │ ├── gpu/ │ │ │ │ │ │ │ ├── core.hpp │ │ │ │ │ │ │ ├── ggpukernel.hpp │ │ │ │ │ │ │ └── imgproc.hpp │ │ │ │ │ │ ├── gscalar.hpp │ │ │ │ │ │ ├── gstreaming.hpp │ │ │ │ │ │ ├── gtransform.hpp │ │ │ │ │ │ ├── gtype_traits.hpp │ │ │ │ │ │ ├── gtyped.hpp │ │ │ │ │ │ ├── imgproc.hpp │ │ │ │ │ │ ├── infer/ │ │ │ │ │ │ │ ├── bindings_ie.hpp │ │ │ │ │ │ │ ├── ie.hpp │ │ │ │ │ │ │ ├── onnx.hpp │ │ │ │ │ │ │ └── parsers.hpp │ │ │ │ │ │ ├── infer.hpp │ │ │ │ │ │ ├── media.hpp │ │ │ │ │ │ ├── ocl/ │ │ │ │ │ │ │ ├── core.hpp │ │ │ │ │ │ │ ├── goclkernel.hpp │ │ │ │ │ │ │ └── imgproc.hpp │ │ │ │ │ │ ├── opencv_includes.hpp │ │ │ │ │ │ ├── operators.hpp │ │ │ │ │ │ ├── own/ │ │ │ │ │ │ │ ├── assert.hpp │ │ │ │ │ │ │ ├── convert.hpp │ │ │ │ │ │ │ ├── cvdefs.hpp │ │ │ │ │ │ │ ├── exports.hpp │ │ │ │ │ │ │ ├── mat.hpp │ │ │ │ │ │ │ ├── saturate.hpp │ │ │ │ │ │ │ ├── scalar.hpp │ │ │ │ │ │ │ └── types.hpp │ │ │ │ │ │ ├── plaidml/ │ │ │ │ │ │ │ ├── core.hpp │ │ │ │ │ │ │ ├── gplaidmlkernel.hpp │ │ │ │ │ │ │ └── plaidml.hpp │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ └── python.hpp │ │ │ │ │ │ ├── render/ │ │ │ │ │ │ │ ├── render.hpp │ │ │ │ │ │ │ └── render_types.hpp │ │ │ │ │ │ ├── render.hpp │ │ │ │ │ │ ├── rmat.hpp │ │ │ │ │ │ ├── s11n/ │ │ │ │ │ │ │ └── base.hpp │ │ │ │ │ │ ├── s11n.hpp │ │ │ │ │ │ ├── stereo.hpp │ │ │ │ │ │ ├── streaming/ │ │ │ │ │ │ │ ├── cap.hpp │ │ │ │ │ │ │ ├── desync.hpp │ │ │ │ │ │ │ ├── format.hpp │ │ │ │ │ │ │ ├── meta.hpp │ │ │ │ │ │ │ ├── source.hpp │ │ │ │ │ │ │ └── sync.hpp │ │ │ │ │ │ ├── util/ │ │ │ │ │ │ │ ├── any.hpp │ │ │ │ │ │ │ ├── compiler_hints.hpp │ │ │ │ │ │ │ ├── copy_through_move.hpp │ │ │ │ │ │ │ ├── optional.hpp │ │ │ │ │ │ │ ├── throw.hpp │ │ │ │ │ │ │ ├── type_traits.hpp │ │ │ │ │ │ │ ├── util.hpp │ │ │ │ │ │ │ └── variant.hpp │ │ │ │ │ │ └── video.hpp │ │ │ │ │ ├── gapi.hpp │ │ │ │ │ ├── highgui/ │ │ │ │ │ │ ├── highgui.hpp │ │ │ │ │ │ └── highgui_c.h │ │ │ │ │ ├── highgui.hpp │ │ │ │ │ ├── imgcodecs/ │ │ │ │ │ │ ├── imgcodecs.hpp │ │ │ │ │ │ ├── imgcodecs_c.h │ │ │ │ │ │ ├── ios.h │ │ │ │ │ │ ├── legacy/ │ │ │ │ │ │ │ └── constants_c.h │ │ │ │ │ │ └── macosx.h │ │ │ │ │ ├── imgcodecs.hpp │ │ │ │ │ ├── imgproc/ │ │ │ │ │ │ ├── bindings.hpp │ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ │ └── gcgraph.hpp │ │ │ │ │ │ ├── hal/ │ │ │ │ │ │ │ ├── hal.hpp │ │ │ │ │ │ │ └── interface.h │ │ │ │ │ │ ├── imgproc.hpp │ │ │ │ │ │ ├── imgproc_c.h │ │ │ │ │ │ ├── segmentation.hpp │ │ │ │ │ │ └── types_c.h │ │ │ │ │ ├── imgproc.hpp │ │ │ │ │ ├── ml/ │ │ │ │ │ │ ├── ml.hpp │ │ │ │ │ │ └── ml.inl.hpp │ │ │ │ │ ├── ml.hpp │ │ │ │ │ ├── objdetect/ │ │ │ │ │ │ ├── detection_based_tracker.hpp │ │ │ │ │ │ └── objdetect.hpp │ │ │ │ │ ├── objdetect.hpp │ │ │ │ │ ├── opencv.hpp │ │ │ │ │ ├── opencv_modules.hpp │ │ │ │ │ ├── photo/ │ │ │ │ │ │ ├── cuda.hpp │ │ │ │ │ │ ├── legacy/ │ │ │ │ │ │ │ └── constants_c.h │ │ │ │ │ │ └── photo.hpp │ │ │ │ │ ├── photo.hpp │ │ │ │ │ ├── stitching/ │ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ │ ├── autocalib.hpp │ │ │ │ │ │ │ ├── blenders.hpp │ │ │ │ │ │ │ ├── camera.hpp │ │ │ │ │ │ │ ├── exposure_compensate.hpp │ │ │ │ │ │ │ ├── matchers.hpp │ │ │ │ │ │ │ ├── motion_estimators.hpp │ │ │ │ │ │ │ ├── seam_finders.hpp │ │ │ │ │ │ │ ├── timelapsers.hpp │ │ │ │ │ │ │ ├── util.hpp │ │ │ │ │ │ │ ├── util_inl.hpp │ │ │ │ │ │ │ ├── warpers.hpp │ │ │ │ │ │ │ └── warpers_inl.hpp │ │ │ │ │ │ └── warpers.hpp │ │ │ │ │ ├── stitching.hpp │ │ │ │ │ ├── video/ │ │ │ │ │ │ ├── background_segm.hpp │ │ │ │ │ │ ├── detail/ │ │ │ │ │ │ │ └── tracking.detail.hpp │ │ │ │ │ │ ├── legacy/ │ │ │ │ │ │ │ └── constants_c.h │ │ │ │ │ │ ├── tracking.hpp │ │ │ │ │ │ └── video.hpp │ │ │ │ │ ├── video.hpp │ │ │ │ │ ├── videoio/ │ │ │ │ │ │ ├── cap_ios.h │ │ │ │ │ │ ├── legacy/ │ │ │ │ │ │ │ └── constants_c.h │ │ │ │ │ │ ├── registry.hpp │ │ │ │ │ │ ├── videoio.hpp │ │ │ │ │ │ └── videoio_c.h │ │ │ │ │ └── videoio.hpp │ │ │ │ └── lib64/ │ │ │ │ ├── cmake/ │ │ │ │ │ └── opencv4/ │ │ │ │ │ ├── OpenCVConfig-version.cmake │ │ │ │ │ ├── OpenCVConfig.cmake │ │ │ │ │ ├── OpenCVModules-release.cmake │ │ │ │ │ └── OpenCVModules.cmake │ │ │ │ ├── libopencv_calib3d.so.4.5.3 │ │ │ │ ├── libopencv_core.so.4.5.3 │ │ │ │ ├── libopencv_dnn.so.4.5.3 │ │ │ │ ├── libopencv_features2d.so.4.5.3 │ │ │ │ ├── libopencv_flann.so.4.5.3 │ │ │ │ ├── libopencv_gapi.so.4.5.3 │ │ │ │ ├── libopencv_highgui.so.4.5.3 │ │ │ │ ├── libopencv_imgcodecs.so.4.5.3 │ │ │ │ ├── libopencv_imgproc.so.4.5.3 │ │ │ │ ├── libopencv_ml.so.4.5.3 │ │ │ │ ├── libopencv_objdetect.so.4.5.3 │ │ │ │ ├── libopencv_photo.so.4.5.3 │ │ │ │ ├── libopencv_stitching.so.4.5.3 │ │ │ │ ├── libopencv_video.so.4.5.3 │ │ │ │ ├── libopencv_videoio.so.4.5.3 │ │ │ │ └── pkgconfig/ │ │ │ │ └── opencv4.pc │ │ │ ├── protobuf/ │ │ │ │ ├── bin/ │ │ │ │ │ └── protoc │ │ │ │ ├── include/ │ │ │ │ │ └── google/ │ │ │ │ │ └── protobuf/ │ │ │ │ │ ├── any.h │ │ │ │ │ ├── any.pb.h │ │ │ │ │ ├── any.proto │ │ │ │ │ ├── api.pb.h │ │ │ │ │ ├── api.proto │ │ │ │ │ ├── arena.h │ │ │ │ │ ├── arena_impl.h │ │ │ │ │ ├── arenastring.h │ │ │ │ │ ├── compiler/ │ │ │ │ │ │ ├── code_generator.h │ │ │ │ │ │ ├── command_line_interface.h │ │ │ │ │ │ ├── cpp/ │ │ │ │ │ │ │ └── cpp_generator.h │ │ │ │ │ │ ├── csharp/ │ │ │ │ │ │ │ ├── csharp_generator.h │ │ │ │ │ │ │ └── csharp_names.h │ │ │ │ │ │ ├── importer.h │ │ │ │ │ │ ├── java/ │ │ │ │ │ │ │ ├── java_generator.h │ │ │ │ │ │ │ └── java_names.h │ │ │ │ │ │ ├── js/ │ │ │ │ │ │ │ ├── js_generator.h │ │ │ │ │ │ │ └── well_known_types_embed.h │ │ │ │ │ │ ├── objectivec/ │ │ │ │ │ │ │ ├── objectivec_generator.h │ │ │ │ │ │ │ └── objectivec_helpers.h │ │ │ │ │ │ ├── parser.h │ │ │ │ │ │ ├── php/ │ │ │ │ │ │ │ └── php_generator.h │ │ │ │ │ │ ├── plugin.h │ │ │ │ │ │ ├── plugin.pb.h │ │ │ │ │ │ ├── plugin.proto │ │ │ │ │ │ ├── python/ │ │ │ │ │ │ │ └── python_generator.h │ │ │ │ │ │ └── ruby/ │ │ │ │ │ │ └── ruby_generator.h │ │ │ │ │ ├── descriptor.h │ │ │ │ │ ├── descriptor.pb.h │ │ │ │ │ ├── descriptor.proto │ │ │ │ │ ├── descriptor_database.h │ │ │ │ │ ├── duration.pb.h │ │ │ │ │ ├── duration.proto │ │ │ │ │ ├── dynamic_message.h │ │ │ │ │ ├── empty.pb.h │ │ │ │ │ ├── empty.proto │ │ │ │ │ ├── extension_set.h │ │ │ │ │ ├── field_mask.pb.h │ │ │ │ │ ├── field_mask.proto │ │ │ │ │ ├── generated_enum_reflection.h │ │ │ │ │ ├── generated_enum_util.h │ │ │ │ │ ├── generated_message_reflection.h │ │ │ │ │ ├── generated_message_table_driven.h │ │ │ │ │ ├── generated_message_util.h │ │ │ │ │ ├── has_bits.h │ │ │ │ │ ├── implicit_weak_message.h │ │ │ │ │ ├── inlined_string_field.h │ │ │ │ │ ├── io/ │ │ │ │ │ │ ├── coded_stream.h │ │ │ │ │ │ ├── gzip_stream.h │ │ │ │ │ │ ├── printer.h │ │ │ │ │ │ ├── strtod.h │ │ │ │ │ │ ├── tokenizer.h │ │ │ │ │ │ ├── zero_copy_stream.h │ │ │ │ │ │ ├── zero_copy_stream_impl.h │ │ │ │ │ │ └── zero_copy_stream_impl_lite.h │ │ │ │ │ ├── map.h │ │ │ │ │ ├── map_entry.h │ │ │ │ │ ├── map_entry_lite.h │ │ │ │ │ ├── map_field.h │ │ │ │ │ ├── map_field_inl.h │ │ │ │ │ ├── map_field_lite.h │ │ │ │ │ ├── map_type_handler.h │ │ │ │ │ ├── message.h │ │ │ │ │ ├── message_lite.h │ │ │ │ │ ├── metadata.h │ │ │ │ │ ├── metadata_lite.h │ │ │ │ │ ├── reflection.h │ │ │ │ │ ├── reflection_ops.h │ │ │ │ │ ├── repeated_field.h │ │ │ │ │ ├── service.h │ │ │ │ │ ├── source_context.pb.h │ │ │ │ │ ├── source_context.proto │ │ │ │ │ ├── struct.pb.h │ │ │ │ │ ├── struct.proto │ │ │ │ │ ├── stubs/ │ │ │ │ │ │ ├── bytestream.h │ │ │ │ │ │ ├── callback.h │ │ │ │ │ │ ├── casts.h │ │ │ │ │ │ ├── common.h │ │ │ │ │ │ ├── fastmem.h │ │ │ │ │ │ ├── hash.h │ │ │ │ │ │ ├── logging.h │ │ │ │ │ │ ├── macros.h │ │ │ │ │ │ ├── mutex.h │ │ │ │ │ │ ├── once.h │ │ │ │ │ │ ├── platform_macros.h │ │ │ │ │ │ ├── port.h │ │ │ │ │ │ ├── singleton.h │ │ │ │ │ │ ├── status.h │ │ │ │ │ │ ├── stl_util.h │ │ │ │ │ │ ├── stringpiece.h │ │ │ │ │ │ └── template_util.h │ │ │ │ │ ├── text_format.h │ │ │ │ │ ├── timestamp.pb.h │ │ │ │ │ ├── timestamp.proto │ │ │ │ │ ├── type.pb.h │ │ │ │ │ ├── type.proto │ │ │ │ │ ├── unknown_field_set.h │ │ │ │ │ ├── util/ │ │ │ │ │ │ ├── delimited_message_util.h │ │ │ │ │ │ ├── field_comparator.h │ │ │ │ │ │ ├── field_mask_util.h │ │ │ │ │ │ ├── json_util.h │ │ │ │ │ │ ├── message_differencer.h │ │ │ │ │ │ ├── time_util.h │ │ │ │ │ │ ├── type_resolver.h │ │ │ │ │ │ └── type_resolver_util.h │ │ │ │ │ ├── wire_format.h │ │ │ │ │ ├── wire_format_lite.h │ │ │ │ │ ├── wire_format_lite_inl.h │ │ │ │ │ ├── wrappers.pb.h │ │ │ │ │ └── wrappers.proto │ │ │ │ └── lib/ │ │ │ │ ├── libprotobuf-lite.a │ │ │ │ ├── libprotobuf.a │ │ │ │ ├── libprotoc.a │ │ │ │ └── pkgconfig/ │ │ │ │ ├── protobuf-lite.pc │ │ │ │ └── protobuf.pc │ │ │ └── pybind11/ │ │ │ ├── CMakeLists.txt │ │ │ ├── LICENSE │ │ │ ├── MANIFEST.in │ │ │ ├── README.rst │ │ │ ├── docs/ │ │ │ │ ├── Doxyfile │ │ │ │ ├── Makefile │ │ │ │ ├── _static/ │ │ │ │ │ └── css/ │ │ │ │ │ └── custom.css │ │ │ │ ├── advanced/ │ │ │ │ │ ├── cast/ │ │ │ │ │ │ ├── chrono.rst │ │ │ │ │ │ ├── custom.rst │ │ │ │ │ │ ├── eigen.rst │ │ │ │ │ │ ├── functional.rst │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ ├── overview.rst │ │ │ │ │ │ ├── stl.rst │ │ │ │ │ │ └── strings.rst │ │ │ │ │ ├── classes.rst │ │ │ │ │ ├── embedding.rst │ │ │ │ │ ├── exceptions.rst │ │ │ │ │ ├── functions.rst │ │ │ │ │ ├── misc.rst │ │ │ │ │ ├── pycpp/ │ │ │ │ │ │ ├── index.rst │ │ │ │ │ │ ├── numpy.rst │ │ │ │ │ │ ├── object.rst │ │ │ │ │ │ └── utilities.rst │ │ │ │ │ └── smart_ptrs.rst │ │ │ │ ├── basics.rst │ │ │ │ ├── benchmark.py │ │ │ │ ├── benchmark.rst │ │ │ │ ├── changelog.rst │ │ │ │ ├── classes.rst │ │ │ │ ├── cmake/ │ │ │ │ │ └── index.rst │ │ │ │ ├── compiling.rst │ │ │ │ ├── conf.py │ │ │ │ ├── faq.rst │ │ │ │ ├── index.rst │ │ │ │ ├── installing.rst │ │ │ │ ├── limitations.rst │ │ │ │ ├── reference.rst │ │ │ │ ├── release.rst │ │ │ │ ├── requirements.txt │ │ │ │ └── upgrade.rst │ │ │ ├── include/ │ │ │ │ └── pybind11/ │ │ │ │ ├── attr.h │ │ │ │ ├── buffer_info.h │ │ │ │ ├── cast.h │ │ │ │ ├── chrono.h │ │ │ │ ├── common.h │ │ │ │ ├── complex.h │ │ │ │ ├── detail/ │ │ │ │ │ ├── class.h │ │ │ │ │ ├── common.h │ │ │ │ │ ├── descr.h │ │ │ │ │ ├── init.h │ │ │ │ │ ├── internals.h │ │ │ │ │ ├── type_caster_base.h │ │ │ │ │ └── typeid.h │ │ │ │ ├── eigen/ │ │ │ │ │ ├── matrix.h │ │ │ │ │ └── tensor.h │ │ │ │ ├── eigen.h │ │ │ │ ├── embed.h │ │ │ │ ├── eval.h │ │ │ │ ├── functional.h │ │ │ │ ├── gil.h │ │ │ │ ├── iostream.h │ │ │ │ ├── numpy.h │ │ │ │ ├── operators.h │ │ │ │ ├── options.h │ │ │ │ ├── pybind11.h │ │ │ │ ├── pytypes.h │ │ │ │ ├── stl/ │ │ │ │ │ └── filesystem.h │ │ │ │ ├── stl.h │ │ │ │ └── stl_bind.h │ │ │ ├── noxfile.py │ │ │ ├── pybind11/ │ │ │ │ ├── __init__.py │ │ │ │ ├── __main__.py │ │ │ │ ├── _version.py │ │ │ │ ├── commands.py │ │ │ │ ├── py.typed │ │ │ │ └── setup_helpers.py │ │ │ ├── pyproject.toml │ │ │ ├── setup.cfg │ │ │ ├── setup.py │ │ │ ├── tests/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── conftest.py │ │ │ │ ├── constructor_stats.h │ │ │ │ ├── cross_module_gil_utils.cpp │ │ │ │ ├── cross_module_interleaved_error_already_set.cpp │ │ │ │ ├── eigen_tensor_avoid_stl_array.cpp │ │ │ │ ├── env.py │ │ │ │ ├── extra_python_package/ │ │ │ │ │ ├── pytest.ini │ │ │ │ │ └── test_files.py │ │ │ │ ├── extra_setuptools/ │ │ │ │ │ ├── pytest.ini │ │ │ │ │ └── test_setuphelper.py │ │ │ │ ├── local_bindings.h │ │ │ │ ├── object.h │ │ │ │ ├── pybind11_cross_module_tests.cpp │ │ │ │ ├── pybind11_tests.cpp │ │ │ │ ├── pybind11_tests.h │ │ │ │ ├── pytest.ini │ │ │ │ ├── requirements.txt │ │ │ │ ├── test_async.cpp │ │ │ │ ├── test_async.py │ │ │ │ ├── test_buffers.cpp │ │ │ │ ├── test_buffers.py │ │ │ │ ├── test_builtin_casters.cpp │ │ │ │ ├── test_builtin_casters.py │ │ │ │ ├── test_call_policies.cpp │ │ │ │ ├── test_call_policies.py │ │ │ │ ├── test_callbacks.cpp │ │ │ │ ├── test_callbacks.py │ │ │ │ ├── test_chrono.cpp │ │ │ │ ├── test_chrono.py │ │ │ │ ├── test_class.cpp │ │ │ │ ├── test_class.py │ │ │ │ ├── test_cmake_build/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── embed.cpp │ │ │ │ │ ├── installed_embed/ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── installed_function/ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── installed_target/ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── main.cpp │ │ │ │ │ ├── subdirectory_embed/ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── subdirectory_function/ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ ├── subdirectory_target/ │ │ │ │ │ │ └── CMakeLists.txt │ │ │ │ │ └── test.py │ │ │ │ ├── test_const_name.cpp │ │ │ │ ├── test_const_name.py │ │ │ │ ├── test_constants_and_functions.cpp │ │ │ │ ├── test_constants_and_functions.py │ │ │ │ ├── test_copy_move.cpp │ │ │ │ ├── test_copy_move.py │ │ │ │ ├── test_custom_type_casters.cpp │ │ │ │ ├── test_custom_type_casters.py │ │ │ │ ├── test_custom_type_setup.cpp │ │ │ │ ├── test_custom_type_setup.py │ │ │ │ ├── test_docstring_options.cpp │ │ │ │ ├── test_docstring_options.py │ │ │ │ ├── test_eigen_matrix.cpp │ │ │ │ ├── test_eigen_matrix.py │ │ │ │ ├── test_eigen_tensor.cpp │ │ │ │ ├── test_eigen_tensor.inl │ │ │ │ ├── test_eigen_tensor.py │ │ │ │ ├── test_embed/ │ │ │ │ │ ├── CMakeLists.txt │ │ │ │ │ ├── catch.cpp │ │ │ │ │ ├── external_module.cpp │ │ │ │ │ ├── test_interpreter.cpp │ │ │ │ │ ├── test_interpreter.py │ │ │ │ │ └── test_trampoline.py │ │ │ │ ├── test_enum.cpp │ │ │ │ ├── test_enum.py │ │ │ │ ├── test_eval.cpp │ │ │ │ ├── test_eval.py │ │ │ │ ├── test_eval_call.py │ │ │ │ ├── test_exceptions.cpp │ │ │ │ ├── test_exceptions.h │ │ │ │ ├── test_exceptions.py │ │ │ │ ├── test_factory_constructors.cpp │ │ │ │ ├── test_factory_constructors.py │ │ │ │ ├── test_gil_scoped.cpp │ │ │ │ ├── test_gil_scoped.py │ │ │ │ ├── test_iostream.cpp │ │ │ │ ├── test_iostream.py │ │ │ │ ├── test_kwargs_and_defaults.cpp │ │ │ │ ├── test_kwargs_and_defaults.py │ │ │ │ ├── test_local_bindings.cpp │ │ │ │ ├── test_local_bindings.py │ │ │ │ ├── test_methods_and_attributes.cpp │ │ │ │ ├── test_methods_and_attributes.py │ │ │ │ ├── test_modules.cpp │ │ │ │ ├── test_modules.py │ │ │ │ ├── test_multiple_inheritance.cpp │ │ │ │ ├── test_multiple_inheritance.py │ │ │ │ ├── test_numpy_array.cpp │ │ │ │ ├── test_numpy_array.py │ │ │ │ ├── test_numpy_dtypes.cpp │ │ │ │ ├── test_numpy_dtypes.py │ │ │ │ ├── test_numpy_vectorize.cpp │ │ │ │ ├── test_numpy_vectorize.py │ │ │ │ ├── test_opaque_types.cpp │ │ │ │ ├── test_opaque_types.py │ │ │ │ ├── test_operator_overloading.cpp │ │ │ │ ├── test_operator_overloading.py │ │ │ │ ├── test_pickling.cpp │ │ │ │ ├── test_pickling.py │ │ │ │ ├── test_pytypes.cpp │ │ │ │ ├── test_pytypes.py │ │ │ │ ├── test_sequences_and_iterators.cpp │ │ │ │ ├── test_sequences_and_iterators.py │ │ │ │ ├── test_smart_ptr.cpp │ │ │ │ ├── test_smart_ptr.py │ │ │ │ ├── test_stl.cpp │ │ │ │ ├── test_stl.py │ │ │ │ ├── test_stl_binders.cpp │ │ │ │ ├── test_stl_binders.py │ │ │ │ ├── test_tagbased_polymorphic.cpp │ │ │ │ ├── test_tagbased_polymorphic.py │ │ │ │ ├── test_thread.cpp │ │ │ │ ├── test_thread.py │ │ │ │ ├── test_union.cpp │ │ │ │ ├── test_union.py │ │ │ │ ├── test_virtual_functions.cpp │ │ │ │ ├── test_virtual_functions.py │ │ │ │ ├── valgrind-numpy-scipy.supp │ │ │ │ └── valgrind-python.supp │ │ │ └── tools/ │ │ │ ├── FindCatch.cmake │ │ │ ├── FindEigen3.cmake │ │ │ ├── FindPythonLibsNew.cmake │ │ │ ├── JoinPaths.cmake │ │ │ ├── check-style.sh │ │ │ ├── cmake_uninstall.cmake.in │ │ │ ├── codespell_ignore_lines_from_errors.py │ │ │ ├── libsize.py │ │ │ ├── make_changelog.py │ │ │ ├── pybind11.pc.in │ │ │ ├── pybind11Common.cmake │ │ │ ├── pybind11Config.cmake.in │ │ │ ├── pybind11NewTools.cmake │ │ │ ├── pybind11Tools.cmake │ │ │ ├── pyproject.toml │ │ │ ├── setup_global.py.in │ │ │ └── setup_main.py.in │ │ ├── cvtable/ │ │ │ ├── cvtable.go │ │ │ ├── cvtable_test.go │ │ │ └── testdata/ │ │ │ └── cvtable.conf │ │ ├── go.mod │ │ ├── go.sum │ │ ├── point.go │ │ ├── rect.go │ │ ├── rect_test.go │ │ └── vector/ │ │ ├── vector.go │ │ └── vector_test.go │ ├── grpc-gateway/ │ │ ├── date/ │ │ │ ├── date.pb.go │ │ │ ├── date.pb.gw.go │ │ │ ├── date.proto │ │ │ ├── date.yaml │ │ │ └── date_grpc.pb.go │ │ ├── gateway_handler.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── grpc_gateway.go │ │ ├── grpc_gateway_grpc.option.go │ │ ├── grpc_gateway_http.option.go │ │ ├── grpc_gateway_option.go │ │ └── grpc_gateway_test.go │ ├── logs/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── hook.go │ │ ├── log.go │ │ ├── log.option.go │ │ ├── log.pb.go │ │ ├── log.proto │ │ ├── log.yaml │ │ ├── log_option.go │ │ ├── log_test.go │ │ ├── logrus/ │ │ │ ├── formatter.go │ │ │ ├── glog_formatter.go │ │ │ ├── glog_formatter_test.go │ │ │ ├── terminal_check_bsd.go │ │ │ ├── terminal_check_js.go │ │ │ ├── terminal_check_notappengine.go │ │ │ ├── terminal_check_solaris.go │ │ │ ├── terminal_check_unix.go │ │ │ └── terminal_check_windows.go │ │ └── slog_test.go │ ├── middleware/ │ │ ├── api/ │ │ │ ├── tcloud/ │ │ │ │ └── v3.0/ │ │ │ │ ├── http.interceptor.error.go │ │ │ │ ├── interceptor.error.go │ │ │ │ ├── jsonpb.marshaler.go │ │ │ │ ├── tcloud.pb.go │ │ │ │ └── tcloud.proto │ │ │ └── trivial/ │ │ │ ├── v1/ │ │ │ │ ├── api.pb.go │ │ │ │ ├── api.proto │ │ │ │ ├── http.interceptor.error.go │ │ │ │ └── interceptor.error.go │ │ │ └── v2/ │ │ │ ├── api.pb.go │ │ │ ├── api.proto │ │ │ ├── http.interceptor.error.go │ │ │ └── interceptor.error.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── grpc-middleware/ │ │ │ ├── debug/ │ │ │ │ ├── in_output_printer_client.interceptor.go │ │ │ │ ├── in_output_printer_server.interceptor.go │ │ │ │ └── request_id_server.interceptor.go │ │ │ ├── opentelemetry/ │ │ │ │ ├── metric_server.interceptor.go │ │ │ │ ├── modular_client.interceptor.go │ │ │ │ ├── modular_server.interceptor.go │ │ │ │ ├── trace_client.interceptor.go │ │ │ │ └── trace_server.interceptor.go │ │ │ ├── ratelimit/ │ │ │ │ ├── ratelimit_qps_server.interceptor.go │ │ │ │ └── ratelimit_server.interceptor.go │ │ │ └── timer/ │ │ │ ├── timer_client.interceptor.go │ │ │ └── timer_server.interceptor.go │ │ ├── http-middleware/ │ │ │ ├── cors/ │ │ │ │ ├── cors.go │ │ │ │ └── cors_test.go │ │ │ ├── debug/ │ │ │ │ ├── in.output_printer.go │ │ │ │ ├── in.output_printer_truncate.go │ │ │ │ ├── recoverer.go │ │ │ │ └── request_id.go │ │ │ ├── http/ │ │ │ │ ├── clean_path.go │ │ │ │ ├── strip_prefix.go │ │ │ │ ├── strip_prefix_test.go │ │ │ │ └── timeout.go │ │ │ ├── opentelemetry/ │ │ │ │ ├── metric.interceptor.go │ │ │ │ └── trace.interceptor.go │ │ │ ├── ratelimiter/ │ │ │ │ ├── ratelimiter.go │ │ │ │ └── ratelimiter_qps.go │ │ │ └── timer/ │ │ │ └── timer_server.interceptor.go │ │ ├── local.middleware.wrap.go │ │ └── resource/ │ │ ├── middleware.handler.go │ │ ├── monitor.metrics.go │ │ └── monitor.resource.go │ ├── mq/ │ │ ├── consumer.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── kafka/ │ │ │ ├── config.go │ │ │ ├── config.option.go │ │ │ ├── config_option.go │ │ │ ├── kafka.go │ │ │ ├── kafka.option.go │ │ │ ├── kafka.pb.go │ │ │ ├── kafka.proto │ │ │ ├── kafka.yaml │ │ │ ├── kafka_consumer.go │ │ │ ├── kafka_message.go │ │ │ ├── kafka_option.go │ │ │ ├── kafka_producer.go │ │ │ └── kafka_test.go │ │ ├── message.go │ │ └── producer.go │ ├── opentelemetry/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── metric/ │ │ │ ├── api/ │ │ │ │ ├── api.go │ │ │ │ ├── example_test.go │ │ │ │ └── instrument.go │ │ │ ├── meter.go │ │ │ ├── meter.logging_exporter.go │ │ │ ├── meter.option.go │ │ │ ├── meter.pull.exporter.go │ │ │ ├── meter.push.exporter.go │ │ │ ├── meter_option.go │ │ │ ├── otlp/ │ │ │ │ ├── otlp.metric.go │ │ │ │ ├── otlp.metric.option.go │ │ │ │ └── otlp.metric_option.go │ │ │ ├── prometheus/ │ │ │ │ ├── prometheus.metric.go │ │ │ │ ├── prometheus.metric.option.go │ │ │ │ └── prometheus.metric_option.go │ │ │ ├── report/ │ │ │ │ ├── dimension.go │ │ │ │ └── report.go │ │ │ └── stdout/ │ │ │ ├── stdout.metric.go │ │ │ ├── stdout.metric.option.go │ │ │ └── stdout.metric_option.go │ │ ├── opentelemetry.go │ │ ├── opentelemetry.option.go │ │ ├── opentelemetry.pb.go │ │ ├── opentelemetry.proto │ │ ├── opentelemetry.yaml │ │ ├── opentelemetry_option.go │ │ ├── opentelemetry_test.go │ │ ├── resource/ │ │ │ ├── resource.go │ │ │ ├── resource.memory.go │ │ │ ├── resource.stats.go │ │ │ ├── resource_stats.option.go │ │ │ └── resource_stats_option.go │ │ └── tracer/ │ │ ├── otlp/ │ │ │ ├── otlp.trace.go │ │ │ └── otlp.trace.option.go │ │ ├── stdout/ │ │ │ ├── stdout.trace.go │ │ │ ├── stdout.trace.option.go │ │ │ └── stdout.trace_option.go │ │ ├── tracer.exporter.go │ │ ├── tracer.go │ │ ├── tracer.logging_exporter.go │ │ ├── tracer.option.go │ │ └── tracer_option.go │ ├── pool/ │ │ ├── go.mod │ │ ├── go.sum │ │ ├── instance/ │ │ │ ├── call.go │ │ │ ├── error.go │ │ │ ├── instance.go │ │ │ ├── pool.instance.go │ │ │ ├── pool.instance.option.go │ │ │ ├── pool.instance_option.go │ │ │ ├── pool.instance_test.go │ │ │ └── thread.go │ │ ├── task/ │ │ │ ├── batch_process.go │ │ │ ├── batch_process_test.go │ │ │ ├── pool.go │ │ │ ├── pool.option.go │ │ │ ├── pool_options.go │ │ │ ├── pool_test.go │ │ │ ├── worker.go │ │ │ └── worker_test.go │ │ └── taskqueue/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── pool.go │ │ ├── pool.option.go │ │ ├── pool_option.go │ │ ├── pool_test.go │ │ ├── queue/ │ │ │ ├── message.go │ │ │ ├── queue.go │ │ │ └── redis/ │ │ │ └── queue.redis.go │ │ ├── redis.yaml │ │ ├── registry.go │ │ ├── task.go │ │ ├── tasker_syncmap.go │ │ ├── taskq.yaml │ │ ├── taskqueue.pb.go │ │ └── taskqueue.proto │ ├── profile/ │ │ ├── go.mod │ │ ├── go.sum │ │ ├── profile.go │ │ └── profile_test.go │ ├── protobuf/ │ │ ├── go.mod │ │ ├── go.sum │ │ ├── jsonpb/ │ │ │ ├── jsonpb_marshal.go │ │ │ └── jsonpb_unmarshal.go │ │ └── prototext/ │ │ └── encode.go │ ├── proxy/ │ │ ├── go.mod │ │ ├── go.sum │ │ ├── proxy.go │ │ ├── proxy.option.go │ │ ├── proxy_option.go │ │ └── proxy_test.go │ ├── resolver/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── dns/ │ │ │ ├── dns_resolver.go │ │ │ ├── k8s-resolver/ │ │ │ │ ├── k8s_dns_resolver.go │ │ │ │ ├── k8s_dns_resolver_test.go │ │ │ │ ├── k8s_resolver.option.go │ │ │ │ └── k8s_resolver_option.go │ │ │ └── net-resolver/ │ │ │ └── net_dns_resolver.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── resolver.go │ │ ├── resolver.pb.go │ │ ├── resolver.proto │ │ ├── resolver.yaml │ │ ├── resolver_query.option.go │ │ ├── resolver_query_option.go │ │ ├── resolver_test.go │ │ └── resolverquerymap_syncmap.go │ ├── scheduler/ │ │ ├── backend/ │ │ │ └── backend.go │ │ ├── broker/ │ │ │ ├── broker.go │ │ │ └── memory/ │ │ │ └── memory.go │ │ ├── dispatcher.go │ │ ├── dispatcher_test.go │ │ ├── go.mod │ │ ├── go.sum │ │ ├── server.go │ │ ├── server_test.go │ │ ├── task/ │ │ │ ├── result.go │ │ │ ├── task.go │ │ │ └── validate.go │ │ ├── types/ │ │ │ ├── task.pb.go │ │ │ └── task.proto │ │ └── worker.go │ ├── storage/ │ │ ├── go.mod │ │ ├── go.sum │ │ ├── mount/ │ │ │ ├── mount.go │ │ │ └── mount_test.go │ │ └── s3/ │ │ ├── config.go │ │ ├── config.option.go │ │ ├── config_option.go │ │ ├── s3.go │ │ ├── s3.option.go │ │ ├── s3.pb.go │ │ ├── s3.proto │ │ ├── s3.yaml │ │ ├── s3_option.go │ │ └── s3_test.go │ ├── viper/ │ │ ├── code/ │ │ │ ├── error.template.pb.go │ │ │ └── error.template.proto │ │ ├── error.yaml │ │ ├── go.mod │ │ ├── go.sum │ │ ├── unmarshaler.go │ │ ├── viper.go │ │ └── viper_test.go │ └── webserver/ │ ├── app/ │ │ ├── cmd.go │ │ ├── flags.go │ │ └── version.go │ ├── config.go │ ├── config.option.go │ ├── config_option.go │ ├── controller/ │ │ ├── healthz/ │ │ │ ├── checker.go │ │ │ ├── healthz.go │ │ │ └── healthz_test.go │ │ ├── profiler/ │ │ │ └── profiler.go │ │ └── static/ │ │ ├── static.go │ │ └── static_test.go │ ├── go.mod │ ├── go.sum │ ├── hooks.go │ ├── symbolizer.go │ ├── webserver.go │ ├── webserver.pb.go │ ├── webserver.proto │ ├── webserver.proto.go │ ├── webserver.yaml │ ├── webserver_qps_limit.go │ └── webserver_test.go ├── script/ │ ├── copyright.sh │ ├── copyright.txt │ ├── go_proto_gen.sh │ └── tools/ │ ├── cat.sh │ └── dmesg.sh ├── third_party/ │ ├── README.md │ └── github.com/ │ └── grpc-ecosystem/ │ └── grpc-gateway/ │ └── google/ │ └── api/ │ ├── annotations.proto │ └── http.proto └── tutorial/ └── programming_paradigm/ ├── control.inverse_test.go ├── decorator_test.go ├── error.handle_test.go ├── factory_test.go ├── function.options_test.go ├── interface.check_test.go ├── interface.program_test.go ├── map.reduce_test.go ├── pipeline_test.go └── visitor_test.go