main 7bda24951b44 cached
3589 files
45.4 MB
12.1M tokens
278187 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (48,507K chars total). Download the full file to get everything.
Repository: hyperledger/fabric-chaincode-evm
Branch: main
Commit: 7bda24951b44
Files: 3589
Total size: 45.4 MB

Directory structure:
gitextract_ekf5vr0h/

├── .github/
│   ├── pull_request_template.md
│   ├── settings.yml
│   └── stale.yml
├── .gitignore
├── CHANGELOG.md
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Fab3_Instructions.md
├── LICENSE
├── MAINTAINERS.md
├── Makefile
├── README.md
├── SECURITY.md
├── ci/
│   └── azure-pipelines.yml
├── evmcc/
│   ├── address/
│   │   ├── converter.go
│   │   ├── converter_suite_test.go
│   │   └── converter_test.go
│   ├── event/
│   │   └── event.go
│   ├── eventmanager/
│   │   ├── eventmanager.go
│   │   ├── eventmanager_suite_test.go
│   │   └── eventmanager_test.go
│   ├── evmcc.go
│   ├── evmcc_suite_test.go
│   ├── evmcc_test.go
│   ├── go.mod
│   ├── go.sum
│   ├── mocks/
│   │   └── mockstub.go
│   ├── statemanager/
│   │   ├── statemanager.go
│   │   ├── statemanager_suite_test.go
│   │   └── statemanager_test.go
│   └── vendor/
│       ├── github.com/
│       │   ├── Azure/
│       │   │   └── go-ansiterm/
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── constants.go
│       │   │       ├── context.go
│       │   │       ├── csi_entry_state.go
│       │   │       ├── csi_param_state.go
│       │   │       ├── escape_intermediate_state.go
│       │   │       ├── escape_state.go
│       │   │       ├── event_handler.go
│       │   │       ├── ground_state.go
│       │   │       ├── osc_string_state.go
│       │   │       ├── parser.go
│       │   │       ├── parser_action_helpers.go
│       │   │       ├── parser_actions.go
│       │   │       ├── states.go
│       │   │       ├── utilities.go
│       │   │       └── winterm/
│       │   │           ├── ansi.go
│       │   │           ├── api.go
│       │   │           ├── attr_translation.go
│       │   │           ├── cursor_helpers.go
│       │   │           ├── erase_helpers.go
│       │   │           ├── scroll_helper.go
│       │   │           ├── utilities.go
│       │   │           └── win_event_handler.go
│       │   ├── Microsoft/
│       │   │   └── go-winio/
│       │   │       ├── .gitignore
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── backup.go
│       │   │       ├── ea.go
│       │   │       ├── file.go
│       │   │       ├── fileinfo.go
│       │   │       ├── pipe.go
│       │   │       ├── privilege.go
│       │   │       ├── reparse.go
│       │   │       ├── sd.go
│       │   │       ├── syscall.go
│       │   │       └── zsyscall_windows.go
│       │   ├── Nvveen/
│       │   │   └── Gotty/
│       │   │       ├── LICENSE
│       │   │       ├── README
│       │   │       ├── TODO
│       │   │       ├── attributes.go
│       │   │       ├── gotty.go
│       │   │       ├── parser.go
│       │   │       └── types.go
│       │   ├── btcsuite/
│       │   │   └── btcd/
│       │   │       ├── LICENSE
│       │   │       └── btcec/
│       │   │           ├── README.md
│       │   │           ├── btcec.go
│       │   │           ├── ciphering.go
│       │   │           ├── doc.go
│       │   │           ├── field.go
│       │   │           ├── genprecomps.go
│       │   │           ├── gensecp256k1.go
│       │   │           ├── precompute.go
│       │   │           ├── privkey.go
│       │   │           ├── pubkey.go
│       │   │           ├── secp256k1.go
│       │   │           └── signature.go
│       │   ├── containerd/
│       │   │   └── continuity/
│       │   │       ├── AUTHORS
│       │   │       ├── LICENSE
│       │   │       └── pathdriver/
│       │   │           └── path_driver.go
│       │   ├── davecgh/
│       │   │   └── go-spew/
│       │   │       ├── LICENSE
│       │   │       └── spew/
│       │   │           ├── bypass.go
│       │   │           ├── bypasssafe.go
│       │   │           ├── common.go
│       │   │           ├── config.go
│       │   │           ├── doc.go
│       │   │           ├── dump.go
│       │   │           ├── format.go
│       │   │           └── spew.go
│       │   ├── docker/
│       │   │   ├── docker/
│       │   │   │   ├── AUTHORS
│       │   │   │   ├── LICENSE
│       │   │   │   ├── NOTICE
│       │   │   │   ├── api/
│       │   │   │   │   └── types/
│       │   │   │   │       ├── auth.go
│       │   │   │   │       ├── blkiodev/
│       │   │   │   │       │   └── blkio.go
│       │   │   │   │       ├── client.go
│       │   │   │   │       ├── configs.go
│       │   │   │   │       ├── container/
│       │   │   │   │       │   ├── config.go
│       │   │   │   │       │   ├── container_changes.go
│       │   │   │   │       │   ├── container_create.go
│       │   │   │   │       │   ├── container_top.go
│       │   │   │   │       │   ├── container_update.go
│       │   │   │   │       │   ├── container_wait.go
│       │   │   │   │       │   ├── host_config.go
│       │   │   │   │       │   ├── hostconfig_unix.go
│       │   │   │   │       │   ├── hostconfig_windows.go
│       │   │   │   │       │   └── waitcondition.go
│       │   │   │   │       ├── error_response.go
│       │   │   │   │       ├── filters/
│       │   │   │   │       │   └── parse.go
│       │   │   │   │       ├── graph_driver_data.go
│       │   │   │   │       ├── id_response.go
│       │   │   │   │       ├── image_delete_response_item.go
│       │   │   │   │       ├── image_summary.go
│       │   │   │   │       ├── mount/
│       │   │   │   │       │   └── mount.go
│       │   │   │   │       ├── network/
│       │   │   │   │       │   └── network.go
│       │   │   │   │       ├── plugin.go
│       │   │   │   │       ├── plugin_device.go
│       │   │   │   │       ├── plugin_env.go
│       │   │   │   │       ├── plugin_interface_type.go
│       │   │   │   │       ├── plugin_mount.go
│       │   │   │   │       ├── plugin_responses.go
│       │   │   │   │       ├── port.go
│       │   │   │   │       ├── registry/
│       │   │   │   │       │   ├── authenticate.go
│       │   │   │   │       │   └── registry.go
│       │   │   │   │       ├── seccomp.go
│       │   │   │   │       ├── service_update_response.go
│       │   │   │   │       ├── stats.go
│       │   │   │   │       ├── strslice/
│       │   │   │   │       │   └── strslice.go
│       │   │   │   │       ├── swarm/
│       │   │   │   │       │   ├── common.go
│       │   │   │   │       │   ├── config.go
│       │   │   │   │       │   ├── container.go
│       │   │   │   │       │   ├── network.go
│       │   │   │   │       │   ├── node.go
│       │   │   │   │       │   ├── runtime/
│       │   │   │   │       │   │   ├── gen.go
│       │   │   │   │       │   │   ├── plugin.pb.go
│       │   │   │   │       │   │   └── plugin.proto
│       │   │   │   │       │   ├── runtime.go
│       │   │   │   │       │   ├── secret.go
│       │   │   │   │       │   ├── service.go
│       │   │   │   │       │   ├── swarm.go
│       │   │   │   │       │   └── task.go
│       │   │   │   │       ├── types.go
│       │   │   │   │       ├── versions/
│       │   │   │   │       │   ├── README.md
│       │   │   │   │       │   └── compare.go
│       │   │   │   │       └── volume.go
│       │   │   │   ├── errdefs/
│       │   │   │   │   ├── defs.go
│       │   │   │   │   ├── doc.go
│       │   │   │   │   ├── helpers.go
│       │   │   │   │   └── is.go
│       │   │   │   ├── opts/
│       │   │   │   │   ├── address_pools.go
│       │   │   │   │   ├── env.go
│       │   │   │   │   ├── hosts.go
│       │   │   │   │   ├── hosts_unix.go
│       │   │   │   │   ├── hosts_windows.go
│       │   │   │   │   ├── ip.go
│       │   │   │   │   ├── opts.go
│       │   │   │   │   ├── opts_unix.go
│       │   │   │   │   ├── opts_windows.go
│       │   │   │   │   ├── quotedstring.go
│       │   │   │   │   ├── runtime.go
│       │   │   │   │   └── ulimit.go
│       │   │   │   └── pkg/
│       │   │   │       ├── fileutils/
│       │   │   │       │   ├── fileutils.go
│       │   │   │       │   ├── fileutils_darwin.go
│       │   │   │       │   ├── fileutils_unix.go
│       │   │   │       │   └── fileutils_windows.go
│       │   │   │       ├── homedir/
│       │   │   │       │   ├── homedir_linux.go
│       │   │   │       │   ├── homedir_others.go
│       │   │   │       │   ├── homedir_unix.go
│       │   │   │       │   └── homedir_windows.go
│       │   │   │       ├── idtools/
│       │   │   │       │   ├── idtools.go
│       │   │   │       │   ├── idtools_unix.go
│       │   │   │       │   ├── idtools_windows.go
│       │   │   │       │   ├── usergroupadd_linux.go
│       │   │   │       │   ├── usergroupadd_unsupported.go
│       │   │   │       │   └── utils_unix.go
│       │   │   │       ├── ioutils/
│       │   │   │       │   ├── buffer.go
│       │   │   │       │   ├── bytespipe.go
│       │   │   │       │   ├── fswriters.go
│       │   │   │       │   ├── readers.go
│       │   │   │       │   ├── temp_unix.go
│       │   │   │       │   ├── temp_windows.go
│       │   │   │       │   ├── writeflusher.go
│       │   │   │       │   └── writers.go
│       │   │   │       ├── longpath/
│       │   │   │       │   └── longpath.go
│       │   │   │       ├── mount/
│       │   │   │       │   ├── flags.go
│       │   │   │       │   ├── flags_freebsd.go
│       │   │   │       │   ├── flags_linux.go
│       │   │   │       │   ├── flags_unsupported.go
│       │   │   │       │   ├── mount.go
│       │   │   │       │   ├── mounter_freebsd.go
│       │   │   │       │   ├── mounter_linux.go
│       │   │   │       │   ├── mounter_unsupported.go
│       │   │   │       │   ├── mountinfo.go
│       │   │   │       │   ├── mountinfo_freebsd.go
│       │   │   │       │   ├── mountinfo_linux.go
│       │   │   │       │   ├── mountinfo_unsupported.go
│       │   │   │       │   ├── mountinfo_windows.go
│       │   │   │       │   └── sharedsubtree_linux.go
│       │   │   │       ├── pools/
│       │   │   │       │   └── pools.go
│       │   │   │       ├── stdcopy/
│       │   │   │       │   └── stdcopy.go
│       │   │   │       └── system/
│       │   │   │           ├── chtimes.go
│       │   │   │           ├── chtimes_unix.go
│       │   │   │           ├── chtimes_windows.go
│       │   │   │           ├── errors.go
│       │   │   │           ├── exitcode.go
│       │   │   │           ├── filesys.go
│       │   │   │           ├── filesys_windows.go
│       │   │   │           ├── init.go
│       │   │   │           ├── init_unix.go
│       │   │   │           ├── init_windows.go
│       │   │   │           ├── lcow.go
│       │   │   │           ├── lcow_unix.go
│       │   │   │           ├── lcow_windows.go
│       │   │   │           ├── lstat_unix.go
│       │   │   │           ├── lstat_windows.go
│       │   │   │           ├── meminfo.go
│       │   │   │           ├── meminfo_linux.go
│       │   │   │           ├── meminfo_unsupported.go
│       │   │   │           ├── meminfo_windows.go
│       │   │   │           ├── mknod.go
│       │   │   │           ├── mknod_windows.go
│       │   │   │           ├── path.go
│       │   │   │           ├── process_unix.go
│       │   │   │           ├── process_windows.go
│       │   │   │           ├── rm.go
│       │   │   │           ├── stat_darwin.go
│       │   │   │           ├── stat_freebsd.go
│       │   │   │           ├── stat_linux.go
│       │   │   │           ├── stat_openbsd.go
│       │   │   │           ├── stat_solaris.go
│       │   │   │           ├── stat_unix.go
│       │   │   │           ├── stat_windows.go
│       │   │   │           ├── syscall_unix.go
│       │   │   │           ├── syscall_windows.go
│       │   │   │           ├── umask.go
│       │   │   │           ├── umask_windows.go
│       │   │   │           ├── utimes_freebsd.go
│       │   │   │           ├── utimes_linux.go
│       │   │   │           ├── utimes_unsupported.go
│       │   │   │           ├── xattrs_linux.go
│       │   │   │           └── xattrs_unsupported.go
│       │   │   ├── go-connections/
│       │   │   │   ├── LICENSE
│       │   │   │   └── nat/
│       │   │   │       ├── nat.go
│       │   │   │       ├── parse.go
│       │   │   │       └── sort.go
│       │   │   ├── go-units/
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE
│       │   │   │   ├── MAINTAINERS
│       │   │   │   ├── README.md
│       │   │   │   ├── circle.yml
│       │   │   │   ├── duration.go
│       │   │   │   ├── size.go
│       │   │   │   └── ulimit.go
│       │   │   └── libnetwork/
│       │   │       ├── LICENSE
│       │   │       └── ipamutils/
│       │   │           └── utils.go
│       │   ├── fsnotify/
│       │   │   └── fsnotify/
│       │   │       ├── .editorconfig
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── AUTHORS
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTING.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── fen.go
│       │   │       ├── fsnotify.go
│       │   │       ├── inotify.go
│       │   │       ├── inotify_poller.go
│       │   │       ├── kqueue.go
│       │   │       ├── open_mode_bsd.go
│       │   │       ├── open_mode_darwin.go
│       │   │       └── windows.go
│       │   ├── go-kit/
│       │   │   └── kit/
│       │   │       ├── LICENSE
│       │   │       └── log/
│       │   │           ├── README.md
│       │   │           ├── doc.go
│       │   │           ├── json_logger.go
│       │   │           ├── level/
│       │   │           │   ├── doc.go
│       │   │           │   └── level.go
│       │   │           ├── log.go
│       │   │           ├── logfmt_logger.go
│       │   │           ├── nop_logger.go
│       │   │           ├── stdlib.go
│       │   │           ├── sync.go
│       │   │           ├── term/
│       │   │           │   ├── LICENSE
│       │   │           │   ├── colorlogger.go
│       │   │           │   ├── colorwriter_others.go
│       │   │           │   ├── colorwriter_windows.go
│       │   │           │   ├── term.go
│       │   │           │   ├── terminal_appengine.go
│       │   │           │   ├── terminal_darwin.go
│       │   │           │   ├── terminal_freebsd.go
│       │   │           │   ├── terminal_linux.go
│       │   │           │   ├── terminal_notwindows.go
│       │   │           │   ├── terminal_openbsd.go
│       │   │           │   └── terminal_windows.go
│       │   │           └── value.go
│       │   ├── go-logfmt/
│       │   │   └── logfmt/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode.go
│       │   │       ├── doc.go
│       │   │       ├── encode.go
│       │   │       ├── fuzz.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       └── jsonstring.go
│       │   ├── gogo/
│       │   │   └── protobuf/
│       │   │       ├── AUTHORS
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── gogoproto/
│       │   │       │   ├── Makefile
│       │   │       │   ├── doc.go
│       │   │       │   ├── gogo.pb.go
│       │   │       │   ├── gogo.pb.golden
│       │   │       │   ├── gogo.proto
│       │   │       │   └── helper.go
│       │   │       ├── jsonpb/
│       │   │       │   └── jsonpb.go
│       │   │       ├── proto/
│       │   │       │   ├── Makefile
│       │   │       │   ├── clone.go
│       │   │       │   ├── custom_gogo.go
│       │   │       │   ├── decode.go
│       │   │       │   ├── deprecated.go
│       │   │       │   ├── discard.go
│       │   │       │   ├── duration.go
│       │   │       │   ├── duration_gogo.go
│       │   │       │   ├── encode.go
│       │   │       │   ├── encode_gogo.go
│       │   │       │   ├── equal.go
│       │   │       │   ├── extensions.go
│       │   │       │   ├── extensions_gogo.go
│       │   │       │   ├── lib.go
│       │   │       │   ├── lib_gogo.go
│       │   │       │   ├── message_set.go
│       │   │       │   ├── pointer_reflect.go
│       │   │       │   ├── pointer_reflect_gogo.go
│       │   │       │   ├── pointer_unsafe.go
│       │   │       │   ├── pointer_unsafe_gogo.go
│       │   │       │   ├── properties.go
│       │   │       │   ├── properties_gogo.go
│       │   │       │   ├── skip_gogo.go
│       │   │       │   ├── table_marshal.go
│       │   │       │   ├── table_marshal_gogo.go
│       │   │       │   ├── table_merge.go
│       │   │       │   ├── table_unmarshal.go
│       │   │       │   ├── table_unmarshal_gogo.go
│       │   │       │   ├── text.go
│       │   │       │   ├── text_gogo.go
│       │   │       │   ├── text_parser.go
│       │   │       │   ├── timestamp.go
│       │   │       │   ├── timestamp_gogo.go
│       │   │       │   ├── wrappers.go
│       │   │       │   └── wrappers_gogo.go
│       │   │       ├── protoc-gen-gogo/
│       │   │       │   └── descriptor/
│       │   │       │       ├── Makefile
│       │   │       │       ├── descriptor.go
│       │   │       │       ├── descriptor.pb.go
│       │   │       │       ├── descriptor_gostring.gen.go
│       │   │       │       └── helper.go
│       │   │       ├── sortkeys/
│       │   │       │   └── sortkeys.go
│       │   │       └── types/
│       │   │           ├── any.go
│       │   │           ├── any.pb.go
│       │   │           ├── api.pb.go
│       │   │           ├── doc.go
│       │   │           ├── duration.go
│       │   │           ├── duration.pb.go
│       │   │           ├── duration_gogo.go
│       │   │           ├── empty.pb.go
│       │   │           ├── field_mask.pb.go
│       │   │           ├── protosize.go
│       │   │           ├── source_context.pb.go
│       │   │           ├── struct.pb.go
│       │   │           ├── timestamp.go
│       │   │           ├── timestamp.pb.go
│       │   │           ├── timestamp_gogo.go
│       │   │           ├── type.pb.go
│       │   │           ├── wrappers.pb.go
│       │   │           └── wrappers_gogo.go
│       │   ├── golang/
│       │   │   └── protobuf/
│       │   │       ├── AUTHORS
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── proto/
│       │   │       │   ├── clone.go
│       │   │       │   ├── decode.go
│       │   │       │   ├── deprecated.go
│       │   │       │   ├── discard.go
│       │   │       │   ├── encode.go
│       │   │       │   ├── equal.go
│       │   │       │   ├── extensions.go
│       │   │       │   ├── lib.go
│       │   │       │   ├── message_set.go
│       │   │       │   ├── pointer_reflect.go
│       │   │       │   ├── pointer_unsafe.go
│       │   │       │   ├── properties.go
│       │   │       │   ├── table_marshal.go
│       │   │       │   ├── table_merge.go
│       │   │       │   ├── table_unmarshal.go
│       │   │       │   ├── text.go
│       │   │       │   └── text_parser.go
│       │   │       └── ptypes/
│       │   │           ├── any/
│       │   │           │   ├── any.pb.go
│       │   │           │   └── any.proto
│       │   │           ├── any.go
│       │   │           ├── doc.go
│       │   │           ├── duration/
│       │   │           │   ├── duration.pb.go
│       │   │           │   └── duration.proto
│       │   │           ├── duration.go
│       │   │           ├── empty/
│       │   │           │   ├── empty.pb.go
│       │   │           │   └── empty.proto
│       │   │           ├── timestamp/
│       │   │           │   ├── timestamp.pb.go
│       │   │           │   └── timestamp.proto
│       │   │           └── timestamp.go
│       │   ├── hashicorp/
│       │   │   └── hcl/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── decoder.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       ├── hcl/
│       │   │       │   ├── ast/
│       │   │       │   │   ├── ast.go
│       │   │       │   │   └── walk.go
│       │   │       │   ├── parser/
│       │   │       │   │   ├── error.go
│       │   │       │   │   └── parser.go
│       │   │       │   ├── printer/
│       │   │       │   │   ├── nodes.go
│       │   │       │   │   └── printer.go
│       │   │       │   ├── scanner/
│       │   │       │   │   └── scanner.go
│       │   │       │   ├── strconv/
│       │   │       │   │   └── quote.go
│       │   │       │   └── token/
│       │   │       │       ├── position.go
│       │   │       │       └── token.go
│       │   │       ├── hcl.go
│       │   │       ├── json/
│       │   │       │   ├── parser/
│       │   │       │   │   ├── flatten.go
│       │   │       │   │   └── parser.go
│       │   │       │   ├── scanner/
│       │   │       │   │   └── scanner.go
│       │   │       │   └── token/
│       │   │       │       ├── position.go
│       │   │       │       └── token.go
│       │   │       ├── lex.go
│       │   │       └── parse.go
│       │   ├── hpcloud/
│       │   │   └── tail/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGES.md
│       │   │       ├── Dockerfile
│       │   │       ├── LICENSE.txt
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── ratelimiter/
│       │   │       │   ├── Licence
│       │   │       │   ├── leakybucket.go
│       │   │       │   ├── memory.go
│       │   │       │   └── storage.go
│       │   │       ├── tail.go
│       │   │       ├── tail_posix.go
│       │   │       ├── tail_windows.go
│       │   │       ├── util/
│       │   │       │   └── util.go
│       │   │       ├── watch/
│       │   │       │   ├── filechanges.go
│       │   │       │   ├── inotify.go
│       │   │       │   ├── inotify_tracker.go
│       │   │       │   ├── polling.go
│       │   │       │   └── watch.go
│       │   │       └── winfile/
│       │   │           └── winfile.go
│       │   ├── hyperledger/
│       │   │   ├── burrow/
│       │   │   │   ├── LICENSE.md
│       │   │   │   ├── acm/
│       │   │   │   │   ├── account.go
│       │   │   │   │   ├── acm.go
│       │   │   │   │   ├── acm.pb.go
│       │   │   │   │   ├── acmstate/
│       │   │   │   │   │   ├── dump_state.go
│       │   │   │   │   │   ├── memory_state.go
│       │   │   │   │   │   ├── state.go
│       │   │   │   │   │   └── state_cache.go
│       │   │   │   │   ├── balance/
│       │   │   │   │   │   ├── balance.go
│       │   │   │   │   │   ├── balance.pb.go
│       │   │   │   │   │   └── type.go
│       │   │   │   │   ├── bytecode.go
│       │   │   │   │   ├── private_account.go
│       │   │   │   │   └── validator/
│       │   │   │   │       ├── bucket.go
│       │   │   │   │       ├── cache.go
│       │   │   │   │       ├── ring.go
│       │   │   │   │       ├── set.go
│       │   │   │   │       ├── validator.go
│       │   │   │   │       ├── validator.pb.go
│       │   │   │   │       └── validators.go
│       │   │   │   ├── binary/
│       │   │   │   │   ├── bytes.go
│       │   │   │   │   ├── byteslice.go
│       │   │   │   │   ├── integer.go
│       │   │   │   │   ├── word160.go
│       │   │   │   │   └── word256.go
│       │   │   │   ├── crypto/
│       │   │   │   │   ├── address.go
│       │   │   │   │   ├── crypto.go
│       │   │   │   │   ├── crypto.pb.go
│       │   │   │   │   ├── private_key.go
│       │   │   │   │   ├── public_key.go
│       │   │   │   │   ├── sha3/
│       │   │   │   │   │   ├── LICENSE
│       │   │   │   │   │   ├── PATENTS
│       │   │   │   │   │   ├── keccakf.go
│       │   │   │   │   │   └── sha3.go
│       │   │   │   │   ├── signature.go
│       │   │   │   │   └── tendermint.go
│       │   │   │   ├── deploy/
│       │   │   │   │   └── compile/
│       │   │   │   │       └── compilers.go
│       │   │   │   ├── event/
│       │   │   │   │   ├── convention.go
│       │   │   │   │   ├── emitter.go
│       │   │   │   │   ├── pubsub/
│       │   │   │   │   │   └── pubsub.go
│       │   │   │   │   └── query/
│       │   │   │   │       ├── Makefile
│       │   │   │   │       ├── builder.go
│       │   │   │   │       ├── empty.go
│       │   │   │   │       ├── query.go
│       │   │   │   │       ├── query.peg
│       │   │   │   │       ├── query.peg.go
│       │   │   │   │       ├── reflect_tagged.go
│       │   │   │   │       └── tags.go
│       │   │   │   ├── execution/
│       │   │   │   │   ├── errors/
│       │   │   │   │   │   ├── errors.go
│       │   │   │   │   │   ├── errors.pb.go
│       │   │   │   │   │   ├── native.go
│       │   │   │   │   │   └── vm.go
│       │   │   │   │   ├── evm/
│       │   │   │   │   │   ├── abi/
│       │   │   │   │   │   │   ├── abi.go
│       │   │   │   │   │   │   └── core.go
│       │   │   │   │   │   ├── asm/
│       │   │   │   │   │   │   ├── bc/
│       │   │   │   │   │   │   │   └── helpers.go
│       │   │   │   │   │   │   └── opcodes.go
│       │   │   │   │   │   ├── event_sink.go
│       │   │   │   │   │   ├── fake_app_state.go
│       │   │   │   │   │   ├── gas.go
│       │   │   │   │   │   ├── memory.go
│       │   │   │   │   │   ├── native.go
│       │   │   │   │   │   ├── options.go
│       │   │   │   │   │   ├── snative.go
│       │   │   │   │   │   ├── stack.go
│       │   │   │   │   │   ├── state.go
│       │   │   │   │   │   └── vm.go
│       │   │   │   │   ├── exec/
│       │   │   │   │   │   ├── block_execution.go
│       │   │   │   │   │   ├── call_event.go
│       │   │   │   │   │   ├── codec.go
│       │   │   │   │   │   ├── event.go
│       │   │   │   │   │   ├── exec.pb.go
│       │   │   │   │   │   ├── govern_account_event.go
│       │   │   │   │   │   ├── header.go
│       │   │   │   │   │   ├── log_event.go
│       │   │   │   │   │   ├── stream_event.go
│       │   │   │   │   │   └── tx_execution.go
│       │   │   │   │   └── names/
│       │   │   │   │       ├── cache.go
│       │   │   │   │       ├── names.go
│       │   │   │   │       └── names.pb.go
│       │   │   │   ├── genesis/
│       │   │   │   │   ├── deterministic_genesis.go
│       │   │   │   │   ├── genesis.go
│       │   │   │   │   └── spec/
│       │   │   │   │       ├── genesis_spec.go
│       │   │   │   │       ├── presets.go
│       │   │   │   │       ├── spec.pb.go
│       │   │   │   │       └── template_account.go
│       │   │   │   ├── keys/
│       │   │   │   │   ├── config.go
│       │   │   │   │   ├── core.go
│       │   │   │   │   ├── key_client.go
│       │   │   │   │   ├── key_store.go
│       │   │   │   │   ├── keys.pb.go
│       │   │   │   │   └── server.go
│       │   │   │   ├── logging/
│       │   │   │   │   ├── logger.go
│       │   │   │   │   ├── structure/
│       │   │   │   │   │   └── structure.go
│       │   │   │   │   └── terminal.go
│       │   │   │   ├── permission/
│       │   │   │   │   ├── account_permissions.go
│       │   │   │   │   ├── base_permissions.go
│       │   │   │   │   ├── errors.go
│       │   │   │   │   ├── perm_flag.go
│       │   │   │   │   ├── permission.pb.go
│       │   │   │   │   ├── permissions.go
│       │   │   │   │   ├── snatives.go
│       │   │   │   │   └── util.go
│       │   │   │   ├── process/
│       │   │   │   │   └── process.go
│       │   │   │   └── txs/
│       │   │   │       ├── amino_codec.go
│       │   │   │       ├── envelope.go
│       │   │   │       ├── json_codec.go
│       │   │   │       ├── payload/
│       │   │   │       │   ├── batch_tx.go
│       │   │   │       │   ├── bond_tx.go
│       │   │   │       │   ├── call_tx.go
│       │   │   │       │   ├── gov_tx.go
│       │   │   │       │   ├── name_tx.go
│       │   │   │       │   ├── payload.go
│       │   │   │       │   ├── payload.pb.go
│       │   │   │       │   ├── perms_tx.go
│       │   │   │       │   ├── proposal_tx.go
│       │   │   │       │   ├── send_tx.go
│       │   │   │       │   ├── tx_input.go
│       │   │   │       │   ├── tx_output.go
│       │   │   │       │   └── unbond_tx.go
│       │   │   │       ├── tx.go
│       │   │   │       └── txs.pb.go
│       │   │   ├── fabric/
│       │   │   │   ├── LICENSE
│       │   │   │   ├── bccsp/
│       │   │   │   │   ├── aesopts.go
│       │   │   │   │   ├── bccsp.go
│       │   │   │   │   ├── ecdsaopts.go
│       │   │   │   │   ├── factory/
│       │   │   │   │   │   ├── factory.go
│       │   │   │   │   │   ├── nopkcs11.go
│       │   │   │   │   │   ├── opts.go
│       │   │   │   │   │   ├── pkcs11.go
│       │   │   │   │   │   ├── pkcs11factory.go
│       │   │   │   │   │   ├── pluginfactory.go
│       │   │   │   │   │   └── swfactory.go
│       │   │   │   │   ├── hashopts.go
│       │   │   │   │   ├── idemix/
│       │   │   │   │   │   ├── bccsp.go
│       │   │   │   │   │   ├── bridge/
│       │   │   │   │   │   │   ├── credential.go
│       │   │   │   │   │   │   ├── credrequest.go
│       │   │   │   │   │   │   ├── issuer.go
│       │   │   │   │   │   │   ├── math.go
│       │   │   │   │   │   │   ├── nymsignaturescheme.go
│       │   │   │   │   │   │   ├── rand.go
│       │   │   │   │   │   │   ├── revocation.go
│       │   │   │   │   │   │   ├── signaturescheme.go
│       │   │   │   │   │   │   └── user.go
│       │   │   │   │   │   └── handlers/
│       │   │   │   │   │       ├── cred.go
│       │   │   │   │   │       ├── idemix.go
│       │   │   │   │   │       ├── issuer.go
│       │   │   │   │   │       ├── nym.go
│       │   │   │   │   │       ├── nymsigner.go
│       │   │   │   │   │       ├── revocation.go
│       │   │   │   │   │       ├── signer.go
│       │   │   │   │   │       └── user.go
│       │   │   │   │   ├── idemixerrs.go
│       │   │   │   │   ├── idemixopts.go
│       │   │   │   │   ├── keystore.go
│       │   │   │   │   ├── opts.go
│       │   │   │   │   ├── pkcs11/
│       │   │   │   │   │   ├── conf.go
│       │   │   │   │   │   ├── ecdsa.go
│       │   │   │   │   │   ├── ecdsakey.go
│       │   │   │   │   │   ├── impl.go
│       │   │   │   │   │   └── pkcs11.go
│       │   │   │   │   ├── rsaopts.go
│       │   │   │   │   ├── signer/
│       │   │   │   │   │   └── signer.go
│       │   │   │   │   ├── sw/
│       │   │   │   │   │   ├── aes.go
│       │   │   │   │   │   ├── aeskey.go
│       │   │   │   │   │   ├── conf.go
│       │   │   │   │   │   ├── dummyks.go
│       │   │   │   │   │   ├── ecdsa.go
│       │   │   │   │   │   ├── ecdsakey.go
│       │   │   │   │   │   ├── fileks.go
│       │   │   │   │   │   ├── hash.go
│       │   │   │   │   │   ├── impl.go
│       │   │   │   │   │   ├── inmemoryks.go
│       │   │   │   │   │   ├── internals.go
│       │   │   │   │   │   ├── keyderiv.go
│       │   │   │   │   │   ├── keygen.go
│       │   │   │   │   │   ├── keyimport.go
│       │   │   │   │   │   ├── new.go
│       │   │   │   │   │   ├── rsa.go
│       │   │   │   │   │   └── rsakey.go
│       │   │   │   │   └── utils/
│       │   │   │   │       ├── ecdsa.go
│       │   │   │   │       ├── errs.go
│       │   │   │   │       ├── io.go
│       │   │   │   │       ├── keys.go
│       │   │   │   │       ├── slice.go
│       │   │   │   │       └── x509.go
│       │   │   │   ├── common/
│       │   │   │   │   ├── crypto/
│       │   │   │   │   │   ├── expiration.go
│       │   │   │   │   │   ├── random.go
│       │   │   │   │   │   └── signer.go
│       │   │   │   │   ├── flogging/
│       │   │   │   │   │   ├── core.go
│       │   │   │   │   │   ├── fabenc/
│       │   │   │   │   │   │   ├── color.go
│       │   │   │   │   │   │   ├── encoder.go
│       │   │   │   │   │   │   └── formatter.go
│       │   │   │   │   │   ├── global.go
│       │   │   │   │   │   ├── legacy.go
│       │   │   │   │   │   ├── levels.go
│       │   │   │   │   │   ├── loggerlevels.go
│       │   │   │   │   │   ├── logging.go
│       │   │   │   │   │   └── zap.go
│       │   │   │   │   ├── ledger/
│       │   │   │   │   │   └── ledger_interface.go
│       │   │   │   │   ├── metadata/
│       │   │   │   │   │   └── metadata.go
│       │   │   │   │   ├── metrics/
│       │   │   │   │   │   └── provider.go
│       │   │   │   │   └── util/
│       │   │   │   │       ├── net.go
│       │   │   │   │       └── utils.go
│       │   │   │   ├── core/
│       │   │   │   │   ├── chaincode/
│       │   │   │   │   │   ├── platforms/
│       │   │   │   │   │   │   ├── ccmetadata/
│       │   │   │   │   │   │   │   ├── ccmetadata.go
│       │   │   │   │   │   │   │   ├── targzmetadataprovider.go
│       │   │   │   │   │   │   │   └── validators.go
│       │   │   │   │   │   │   └── platforms.go
│       │   │   │   │   │   └── shim/
│       │   │   │   │   │       ├── chaincode.go
│       │   │   │   │   │       ├── handler.go
│       │   │   │   │   │       ├── inprocstream.go
│       │   │   │   │   │       ├── interfaces.go
│       │   │   │   │   │       ├── mockstub.go
│       │   │   │   │   │       └── response.go
│       │   │   │   │   ├── comm/
│       │   │   │   │   │   ├── client.go
│       │   │   │   │   │   ├── config.go
│       │   │   │   │   │   ├── connection.go
│       │   │   │   │   │   ├── creds.go
│       │   │   │   │   │   ├── metrics.go
│       │   │   │   │   │   ├── producer.go
│       │   │   │   │   │   ├── server.go
│       │   │   │   │   │   ├── serverstatshandler.go
│       │   │   │   │   │   └── util.go
│       │   │   │   │   ├── config/
│       │   │   │   │   │   └── config.go
│       │   │   │   │   └── container/
│       │   │   │   │       └── util/
│       │   │   │   │           ├── dockerutil.go
│       │   │   │   │           └── writer.go
│       │   │   │   ├── idemix/
│       │   │   │   │   ├── credential.go
│       │   │   │   │   ├── credrequest.go
│       │   │   │   │   ├── idemix.pb.go
│       │   │   │   │   ├── issuerkey.go
│       │   │   │   │   ├── nonrevocation-prover.go
│       │   │   │   │   ├── nonrevocation-verifier.go
│       │   │   │   │   ├── nymsignature.go
│       │   │   │   │   ├── revocation_authority.go
│       │   │   │   │   ├── signature.go
│       │   │   │   │   ├── util.go
│       │   │   │   │   └── weak-bb.go
│       │   │   │   ├── msp/
│       │   │   │   │   ├── cert.go
│       │   │   │   │   ├── configbuilder.go
│       │   │   │   │   ├── factory.go
│       │   │   │   │   ├── idemix_roles.go
│       │   │   │   │   ├── idemixmsp.go
│       │   │   │   │   ├── identities.go
│       │   │   │   │   ├── msp.go
│       │   │   │   │   ├── mspimpl.go
│       │   │   │   │   ├── mspimplsetup.go
│       │   │   │   │   ├── mspimplvalidate.go
│       │   │   │   │   └── mspmgrimpl.go
│       │   │   │   └── protos/
│       │   │   │       ├── common/
│       │   │   │       │   ├── block.go
│       │   │   │       │   ├── collection.pb.go
│       │   │   │       │   ├── collection.proto
│       │   │   │       │   ├── common.go
│       │   │   │       │   ├── common.pb.go
│       │   │   │       │   ├── common.proto
│       │   │   │       │   ├── configtx.go
│       │   │   │       │   ├── configtx.pb.go
│       │   │   │       │   ├── configtx.proto
│       │   │   │       │   ├── configuration.go
│       │   │   │       │   ├── configuration.pb.go
│       │   │   │       │   ├── configuration.proto
│       │   │   │       │   ├── ledger.pb.go
│       │   │   │       │   ├── ledger.proto
│       │   │   │       │   ├── policies.go
│       │   │   │       │   ├── policies.pb.go
│       │   │   │       │   ├── policies.proto
│       │   │   │       │   └── signed_data.go
│       │   │   │       ├── ledger/
│       │   │   │       │   ├── queryresult/
│       │   │   │       │   │   ├── kv_query_result.pb.go
│       │   │   │       │   │   └── kv_query_result.proto
│       │   │   │       │   └── rwset/
│       │   │   │       │       ├── kvrwset/
│       │   │   │       │       │   ├── helper.go
│       │   │   │       │       │   ├── kv_rwset.pb.go
│       │   │   │       │       │   └── kv_rwset.proto
│       │   │   │       │       ├── rwset.go
│       │   │   │       │       ├── rwset.pb.go
│       │   │   │       │       └── rwset.proto
│       │   │   │       ├── msp/
│       │   │   │       │   ├── identities.pb.go
│       │   │   │       │   ├── identities.proto
│       │   │   │       │   ├── msp_config.go
│       │   │   │       │   ├── msp_config.pb.go
│       │   │   │       │   ├── msp_config.proto
│       │   │   │       │   ├── msp_principal.go
│       │   │   │       │   ├── msp_principal.pb.go
│       │   │   │       │   └── msp_principal.proto
│       │   │   │       ├── peer/
│       │   │   │       │   ├── admin.pb.go
│       │   │   │       │   ├── admin.proto
│       │   │   │       │   ├── chaincode.go
│       │   │   │       │   ├── chaincode.pb.go
│       │   │   │       │   ├── chaincode.proto
│       │   │   │       │   ├── chaincode_event.pb.go
│       │   │   │       │   ├── chaincode_event.proto
│       │   │   │       │   ├── chaincode_shim.pb.go
│       │   │   │       │   ├── chaincode_shim.proto
│       │   │   │       │   ├── chaincodeunmarshall.go
│       │   │   │       │   ├── configuration.go
│       │   │   │       │   ├── configuration.pb.go
│       │   │   │       │   ├── configuration.proto
│       │   │   │       │   ├── events.pb.go
│       │   │   │       │   ├── events.proto
│       │   │   │       │   ├── peer.pb.go
│       │   │   │       │   ├── peer.proto
│       │   │   │       │   ├── proposal.go
│       │   │   │       │   ├── proposal.pb.go
│       │   │   │       │   ├── proposal.proto
│       │   │   │       │   ├── proposal_response.go
│       │   │   │       │   ├── proposal_response.pb.go
│       │   │   │       │   ├── proposal_response.proto
│       │   │   │       │   ├── query.pb.go
│       │   │   │       │   ├── query.proto
│       │   │   │       │   ├── resources.pb.go
│       │   │   │       │   ├── resources.proto
│       │   │   │       │   ├── signed_cc_dep_spec.pb.go
│       │   │   │       │   ├── signed_cc_dep_spec.proto
│       │   │   │       │   ├── transaction.go
│       │   │   │       │   ├── transaction.pb.go
│       │   │   │       │   └── transaction.proto
│       │   │   │       ├── token/
│       │   │   │       │   ├── expectations.pb.go
│       │   │   │       │   ├── expectations.proto
│       │   │   │       │   ├── prover.pb.go
│       │   │   │       │   ├── prover.proto
│       │   │   │       │   ├── transaction.pb.go
│       │   │   │       │   └── transaction.proto
│       │   │   │       └── utils/
│       │   │   │           ├── blockutils.go
│       │   │   │           ├── chaincodeutils.go
│       │   │   │           ├── commonutils.go
│       │   │   │           ├── proputils.go
│       │   │   │           └── txutils.go
│       │   │   └── fabric-amcl/
│       │   │       ├── LICENSE
│       │   │       └── amcl/
│       │   │           ├── AES.go
│       │   │           ├── FP256BN/
│       │   │           │   ├── ARCH.go
│       │   │           │   ├── BIG.go
│       │   │           │   ├── DBIG.go
│       │   │           │   ├── ECDH.go
│       │   │           │   ├── ECP.go
│       │   │           │   ├── ECP2.go
│       │   │           │   ├── FP.go
│       │   │           │   ├── FP12.go
│       │   │           │   ├── FP2.go
│       │   │           │   ├── FP4.go
│       │   │           │   ├── MPIN.go
│       │   │           │   ├── PAIR.go
│       │   │           │   └── ROM.go
│       │   │           ├── GCM.go
│       │   │           ├── HASH256.go
│       │   │           ├── HASH384.go
│       │   │           ├── HASH512.go
│       │   │           ├── NHS.go
│       │   │           ├── RAND.go
│       │   │           └── SHA3.go
│       │   ├── konsorten/
│       │   │   └── go-windows-terminal-sequences/
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── go.mod
│       │   │       └── sequences.go
│       │   ├── kr/
│       │   │   └── logfmt/
│       │   │       ├── .gitignore
│       │   │       ├── Readme
│       │   │       ├── decode.go
│       │   │       ├── scanner.go
│       │   │       └── unquote.go
│       │   ├── magiconair/
│       │   │   └── properties/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode.go
│       │   │       ├── doc.go
│       │   │       ├── go.mod
│       │   │       ├── integrate.go
│       │   │       ├── lex.go
│       │   │       ├── load.go
│       │   │       ├── parser.go
│       │   │       ├── properties.go
│       │   │       └── rangecheck.go
│       │   ├── miekg/
│       │   │   └── pkcs11/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── Makefile.release
│       │   │       ├── README.md
│       │   │       ├── const.go
│       │   │       ├── error.go
│       │   │       ├── go.mod
│       │   │       ├── params.go
│       │   │       ├── pkcs11.go
│       │   │       ├── pkcs11.h
│       │   │       ├── pkcs11f.h
│       │   │       ├── pkcs11go.h
│       │   │       ├── pkcs11t.h
│       │   │       ├── release.go
│       │   │       ├── softhsm.conf
│       │   │       ├── softhsm2.conf
│       │   │       ├── types.go
│       │   │       └── vendor.go
│       │   ├── mitchellh/
│       │   │   └── mapstructure/
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode_hooks.go
│       │   │       ├── error.go
│       │   │       ├── go.mod
│       │   │       └── mapstructure.go
│       │   ├── onsi/
│       │   │   ├── ginkgo/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── CHANGELOG.md
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE
│       │   │   │   ├── README.md
│       │   │   │   ├── RELEASING.md
│       │   │   │   ├── config/
│       │   │   │   │   └── config.go
│       │   │   │   ├── ginkgo_dsl.go
│       │   │   │   ├── internal/
│       │   │   │   │   ├── codelocation/
│       │   │   │   │   │   └── code_location.go
│       │   │   │   │   ├── containernode/
│       │   │   │   │   │   └── container_node.go
│       │   │   │   │   ├── failer/
│       │   │   │   │   │   └── failer.go
│       │   │   │   │   ├── leafnodes/
│       │   │   │   │   │   ├── benchmarker.go
│       │   │   │   │   │   ├── interfaces.go
│       │   │   │   │   │   ├── it_node.go
│       │   │   │   │   │   ├── measure_node.go
│       │   │   │   │   │   ├── runner.go
│       │   │   │   │   │   ├── setup_nodes.go
│       │   │   │   │   │   ├── suite_nodes.go
│       │   │   │   │   │   ├── synchronized_after_suite_node.go
│       │   │   │   │   │   └── synchronized_before_suite_node.go
│       │   │   │   │   ├── remote/
│       │   │   │   │   │   ├── aggregator.go
│       │   │   │   │   │   ├── forwarding_reporter.go
│       │   │   │   │   │   ├── output_interceptor.go
│       │   │   │   │   │   ├── output_interceptor_unix.go
│       │   │   │   │   │   ├── output_interceptor_win.go
│       │   │   │   │   │   ├── server.go
│       │   │   │   │   │   ├── syscall_dup_linux_arm64.go
│       │   │   │   │   │   ├── syscall_dup_solaris.go
│       │   │   │   │   │   └── syscall_dup_unix.go
│       │   │   │   │   ├── spec/
│       │   │   │   │   │   ├── spec.go
│       │   │   │   │   │   └── specs.go
│       │   │   │   │   ├── spec_iterator/
│       │   │   │   │   │   ├── index_computer.go
│       │   │   │   │   │   ├── parallel_spec_iterator.go
│       │   │   │   │   │   ├── serial_spec_iterator.go
│       │   │   │   │   │   ├── sharded_parallel_spec_iterator.go
│       │   │   │   │   │   └── spec_iterator.go
│       │   │   │   │   ├── specrunner/
│       │   │   │   │   │   ├── random_id.go
│       │   │   │   │   │   └── spec_runner.go
│       │   │   │   │   ├── suite/
│       │   │   │   │   │   └── suite.go
│       │   │   │   │   ├── testingtproxy/
│       │   │   │   │   │   └── testing_t_proxy.go
│       │   │   │   │   └── writer/
│       │   │   │   │       ├── fake_writer.go
│       │   │   │   │       └── writer.go
│       │   │   │   ├── reporters/
│       │   │   │   │   ├── default_reporter.go
│       │   │   │   │   ├── fake_reporter.go
│       │   │   │   │   ├── junit_reporter.go
│       │   │   │   │   ├── reporter.go
│       │   │   │   │   ├── stenographer/
│       │   │   │   │   │   ├── console_logging.go
│       │   │   │   │   │   ├── fake_stenographer.go
│       │   │   │   │   │   ├── stenographer.go
│       │   │   │   │   │   └── support/
│       │   │   │   │   │       ├── go-colorable/
│       │   │   │   │   │       │   ├── LICENSE
│       │   │   │   │   │       │   ├── README.md
│       │   │   │   │   │       │   ├── colorable_others.go
│       │   │   │   │   │       │   ├── colorable_windows.go
│       │   │   │   │   │       │   └── noncolorable.go
│       │   │   │   │   │       └── go-isatty/
│       │   │   │   │   │           ├── LICENSE
│       │   │   │   │   │           ├── README.md
│       │   │   │   │   │           ├── doc.go
│       │   │   │   │   │           ├── isatty_appengine.go
│       │   │   │   │   │           ├── isatty_bsd.go
│       │   │   │   │   │           ├── isatty_linux.go
│       │   │   │   │   │           ├── isatty_solaris.go
│       │   │   │   │   │           └── isatty_windows.go
│       │   │   │   │   └── teamcity_reporter.go
│       │   │   │   └── types/
│       │   │   │       ├── code_location.go
│       │   │   │       ├── synchronization.go
│       │   │   │       └── types.go
│       │   │   └── gomega/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTING.md
│       │   │       ├── LICENSE
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── RELEASING.md
│       │   │       ├── format/
│       │   │       │   └── format.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       ├── gomega_dsl.go
│       │   │       ├── internal/
│       │   │       │   ├── assertion/
│       │   │       │   │   └── assertion.go
│       │   │       │   ├── asyncassertion/
│       │   │       │   │   └── async_assertion.go
│       │   │       │   ├── oraclematcher/
│       │   │       │   │   └── oracle_matcher.go
│       │   │       │   └── testingtsupport/
│       │   │       │       └── testing_t_support.go
│       │   │       ├── matchers/
│       │   │       │   ├── and.go
│       │   │       │   ├── assignable_to_type_of_matcher.go
│       │   │       │   ├── attributes_slice.go
│       │   │       │   ├── be_a_directory.go
│       │   │       │   ├── be_a_regular_file.go
│       │   │       │   ├── be_an_existing_file.go
│       │   │       │   ├── be_closed_matcher.go
│       │   │       │   ├── be_element_of_matcher.go
│       │   │       │   ├── be_empty_matcher.go
│       │   │       │   ├── be_equivalent_to_matcher.go
│       │   │       │   ├── be_false_matcher.go
│       │   │       │   ├── be_identical_to.go
│       │   │       │   ├── be_nil_matcher.go
│       │   │       │   ├── be_numerically_matcher.go
│       │   │       │   ├── be_sent_matcher.go
│       │   │       │   ├── be_temporally_matcher.go
│       │   │       │   ├── be_true_matcher.go
│       │   │       │   ├── be_zero_matcher.go
│       │   │       │   ├── consist_of.go
│       │   │       │   ├── contain_element_matcher.go
│       │   │       │   ├── contain_substring_matcher.go
│       │   │       │   ├── equal_matcher.go
│       │   │       │   ├── have_cap_matcher.go
│       │   │       │   ├── have_key_matcher.go
│       │   │       │   ├── have_key_with_value_matcher.go
│       │   │       │   ├── have_len_matcher.go
│       │   │       │   ├── have_occurred_matcher.go
│       │   │       │   ├── have_prefix_matcher.go
│       │   │       │   ├── have_suffix_matcher.go
│       │   │       │   ├── match_error_matcher.go
│       │   │       │   ├── match_json_matcher.go
│       │   │       │   ├── match_regexp_matcher.go
│       │   │       │   ├── match_xml_matcher.go
│       │   │       │   ├── match_yaml_matcher.go
│       │   │       │   ├── not.go
│       │   │       │   ├── or.go
│       │   │       │   ├── panic_matcher.go
│       │   │       │   ├── receive_matcher.go
│       │   │       │   ├── semi_structured_data_support.go
│       │   │       │   ├── succeed_matcher.go
│       │   │       │   ├── support/
│       │   │       │   │   └── goraph/
│       │   │       │   │       ├── bipartitegraph/
│       │   │       │   │       │   ├── bipartitegraph.go
│       │   │       │   │       │   └── bipartitegraphmatching.go
│       │   │       │   │       ├── edge/
│       │   │       │   │       │   └── edge.go
│       │   │       │   │       ├── node/
│       │   │       │   │       │   └── node.go
│       │   │       │   │       └── util/
│       │   │       │   │           └── util.go
│       │   │       │   ├── type_support.go
│       │   │       │   └── with_transform.go
│       │   │       ├── matchers.go
│       │   │       └── types/
│       │   │           └── types.go
│       │   ├── op/
│       │   │   └── go-logging/
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── backend.go
│       │   │       ├── format.go
│       │   │       ├── level.go
│       │   │       ├── log_nix.go
│       │   │       ├── log_windows.go
│       │   │       ├── logger.go
│       │   │       ├── memory.go
│       │   │       ├── multi.go
│       │   │       ├── syslog.go
│       │   │       └── syslog_fallback.go
│       │   ├── opencontainers/
│       │   │   ├── go-digest/
│       │   │   │   ├── .mailmap
│       │   │   │   ├── .pullapprove.yml
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE.code
│       │   │   │   ├── LICENSE.docs
│       │   │   │   ├── MAINTAINERS
│       │   │   │   ├── README.md
│       │   │   │   ├── algorithm.go
│       │   │   │   ├── digest.go
│       │   │   │   ├── digester.go
│       │   │   │   ├── doc.go
│       │   │   │   └── verifiers.go
│       │   │   ├── image-spec/
│       │   │   │   ├── LICENSE
│       │   │   │   └── specs-go/
│       │   │   │       ├── v1/
│       │   │   │       │   ├── annotations.go
│       │   │   │       │   ├── config.go
│       │   │   │       │   ├── descriptor.go
│       │   │   │       │   ├── index.go
│       │   │   │       │   ├── layout.go
│       │   │   │       │   ├── manifest.go
│       │   │   │       │   └── mediatype.go
│       │   │   │       ├── version.go
│       │   │   │       └── versioned.go
│       │   │   └── runc/
│       │   │       ├── LICENSE
│       │   │       ├── NOTICE
│       │   │       └── libcontainer/
│       │   │           └── user/
│       │   │               ├── MAINTAINERS
│       │   │               ├── lookup.go
│       │   │               ├── lookup_unix.go
│       │   │               ├── lookup_unsupported.go
│       │   │               └── user.go
│       │   ├── pelletier/
│       │   │   └── go-toml/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── benchmark.json
│       │   │       ├── benchmark.sh
│       │   │       ├── benchmark.toml
│       │   │       ├── benchmark.yml
│       │   │       ├── doc.go
│       │   │       ├── example-crlf.toml
│       │   │       ├── example.toml
│       │   │       ├── fuzz.go
│       │   │       ├── fuzz.sh
│       │   │       ├── keysparsing.go
│       │   │       ├── lexer.go
│       │   │       ├── marshal.go
│       │   │       ├── marshal_test.toml
│       │   │       ├── parser.go
│       │   │       ├── position.go
│       │   │       ├── test.sh
│       │   │       ├── token.go
│       │   │       ├── toml.go
│       │   │       ├── tomltree_create.go
│       │   │       └── tomltree_write.go
│       │   ├── pkg/
│       │   │   └── errors/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── errors.go
│       │   │       └── stack.go
│       │   ├── spf13/
│       │   │   ├── afero/
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── LICENSE.txt
│       │   │   │   ├── README.md
│       │   │   │   ├── afero.go
│       │   │   │   ├── appveyor.yml
│       │   │   │   ├── basepath.go
│       │   │   │   ├── cacheOnReadFs.go
│       │   │   │   ├── const_bsds.go
│       │   │   │   ├── const_win_unix.go
│       │   │   │   ├── copyOnWriteFs.go
│       │   │   │   ├── go.mod
│       │   │   │   ├── httpFs.go
│       │   │   │   ├── ioutil.go
│       │   │   │   ├── lstater.go
│       │   │   │   ├── match.go
│       │   │   │   ├── mem/
│       │   │   │   │   ├── dir.go
│       │   │   │   │   ├── dirmap.go
│       │   │   │   │   └── file.go
│       │   │   │   ├── memmap.go
│       │   │   │   ├── os.go
│       │   │   │   ├── path.go
│       │   │   │   ├── readonlyfs.go
│       │   │   │   ├── regexpfs.go
│       │   │   │   ├── unionFile.go
│       │   │   │   └── util.go
│       │   │   ├── cast/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── LICENSE
│       │   │   │   ├── Makefile
│       │   │   │   ├── README.md
│       │   │   │   ├── cast.go
│       │   │   │   ├── caste.go
│       │   │   │   ├── go.mod
│       │   │   │   └── go.sum
│       │   │   ├── jwalterweatherman/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── LICENSE
│       │   │   │   ├── README.md
│       │   │   │   ├── default_notepad.go
│       │   │   │   ├── go.mod
│       │   │   │   ├── log_counter.go
│       │   │   │   └── notepad.go
│       │   │   └── pflag/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── bool.go
│       │   │       ├── bool_slice.go
│       │   │       ├── bytes.go
│       │   │       ├── count.go
│       │   │       ├── duration.go
│       │   │       ├── duration_slice.go
│       │   │       ├── flag.go
│       │   │       ├── float32.go
│       │   │       ├── float64.go
│       │   │       ├── golangflag.go
│       │   │       ├── int.go
│       │   │       ├── int16.go
│       │   │       ├── int32.go
│       │   │       ├── int64.go
│       │   │       ├── int8.go
│       │   │       ├── int_slice.go
│       │   │       ├── ip.go
│       │   │       ├── ip_slice.go
│       │   │       ├── ipmask.go
│       │   │       ├── ipnet.go
│       │   │       ├── string.go
│       │   │       ├── string_array.go
│       │   │       ├── string_slice.go
│       │   │       ├── string_to_int.go
│       │   │       ├── string_to_string.go
│       │   │       ├── uint.go
│       │   │       ├── uint16.go
│       │   │       ├── uint32.go
│       │   │       ├── uint64.go
│       │   │       ├── uint8.go
│       │   │       └── uint_slice.go
│       │   ├── tendermint/
│       │   │   └── tendermint/
│       │   │       ├── LICENSE
│       │   │       ├── abci/
│       │   │       │   └── types/
│       │   │       │       ├── application.go
│       │   │       │       ├── messages.go
│       │   │       │       ├── pubkey.go
│       │   │       │       ├── result.go
│       │   │       │       ├── types.pb.go
│       │   │       │       ├── types.proto
│       │   │       │       └── util.go
│       │   │       ├── crypto/
│       │   │       │   ├── CHANGELOG.md
│       │   │       │   ├── README.md
│       │   │       │   ├── crypto.go
│       │   │       │   ├── doc.go
│       │   │       │   ├── ed25519/
│       │   │       │   │   └── ed25519.go
│       │   │       │   ├── encoding/
│       │   │       │   │   └── amino/
│       │   │       │   │       └── amino.go
│       │   │       │   ├── hash.go
│       │   │       │   ├── merkle/
│       │   │       │   │   ├── README.md
│       │   │       │   │   ├── codec.go
│       │   │       │   │   ├── compile.sh
│       │   │       │   │   ├── doc.go
│       │   │       │   │   ├── hash.go
│       │   │       │   │   ├── merkle.pb.go
│       │   │       │   │   ├── merkle.proto
│       │   │       │   │   ├── proof.go
│       │   │       │   │   ├── proof_key_path.go
│       │   │       │   │   ├── proof_simple_value.go
│       │   │       │   │   ├── result.go
│       │   │       │   │   ├── simple_map.go
│       │   │       │   │   ├── simple_proof.go
│       │   │       │   │   ├── simple_tree.go
│       │   │       │   │   └── types.go
│       │   │       │   ├── multisig/
│       │   │       │   │   ├── bitarray/
│       │   │       │   │   │   └── compact_bit_array.go
│       │   │       │   │   ├── codec.go
│       │   │       │   │   ├── multisignature.go
│       │   │       │   │   └── threshold_pubkey.go
│       │   │       │   ├── random.go
│       │   │       │   ├── secp256k1/
│       │   │       │   │   ├── internal/
│       │   │       │   │   │   └── secp256k1/
│       │   │       │   │   │       ├── .gitignore
│       │   │       │   │   │       ├── LICENSE
│       │   │       │   │   │       ├── README.md
│       │   │       │   │   │       ├── curve.go
│       │   │       │   │   │       ├── ext.h
│       │   │       │   │   │       ├── panic_cb.go
│       │   │       │   │   │       └── secp256.go
│       │   │       │   │   ├── secp256k1.go
│       │   │       │   │   ├── secp256k1_cgo.go
│       │   │       │   │   └── secp256k1_nocgo.go
│       │   │       │   ├── tmhash/
│       │   │       │   │   └── hash.go
│       │   │       │   └── version.go
│       │   │       ├── libs/
│       │   │       │   ├── common/
│       │   │       │   │   ├── LICENSE
│       │   │       │   │   ├── async.go
│       │   │       │   │   ├── bit_array.go
│       │   │       │   │   ├── bytes.go
│       │   │       │   │   ├── byteslice.go
│       │   │       │   │   ├── cmap.go
│       │   │       │   │   ├── errors.go
│       │   │       │   │   ├── int.go
│       │   │       │   │   ├── kvpair.go
│       │   │       │   │   ├── math.go
│       │   │       │   │   ├── net.go
│       │   │       │   │   ├── nil.go
│       │   │       │   │   ├── os.go
│       │   │       │   │   ├── random.go
│       │   │       │   │   ├── result.go
│       │   │       │   │   ├── service.go
│       │   │       │   │   ├── string.go
│       │   │       │   │   ├── tempfile.go
│       │   │       │   │   ├── throttle_timer.go
│       │   │       │   │   ├── types.pb.go
│       │   │       │   │   └── types.proto
│       │   │       │   ├── log/
│       │   │       │   │   ├── filter.go
│       │   │       │   │   ├── logger.go
│       │   │       │   │   ├── nop_logger.go
│       │   │       │   │   ├── testing_logger.go
│       │   │       │   │   ├── tm_json_logger.go
│       │   │       │   │   ├── tm_logger.go
│       │   │       │   │   ├── tmfmt_logger.go
│       │   │       │   │   └── tracing_logger.go
│       │   │       │   └── pubsub/
│       │   │       │       ├── pubsub.go
│       │   │       │       ├── query/
│       │   │       │       │   ├── Makefile
│       │   │       │       │   ├── empty.go
│       │   │       │       │   ├── query.go
│       │   │       │       │   ├── query.peg
│       │   │       │       │   └── query.peg.go
│       │   │       │       └── subscription.go
│       │   │       ├── types/
│       │   │       │   ├── block.go
│       │   │       │   ├── block_meta.go
│       │   │       │   ├── canonical.go
│       │   │       │   ├── codec.go
│       │   │       │   ├── encoding_helper.go
│       │   │       │   ├── errors.go
│       │   │       │   ├── event_bus.go
│       │   │       │   ├── events.go
│       │   │       │   ├── evidence.go
│       │   │       │   ├── genesis.go
│       │   │       │   ├── keys.go
│       │   │       │   ├── params.go
│       │   │       │   ├── part_set.go
│       │   │       │   ├── priv_validator.go
│       │   │       │   ├── proposal.go
│       │   │       │   ├── protobuf.go
│       │   │       │   ├── results.go
│       │   │       │   ├── signable.go
│       │   │       │   ├── signed_msg_type.go
│       │   │       │   ├── test_util.go
│       │   │       │   ├── time/
│       │   │       │   │   └── time.go
│       │   │       │   ├── tx.go
│       │   │       │   ├── validation.go
│       │   │       │   ├── validator.go
│       │   │       │   ├── validator_set.go
│       │   │       │   ├── vote.go
│       │   │       │   └── vote_set.go
│       │   │       └── version/
│       │   │           └── version.go
│       │   └── tmthrgd/
│       │       └── go-hex/
│       │           ├── .travis.yml
│       │           ├── LICENSE
│       │           ├── README.md
│       │           ├── asm_gen.go
│       │           ├── hex.go
│       │           ├── hex_amd64.go
│       │           ├── hex_decode_amd64.s
│       │           ├── hex_encode_amd64.s
│       │           └── hex_other.go
│       ├── go.uber.org/
│       │   ├── atomic/
│       │   │   ├── .codecov.yml
│       │   │   ├── .gitignore
│       │   │   ├── .travis.yml
│       │   │   ├── LICENSE.txt
│       │   │   ├── Makefile
│       │   │   ├── README.md
│       │   │   ├── atomic.go
│       │   │   ├── error.go
│       │   │   ├── glide.yaml
│       │   │   └── string.go
│       │   └── multierr/
│       │       ├── .codecov.yml
│       │       ├── .gitignore
│       │       ├── .travis.yml
│       │       ├── CHANGELOG.md
│       │       ├── LICENSE.txt
│       │       ├── Makefile
│       │       ├── README.md
│       │       ├── error.go
│       │       └── glide.yaml
│       ├── golang.org/
│       │   └── x/
│       │       ├── crypto/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── ed25519/
│       │       │   │   ├── ed25519.go
│       │       │   │   ├── ed25519_go113.go
│       │       │   │   └── internal/
│       │       │   │       └── edwards25519/
│       │       │   │           ├── const.go
│       │       │   │           └── edwards25519.go
│       │       │   ├── pbkdf2/
│       │       │   │   └── pbkdf2.go
│       │       │   ├── ripemd160/
│       │       │   │   ├── ripemd160.go
│       │       │   │   └── ripemd160block.go
│       │       │   ├── scrypt/
│       │       │   │   └── scrypt.go
│       │       │   └── sha3/
│       │       │       ├── doc.go
│       │       │       ├── hashes.go
│       │       │       ├── hashes_generic.go
│       │       │       ├── keccakf.go
│       │       │       ├── keccakf_amd64.go
│       │       │       ├── keccakf_amd64.s
│       │       │       ├── register.go
│       │       │       ├── sha3.go
│       │       │       ├── sha3_s390x.go
│       │       │       ├── sha3_s390x.s
│       │       │       ├── shake.go
│       │       │       ├── shake_generic.go
│       │       │       ├── xor.go
│       │       │       ├── xor_generic.go
│       │       │       └── xor_unaligned.go
│       │       ├── net/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── context/
│       │       │   │   ├── context.go
│       │       │   │   ├── go17.go
│       │       │   │   ├── go19.go
│       │       │   │   ├── pre_go17.go
│       │       │   │   └── pre_go19.go
│       │       │   ├── html/
│       │       │   │   ├── atom/
│       │       │   │   │   ├── atom.go
│       │       │   │   │   ├── gen.go
│       │       │   │   │   └── table.go
│       │       │   │   ├── charset/
│       │       │   │   │   └── charset.go
│       │       │   │   ├── const.go
│       │       │   │   ├── doc.go
│       │       │   │   ├── doctype.go
│       │       │   │   ├── entity.go
│       │       │   │   ├── escape.go
│       │       │   │   ├── foreign.go
│       │       │   │   ├── node.go
│       │       │   │   ├── parse.go
│       │       │   │   ├── render.go
│       │       │   │   └── token.go
│       │       │   ├── http/
│       │       │   │   └── httpguts/
│       │       │   │       ├── guts.go
│       │       │   │       └── httplex.go
│       │       │   ├── http2/
│       │       │   │   ├── .gitignore
│       │       │   │   ├── Dockerfile
│       │       │   │   ├── Makefile
│       │       │   │   ├── README
│       │       │   │   ├── ciphers.go
│       │       │   │   ├── client_conn_pool.go
│       │       │   │   ├── databuffer.go
│       │       │   │   ├── errors.go
│       │       │   │   ├── flow.go
│       │       │   │   ├── frame.go
│       │       │   │   ├── go111.go
│       │       │   │   ├── gotrack.go
│       │       │   │   ├── headermap.go
│       │       │   │   ├── hpack/
│       │       │   │   │   ├── encode.go
│       │       │   │   │   ├── hpack.go
│       │       │   │   │   ├── huffman.go
│       │       │   │   │   └── tables.go
│       │       │   │   ├── http2.go
│       │       │   │   ├── not_go111.go
│       │       │   │   ├── pipe.go
│       │       │   │   ├── server.go
│       │       │   │   ├── transport.go
│       │       │   │   ├── write.go
│       │       │   │   ├── writesched.go
│       │       │   │   ├── writesched_priority.go
│       │       │   │   └── writesched_random.go
│       │       │   ├── idna/
│       │       │   │   ├── idna10.0.0.go
│       │       │   │   ├── idna9.0.0.go
│       │       │   │   ├── punycode.go
│       │       │   │   ├── tables10.0.0.go
│       │       │   │   ├── tables11.0.0.go
│       │       │   │   ├── tables9.0.0.go
│       │       │   │   ├── trie.go
│       │       │   │   └── trieval.go
│       │       │   ├── internal/
│       │       │   │   └── timeseries/
│       │       │   │       └── timeseries.go
│       │       │   └── trace/
│       │       │       ├── events.go
│       │       │       ├── histogram.go
│       │       │       └── trace.go
│       │       ├── sys/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── cpu/
│       │       │   │   ├── asm_aix_ppc64.s
│       │       │   │   ├── byteorder.go
│       │       │   │   ├── cpu.go
│       │       │   │   ├── cpu_aix_ppc64.go
│       │       │   │   ├── cpu_arm.go
│       │       │   │   ├── cpu_gc_s390x.go
│       │       │   │   ├── cpu_gc_x86.go
│       │       │   │   ├── cpu_gccgo.c
│       │       │   │   ├── cpu_gccgo.go
│       │       │   │   ├── cpu_gccgo_s390x.go
│       │       │   │   ├── cpu_linux.go
│       │       │   │   ├── cpu_linux_arm.go
│       │       │   │   ├── cpu_linux_arm64.go
│       │       │   │   ├── cpu_linux_ppc64x.go
│       │       │   │   ├── cpu_linux_s390x.go
│       │       │   │   ├── cpu_mips64x.go
│       │       │   │   ├── cpu_mipsx.go
│       │       │   │   ├── cpu_other_arm64.go
│       │       │   │   ├── cpu_s390x.s
│       │       │   │   ├── cpu_wasm.go
│       │       │   │   ├── cpu_x86.go
│       │       │   │   ├── cpu_x86.s
│       │       │   │   └── syscall_aix_ppc64_gc.go
│       │       │   ├── unix/
│       │       │   │   ├── .gitignore
│       │       │   │   ├── README.md
│       │       │   │   ├── affinity_linux.go
│       │       │   │   ├── aliases.go
│       │       │   │   ├── asm_aix_ppc64.s
│       │       │   │   ├── asm_darwin_386.s
│       │       │   │   ├── asm_darwin_amd64.s
│       │       │   │   ├── asm_darwin_arm.s
│       │       │   │   ├── asm_darwin_arm64.s
│       │       │   │   ├── asm_dragonfly_amd64.s
│       │       │   │   ├── asm_freebsd_386.s
│       │       │   │   ├── asm_freebsd_amd64.s
│       │       │   │   ├── asm_freebsd_arm.s
│       │       │   │   ├── asm_freebsd_arm64.s
│       │       │   │   ├── asm_linux_386.s
│       │       │   │   ├── asm_linux_amd64.s
│       │       │   │   ├── asm_linux_arm.s
│       │       │   │   ├── asm_linux_arm64.s
│       │       │   │   ├── asm_linux_mips64x.s
│       │       │   │   ├── asm_linux_mipsx.s
│       │       │   │   ├── asm_linux_ppc64x.s
│       │       │   │   ├── asm_linux_riscv64.s
│       │       │   │   ├── asm_linux_s390x.s
│       │       │   │   ├── asm_netbsd_386.s
│       │       │   │   ├── asm_netbsd_amd64.s
│       │       │   │   ├── asm_netbsd_arm.s
│       │       │   │   ├── asm_netbsd_arm64.s
│       │       │   │   ├── asm_openbsd_386.s
│       │       │   │   ├── asm_openbsd_amd64.s
│       │       │   │   ├── asm_openbsd_arm.s
│       │       │   │   ├── asm_openbsd_arm64.s
│       │       │   │   ├── asm_solaris_amd64.s
│       │       │   │   ├── bluetooth_linux.go
│       │       │   │   ├── cap_freebsd.go
│       │       │   │   ├── constants.go
│       │       │   │   ├── dev_aix_ppc.go
│       │       │   │   ├── dev_aix_ppc64.go
│       │       │   │   ├── dev_darwin.go
│       │       │   │   ├── dev_dragonfly.go
│       │       │   │   ├── dev_freebsd.go
│       │       │   │   ├── dev_linux.go
│       │       │   │   ├── dev_netbsd.go
│       │       │   │   ├── dev_openbsd.go
│       │       │   │   ├── dirent.go
│       │       │   │   ├── endian_big.go
│       │       │   │   ├── endian_little.go
│       │       │   │   ├── env_unix.go
│       │       │   │   ├── errors_freebsd_386.go
│       │       │   │   ├── errors_freebsd_amd64.go
│       │       │   │   ├── errors_freebsd_arm.go
│       │       │   │   ├── fcntl.go
│       │       │   │   ├── fcntl_darwin.go
│       │       │   │   ├── fcntl_linux_32bit.go
│       │       │   │   ├── gccgo.go
│       │       │   │   ├── gccgo_c.c
│       │       │   │   ├── gccgo_linux_amd64.go
│       │       │   │   ├── ioctl.go
│       │       │   │   ├── mkall.sh
│       │       │   │   ├── mkasm_darwin.go
│       │       │   │   ├── mkerrors.sh
│       │       │   │   ├── mkpost.go
│       │       │   │   ├── mksyscall.go
│       │       │   │   ├── mksyscall_aix_ppc.go
│       │       │   │   ├── mksyscall_aix_ppc64.go
│       │       │   │   ├── mksyscall_solaris.go
│       │       │   │   ├── mksysctl_openbsd.go
│       │       │   │   ├── mksysnum.go
│       │       │   │   ├── pagesize_unix.go
│       │       │   │   ├── pledge_openbsd.go
│       │       │   │   ├── race.go
│       │       │   │   ├── race0.go
│       │       │   │   ├── readdirent_getdents.go
│       │       │   │   ├── readdirent_getdirentries.go
│       │       │   │   ├── sockcmsg_dragonfly.go
│       │       │   │   ├── sockcmsg_linux.go
│       │       │   │   ├── sockcmsg_unix.go
│       │       │   │   ├── sockcmsg_unix_other.go
│       │       │   │   ├── str.go
│       │       │   │   ├── syscall.go
│       │       │   │   ├── syscall_aix.go
│       │       │   │   ├── syscall_aix_ppc.go
│       │       │   │   ├── syscall_aix_ppc64.go
│       │       │   │   ├── syscall_bsd.go
│       │       │   │   ├── syscall_darwin.1_12.go
│       │       │   │   ├── syscall_darwin.1_13.go
│       │       │   │   ├── syscall_darwin.go
│       │       │   │   ├── syscall_darwin_386.1_11.go
│       │       │   │   ├── syscall_darwin_386.go
│       │       │   │   ├── syscall_darwin_amd64.1_11.go
│       │       │   │   ├── syscall_darwin_amd64.go
│       │       │   │   ├── syscall_darwin_arm.1_11.go
│       │       │   │   ├── syscall_darwin_arm.go
│       │       │   │   ├── syscall_darwin_arm64.1_11.go
│       │       │   │   ├── syscall_darwin_arm64.go
│       │       │   │   ├── syscall_darwin_libSystem.go
│       │       │   │   ├── syscall_dragonfly.go
│       │       │   │   ├── syscall_dragonfly_amd64.go
│       │       │   │   ├── syscall_freebsd.go
│       │       │   │   ├── syscall_freebsd_386.go
│       │       │   │   ├── syscall_freebsd_amd64.go
│       │       │   │   ├── syscall_freebsd_arm.go
│       │       │   │   ├── syscall_freebsd_arm64.go
│       │       │   │   ├── syscall_linux.go
│       │       │   │   ├── syscall_linux_386.go
│       │       │   │   ├── syscall_linux_amd64.go
│       │       │   │   ├── syscall_linux_amd64_gc.go
│       │       │   │   ├── syscall_linux_arm.go
│       │       │   │   ├── syscall_linux_arm64.go
│       │       │   │   ├── syscall_linux_gc.go
│       │       │   │   ├── syscall_linux_gc_386.go
│       │       │   │   ├── syscall_linux_gccgo_386.go
│       │       │   │   ├── syscall_linux_gccgo_arm.go
│       │       │   │   ├── syscall_linux_mips64x.go
│       │       │   │   ├── syscall_linux_mipsx.go
│       │       │   │   ├── syscall_linux_ppc64x.go
│       │       │   │   ├── syscall_linux_riscv64.go
│       │       │   │   ├── syscall_linux_s390x.go
│       │       │   │   ├── syscall_linux_sparc64.go
│       │       │   │   ├── syscall_netbsd.go
│       │       │   │   ├── syscall_netbsd_386.go
│       │       │   │   ├── syscall_netbsd_amd64.go
│       │       │   │   ├── syscall_netbsd_arm.go
│       │       │   │   ├── syscall_netbsd_arm64.go
│       │       │   │   ├── syscall_openbsd.go
│       │       │   │   ├── syscall_openbsd_386.go
│       │       │   │   ├── syscall_openbsd_amd64.go
│       │       │   │   ├── syscall_openbsd_arm.go
│       │       │   │   ├── syscall_openbsd_arm64.go
│       │       │   │   ├── syscall_solaris.go
│       │       │   │   ├── syscall_solaris_amd64.go
│       │       │   │   ├── syscall_unix.go
│       │       │   │   ├── syscall_unix_gc.go
│       │       │   │   ├── syscall_unix_gc_ppc64x.go
│       │       │   │   ├── timestruct.go
│       │       │   │   ├── types_aix.go
│       │       │   │   ├── types_darwin.go
│       │       │   │   ├── types_dragonfly.go
│       │       │   │   ├── types_freebsd.go
│       │       │   │   ├── types_netbsd.go
│       │       │   │   ├── types_openbsd.go
│       │       │   │   ├── types_solaris.go
│       │       │   │   ├── unveil_openbsd.go
│       │       │   │   ├── xattr_bsd.go
│       │       │   │   ├── zerrors_aix_ppc.go
│       │       │   │   ├── zerrors_aix_ppc64.go
│       │       │   │   ├── zerrors_darwin_386.go
│       │       │   │   ├── zerrors_darwin_amd64.go
│       │       │   │   ├── zerrors_darwin_arm.go
│       │       │   │   ├── zerrors_darwin_arm64.go
│       │       │   │   ├── zerrors_dragonfly_amd64.go
│       │       │   │   ├── zerrors_freebsd_386.go
│       │       │   │   ├── zerrors_freebsd_amd64.go
│       │       │   │   ├── zerrors_freebsd_arm.go
│       │       │   │   ├── zerrors_freebsd_arm64.go
│       │       │   │   ├── zerrors_linux_386.go
│       │       │   │   ├── zerrors_linux_amd64.go
│       │       │   │   ├── zerrors_linux_arm.go
│       │       │   │   ├── zerrors_linux_arm64.go
│       │       │   │   ├── zerrors_linux_mips.go
│       │       │   │   ├── zerrors_linux_mips64.go
│       │       │   │   ├── zerrors_linux_mips64le.go
│       │       │   │   ├── zerrors_linux_mipsle.go
│       │       │   │   ├── zerrors_linux_ppc64.go
│       │       │   │   ├── zerrors_linux_ppc64le.go
│       │       │   │   ├── zerrors_linux_riscv64.go
│       │       │   │   ├── zerrors_linux_s390x.go
│       │       │   │   ├── zerrors_linux_sparc64.go
│       │       │   │   ├── zerrors_netbsd_386.go
│       │       │   │   ├── zerrors_netbsd_amd64.go
│       │       │   │   ├── zerrors_netbsd_arm.go
│       │       │   │   ├── zerrors_netbsd_arm64.go
│       │       │   │   ├── zerrors_openbsd_386.go
│       │       │   │   ├── zerrors_openbsd_amd64.go
│       │       │   │   ├── zerrors_openbsd_arm.go
│       │       │   │   ├── zerrors_openbsd_arm64.go
│       │       │   │   ├── zerrors_solaris_amd64.go
│       │       │   │   ├── zptrace386_linux.go
│       │       │   │   ├── zptracearm_linux.go
│       │       │   │   ├── zptracemips_linux.go
│       │       │   │   ├── zptracemipsle_linux.go
│       │       │   │   ├── zsyscall_aix_ppc.go
│       │       │   │   ├── zsyscall_aix_ppc64.go
│       │       │   │   ├── zsyscall_aix_ppc64_gc.go
│       │       │   │   ├── zsyscall_aix_ppc64_gccgo.go
│       │       │   │   ├── zsyscall_darwin_386.1_11.go
│       │       │   │   ├── zsyscall_darwin_386.1_13.go
│       │       │   │   ├── zsyscall_darwin_386.1_13.s
│       │       │   │   ├── zsyscall_darwin_386.go
│       │       │   │   ├── zsyscall_darwin_386.s
│       │       │   │   ├── zsyscall_darwin_amd64.1_11.go
│       │       │   │   ├── zsyscall_darwin_amd64.1_13.go
│       │       │   │   ├── zsyscall_darwin_amd64.1_13.s
│       │       │   │   ├── zsyscall_darwin_amd64.go
│       │       │   │   ├── zsyscall_darwin_amd64.s
│       │       │   │   ├── zsyscall_darwin_arm.1_11.go
│       │       │   │   ├── zsyscall_darwin_arm.1_13.go
│       │       │   │   ├── zsyscall_darwin_arm.1_13.s
│       │       │   │   ├── zsyscall_darwin_arm.go
│       │       │   │   ├── zsyscall_darwin_arm.s
│       │       │   │   ├── zsyscall_darwin_arm64.1_11.go
│       │       │   │   ├── zsyscall_darwin_arm64.1_13.go
│       │       │   │   ├── zsyscall_darwin_arm64.1_13.s
│       │       │   │   ├── zsyscall_darwin_arm64.go
│       │       │   │   ├── zsyscall_darwin_arm64.s
│       │       │   │   ├── zsyscall_dragonfly_amd64.go
│       │       │   │   ├── zsyscall_freebsd_386.go
│       │       │   │   ├── zsyscall_freebsd_amd64.go
│       │       │   │   ├── zsyscall_freebsd_arm.go
│       │       │   │   ├── zsyscall_freebsd_arm64.go
│       │       │   │   ├── zsyscall_linux_386.go
│       │       │   │   ├── zsyscall_linux_amd64.go
│       │       │   │   ├── zsyscall_linux_arm.go
│       │       │   │   ├── zsyscall_linux_arm64.go
│       │       │   │   ├── zsyscall_linux_mips.go
│       │       │   │   ├── zsyscall_linux_mips64.go
│       │       │   │   ├── zsyscall_linux_mips64le.go
│       │       │   │   ├── zsyscall_linux_mipsle.go
│       │       │   │   ├── zsyscall_linux_ppc64.go
│       │       │   │   ├── zsyscall_linux_ppc64le.go
│       │       │   │   ├── zsyscall_linux_riscv64.go
│       │       │   │   ├── zsyscall_linux_s390x.go
│       │       │   │   ├── zsyscall_linux_sparc64.go
│       │       │   │   ├── zsyscall_netbsd_386.go
│       │       │   │   ├── zsyscall_netbsd_amd64.go
│       │       │   │   ├── zsyscall_netbsd_arm.go
│       │       │   │   ├── zsyscall_netbsd_arm64.go
│       │       │   │   ├── zsyscall_openbsd_386.go
│       │       │   │   ├── zsyscall_openbsd_amd64.go
│       │       │   │   ├── zsyscall_openbsd_arm.go
│       │       │   │   ├── zsyscall_openbsd_arm64.go
│       │       │   │   ├── zsyscall_solaris_amd64.go
│       │       │   │   ├── zsysctl_openbsd_386.go
│       │       │   │   ├── zsysctl_openbsd_amd64.go
│       │       │   │   ├── zsysctl_openbsd_arm.go
│       │       │   │   ├── zsysctl_openbsd_arm64.go
│       │       │   │   ├── zsysnum_darwin_386.go
│       │       │   │   ├── zsysnum_darwin_amd64.go
│       │       │   │   ├── zsysnum_darwin_arm.go
│       │       │   │   ├── zsysnum_darwin_arm64.go
│       │       │   │   ├── zsysnum_dragonfly_amd64.go
│       │       │   │   ├── zsysnum_freebsd_386.go
│       │       │   │   ├── zsysnum_freebsd_amd64.go
│       │       │   │   ├── zsysnum_freebsd_arm.go
│       │       │   │   ├── zsysnum_freebsd_arm64.go
│       │       │   │   ├── zsysnum_linux_386.go
│       │       │   │   ├── zsysnum_linux_amd64.go
│       │       │   │   ├── zsysnum_linux_arm.go
│       │       │   │   ├── zsysnum_linux_arm64.go
│       │       │   │   ├── zsysnum_linux_mips.go
│       │       │   │   ├── zsysnum_linux_mips64.go
│       │       │   │   ├── zsysnum_linux_mips64le.go
│       │       │   │   ├── zsysnum_linux_mipsle.go
│       │       │   │   ├── zsysnum_linux_ppc64.go
│       │       │   │   ├── zsysnum_linux_ppc64le.go
│       │       │   │   ├── zsysnum_linux_riscv64.go
│       │       │   │   ├── zsysnum_linux_s390x.go
│       │       │   │   ├── zsysnum_linux_sparc64.go
│       │       │   │   ├── zsysnum_netbsd_386.go
│       │       │   │   ├── zsysnum_netbsd_amd64.go
│       │       │   │   ├── zsysnum_netbsd_arm.go
│       │       │   │   ├── zsysnum_netbsd_arm64.go
│       │       │   │   ├── zsysnum_openbsd_386.go
│       │       │   │   ├── zsysnum_openbsd_amd64.go
│       │       │   │   ├── zsysnum_openbsd_arm.go
│       │       │   │   ├── zsysnum_openbsd_arm64.go
│       │       │   │   ├── ztypes_aix_ppc.go
│       │       │   │   ├── ztypes_aix_ppc64.go
│       │       │   │   ├── ztypes_darwin_386.go
│       │       │   │   ├── ztypes_darwin_amd64.go
│       │       │   │   ├── ztypes_darwin_arm.go
│       │       │   │   ├── ztypes_darwin_arm64.go
│       │       │   │   ├── ztypes_dragonfly_amd64.go
│       │       │   │   ├── ztypes_freebsd_386.go
│       │       │   │   ├── ztypes_freebsd_amd64.go
│       │       │   │   ├── ztypes_freebsd_arm.go
│       │       │   │   ├── ztypes_freebsd_arm64.go
│       │       │   │   ├── ztypes_linux_386.go
│       │       │   │   ├── ztypes_linux_amd64.go
│       │       │   │   ├── ztypes_linux_arm.go
│       │       │   │   ├── ztypes_linux_arm64.go
│       │       │   │   ├── ztypes_linux_mips.go
│       │       │   │   ├── ztypes_linux_mips64.go
│       │       │   │   ├── ztypes_linux_mips64le.go
│       │       │   │   ├── ztypes_linux_mipsle.go
│       │       │   │   ├── ztypes_linux_ppc64.go
│       │       │   │   ├── ztypes_linux_ppc64le.go
│       │       │   │   ├── ztypes_linux_riscv64.go
│       │       │   │   ├── ztypes_linux_s390x.go
│       │       │   │   ├── ztypes_linux_sparc64.go
│       │       │   │   ├── ztypes_netbsd_386.go
│       │       │   │   ├── ztypes_netbsd_amd64.go
│       │       │   │   ├── ztypes_netbsd_arm.go
│       │       │   │   ├── ztypes_netbsd_arm64.go
│       │       │   │   ├── ztypes_openbsd_386.go
│       │       │   │   ├── ztypes_openbsd_amd64.go
│       │       │   │   ├── ztypes_openbsd_arm.go
│       │       │   │   ├── ztypes_openbsd_arm64.go
│       │       │   │   └── ztypes_solaris_amd64.go
│       │       │   └── windows/
│       │       │       ├── aliases.go
│       │       │       ├── dll_windows.go
│       │       │       ├── env_windows.go
│       │       │       ├── eventlog.go
│       │       │       ├── exec_windows.go
│       │       │       ├── memory_windows.go
│       │       │       ├── mkerrors.bash
│       │       │       ├── mkknownfolderids.bash
│       │       │       ├── mksyscall.go
│       │       │       ├── race.go
│       │       │       ├── race0.go
│       │       │       ├── security_windows.go
│       │       │       ├── service.go
│       │       │       ├── str.go
│       │       │       ├── syscall.go
│       │       │       ├── syscall_windows.go
│       │       │       ├── types_windows.go
│       │       │       ├── types_windows_386.go
│       │       │       ├── types_windows_amd64.go
│       │       │       ├── types_windows_arm.go
│       │       │       ├── zerrors_windows.go
│       │       │       ├── zknownfolderids_windows.go
│       │       │       └── zsyscall_windows.go
│       │       └── text/
│       │           ├── AUTHORS
│       │           ├── CONTRIBUTORS
│       │           ├── LICENSE
│       │           ├── PATENTS
│       │           ├── encoding/
│       │           │   ├── charmap/
│       │           │   │   ├── charmap.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── encoding.go
│       │           │   ├── htmlindex/
│       │           │   │   ├── gen.go
│       │           │   │   ├── htmlindex.go
│       │           │   │   ├── map.go
│       │           │   │   └── tables.go
│       │           │   ├── internal/
│       │           │   │   ├── identifier/
│       │           │   │   │   ├── gen.go
│       │           │   │   │   ├── identifier.go
│       │           │   │   │   └── mib.go
│       │           │   │   └── internal.go
│       │           │   ├── japanese/
│       │           │   │   ├── all.go
│       │           │   │   ├── eucjp.go
│       │           │   │   ├── iso2022jp.go
│       │           │   │   ├── maketables.go
│       │           │   │   ├── shiftjis.go
│       │           │   │   └── tables.go
│       │           │   ├── korean/
│       │           │   │   ├── euckr.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── simplifiedchinese/
│       │           │   │   ├── all.go
│       │           │   │   ├── gbk.go
│       │           │   │   ├── hzgb2312.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── traditionalchinese/
│       │           │   │   ├── big5.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   └── unicode/
│       │           │       ├── override.go
│       │           │       └── unicode.go
│       │           ├── internal/
│       │           │   ├── tag/
│       │           │   │   └── tag.go
│       │           │   └── utf8internal/
│       │           │       └── utf8internal.go
│       │           ├── language/
│       │           │   ├── Makefile
│       │           │   ├── common.go
│       │           │   ├── coverage.go
│       │           │   ├── doc.go
│       │           │   ├── gen.go
│       │           │   ├── gen_common.go
│       │           │   ├── gen_index.go
│       │           │   ├── go1_1.go
│       │           │   ├── go1_2.go
│       │           │   ├── index.go
│       │           │   ├── language.go
│       │           │   ├── lookup.go
│       │           │   ├── match.go
│       │           │   ├── parse.go
│       │           │   ├── tables.go
│       │           │   └── tags.go
│       │           ├── runes/
│       │           │   ├── cond.go
│       │           │   └── runes.go
│       │           ├── secure/
│       │           │   └── bidirule/
│       │           │       ├── bidirule.go
│       │           │       ├── bidirule10.0.0.go
│       │           │       └── bidirule9.0.0.go
│       │           ├── transform/
│       │           │   └── transform.go
│       │           └── unicode/
│       │               ├── bidi/
│       │               │   ├── bidi.go
│       │               │   ├── bracket.go
│       │               │   ├── core.go
│       │               │   ├── gen.go
│       │               │   ├── gen_ranges.go
│       │               │   ├── gen_trieval.go
│       │               │   ├── prop.go
│       │               │   ├── tables10.0.0.go
│       │               │   ├── tables9.0.0.go
│       │               │   └── trieval.go
│       │               └── norm/
│       │                   ├── composition.go
│       │                   ├── forminfo.go
│       │                   ├── input.go
│       │                   ├── iter.go
│       │                   ├── maketables.go
│       │                   ├── normalize.go
│       │                   ├── readwriter.go
│       │                   ├── tables10.0.0.go
│       │                   ├── tables9.0.0.go
│       │                   ├── transform.go
│       │                   ├── trie.go
│       │                   └── triegen.go
│       ├── google.golang.org/
│       │   ├── genproto/
│       │   │   ├── LICENSE
│       │   │   └── googleapis/
│       │   │       └── rpc/
│       │   │           └── status/
│       │   │               └── status.pb.go
│       │   └── grpc/
│       │       ├── .travis.yml
│       │       ├── AUTHORS
│       │       ├── CODE-OF-CONDUCT.md
│       │       ├── CONTRIBUTING.md
│       │       ├── GOVERNANCE.md
│       │       ├── LICENSE
│       │       ├── MAINTAINERS.md
│       │       ├── Makefile
│       │       ├── README.md
│       │       ├── backoff.go
│       │       ├── balancer/
│       │       │   ├── balancer.go
│       │       │   ├── base/
│       │       │   │   ├── balancer.go
│       │       │   │   └── base.go
│       │       │   └── roundrobin/
│       │       │       └── roundrobin.go
│       │       ├── balancer.go
│       │       ├── balancer_conn_wrappers.go
│       │       ├── balancer_v1_wrapper.go
│       │       ├── binarylog/
│       │       │   └── grpc_binarylog_v1/
│       │       │       └── binarylog.pb.go
│       │       ├── call.go
│       │       ├── clientconn.go
│       │       ├── codec.go
│       │       ├── codegen.sh
│       │       ├── codes/
│       │       │   ├── code_string.go
│       │       │   └── codes.go
│       │       ├── connectivity/
│       │       │   └── connectivity.go
│       │       ├── credentials/
│       │       │   ├── credentials.go
│       │       │   ├── internal/
│       │       │   │   ├── syscallconn.go
│       │       │   │   └── syscallconn_appengine.go
│       │       │   └── tls13.go
│       │       ├── dialoptions.go
│       │       ├── doc.go
│       │       ├── encoding/
│       │       │   ├── encoding.go
│       │       │   └── proto/
│       │       │       └── proto.go
│       │       ├── go.mod
│       │       ├── go.sum
│       │       ├── grpclog/
│       │       │   ├── grpclog.go
│       │       │   ├── logger.go
│       │       │   └── loggerv2.go
│       │       ├── install_gae.sh
│       │       ├── interceptor.go
│       │       ├── internal/
│       │       │   ├── backoff/
│       │       │   │   └── backoff.go
│       │       │   ├── balancerload/
│       │       │   │   └── load.go
│       │       │   ├── binarylog/
│       │       │   │   ├── binarylog.go
│       │       │   │   ├── binarylog_testutil.go
│       │       │   │   ├── env_config.go
│       │       │   │   ├── method_logger.go
│       │       │   │   ├── regenerate.sh
│       │       │   │   ├── sink.go
│       │       │   │   └── util.go
│       │       │   ├── channelz/
│       │       │   │   ├── funcs.go
│       │       │   │   ├── types.go
│       │       │   │   ├── types_linux.go
│       │       │   │   ├── types_nonlinux.go
│       │       │   │   ├── util_linux.go
│       │       │   │   └── util_nonlinux.go
│       │       │   ├── envconfig/
│       │       │   │   └── envconfig.go
│       │       │   ├── grpcrand/
│       │       │   │   └── grpcrand.go
│       │       │   ├── grpcsync/
│       │       │   │   └── event.go
│       │       │   ├── internal.go
│       │       │   ├── syscall/
│       │       │   │   ├── syscall_linux.go
│       │       │   │   └── syscall_nonlinux.go
│       │       │   └── transport/
│       │       │       ├── bdp_estimator.go
│       │       │       ├── controlbuf.go
│       │       │       ├── defaults.go
│       │       │       ├── flowcontrol.go
│       │       │       ├── handler_server.go
│       │       │       ├── http2_client.go
│       │       │       ├── http2_server.go
│       │       │       ├── http_util.go
│       │       │       ├── log.go
│       │       │       └── transport.go
│       │       ├── keepalive/
│       │       │   └── keepalive.go
│       │       ├── metadata/
│       │       │   └── metadata.go
│       │       ├── naming/
│       │       │   ├── dns_resolver.go
│       │       │   └── naming.go
│       │       ├── peer/
│       │       │   └── peer.go
│       │       ├── picker_wrapper.go
│       │       ├── pickfirst.go
│       │       ├── preloader.go
│       │       ├── proxy.go
│       │       ├── resolver/
│       │       │   ├── dns/
│       │       │   │   └── dns_resolver.go
│       │       │   ├── passthrough/
│       │       │   │   └── passthrough.go
│       │       │   └── resolver.go
│       │       ├── resolver_conn_wrapper.go
│       │       ├── rpc_util.go
│       │       ├── server.go
│       │       ├── service_config.go
│       │       ├── serviceconfig/
│       │       │   └── serviceconfig.go
│       │       ├── stats/
│       │       │   ├── handlers.go
│       │       │   └── stats.go
│       │       ├── status/
│       │       │   └── status.go
│       │       ├── stream.go
│       │       ├── tap/
│       │       │   └── tap.go
│       │       ├── trace.go
│       │       ├── version.go
│       │       └── vet.sh
│       ├── gopkg.in/
│       │   ├── fsnotify.v1/
│       │   │   ├── .editorconfig
│       │   │   ├── .gitignore
│       │   │   ├── .travis.yml
│       │   │   ├── AUTHORS
│       │   │   ├── CHANGELOG.md
│       │   │   ├── CONTRIBUTING.md
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   ├── fen.go
│       │   │   ├── fsnotify.go
│       │   │   ├── inotify.go
│       │   │   ├── inotify_poller.go
│       │   │   ├── kqueue.go
│       │   │   ├── open_mode_bsd.go
│       │   │   ├── open_mode_darwin.go
│       │   │   └── windows.go
│       │   ├── tomb.v1/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── tomb.go
│       │   └── yaml.v2/
│       │       ├── .travis.yml
│       │       ├── LICENSE
│       │       ├── LICENSE.libyaml
│       │       ├── NOTICE
│       │       ├── README.md
│       │       ├── apic.go
│       │       ├── decode.go
│       │       ├── emitterc.go
│       │       ├── encode.go
│       │       ├── go.mod
│       │       ├── parserc.go
│       │       ├── readerc.go
│       │       ├── resolve.go
│       │       ├── scannerc.go
│       │       ├── sorter.go
│       │       ├── writerc.go
│       │       ├── yaml.go
│       │       ├── yamlh.go
│       │       └── yamlprivateh.go
│       └── modules.txt
├── examples/
│   ├── EVM_Smart_Contracts.md
│   └── first-network-sdk-config.yaml
├── fab3/
│   ├── cmd/
│   │   └── main.go
│   ├── codec.go
│   ├── codec_test.go
│   ├── ethservice.go
│   ├── ethservice_test.go
│   ├── ethservice_types_roundtrip_test.go
│   ├── fab3.go
│   ├── fab3_suite_test.go
│   ├── fab3_test.go
│   ├── go.mod
│   ├── go.sum
│   ├── mocks/
│   │   ├── mockchannelclient.go
│   │   ├── mockethservice.go
│   │   └── mockledgerclient.go
│   ├── netservice.go
│   ├── netservice_test.go
│   └── types/
│       ├── types.go
│       ├── types_suite_test.go
│       └── types_test.go
├── gotools.mk
├── integration/
│   ├── e2e/
│   │   ├── e2e_suite_test.go
│   │   └── e2e_test.go
│   ├── fab3/
│   │   ├── fab3_configuration_test.go
│   │   ├── fab3_suite_test.go
│   │   ├── fab3_test.go
│   │   ├── instructor_contract.js
│   │   ├── voting_contract.js
│   │   ├── web3_e2e_test.js
│   │   └── web3_test.go
│   ├── go.mod
│   ├── go.sum
│   ├── helpers/
│   │   ├── contracts.go
│   │   ├── proxy_config.go
│   │   ├── runners.go
│   │   └── utils.go
│   └── vendor/
│       ├── github.com/
│       │   ├── Azure/
│       │   │   └── go-ansiterm/
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── constants.go
│       │   │       ├── context.go
│       │   │       ├── csi_entry_state.go
│       │   │       ├── csi_param_state.go
│       │   │       ├── escape_intermediate_state.go
│       │   │       ├── escape_state.go
│       │   │       ├── event_handler.go
│       │   │       ├── ground_state.go
│       │   │       ├── osc_string_state.go
│       │   │       ├── parser.go
│       │   │       ├── parser_action_helpers.go
│       │   │       ├── parser_actions.go
│       │   │       ├── states.go
│       │   │       ├── utilities.go
│       │   │       └── winterm/
│       │   │           ├── ansi.go
│       │   │           ├── api.go
│       │   │           ├── attr_translation.go
│       │   │           ├── cursor_helpers.go
│       │   │           ├── erase_helpers.go
│       │   │           ├── scroll_helper.go
│       │   │           ├── utilities.go
│       │   │           └── win_event_handler.go
│       │   ├── Microsoft/
│       │   │   └── go-winio/
│       │   │       ├── .gitignore
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── backup.go
│       │   │       ├── ea.go
│       │   │       ├── file.go
│       │   │       ├── fileinfo.go
│       │   │       ├── pipe.go
│       │   │       ├── privilege.go
│       │   │       ├── reparse.go
│       │   │       ├── sd.go
│       │   │       ├── syscall.go
│       │   │       └── zsyscall_windows.go
│       │   ├── Nvveen/
│       │   │   └── Gotty/
│       │   │       ├── LICENSE
│       │   │       ├── README
│       │   │       ├── TODO
│       │   │       ├── attributes.go
│       │   │       ├── gotty.go
│       │   │       ├── parser.go
│       │   │       └── types.go
│       │   ├── containerd/
│       │   │   └── continuity/
│       │   │       ├── AUTHORS
│       │   │       ├── LICENSE
│       │   │       └── pathdriver/
│       │   │           └── path_driver.go
│       │   ├── docker/
│       │   │   ├── docker/
│       │   │   │   ├── AUTHORS
│       │   │   │   ├── LICENSE
│       │   │   │   ├── NOTICE
│       │   │   │   ├── api/
│       │   │   │   │   └── types/
│       │   │   │   │       ├── auth.go
│       │   │   │   │       ├── blkiodev/
│       │   │   │   │       │   └── blkio.go
│       │   │   │   │       ├── client.go
│       │   │   │   │       ├── configs.go
│       │   │   │   │       ├── container/
│       │   │   │   │       │   ├── config.go
│       │   │   │   │       │   ├── container_changes.go
│       │   │   │   │       │   ├── container_create.go
│       │   │   │   │       │   ├── container_top.go
│       │   │   │   │       │   ├── container_update.go
│       │   │   │   │       │   ├── container_wait.go
│       │   │   │   │       │   ├── host_config.go
│       │   │   │   │       │   ├── hostconfig_unix.go
│       │   │   │   │       │   ├── hostconfig_windows.go
│       │   │   │   │       │   └── waitcondition.go
│       │   │   │   │       ├── error_response.go
│       │   │   │   │       ├── filters/
│       │   │   │   │       │   └── parse.go
│       │   │   │   │       ├── graph_driver_data.go
│       │   │   │   │       ├── id_response.go
│       │   │   │   │       ├── image_delete_response_item.go
│       │   │   │   │       ├── image_summary.go
│       │   │   │   │       ├── mount/
│       │   │   │   │       │   └── mount.go
│       │   │   │   │       ├── network/
│       │   │   │   │       │   └── network.go
│       │   │   │   │       ├── plugin.go
│       │   │   │   │       ├── plugin_device.go
│       │   │   │   │       ├── plugin_env.go
│       │   │   │   │       ├── plugin_interface_type.go
│       │   │   │   │       ├── plugin_mount.go
│       │   │   │   │       ├── plugin_responses.go
│       │   │   │   │       ├── port.go
│       │   │   │   │       ├── registry/
│       │   │   │   │       │   ├── authenticate.go
│       │   │   │   │       │   └── registry.go
│       │   │   │   │       ├── seccomp.go
│       │   │   │   │       ├── service_update_response.go
│       │   │   │   │       ├── stats.go
│       │   │   │   │       ├── strslice/
│       │   │   │   │       │   └── strslice.go
│       │   │   │   │       ├── swarm/
│       │   │   │   │       │   ├── common.go
│       │   │   │   │       │   ├── config.go
│       │   │   │   │       │   ├── container.go
│       │   │   │   │       │   ├── network.go
│       │   │   │   │       │   ├── node.go
│       │   │   │   │       │   ├── runtime/
│       │   │   │   │       │   │   ├── gen.go
│       │   │   │   │       │   │   ├── plugin.pb.go
│       │   │   │   │       │   │   └── plugin.proto
│       │   │   │   │       │   ├── runtime.go
│       │   │   │   │       │   ├── secret.go
│       │   │   │   │       │   ├── service.go
│       │   │   │   │       │   ├── swarm.go
│       │   │   │   │       │   └── task.go
│       │   │   │   │       ├── types.go
│       │   │   │   │       ├── versions/
│       │   │   │   │       │   ├── README.md
│       │   │   │   │       │   └── compare.go
│       │   │   │   │       └── volume.go
│       │   │   │   ├── errdefs/
│       │   │   │   │   ├── defs.go
│       │   │   │   │   ├── doc.go
│       │   │   │   │   ├── helpers.go
│       │   │   │   │   └── is.go
│       │   │   │   ├── opts/
│       │   │   │   │   ├── address_pools.go
│       │   │   │   │   ├── env.go
│       │   │   │   │   ├── hosts.go
│       │   │   │   │   ├── hosts_unix.go
│       │   │   │   │   ├── hosts_windows.go
│       │   │   │   │   ├── ip.go
│       │   │   │   │   ├── opts.go
│       │   │   │   │   ├── opts_unix.go
│       │   │   │   │   ├── opts_windows.go
│       │   │   │   │   ├── quotedstring.go
│       │   │   │   │   ├── runtime.go
│       │   │   │   │   └── ulimit.go
│       │   │   │   └── pkg/
│       │   │   │       ├── fileutils/
│       │   │   │       │   ├── fileutils.go
│       │   │   │       │   ├── fileutils_darwin.go
│       │   │   │       │   ├── fileutils_unix.go
│       │   │   │       │   └── fileutils_windows.go
│       │   │   │       ├── homedir/
│       │   │   │       │   ├── homedir_linux.go
│       │   │   │       │   ├── homedir_others.go
│       │   │   │       │   ├── homedir_unix.go
│       │   │   │       │   └── homedir_windows.go
│       │   │   │       ├── idtools/
│       │   │   │       │   ├── idtools.go
│       │   │   │       │   ├── idtools_unix.go
│       │   │   │       │   ├── idtools_windows.go
│       │   │   │       │   ├── usergroupadd_linux.go
│       │   │   │       │   ├── usergroupadd_unsupported.go
│       │   │   │       │   └── utils_unix.go
│       │   │   │       ├── ioutils/
│       │   │   │       │   ├── buffer.go
│       │   │   │       │   ├── bytespipe.go
│       │   │   │       │   ├── fswriters.go
│       │   │   │       │   ├── readers.go
│       │   │   │       │   ├── temp_unix.go
│       │   │   │       │   ├── temp_windows.go
│       │   │   │       │   ├── writeflusher.go
│       │   │   │       │   └── writers.go
│       │   │   │       ├── longpath/
│       │   │   │       │   └── longpath.go
│       │   │   │       ├── mount/
│       │   │   │       │   ├── flags.go
│       │   │   │       │   ├── flags_freebsd.go
│       │   │   │       │   ├── flags_linux.go
│       │   │   │       │   ├── flags_unsupported.go
│       │   │   │       │   ├── mount.go
│       │   │   │       │   ├── mounter_freebsd.go
│       │   │   │       │   ├── mounter_linux.go
│       │   │   │       │   ├── mounter_unsupported.go
│       │   │   │       │   ├── mountinfo.go
│       │   │   │       │   ├── mountinfo_freebsd.go
│       │   │   │       │   ├── mountinfo_linux.go
│       │   │   │       │   ├── mountinfo_unsupported.go
│       │   │   │       │   ├── mountinfo_windows.go
│       │   │   │       │   └── sharedsubtree_linux.go
│       │   │   │       ├── pools/
│       │   │   │       │   └── pools.go
│       │   │   │       ├── stdcopy/
│       │   │   │       │   └── stdcopy.go
│       │   │   │       └── system/
│       │   │   │           ├── chtimes.go
│       │   │   │           ├── chtimes_unix.go
│       │   │   │           ├── chtimes_windows.go
│       │   │   │           ├── errors.go
│       │   │   │           ├── exitcode.go
│       │   │   │           ├── filesys.go
│       │   │   │           ├── filesys_windows.go
│       │   │   │           ├── init.go
│       │   │   │           ├── init_unix.go
│       │   │   │           ├── init_windows.go
│       │   │   │           ├── lcow.go
│       │   │   │           ├── lcow_unix.go
│       │   │   │           ├── lcow_windows.go
│       │   │   │           ├── lstat_unix.go
│       │   │   │           ├── lstat_windows.go
│       │   │   │           ├── meminfo.go
│       │   │   │           ├── meminfo_linux.go
│       │   │   │           ├── meminfo_unsupported.go
│       │   │   │           ├── meminfo_windows.go
│       │   │   │           ├── mknod.go
│       │   │   │           ├── mknod_windows.go
│       │   │   │           ├── path.go
│       │   │   │           ├── process_unix.go
│       │   │   │           ├── process_windows.go
│       │   │   │           ├── rm.go
│       │   │   │           ├── stat_darwin.go
│       │   │   │           ├── stat_freebsd.go
│       │   │   │           ├── stat_linux.go
│       │   │   │           ├── stat_openbsd.go
│       │   │   │           ├── stat_solaris.go
│       │   │   │           ├── stat_unix.go
│       │   │   │           ├── stat_windows.go
│       │   │   │           ├── syscall_unix.go
│       │   │   │           ├── syscall_windows.go
│       │   │   │           ├── umask.go
│       │   │   │           ├── umask_windows.go
│       │   │   │           ├── utimes_freebsd.go
│       │   │   │           ├── utimes_linux.go
│       │   │   │           ├── utimes_unsupported.go
│       │   │   │           ├── xattrs_linux.go
│       │   │   │           └── xattrs_unsupported.go
│       │   │   ├── go-connections/
│       │   │   │   ├── LICENSE
│       │   │   │   └── nat/
│       │   │   │       ├── nat.go
│       │   │   │       ├── parse.go
│       │   │   │       └── sort.go
│       │   │   ├── go-units/
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE
│       │   │   │   ├── MAINTAINERS
│       │   │   │   ├── README.md
│       │   │   │   ├── circle.yml
│       │   │   │   ├── duration.go
│       │   │   │   ├── size.go
│       │   │   │   └── ulimit.go
│       │   │   └── libnetwork/
│       │   │       ├── LICENSE
│       │   │       └── ipamutils/
│       │   │           └── utils.go
│       │   ├── fsnotify/
│       │   │   └── fsnotify/
│       │   │       ├── .editorconfig
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── AUTHORS
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTING.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── fen.go
│       │   │       ├── fsnotify.go
│       │   │       ├── inotify.go
│       │   │       ├── inotify_poller.go
│       │   │       ├── kqueue.go
│       │   │       ├── open_mode_bsd.go
│       │   │       ├── open_mode_darwin.go
│       │   │       └── windows.go
│       │   ├── gogo/
│       │   │   └── protobuf/
│       │   │       ├── AUTHORS
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       └── proto/
│       │   │           ├── Makefile
│       │   │           ├── clone.go
│       │   │           ├── custom_gogo.go
│       │   │           ├── decode.go
│       │   │           ├── deprecated.go
│       │   │           ├── discard.go
│       │   │           ├── duration.go
│       │   │           ├── duration_gogo.go
│       │   │           ├── encode.go
│       │   │           ├── encode_gogo.go
│       │   │           ├── equal.go
│       │   │           ├── extensions.go
│       │   │           ├── extensions_gogo.go
│       │   │           ├── lib.go
│       │   │           ├── lib_gogo.go
│       │   │           ├── message_set.go
│       │   │           ├── pointer_reflect.go
│       │   │           ├── pointer_reflect_gogo.go
│       │   │           ├── pointer_unsafe.go
│       │   │           ├── pointer_unsafe_gogo.go
│       │   │           ├── properties.go
│       │   │           ├── properties_gogo.go
│       │   │           ├── skip_gogo.go
│       │   │           ├── table_marshal.go
│       │   │           ├── table_marshal_gogo.go
│       │   │           ├── table_merge.go
│       │   │           ├── table_unmarshal.go
│       │   │           ├── table_unmarshal_gogo.go
│       │   │           ├── text.go
│       │   │           ├── text_gogo.go
│       │   │           ├── text_parser.go
│       │   │           ├── timestamp.go
│       │   │           ├── timestamp_gogo.go
│       │   │           ├── wrappers.go
│       │   │           └── wrappers_gogo.go
│       │   ├── golang/
│       │   │   └── protobuf/
│       │   │       ├── AUTHORS
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── proto/
│       │   │       │   ├── clone.go
│       │   │       │   ├── decode.go
│       │   │       │   ├── deprecated.go
│       │   │       │   ├── discard.go
│       │   │       │   ├── encode.go
│       │   │       │   ├── equal.go
│       │   │       │   ├── extensions.go
│       │   │       │   ├── lib.go
│       │   │       │   ├── message_set.go
│       │   │       │   ├── pointer_reflect.go
│       │   │       │   ├── pointer_unsafe.go
│       │   │       │   ├── properties.go
│       │   │       │   ├── table_marshal.go
│       │   │       │   ├── table_merge.go
│       │   │       │   ├── table_unmarshal.go
│       │   │       │   ├── text.go
│       │   │       │   └── text_parser.go
│       │   │       └── ptypes/
│       │   │           ├── any/
│       │   │           │   ├── any.pb.go
│       │   │           │   └── any.proto
│       │   │           ├── any.go
│       │   │           ├── doc.go
│       │   │           ├── duration/
│       │   │           │   ├── duration.pb.go
│       │   │           │   └── duration.proto
│       │   │           ├── duration.go
│       │   │           ├── empty/
│       │   │           │   ├── empty.pb.go
│       │   │           │   └── empty.proto
│       │   │           ├── timestamp/
│       │   │           │   ├── timestamp.pb.go
│       │   │           │   └── timestamp.proto
│       │   │           └── timestamp.go
│       │   ├── hashicorp/
│       │   │   └── hcl/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── decoder.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       ├── hcl/
│       │   │       │   ├── ast/
│       │   │       │   │   ├── ast.go
│       │   │       │   │   └── walk.go
│       │   │       │   ├── parser/
│       │   │       │   │   ├── error.go
│       │   │       │   │   └── parser.go
│       │   │       │   ├── printer/
│       │   │       │   │   ├── nodes.go
│       │   │       │   │   └── printer.go
│       │   │       │   ├── scanner/
│       │   │       │   │   └── scanner.go
│       │   │       │   ├── strconv/
│       │   │       │   │   └── quote.go
│       │   │       │   └── token/
│       │   │       │       ├── position.go
│       │   │       │       └── token.go
│       │   │       ├── hcl.go
│       │   │       ├── json/
│       │   │       │   ├── parser/
│       │   │       │   │   ├── flatten.go
│       │   │       │   │   └── parser.go
│       │   │       │   ├── scanner/
│       │   │       │   │   └── scanner.go
│       │   │       │   └── token/
│       │   │       │       ├── position.go
│       │   │       │       └── token.go
│       │   │       ├── lex.go
│       │   │       └── parse.go
│       │   ├── hpcloud/
│       │   │   └── tail/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGES.md
│       │   │       ├── Dockerfile
│       │   │       ├── LICENSE.txt
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── ratelimiter/
│       │   │       │   ├── Licence
│       │   │       │   ├── leakybucket.go
│       │   │       │   ├── memory.go
│       │   │       │   └── storage.go
│       │   │       ├── tail.go
│       │   │       ├── tail_posix.go
│       │   │       ├── tail_windows.go
│       │   │       ├── util/
│       │   │       │   └── util.go
│       │   │       ├── watch/
│       │   │       │   ├── filechanges.go
│       │   │       │   ├── inotify.go
│       │   │       │   ├── inotify_tracker.go
│       │   │       │   ├── polling.go
│       │   │       │   └── watch.go
│       │   │       └── winfile/
│       │   │           └── winfile.go
│       │   ├── hyperledger/
│       │   │   ├── fabric/
│       │   │   │   ├── LICENSE
│       │   │   │   ├── bccsp/
│       │   │   │   │   ├── aesopts.go
│       │   │   │   │   ├── bccsp.go
│       │   │   │   │   ├── ecdsaopts.go
│       │   │   │   │   ├── factory/
│       │   │   │   │   │   ├── factory.go
│       │   │   │   │   │   ├── nopkcs11.go
│       │   │   │   │   │   ├── opts.go
│       │   │   │   │   │   ├── pkcs11.go
│       │   │   │   │   │   ├── pkcs11factory.go
│       │   │   │   │   │   ├── pluginfactory.go
│       │   │   │   │   │   └── swfactory.go
│       │   │   │   │   ├── hashopts.go
│       │   │   │   │   ├── idemix/
│       │   │   │   │   │   ├── bccsp.go
│       │   │   │   │   │   ├── bridge/
│       │   │   │   │   │   │   ├── credential.go
│       │   │   │   │   │   │   ├── credrequest.go
│       │   │   │   │   │   │   ├── issuer.go
│       │   │   │   │   │   │   ├── math.go
│       │   │   │   │   │   │   ├── nymsignaturescheme.go
│       │   │   │   │   │   │   ├── rand.go
│       │   │   │   │   │   │   ├── revocation.go
│       │   │   │   │   │   │   ├── signaturescheme.go
│       │   │   │   │   │   │   └── user.go
│       │   │   │   │   │   └── handlers/
│       │   │   │   │   │       ├── cred.go
│       │   │   │   │   │       ├── idemix.go
│       │   │   │   │   │       ├── issuer.go
│       │   │   │   │   │       ├── nym.go
│       │   │   │   │   │       ├── nymsigner.go
│       │   │   │   │   │       ├── revocation.go
│       │   │   │   │   │       ├── signer.go
│       │   │   │   │   │       └── user.go
│       │   │   │   │   ├── idemixerrs.go
│       │   │   │   │   ├── idemixopts.go
│       │   │   │   │   ├── keystore.go
│       │   │   │   │   ├── opts.go
│       │   │   │   │   ├── pkcs11/
│       │   │   │   │   │   ├── conf.go
│       │   │   │   │   │   ├── ecdsa.go
│       │   │   │   │   │   ├── ecdsakey.go
│       │   │   │   │   │   ├── impl.go
│       │   │   │   │   │   └── pkcs11.go
│       │   │   │   │   ├── rsaopts.go
│       │   │   │   │   ├── signer/
│       │   │   │   │   │   └── signer.go
│       │   │   │   │   ├── sw/
│       │   │   │   │   │   ├── aes.go
│       │   │   │   │   │   ├── aeskey.go
│       │   │   │   │   │   ├── conf.go
│       │   │   │   │   │   ├── dummyks.go
│       │   │   │   │   │   ├── ecdsa.go
│       │   │   │   │   │   ├── ecdsakey.go
│       │   │   │   │   │   ├── fileks.go
│       │   │   │   │   │   ├── hash.go
│       │   │   │   │   │   ├── impl.go
│       │   │   │   │   │   ├── inmemoryks.go
│       │   │   │   │   │   ├── internals.go
│       │   │   │   │   │   ├── keyderiv.go
│       │   │   │   │   │   ├── keygen.go
│       │   │   │   │   │   ├── keyimport.go
│       │   │   │   │   │   ├── new.go
│       │   │   │   │   │   ├── rsa.go
│       │   │   │   │   │   └── rsakey.go
│       │   │   │   │   └── utils/
│       │   │   │   │       ├── ecdsa.go
│       │   │   │   │       ├── errs.go
│       │   │   │   │       ├── io.go
│       │   │   │   │       ├── keys.go
│       │   │   │   │       ├── slice.go
│       │   │   │   │       └── x509.go
│       │   │   │   ├── common/
│       │   │   │   │   ├── crypto/
│       │   │   │   │   │   ├── expiration.go
│       │   │   │   │   │   ├── random.go
│       │   │   │   │   │   └── signer.go
│       │   │   │   │   ├── flogging/
│       │   │   │   │   │   ├── core.go
│       │   │   │   │   │   ├── fabenc/
│       │   │   │   │   │   │   ├── color.go
│       │   │   │   │   │   │   ├── encoder.go
│       │   │   │   │   │   │   └── formatter.go
│       │   │   │   │   │   ├── global.go
│       │   │   │   │   │   ├── legacy.go
│       │   │   │   │   │   ├── levels.go
│       │   │   │   │   │   ├── loggerlevels.go
│       │   │   │   │   │   ├── logging.go
│       │   │   │   │   │   └── zap.go
│       │   │   │   │   ├── metadata/
│       │   │   │   │   │   └── metadata.go
│       │   │   │   │   ├── tools/
│       │   │   │   │   │   └── configtxlator/
│       │   │   │   │   │       └── update/
│       │   │   │   │   │           └── update.go
│       │   │   │   │   └── util/
│       │   │   │   │       ├── net.go
│       │   │   │   │       └── utils.go
│       │   │   │   ├── core/
│       │   │   │   │   ├── chaincode/
│       │   │   │   │   │   └── platforms/
│       │   │   │   │   │       ├── ccmetadata/
│       │   │   │   │   │       │   ├── ccmetadata.go
│       │   │   │   │   │       │   ├── targzmetadataprovider.go
│       │   │   │   │   │       │   └── validators.go
│       │   │   │   │   │       └── platforms.go
│       │   │   │   │   ├── config/
│       │   │   │   │   │   └── config.go
│       │   │   │   │   └── container/
│       │   │   │   │       └── util/
│       │   │   │   │           ├── dockerutil.go
│       │   │   │   │           └── writer.go
│       │   │   │   ├── idemix/
│       │   │   │   │   ├── credential.go
│       │   │   │   │   ├── credrequest.go
│       │   │   │   │   ├── idemix.pb.go
│       │   │   │   │   ├── issuerkey.go
│       │   │   │   │   ├── nonrevocation-prover.go
│       │   │   │   │   ├── nonrevocation-verifier.go
│       │   │   │   │   ├── nymsignature.go
│       │   │   │   │   ├── revocation_authority.go
│       │   │   │   │   ├── signature.go
│       │   │   │   │   ├── util.go
│       │   │   │   │   └── weak-bb.go
│       │   │   │   ├── integration/
│       │   │   │   │   ├── helpers/
│       │   │   │   │   │   └── images.go
│       │   │   │   │   ├── nwo/
│       │   │   │   │   │   ├── command.go
│       │   │   │   │   │   ├── commands/
│       │   │   │   │   │   │   ├── configtxgen.go
│       │   │   │   │   │   │   ├── cryptogen.go
│       │   │   │   │   │   │   ├── discover.go
│       │   │   │   │   │   │   └── peer.go
│       │   │   │   │   │   ├── components.go
│       │   │   │   │   │   ├── config.go
│       │   │   │   │   │   ├── configblock.go
│       │   │   │   │   │   ├── configtx_template.go
│       │   │   │   │   │   ├── core_template.go
│       │   │   │   │   │   ├── crypto_template.go
│       │   │   │   │   │   ├── deploy.go
│       │   │   │   │   │   ├── discover.go
│       │   │   │   │   │   ├── fabricconfig/
│       │   │   │   │   │   │   ├── core.go
│       │   │   │   │   │   │   └── orderer.go
│       │   │   │   │   │   ├── network.go
│       │   │   │   │   │   ├── orderer_template.go
│       │   │   │   │   │   ├── solo.yaml
│       │   │   │   │   │   ├── standard_networks.go
│       │   │   │   │   │   └── templates.go
│       │   │   │   │   └── runner/
│       │   │   │   │       ├── couchdb.go
│       │   │   │   │       ├── defaults.go
│       │   │   │   │       ├── kafka.go
│       │   │   │   │       └── zookeeper.go
│       │   │   │   ├── msp/
│       │   │   │   │   ├── cert.go
│       │   │   │   │   ├── configbuilder.go
│       │   │   │   │   ├── factory.go
│       │   │   │   │   ├── idemix_roles.go
│       │   │   │   │   ├── idemixmsp.go
│       │   │   │   │   ├── identities.go
│       │   │   │   │   ├── msp.go
│       │   │   │   │   ├── mspimpl.go
│       │   │   │   │   ├── mspimplsetup.go
│       │   │   │   │   ├── mspimplvalidate.go
│       │   │   │   │   └── mspmgrimpl.go
│       │   │   │   └── protos/
│       │   │   │       ├── common/
│       │   │   │       │   ├── block.go
│       │   │   │       │   ├── collection.pb.go
│       │   │   │       │   ├── collection.proto
│       │   │   │       │   ├── common.go
│       │   │   │       │   ├── common.pb.go
│       │   │   │       │   ├── common.proto
│       │   │   │       │   ├── configtx.go
│       │   │   │       │   ├── configtx.pb.go
│       │   │   │       │   ├── configtx.proto
│       │   │   │       │   ├── configuration.go
│       │   │   │       │   ├── configuration.pb.go
│       │   │   │       │   ├── configuration.proto
│       │   │   │       │   ├── ledger.pb.go
│       │   │   │       │   ├── ledger.proto
│       │   │   │       │   ├── policies.go
│       │   │   │       │   ├── policies.pb.go
│       │   │   │       │   ├── policies.proto
│       │   │   │       │   └── signed_data.go
│       │   │   │       ├── ledger/
│       │   │   │       │   └── rwset/
│       │   │   │       │       ├── kvrwset/
│       │   │   │       │       │   ├── helper.go
│       │   │   │       │       │   ├── kv_rwset.pb.go
│       │   │   │       │       │   └── kv_rwset.proto
│       │   │   │       │       ├── rwset.go
│       │   │   │       │       ├── rwset.pb.go
│       │   │   │       │       └── rwset.proto
│       │   │   │       ├── msp/
│       │   │   │       │   ├── identities.pb.go
│       │   │   │       │   ├── identities.proto
│       │   │   │       │   ├── msp_config.go
│       │   │   │       │   ├── msp_config.pb.go
│       │   │   │       │   ├── msp_config.proto
│       │   │   │       │   ├── msp_principal.go
│       │   │   │       │   ├── msp_principal.pb.go
│       │   │   │       │   └── msp_principal.proto
│       │   │   │       ├── peer/
│       │   │   │       │   ├── admin.pb.go
│       │   │   │       │   ├── admin.proto
│       │   │   │       │   ├── chaincode.go
│       │   │   │       │   ├── chaincode.pb.go
│       │   │   │       │   ├── chaincode.proto
│       │   │   │       │   ├── chaincode_event.pb.go
│       │   │   │       │   ├── chaincode_event.proto
│       │   │   │       │   ├── chaincode_shim.pb.go
│       │   │   │       │   ├── chaincode_shim.proto
│       │   │   │       │   ├── chaincodeunmarshall.go
│       │   │   │       │   ├── configuration.go
│       │   │   │       │   ├── configuration.pb.go
│       │   │   │       │   ├── configuration.proto
│       │   │   │       │   ├── events.pb.go
│       │   │   │       │   ├── events.proto
│       │   │   │       │   ├── peer.pb.go
│       │   │   │       │   ├── peer.proto
│       │   │   │       │   ├── proposal.go
│       │   │   │       │   ├── proposal.pb.go
│       │   │   │       │   ├── proposal.proto
│       │   │   │       │   ├── proposal_response.go
│       │   │   │       │   ├── proposal_response.pb.go
│       │   │   │       │   ├── proposal_response.proto
│       │   │   │       │   ├── query.pb.go
│       │   │   │       │   ├── query.proto
│       │   │   │       │   ├── resources.pb.go
│       │   │   │       │   ├── resources.proto
│       │   │   │       │   ├── signed_cc_dep_spec.pb.go
│       │   │   │       │   ├── signed_cc_dep_spec.proto
│       │   │   │       │   ├── transaction.go
│       │   │   │       │   ├── transaction.pb.go
│       │   │   │       │   └── transaction.proto
│       │   │   │       ├── token/
│       │   │   │       │   ├── expectations.pb.go
│       │   │   │       │   ├── expectations.proto
│       │   │   │       │   ├── prover.pb.go
│       │   │   │       │   ├── prover.proto
│       │   │   │       │   ├── transaction.pb.go
│       │   │   │       │   └── transaction.proto
│       │   │   │       └── utils/
│       │   │   │           ├── blockutils.go
│       │   │   │           ├── chaincodeutils.go
│       │   │   │           ├── commonutils.go
│       │   │   │           ├── proputils.go
│       │   │   │           └── txutils.go
│       │   │   ├── fabric-amcl/
│       │   │   │   ├── LICENSE
│       │   │   │   └── amcl/
│       │   │   │       ├── AES.go
│       │   │   │       ├── FP256BN/
│       │   │   │       │   ├── ARCH.go
│       │   │   │       │   ├── BIG.go
│       │   │   │       │   ├── DBIG.go
│       │   │   │       │   ├── ECDH.go
│       │   │   │       │   ├── ECP.go
│       │   │   │       │   ├── ECP2.go
│       │   │   │       │   ├── FP.go
│       │   │   │       │   ├── FP12.go
│       │   │   │       │   ├── FP2.go
│       │   │   │       │   ├── FP4.go
│       │   │   │       │   ├── MPIN.go
│       │   │   │       │   ├── PAIR.go
│       │   │   │       │   └── ROM.go
│       │   │   │       ├── GCM.go
│       │   │   │       ├── HASH256.go
│       │   │   │       ├── HASH384.go
│       │   │   │       ├── HASH512.go
│       │   │   │       ├── NHS.go
│       │   │   │       ├── RAND.go
│       │   │   │       └── SHA3.go
│       │   │   └── fabric-chaincode-evm/
│       │   │       └── fab3/
│       │   │           └── types/
│       │   │               └── types.go
│       │   ├── konsorten/
│       │   │   └── go-windows-terminal-sequences/
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── go.mod
│       │   │       └── sequences.go
│       │   ├── magiconair/
│       │   │   └── properties/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode.go
│       │   │       ├── doc.go
│       │   │       ├── go.mod
│       │   │       ├── integrate.go
│       │   │       ├── lex.go
│       │   │       ├── load.go
│       │   │       ├── parser.go
│       │   │       ├── properties.go
│       │   │       └── rangecheck.go
│       │   ├── miekg/
│       │   │   └── pkcs11/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── Makefile.release
│       │   │       ├── README.md
│       │   │       ├── const.go
│       │   │       ├── error.go
│       │   │       ├── go.mod
│       │   │       ├── params.go
│       │   │       ├── pkcs11.go
│       │   │       ├── pkcs11.h
│       │   │       ├── pkcs11f.h
│       │   │       ├── pkcs11go.h
│       │   │       ├── pkcs11t.h
│       │   │       ├── release.go
│       │   │       ├── softhsm.conf
│       │   │       ├── softhsm2.conf
│       │   │       ├── types.go
│       │   │       └── vendor.go
│       │   ├── mitchellh/
│       │   │   └── mapstructure/
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode_hooks.go
│       │   │       ├── error.go
│       │   │       ├── go.mod
│       │   │       └── mapstructure.go
│       │   ├── onsi/
│       │   │   ├── ginkgo/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── CHANGELOG.md
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE
│       │   │   │   ├── README.md
│       │   │   │   ├── RELEASING.md
│       │   │   │   ├── config/
│       │   │   │   │   └── config.go
│       │   │   │   ├── ginkgo_dsl.go
│       │   │   │   ├── internal/
│       │   │   │   │   ├── codelocation/
│       │   │   │   │   │   └── code_location.go
│       │   │   │   │   ├── containernode/
│       │   │   │   │   │   └── container_node.go
│       │   │   │   │   ├── failer/
│       │   │   │   │   │   └── failer.go
│       │   │   │   │   ├── leafnodes/
│       │   │   │   │   │   ├── benchmarker.go
│       │   │   │   │   │   ├── interfaces.go
│       │   │   │   │   │   ├── it_node.go
│       │   │   │   │   │   ├── measure_node.go
│       │   │   │   │   │   ├── runner.go
│       │   │   │   │   │   ├── setup_nodes.go
│       │   │   │   │   │   ├── suite_nodes.go
│       │   │   │   │   │   ├── synchronized_after_suite_node.go
│       │   │   │   │   │   └── synchronized_before_suite_node.go
│       │   │   │   │   ├── remote/
│       │   │   │   │   │   ├── aggregator.go
│       │   │   │   │   │   ├── forwarding_reporter.go
│       │   │   │   │   │   ├── output_interceptor.go
│       │   │   │   │   │   ├── output_interceptor_unix.go
│       │   │   │   │   │   ├── output_interceptor_win.go
│       │   │   │   │   │   ├── server.go
│       │   │   │   │   │   ├── syscall_dup_linux_arm64.go
│       │   │   │   │   │   ├── syscall_dup_solaris.go
│       │   │   │   │   │   └── syscall_dup_unix.go
│       │   │   │   │   ├── spec/
│       │   │   │   │   │   ├── spec.go
│       │   │   │   │   │   └── specs.go
│       │   │   │   │   ├── spec_iterator/
│       │   │   │   │   │   ├── index_computer.go
│       │   │   │   │   │   ├── parallel_spec_iterator.go
│       │   │   │   │   │   ├── serial_spec_iterator.go
│       │   │   │   │   │   ├── sharded_parallel_spec_iterator.go
│       │   │   │   │   │   └── spec_iterator.go
│       │   │   │   │   ├── specrunner/
│       │   │   │   │   │   ├── random_id.go
│       │   │   │   │   │   └── spec_runner.go
│       │   │   │   │   ├── suite/
│       │   │   │   │   │   └── suite.go
│       │   │   │   │   ├── testingtproxy/
│       │   │   │   │   │   └── testing_t_proxy.go
│       │   │   │   │   └── writer/
│       │   │   │   │       ├── fake_writer.go
│       │   │   │   │       └── writer.go
│       │   │   │   ├── reporters/
│       │   │   │   │   ├── default_reporter.go
│       │   │   │   │   ├── fake_reporter.go
│       │   │   │   │   ├── junit_reporter.go
│       │   │   │   │   ├── reporter.go
│       │   │   │   │   ├── stenographer/
│       │   │   │   │   │   ├── console_logging.go
│       │   │   │   │   │   ├── fake_stenographer.go
│       │   │   │   │   │   ├── stenographer.go
│       │   │   │   │   │   └── support/
│       │   │   │   │   │       ├── go-colorable/
│       │   │   │   │   │       │   ├── LICENSE
│       │   │   │   │   │       │   ├── README.md
│       │   │   │   │   │       │   ├── colorable_others.go
│       │   │   │   │   │       │   ├── colorable_windows.go
│       │   │   │   │   │       │   └── noncolorable.go
│       │   │   │   │   │       └── go-isatty/
│       │   │   │   │   │           ├── LICENSE
│       │   │   │   │   │           ├── README.md
│       │   │   │   │   │           ├── doc.go
│       │   │   │   │   │           ├── isatty_appengine.go
│       │   │   │   │   │           ├── isatty_bsd.go
│       │   │   │   │   │           ├── isatty_linux.go
│       │   │   │   │   │           ├── isatty_solaris.go
│       │   │   │   │   │           └── isatty_windows.go
│       │   │   │   │   └── teamcity_reporter.go
│       │   │   │   └── types/
│       │   │   │       ├── code_location.go
│       │   │   │       ├── synchronization.go
│       │   │   │       └── types.go
│       │   │   └── gomega/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTING.md
│       │   │       ├── LICENSE
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── RELEASING.md
│       │   │       ├── format/
│       │   │       │   └── format.go
│       │   │       ├── gbytes/
│       │   │       │   ├── buffer.go
│       │   │       │   ├── io_wrappers.go
│       │   │       │   └── say_matcher.go
│       │   │       ├── gexec/
│       │   │       │   ├── build.go
│       │   │       │   ├── exit_matcher.go
│       │   │       │   ├── prefixed_writer.go
│       │   │       │   └── session.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       ├── gomega_dsl.go
│       │   │       ├── internal/
│       │   │       │   ├── assertion/
│       │   │       │   │   └── assertion.go
│       │   │       │   ├── asyncassertion/
│       │   │       │   │   └── async_assertion.go
│       │   │       │   ├── oraclematcher/
│       │   │       │   │   └── oracle_matcher.go
│       │   │       │   └── testingtsupport/
│       │   │       │       └── testing_t_support.go
│       │   │       ├── matchers/
│       │   │       │   ├── and.go
│       │   │       │   ├── assignable_to_type_of_matcher.go
│       │   │       │   ├── attributes_slice.go
│       │   │       │   ├── be_a_directory.go
│       │   │       │   ├── be_a_regular_file.go
│       │   │       │   ├── be_an_existing_file.go
│       │   │       │   ├── be_closed_matcher.go
│       │   │       │   ├── be_element_of_matcher.go
│       │   │       │   ├── be_empty_matcher.go
│       │   │       │   ├── be_equivalent_to_matcher.go
│       │   │       │   ├── be_false_matcher.go
│       │   │       │   ├── be_identical_to.go
│       │   │       │   ├── be_nil_matcher.go
│       │   │       │   ├── be_numerically_matcher.go
│       │   │       │   ├── be_sent_matcher.go
│       │   │       │   ├── be_temporally_matcher.go
│       │   │       │   ├── be_true_matcher.go
│       │   │       │   ├── be_zero_matcher.go
│       │   │       │   ├── consist_of.go
│       │   │       │   ├── contain_element_matcher.go
│       │   │       │   ├── contain_substring_matcher.go
│       │   │       │   ├── equal_matcher.go
│       │   │       │   ├── have_cap_matcher.go
│       │   │       │   ├── have_key_matcher.go
│       │   │       │   ├── have_key_with_value_matcher.go
│       │   │       │   ├── have_len_matcher.go
│       │   │       │   ├── have_occurred_matcher.go
│       │   │       │   ├── have_prefix_matcher.go
│       │   │       │   ├── have_suffix_matcher.go
│       │   │       │   ├── match_error_matcher.go
│       │   │       │   ├── match_json_matcher.go
│       │   │       │   ├── match_regexp_matcher.go
│       │   │       │   ├── match_xml_matcher.go
│       │   │       │   ├── match_yaml_matcher.go
│       │   │       │   ├── not.go
│       │   │       │   ├── or.go
│       │   │       │   ├── panic_matcher.go
│       │   │       │   ├── receive_matcher.go
│       │   │       │   ├── semi_structured_data_support.go
│       │   │       │   ├── succeed_matcher.go
│       │   │       │   ├── support/
│       │   │       │   │   └── goraph/
│       │   │       │   │       ├── bipartitegraph/
│       │   │       │   │       │   ├── bipartitegraph.go
│       │   │       │   │       │   └── bipartitegraphmatching.go
│       │   │       │   │       ├── edge/
│       │   │       │   │       │   └── edge.go
│       │   │       │   │       ├── node/
│       │   │       │   │       │   └── node.go
│       │   │       │   │       └── util/
│       │   │       │   │           └── util.go
│       │   │       │   ├── type_support.go
│       │   │       │   └── with_transform.go
│       │   │       ├── matchers.go
│       │   │       └── types/
│       │   │           └── types.go
│       │   ├── op/
│       │   │   └── go-logging/
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── backend.go
│       │   │       ├── format.go
│       │   │       ├── level.go
│       │   │       ├── log_nix.go
│       │   │       ├── log_windows.go
│       │   │       ├── logger.go
│       │   │       ├── memory.go
│       │   │       ├── multi.go
│       │   │       ├── syslog.go
│       │   │       └── syslog_fallback.go
│       │   ├── opencontainers/
│       │   │   ├── go-digest/
│       │   │   │   ├── .mailmap
│       │   │   │   ├── .pullapprove.yml
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE.code
│       │   │   │   ├── LICENSE.docs
│       │   │   │   ├── MAINTAINERS
│       │   │   │   ├── README.md
│       │   │   │   ├── algorithm.go
│       │   │   │   ├── digest.go
│       │   │   │   ├── digester.go
│       │   │   │   ├── doc.go
│       │   │   │   └── verifiers.go
│       │   │   ├── image-spec/
│       │   │   │   ├── LICENSE
│       │   │   │   └── specs-go/
│       │   │   │       ├── v1/
│       │   │   │       │   ├── annotations.go
│       │   │   │       │   ├── config.go
│       │   │   │       │   ├── descriptor.go
│       │   │   │       │   ├── index.go
│       │   │   │       │   ├── layout.go
│       │   │   │       │   ├── manifest.go
│       │   │   │       │   └── mediatype.go
│       │   │   │       ├── version.go
│       │   │   │       └── versioned.go
│       │   │   └── runc/
│       │   │       ├── LICENSE
│       │   │       ├── NOTICE
│       │   │       └── libcontainer/
│       │   │           └── user/
│       │   │               ├── MAINTAINERS
│       │   │               ├── lookup.go
│       │   │               ├── lookup_unix.go
│       │   │               ├── lookup_unsupported.go
│       │   │               └── user.go
│       │   ├── pelletier/
│       │   │   └── go-toml/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── benchmark.json
│       │   │       ├── benchmark.sh
│       │   │       ├── benchmark.toml
│       │   │       ├── benchmark.yml
│       │   │       ├── doc.go
│       │   │       ├── example-crlf.toml
│       │   │       ├── example.toml
│       │   │       ├── fuzz.go
│       │   │       ├── fuzz.sh
│       │   │       ├── keysparsing.go
│       │   │       ├── lexer.go
│       │   │       ├── marshal.go
│       │   │       ├── marshal_test.toml
│       │   │       ├── parser.go
│       │   │       ├── position.go
│       │   │       ├── test.sh
│       │   │       ├── token.go
│       │   │       ├── toml.go
│       │   │       ├── tomltree_create.go
│       │   │       └── tomltree_write.go
│       │   ├── pkg/
│       │   │   └── errors/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── errors.go
│       │   │       └── stack.go
│       │   ├── spf13/
│       │   │   ├── afero/
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── LICENSE.txt
│       │   │   │   ├── README.md
│       │   │   │   ├── afero.go
│       │   │   │   ├── appveyor.yml
│       │   │   │   ├── basepath.go
│       │   │   │   ├── cacheOnReadFs.go
│       │   │   │   ├── const_bsds.go
│       │   │   │   ├── const_win_unix.go
│       │   │   │   ├── copyOnWriteFs.go
│       │   │   │   ├── go.mod
│       │   │   │   ├── httpFs.go
│       │   │   │   ├── ioutil.go
│       │   │   │   ├── lstater.go
│       │   │   │   ├── match.go
│       │   │   │   ├── mem/
│       │   │   │   │   ├── dir.go
│       │   │   │   │   ├── dirmap.go
│       │   │   │   │   └── file.go
│       │   │   │   ├── memmap.go
│       │   │   │   ├── os.go
│       │   │   │   ├── path.go
│       │   │   │   ├── readonlyfs.go
│       │   │   │   ├── regexpfs.go
│       │   │   │   ├── unionFile.go
│       │   │   │   └── util.go
│       │   │   ├── cast/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── LICENSE
│       │   │   │   ├── Makefile
│       │   │   │   ├── README.md
│       │   │   │   ├── cast.go
│       │   │   │   ├── caste.go
│       │   │   │   ├── go.mod
│       │   │   │   └── go.sum
│       │   │   ├── jwalterweatherman/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── LICENSE
│       │   │   │   ├── README.md
│       │   │   │   ├── default_notepad.go
│       │   │   │   ├── go.mod
│       │   │   │   ├── log_counter.go
│       │   │   │   └── notepad.go
│       │   │   └── pflag/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── bool.go
│       │   │       ├── bool_slice.go
│       │   │       ├── bytes.go
│       │   │       ├── count.go
│       │   │       ├── duration.go
│       │   │       ├── duration_slice.go
│       │   │       ├── flag.go
│       │   │       ├── float32.go
│       │   │       ├── float64.go
│       │   │       ├── golangflag.go
│       │   │       ├── int.go
│       │   │       ├── int16.go
│       │   │       ├── int32.go
│       │   │       ├── int64.go
│       │   │       ├── int8.go
│       │   │       ├── int_slice.go
│       │   │       ├── ip.go
│       │   │       ├── ip_slice.go
│       │   │       ├── ipmask.go
│       │   │       ├── ipnet.go
│       │   │       ├── string.go
│       │   │       ├── string_array.go
│       │   │       ├── string_slice.go
│       │   │       ├── string_to_int.go
│       │   │       ├── string_to_string.go
│       │   │       ├── uint.go
│       │   │       ├── uint16.go
│       │   │       ├── uint32.go
│       │   │       ├── uint64.go
│       │   │       ├── uint8.go
│       │   │       └── uint_slice.go
│       │   └── tedsuo/
│       │       └── ifrit/
│       │           ├── .gitignore
│       │           ├── LICENSE
│       │           ├── README.md
│       │           ├── doc.go
│       │           ├── ginkgomon/
│       │           │   ├── ginkgomon.go
│       │           │   └── helpers.go
│       │           ├── grouper/
│       │           │   ├── client.go
│       │           │   ├── doc.go
│       │           │   ├── dynamic_group.go
│       │           │   ├── entrance_events.go
│       │           │   ├── exit_events.go
│       │           │   ├── members.go
│       │           │   ├── ordered.go
│       │           │   ├── parallel.go
│       │           │   ├── queue_ordered.go
│       │           │   └── sliding_buffer.go
│       │           ├── process.go
│       │           └── runner.go
│       ├── go.uber.org/
│       │   ├── atomic/
│       │   │   ├── .codecov.yml
│       │   │   ├── .gitignore
│       │   │   ├── .travis.yml
│       │   │   ├── LICENSE.txt
│       │   │   ├── Makefile
│       │   │   ├── README.md
│       │   │   ├── atomic.go
│       │   │   ├── error.go
│       │   │   ├── glide.yaml
│       │   │   └── string.go
│       │   └── multierr/
│       │       ├── .codecov.yml
│       │       ├── .gitignore
│       │       ├── .travis.yml
│       │       ├── CHANGELOG.md
│       │       ├── LICENSE.txt
│       │       ├── Makefile
│       │       ├── README.md
│       │       ├── error.go
│       │       └── glide.yaml
│       ├── golang.org/
│       │   └── x/
│       │       ├── crypto/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   └── sha3/
│       │       │       ├── doc.go
│       │       │       ├── hashes.go
│       │       │       ├── hashes_generic.go
│       │       │       ├── keccakf.go
│       │       │       ├── keccakf_amd64.go
│       │       │       ├── keccakf_amd64.s
│       │       │       ├── register.go
│       │       │       ├── sha3.go
│       │       │       ├── sha3_s390x.go
│       │       │       ├── sha3_s390x.s
│       │       │       ├── shake.go
│       │       │       ├── shake_generic.go
│       │       │       ├── xor.go
│       │       │       ├── xor_generic.go
│       │       │       └── xor_unaligned.go
│       │       ├── net/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── context/
│       │       │   │   ├── context.go
│       │       │   │   ├── go17.go
│       │       │   │   ├── go19.go
│       │       │   │   ├── pre_go17.go
│       │       │   │   └── pre_go19.go
│       │       │   ├── html/
│       │       │   │   ├── atom/
│       │       │   │   │   ├── atom.go
│       │       │   │   │   ├── gen.go
│       │       │   │   │   └── table.go
│       │       │   │   ├── charset/
│       │       │   │   │   └── charset.go
│       │       │   │   ├── const.go
│       │       │   │   ├── doc.go
│       │       │   │   ├── doctype.go
│       │       │   │   ├── entity.go
│       │       │   │   ├── escape.go
│       │       │   │   ├── foreign.go
│       │       │   │   ├── node.go
│       │       │   │   ├── parse.go
│       │       │   │   ├── render.go
│       │       │   │   └── token.go
│       │       │   ├── http/
│       │       │   │   └── httpguts/
│       │       │   │       ├── guts.go
│       │       │   │       └── httplex.go
│       │       │   ├── http2/
│       │       │   │   ├── .gitignore
│       │       │   │   ├── Dockerfile
│       │       │   │   ├── Makefile
│       │       │   │   ├── README
│       │       │   │   ├── ciphers.go
│       │       │   │   ├── client_conn_pool.go
│       │       │   │   ├── databuffer.go
│       │       │   │   ├── errors.go
│       │       │   │   ├── flow.go
│       │       │   │   ├── frame.go
│       │       │   │   ├── go111.go
│       │       │   │   ├── gotrack.go
│       │       │   │   ├── headermap.go
│       │       │   │   ├── hpack/
│       │       │   │   │   ├── encode.go
│       │       │   │   │   ├── hpack.go
│       │       │   │   │   ├── huffman.go
│       │       │   │   │   └── tables.go
│       │       │   │   ├── http2.go
│       │       │   │   ├── not_go111.go
│       │       │   │   ├── pipe.go
│       │       │   │   ├── server.go
│       │       │   │   ├── transport.go
│       │       │   │   ├── write.go
│       │       │   │   ├── writesched.go
│       │       │   │   ├── writesched_priority.go
│       │       │   │   └── writesched_random.go
│       │       │   ├── idna/
│       │       │   │   ├── idna10.0.0.go
│       │       │   │   ├── idna9.0.0.go
│       │       │   │   ├── punycode.go
│       │       │   │   ├── tables10.0.0.go
│       │       │   │   ├── tables11.0.0.go
│       │       │   │   ├── tables9.0.0.go
│       │       │   │   ├── trie.go
│       │       │   │   └── trieval.go
│       │       │   ├── internal/
│       │       │   │   └── timeseries/
│       │       │   │       └── timeseries.go
│       │       │   └── trace/
│       │       │       ├── events.go
│       │       │       ├── histogram.go
│       │       │       └── trace.go
│       │       ├── sys/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── cpu/
│       │       │   │   ├── asm_aix_ppc64.s
│       │       │   │   ├── byteorder.go
│       │       │   │   ├── cpu.go
│       │       │   │   ├── cpu_aix_ppc64.go
│       │       │   │   ├── cpu_arm.go
│       │       │   │   ├── cpu_gc_s390x.go
│       │       │   │   ├── cpu_gc_x86.go
│       │       │   │   ├── cpu_gccgo.c
│       │       │   │   ├── cpu_gccgo.go
│       │       │   │   ├── cpu_gccgo_s390x.go
│       │       │   │   ├── cpu_linux.go
│       │       │   │   ├── cpu_linux_arm.go
│       │       │   │   ├── cpu_linux_arm64.go
│       │       │   │   ├── cpu_linux_ppc64x.go
│       │       │   │   ├── cpu_linux_s390x.go
│       │       │   │   ├── cpu_mips64x.go
│       │       │   │   ├── cpu_mipsx.go
│       │       │   │   ├── cpu_other_arm64.go
│       │       │   │   ├── cpu_s390x.s
│       │       │   │   ├── cpu_wasm.go
│       │       │   │   ├── cpu_x86.go
│       │       │   │   ├── cpu_x86.s
│       │       │   │   └── syscall_aix_ppc64_gc.go
│       │       │   ├── unix/
│       │       │   │   ├── .gitignore
│       │       │   │   ├── README.md
│       │       │   │   ├── affinity_linux.go
│       │       │   │   ├── aliases.go
│       │       │   │   ├── asm_aix_ppc64.s
│       │       │   │   ├── asm_darwin_386.s
│       │       │   │   ├── asm_darwin_amd64.s
│       │       │   │   ├── asm_darwin_arm.s
│       │       │   │   ├── asm_darwin_arm64.s
│       │       │   │   ├── asm_dragonfly_amd64.s
│       │       │   │   ├── asm_freebsd_386.s
│       │       │   │   ├── asm_freebsd_amd64.s
│       │       │   │   ├── asm_freebsd_arm.s
│       │       │   │   ├── asm_freebsd_arm64.s
│       │       │   │   ├── asm_linux_386.s
│       │       │   │   ├── asm_linux_amd64.s
│       │       │   │   ├── asm_linux_arm.s
│       │       │   │   ├── asm_linux_arm64.s
│       │       │   │   ├── asm_linux_mips64x.s
│       │       │   │   ├── asm_linux_mipsx.s
│       │       │   │   ├── asm_linux_ppc64x.s
│       │       │   │   ├── asm_linux_riscv64.s
│       │       │   │   ├── asm_linux_s390x.s
│       │       │   │   ├── asm_netbsd_386.s
│       │       │   │   ├── asm_netbsd_amd64.s
│       │       │   │   ├── asm_netbsd_arm.s
│       │       │   │   ├── asm_netbsd_arm64.s
│       │       │   │   ├── asm_openbsd_386.s
│       │       │   │   ├── asm_openbsd_amd64.s
│       │       │   │   ├── asm_openbsd_arm.s
│       │       │   │   ├── asm_openbsd_arm64.s
│       │       │   │   ├── asm_solaris_amd64.s
│       │       │   │   ├── bluetooth_linux.go
│       │       │   │   ├── cap_freebsd.go
│       │       │   │   ├── constants.go
│       │       │   │   ├── dev_aix_ppc.go
│       │       │   │   ├── dev_aix_ppc64.go
│       │       │   │   ├── dev_darwin.go
│       │       │   │   ├── dev_dragonfly.go
│       │       │   │   ├── dev_freebsd.go
│       │       │   │   ├── dev_linux.go
│       │       │   │   ├── dev_netbsd.go
│       │       │   │   ├── dev_openbsd.go
│       │       │   │   ├── dirent.go
│       │       │   │   ├── endian_big.go
│       │       │   │   ├── endian_little.go
│       │       │   │   ├── env_unix.go
│       │       │   │   ├── errors_freebsd_386.go
│       │       │   │   ├── errors_freebsd_amd64.go
│       │       │   │   ├── errors_freebsd_arm.go
│       │       │   │   ├── fcntl.go
│       │       │   │   ├── fcntl_darwin.go
│       │       │   │   ├── fcntl_linux_32bit.go
│       │       │   │   ├── gccgo.go
│       │       │   │   ├── gccgo_c.c
│       │       │   │   ├── gccgo_linux_amd64.go
│       │       │   │   ├── ioctl.go
│       │       │   │   ├── mkall.sh
│       │       │   │   ├── mkasm_darwin.go
│       │       │   │   ├── mkerrors.sh
│       │       │   │   ├── mkpost.go
│       │       │   │   ├── mksyscall.go
│       │       │   │   ├── mksyscall_aix_ppc.go
│       │       │   │   ├── mksyscall_aix_ppc64.go
│       │       │   │   ├── mksyscall_solaris.go
│       │       │   │   ├── mksysctl_openbsd.go
│       │       │   │   ├── mksysnum.go
│       │       │   │   ├── pagesize_unix.go
│       │       │   │   ├── pledge_openbsd.go
│       │       │   │   ├── race.go
│       │       │   │   ├── race0.go
│       │       │   │   ├── readdirent_getdents.go
│       │       │   │   ├── readdirent_getdirentries.go
│       │       │   │   ├── sockcmsg_dragonfly.go
│       │       │   │   ├── sockcmsg_linux.go
│       │       │   │   ├── sockcmsg_unix.go
│       │       │   │   ├── sockcmsg_unix_other.go
│       │       │   │   ├── str.go
│       │       │   │   ├── syscall.go
│       │       │   │   ├── syscall_aix.go
│       │       │   │   ├── syscall_aix_ppc.go
│       │       │   │   ├── syscall_aix_ppc64.go
│       │       │   │   ├── syscall_bsd.go
│       │       │   │   ├── syscall_darwin.1_12.go
│       │       │   │   ├── syscall_darwin.1_13.go
│       │       │   │   ├── syscall_darwin.go
│       │       │   │   ├── syscall_darwin_386.1_11.go
│       │       │   │   ├── syscall_darwin_386.go
│       │       │   │   ├── syscall_darwin_amd64.1_11.go
│       │       │   │   ├── syscall_darwin_amd64.go
│       │       │   │   ├── syscall_darwin_arm.1_11.go
│       │       │   │   ├── syscall_darwin_arm.go
│       │       │   │   ├── syscall_darwin_arm64.1_11.go
│       │       │   │   ├── syscall_darwin_arm64.go
│       │       │   │   ├── syscall_darwin_libSystem.go
│       │       │   │   ├── syscall_dragonfly.go
│       │       │   │   ├── syscall_dragonfly_amd64.go
│       │       │   │   ├── syscall_freebsd.go
│       │       │   │   ├── syscall_freebsd_386.go
│       │       │   │   ├── syscall_freebsd_amd64.go
│       │       │   │   ├── syscall_freebsd_arm.go
│       │       │   │   ├── syscall_freebsd_arm64.go
│       │       │   │   ├── syscall_linux.go
│       │       │   │   ├── syscall_linux_386.go
│       │       │   │   ├── syscall_linux_amd64.go
│       │       │   │   ├── syscall_linux_amd64_gc.go
│       │       │   │   ├── syscall_linux_arm.go
│       │       │   │   ├── syscall_linux_arm64.go
│       │       │   │   ├── syscall_linux_gc.go
│       │       │   │   ├── syscall_linux_gc_386.go
│       │       │   │   ├── syscall_linux_gccgo_386.go
│       │       │   │   ├── syscall_linux_gccgo_arm.go
│       │       │   │   ├── syscall_linux_mips64x.go
│       │       │   │   ├── syscall_linux_mipsx.go
│       │       │   │   ├── syscall_linux_ppc64x.go
│       │       │   │   ├── syscall_linux_riscv64.go
│       │       │   │   ├── syscall_linux_s390x.go
│       │       │   │   ├── syscall_linux_sparc64.go
│       │       │   │   ├── syscall_netbsd.go
│       │       │   │   ├── syscall_netbsd_386.go
│       │       │   │   ├── syscall_netbsd_amd64.go
│       │       │   │   ├── syscall_netbsd_arm.go
│       │       │   │   ├── syscall_netbsd_arm64.go
│       │       │   │   ├── syscall_openbsd.go
│       │       │   │   ├── syscall_openbsd_386.go
│       │       │   │   ├── syscall_openbsd_amd64.go
│       │       │   │   ├── syscall_openbsd_arm.go
│       │       │   │   ├── syscall_openbsd_arm64.go
│       │       │   │   ├── syscall_solaris.go
│       │       │   │   ├── syscall_solaris_amd64.go
│       │       │   │   ├── syscall_unix.go
│       │       │   │   ├── syscall_unix_gc.go
│       │       │   │   ├── syscall_unix_gc_ppc64x.go
│       │       │   │   ├── timestruct.go
│       │       │   │   ├── types_aix.go
│       │       │   │   ├── types_darwin.go
│       │       │   │   ├── types_dragonfly.go
│       │       │   │   ├── types_freebsd.go
│       │       │   │   ├── types_netbsd.go
│       │       │   │   ├── types_openbsd.go
│       │       │   │   ├── types_solaris.go
│       │       │   │   ├── unveil_openbsd.go
│       │       │   │   ├── xattr_bsd.go
│       │       │   │   ├── zerrors_aix_ppc.go
│       │       │   │   ├── zerrors_aix_ppc64.go
│       │       │   │   ├── zerrors_darwin_386.go
│       │       │   │   ├── zerrors_darwin_amd64.go
│       │       │   │   ├── zerrors_darwin_arm.go
│       │       │   │   ├── zerrors_darwin_arm64.go
│       │       │   │   ├── zerrors_dragonfly_amd64.go
│       │       │   │   ├── zerrors_freebsd_386.go
│       │       │   │   ├── zerrors_freebsd_amd64.go
│       │       │   │   ├── zerrors_freebsd_arm.go
│       │       │   │   ├── zerrors_freebsd_arm64.go
│       │       │   │   ├── zerrors_linux_386.go
│       │       │   │   ├── zerrors_linux_amd64.go
│       │       │   │   ├── zerrors_linux_arm.go
│       │       │   │   ├── zerrors_linux_arm64.go
│       │       │   │   ├── zerrors_linux_mips.go
│       │       │   │   ├── zerrors_linux_mips64.go
│       │       │   │   ├── zerrors_linux_mips64le.go
│       │       │   │   ├── zerrors_linux_mipsle.go
│       │       │   │   ├── zerrors_linux_ppc64.go
│       │       │   │   ├── zerrors_linux_ppc64le.go
│       │       │   │   ├── zerrors_linux_riscv64.go
│       │       │   │   ├── zerrors_linux_s390x.go
│       │       │   │   ├── zerrors_linux_sparc64.go
│       │       │   │   ├── zerrors_netbsd_386.go
│       │       │   │   ├── zerrors_netbsd_amd64.go
│       │       │   │   ├── zerrors_netbsd_arm.go
│       │       │   │   ├── zerrors_netbsd_arm64.go
│       │       │   │   ├── zerrors_openbsd_386.go
│       │       │   │   ├── zerrors_openbsd_amd64.go
│       │       │   │   ├── zerrors_openbsd_arm.go
│       │       │   │   ├── zerrors_openbsd_arm64.go
│       │       │   │   ├── zerrors_solaris_amd64.go
│       │       │   │   ├── zptrace386_linux.go
│       │       │   │   ├── zptracearm_linux.go
│       │       │   │   ├── zptracemips_linux.go
│       │       │   │   ├── zptracemipsle_linux.go
│       │       │   │   ├── zsyscall_aix_ppc.go
│       │       │   │   ├── zsyscall_aix_ppc64.go
│       │       │   │   ├── zsyscall_aix_ppc64_gc.go
│       │       │   │   ├── zsyscall_aix_ppc64_gccgo.go
│       │       │   │   ├── zsyscall_darwin_386.1_11.go
│       │       │   │   ├── zsyscall_darwin_386.1_13.go
│       │       │   │   ├── zsyscall_darwin_386.1_13.s
│       │       │   │   ├── zsyscall_darwin_386.go
│       │       │   │   ├── zsyscall_darwin_386.s
│       │       │   │   ├── zsyscall_darwin_amd64.1_11.go
│       │       │   │   ├── zsyscall_darwin_amd64.1_13.go
│       │       │   │   ├── zsyscall_darwin_amd64.1_13.s
│       │       │   │   ├── zsyscall_darwin_amd64.go
│       │       │   │   ├── zsyscall_darwin_amd64.s
│       │       │   │   ├── zsyscall_darwin_arm.1_11.go
│       │       │   │   ├── zsyscall_darwin_arm.1_13.go
│       │       │   │   ├── zsyscall_darwin_arm.1_13.s
│       │       │   │   ├── zsyscall_darwin_arm.go
│       │       │   │   ├── zsyscall_darwin_arm.s
│       │       │   │   ├── zsyscall_darwin_arm64.1_11.go
│       │       │   │   ├── zsyscall_darwin_arm64.1_13.go
│       │       │   │   ├── zsyscall_darwin_arm64.1_13.s
│       │       │   │   ├── zsyscall_darwin_arm64.go
│       │       │   │   ├── zsyscall_darwin_arm64.s
│       │       │   │   ├── zsyscall_dragonfly_amd64.go
│       │       │   │   ├── zsyscall_freebsd_386.go
│       │       │   │   ├── zsyscall_freebsd_amd64.go
│       │       │   │   ├── zsyscall_freebsd_arm.go
│       │       │   │   ├── zsyscall_freebsd_arm64.go
│       │       │   │   ├── zsyscall_linux_386.go
│       │       │   │   ├── zsyscall_linux_amd64.go
│       │       │   │   ├── zsyscall_linux_arm.go
│       │       │   │   ├── zsyscall_linux_arm64.go
│       │       │   │   ├── zsyscall_linux_mips.go
│       │       │   │   ├── zsyscall_linux_mips64.go
│       │       │   │   ├── zsyscall_linux_mips64le.go
│       │       │   │   ├── zsyscall_linux_mipsle.go
│       │       │   │   ├── zsyscall_linux_ppc64.go
│       │       │   │   ├── zsyscall_linux_ppc64le.go
│       │       │   │   ├── zsyscall_linux_riscv64.go
│       │       │   │   ├── zsyscall_linux_s390x.go
│       │       │   │   ├── zsyscall_linux_sparc64.go
│       │       │   │   ├── zsyscall_netbsd_386.go
│       │       │   │   ├── zsyscall_netbsd_amd64.go
│       │       │   │   ├── zsyscall_netbsd_arm.go
│       │       │   │   ├── zsyscall_netbsd_arm64.go
│       │       │   │   ├── zsyscall_openbsd_386.go
│       │       │   │   ├── zsyscall_openbsd_amd64.go
│       │       │   │   ├── zsyscall_openbsd_arm.go
│       │       │   │   ├── zsyscall_openbsd_arm64.go
│       │       │   │   ├── zsyscall_solaris_amd64.go
│       │       │   │   ├── zsysctl_openbsd_386.go
│       │       │   │   ├── zsysctl_openbsd_amd64.go
│       │       │   │   ├── zsysctl_openbsd_arm.go
│       │       │   │   ├── zsysctl_openbsd_arm64.go
│       │       │   │   ├── zsysnum_darwin_386.go
│       │       │   │   ├── zsysnum_darwin_amd64.go
│       │       │   │   ├── zsysnum_darwin_arm.go
│       │       │   │   ├── zsysnum_darwin_arm64.go
│       │       │   │   ├── zsysnum_dragonfly_amd64.go
│       │       │   │   ├── zsysnum_freebsd_386.go
│       │       │   │   ├── zsysnum_freebsd_amd64.go
│       │       │   │   ├── zsysnum_freebsd_arm.go
│       │       │   │   ├── zsysnum_freebsd_arm64.go
│       │       │   │   ├── zsysnum_linux_386.go
│       │       │   │   ├── zsysnum_linux_amd64.go
│       │       │   │   ├── zsysnum_linux_arm.go
│       │       │   │   ├── zsysnum_linux_arm64.go
│       │       │   │   ├── zsysnum_linux_mips.go
│       │       │   │   ├── zsysnum_linux_mips64.go
│       │       │   │   ├── zsysnum_linux_mips64le.go
│       │       │   │   ├── zsysnum_linux_mipsle.go
│       │       │   │   ├── zsysnum_linux_ppc64.go
│       │       │   │   ├── zsysnum_linux_ppc64le.go
│       │       │   │   ├── zsysnum_linux_riscv64.go
│       │       │   │   ├── zsysnum_linux_s390x.go
│       │       │   │   ├── zsysnum_linux_sparc64.go
│       │       │   │   ├── zsysnum_netbsd_386.go
│       │       │   │   ├── zsysnum_netbsd_amd64.go
│       │       │   │   ├── zsysnum_netbsd_arm.go
│       │       │   │   ├── zsysnum_netbsd_arm64.go
│       │       │   │   ├── zsysnum_openbsd_386.go
│       │       │   │   ├── zsysnum_openbsd_amd64.go
│       │       │   │   ├── zsysnum_openbsd_arm.go
│       │       │   │   ├── zsysnum_openbsd_arm64.go
│       │       │   │   ├── ztypes_aix_ppc.go
│       │       │   │   ├── ztypes_aix_ppc64.go
│       │       │   │   ├── ztypes_darwin_386.go
│       │       │   │   ├── ztypes_darwin_amd64.go
│       │       │   │   ├── ztypes_darwin_arm.go
│       │       │   │   ├── ztypes_darwin_arm64.go
│       │       │   │   ├── ztypes_dragonfly_amd64.go
│       │       │   │   ├── ztypes_freebsd_386.go
│       │       │   │   ├── ztypes_freebsd_amd64.go
│       │       │   │   ├── ztypes_freebsd_arm.go
│       │       │   │   ├── ztypes_freebsd_arm64.go
│       │       │   │   ├── ztypes_linux_386.go
│       │       │   │   ├── ztypes_linux_amd64.go
│       │       │   │   ├── ztypes_linux_arm.go
│       │       │   │   ├── ztypes_linux_arm64.go
│       │       │   │   ├── ztypes_linux_mips.go
│       │       │   │   ├── ztypes_linux_mips64.go
│       │       │   │   ├── ztypes_linux_mips64le.go
│       │       │   │   ├── ztypes_linux_mipsle.go
│       │       │   │   ├── ztypes_linux_ppc64.go
│       │       │   │   ├── ztypes_linux_ppc64le.go
│       │       │   │   ├── ztypes_linux_riscv64.go
│       │       │   │   ├── ztypes_linux_s390x.go
│       │       │   │   ├── ztypes_linux_sparc64.go
│       │       │   │   ├── ztypes_netbsd_386.go
│       │       │   │   ├── ztypes_netbsd_amd64.go
│       │       │   │   ├── ztypes_netbsd_arm.go
│       │       │   │   ├── ztypes_netbsd_arm64.go
│       │       │   │   ├── ztypes_openbsd_386.go
│       │       │   │   ├── ztypes_openbsd_amd64.go
│       │       │   │   ├── ztypes_openbsd_arm.go
│       │       │   │   ├── ztypes_openbsd_arm64.go
│       │       │   │   └── ztypes_solaris_amd64.go
│       │       │   └── windows/
│       │       │       ├── aliases.go
│       │       │       ├── dll_windows.go
│       │       │       ├── env_windows.go
│       │       │       ├── eventlog.go
│       │       │       ├── exec_windows.go
│       │       │       ├── memory_windows.go
│       │       │       ├── mkerrors.bash
│       │       │       ├── mkknownfolderids.bash
│       │       │       ├── mksyscall.go
│       │       │       ├── race.go
│       │       │       ├── race0.go
│       │       │       ├── security_windows.go
│       │       │       ├── service.go
│       │       │       ├── str.go
│       │       │       ├── syscall.go
│       │       │       ├── syscall_windows.go
│       │       │       ├── types_windows.go
│       │       │       ├── types_windows_386.go
│       │       │       ├── types_windows_amd64.go
│       │       │       ├── types_windows_arm.go
│       │       │       ├── zerrors_windows.go
│       │       │       ├── zknownfolderids_windows.go
│       │       │       └── zsyscall_windows.go
│       │       └── text/
│       │           ├── AUTHORS
│       │           ├── CONTRIBUTORS
│       │           ├── LICENSE
│       │           ├── PATENTS
│       │           ├── encoding/
│       │           │   ├── charmap/
│       │           │   │   ├── charmap.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── encoding.go
│       │           │   ├── htmlindex/
│       │           │   │   ├── gen.go
│       │           │   │   ├── htmlindex.go
│       │           │   │   ├── map.go
│       │           │   │   └── tables.go
│       │           │   ├── internal/
│       │           │   │   ├── identifier/
│       │           │   │   │   ├── gen.go
│       │           │   │   │   ├── identifier.go
│       │           │   │   │   └── mib.go
│       │           │   │   └── internal.go
│       │           │   ├── japanese/
│       │           │   │   ├── all.go
│       │           │   │   ├── eucjp.go
│       │           │   │   ├── iso2022jp.go
│       │           │   │   ├── maketables.go
│       │           │   │   ├── shiftjis.go
│       │           │   │   └── tables.go
│       │           │   ├── korean/
│       │           │   │   ├── euckr.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── simplifiedchinese/
│       │           │   │   ├── all.go
│       │           │   │   ├── gbk.go
│       │           │   │   ├── hzgb2312.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── traditionalchinese/
│       │           │   │   ├── big5.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   └── unicode/
│       │           │       ├── override.go
│       │           │       └── unicode.go
│       │           ├── internal/
│       │           │   ├── tag/
│       │           │   │   └── tag.go
│       │           │   └── utf8internal/
│       │           │       └── utf8internal.go
│       │           ├── language/
│       │           │   ├── Makefile
│       │           │   ├── common.go
│       │           │   ├── coverage.go
│       │           │   ├── doc.go
│       │           │   ├── gen.go
│       │           │   ├── gen_common.go
│       │           │   ├── gen_index.go
│       │           │   ├── go1_1.go
│       │           │   ├── go1_2.go
│       │           │   ├── index.go
│       │           │   ├── language.go
│       │           │   ├── lookup.go
│       │           │   ├── match.go
│       │           │   ├── parse.go
│       │           │   ├── tables.go
│       │           │   └── tags.go
│       │           ├── runes/
│       │           │   ├── cond.go
│       │           │   └── runes.go
│       │           ├── secure/
│       │           │   └── bidirule/
│       │           │       ├── bidirule.go
│       │           │       ├── bidirule10.0.0.go
│       │           │       └── bidirule9.0.0.go
│       │           ├── transform/
│       │           │   └── transform.go
│       │           └── unicode/
│       │               ├── bidi/
│       │               │   ├── bidi.go
│       │               │   ├── bracket.go
│       │               │   ├── core.go
│       │               │   ├── gen.go
│       │               │   ├── gen_ranges.go
│       │               │   ├── gen_trieval.go
│       │               │   ├── prop.go
│       │               │   ├── tables10.0.0.go
│       │               │   ├── tables9.0.0.go
│       │               │   └── trieval.go
│       │               └── norm/
│       │                   ├── composition.go
│       │                   ├── forminfo.go
│       │                   ├── input.go
│       │                   ├── iter.go
│       │                   ├── maketables.go
│       │                   ├── normalize.go
│       │                   ├── readwriter.go
│       │                   ├── tables10.0.0.go
│       │                   ├── tables9.0.0.go
│       │                   ├── transform.go
│       │                   ├── trie.go
│       │                   └── triegen.go
│       ├── google.golang.org/
│       │   ├── genproto/
│       │   │   ├── LICENSE
│       │   │   └── googleapis/
│       │   │       └── rpc/
│       │   │           └── status/
│       │   │               └── status.pb.go
│       │   └── grpc/
│       │       ├── .travis.yml
│       │       ├── AUTHORS
│       │       ├── CODE-OF-CONDUCT.md
│       │       ├── CONTRIBUTING.md
│       │       ├── GOVERNANCE.md
│       │       ├── LICENSE
│       │       ├── MAINTAINERS.md
│       │       ├── Makefile
│       │       ├── README.md
│       │       ├── backoff.go
│       │       ├── balancer/
│       │       │   ├── balancer.go
│       │       │   ├── base/
│       │       │   │   ├── balancer.go
│       │       │   │   └── base.go
│       │       │   └── roundrobin/
│       │       │       └── roundrobin.go
│       │       ├── balancer.go
│       │       ├── balancer_conn_wrappers.go
│       │       ├── balancer_v1_wrapper.go
│       │       ├── binarylog/
│       │       │   └── grpc_binarylog_v1/
│       │       │       └── binarylog.pb.go
│       │       ├── call.go
│       │       ├── clientconn.go
│       │       ├── codec.go
│       │       ├── codegen.sh
│       │       ├── codes/
│       │       │   ├── code_string.go
│       │       │   └── codes.go
│       │       ├── connectivity/
│       │       │   └── connectivity.go
│       │       ├── credentials/
│       │       │   ├── credentials.go
│       │       │   ├── internal/
│       │       │   │   ├── syscallconn.go
│       │       │   │   └── syscallconn_appengine.go
│       │       │   └── tls13.go
│       │       ├── dialoptions.go
│       │       ├── doc.go
│       │       ├── encoding/
│       │       │   ├── encoding.go
│       │       │   └── proto/
│       │       │       └── proto.go
│       │       ├── go.mod
│       │       ├── go.sum
│       │       ├── grpclog/
│       │       │   ├── grpclog.go
│       │       │   ├── logger.go
│       │       │   └── loggerv2.go
│       │       ├── install_gae.sh
│       │       ├── interceptor.go
│       │       ├── internal/
│       │       │   ├── backoff/
│       │       │   │   └── backoff.go
│       │       │   ├── balancerload/
│       │       │   │   └── load.go
│       │       │   ├── binarylog/
│       │       │   │   ├── binarylog.go
│       │       │   │   ├── binarylog_testutil.go
│       │       │   │   ├── env_config.go
│       │       │   │   ├── method_logger.go
│       │       │   │   ├── regenerate.sh
│       │       │   │   ├── sink.go
│       │       │   │   └── util.go
│       │       │   ├── channelz/
│       │       │   │   ├── funcs.go
│       │       │   │   ├── types.go
│       │       │   │   ├── types_linux.go
│       │       │   │   ├── types_nonlinux.go
│       │       │   │   ├── util_linux.go
│       │       │   │   └── util_nonlinux.go
│       │       │   ├── envconfig/
│       │       │   │   └── envconfig.go
│       │       │   ├── grpcrand/
│       │       │   │   └── grpcrand.go
│       │       │   ├── grpcsync/
│       │       │   │   └── event.go
│       │       │   ├── internal.go
│       │       │   ├── syscall/
│       │       │   │   ├── syscall_linux.go
│       │       │   │   └── syscall_nonlinux.go
│       │       │   └── transport/
│       │       │       ├── bdp_estimator.go
│       │       │       ├── controlbuf.go
│       │       │       ├── defaults.go
│       │       │       ├── flowcontrol.go
│       │       │       ├── handler_server.go
│       │       │       ├── http2_client.go
│       │       │       ├── http2_server.go
│       │       │       ├── http_util.go
│       │       │       ├── log.go
│       │       │       └── transport.go
│       │       ├── keepalive/
│       │       │   └── keepalive.go
│       │       ├── metadata/
│       │       │   └── metadata.go
│       │       ├── naming/
│       │       │   ├── dns_resolver.go
│       │       │   └── naming.go
│       │       ├── peer/
│       │       │   └── peer.go
│       │       ├── picker_wrapper.go
│       │       ├── pickfirst.go
│       │       ├── preloader.go
│       │       ├── proxy.go
│       │       ├── resolver/
│       │       │   ├── dns/
│       │       │   │   └── dns_resolver.go
│       │       │   ├── passthrough/
│       │       │   │   └── passthrough.go
│       │       │   └── resolver.go
│       │       ├── resolver_conn_wrapper.go
│       │       ├── rpc_util.go
│       │       ├── server.go
│       │       ├── service_config.go
│       │       ├── serviceconfig/
│       │       │   └── serviceconfig.go
│       │       ├── stats/
│       │       │   ├── handlers.go
│       │       │   └── stats.go
│       │       ├── status/
│       │       │   └── status.go
│       │       ├── stream.go
│       │       ├── tap/
│       │       │   └── tap.go
│       │       ├── trace.go
│       │       ├── version.go
│       │       └── vet.sh
│       ├── gopkg.in/
│       │   ├── fsnotify.v1/
│       │   │   ├── .editorconfig
│       │   │   ├── .gitignore
│       │   │   ├── .travis.yml
│       │   │   ├── AUTHORS
│       │   │   ├── CHANGELOG.md
│       │   │   ├── CONTRIBUTING.md
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   ├── fen.go
│       │   │   ├── fsnotify.go
│       │   │   ├── inotify.go
│       │   │   ├── inotify_poller.go
│       │   │   ├── kqueue.go
│       │   │   ├── open_mode_bsd.go
│       │   │   ├── open_mode_darwin.go
│       │   │   └── windows.go
│       │   ├── tomb.v1/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── tomb.go
│       │   └── yaml.v2/
│       │       ├── .travis.yml
│       │       ├── LICENSE
│       │       ├── LICENSE.libyaml
│       │       ├── NOTICE
│       │       ├── README.md
│       │       ├── apic.go
│       │       ├── decode.go
│       │       ├── emitterc.go
│       │       ├── encode.go
│       │       ├── go.mod
│       │       ├── parserc.go
│       │       ├── readerc.go
│       │       ├── resolve.go
│       │       ├── scannerc.go
│       │       ├── sorter.go
│       │       ├── writerc.go
│       │       ├── yaml.go
│       │       ├── yamlh.go
│       │       └── yamlprivateh.go
│       └── modules.txt
├── release_notes/
│   ├── v0.1.0.md
│   ├── v0.2.0.md
│   ├── v0.3.0.md
│   └── v0.4.0.md
└── scripts/
    ├── changelog.sh
    ├── check_license.sh
    ├── check_spelling.sh
    ├── golinter.sh
    └── run-integration-tests.sh

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/pull_request_template.md
================================================
Thank you for contributing to the `fabric-chaincode-evm` project!
Please look at our [Contributions Docs](../README.md#Contributions) and make
sure you have done the following before submitting:

* [ ] Ran the basic checks: `make basic-checks`
* [ ] Ran the unit tests: `make unit-test`
* [ ] Ran the integration tests: `make integration-test`
* [ ] Added the associated JIRA ticket number in the commit message title
* [ ] Link to the JIRA Ticket: https://jira.hyperledger.org/browse/FABCE-

If you do not have a corresponding JIRA ticket, please open one in the
[Hyperledger JIRA](https://jira.hyperledger.org/projects/FABCE/issues)
in the Fabric Chaincode EVM (FABCE) project. In the JIRA ticket,
include use cases, design and other information useful to
understanding why you are making this pull request.

If you have any questions please feel free to ask in the #fabric-evm channel
on the [Hyperledger Chat](https://chat.hyperledger.org/channel/fabric-evm).

Thanks again for your contribution!


================================================
FILE: .github/settings.yml
================================================
#
# SPDX-License-Identifier: Apache-2.0
#

repository:
  name: fabric-chaincode-evm
  description: null
  homepage: https://wiki.hyperledger.org/display/fabric
  default_branch: main
  has_downloads: true
  has_issues: false
  has_projects: false
  has_wiki: false
  archived: true
  private: false
  allow_squash_merge: true
  allow_merge_commit: false
  allow_rebase_merge: true


================================================
FILE: .github/stale.yml
================================================
# SPDX-License-Identifier: Apache-2.0
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 7
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 14
# Issues with these labels will never be considered stale
# CAUTION: These issues are likely to get _less_ attention since stale bot
# will never nag anyone about them. Stale bot just reflects the community's
# actual priorities and adding labels to this list will not change that.
# If issues you care about are going stale, you need to work with the
# community to raise their profile, e.g. add more information, reach out on
# Rocket.Chat, join a community call, etc.
# WARNING: Please do not change these labels without seeking community
# consensus first!
# Label to use when marking an issue as stale
staleLabel: stale
only: pulls
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: false
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false


================================================
FILE: .gitignore
================================================
#SPDX-License-Identifier: Apache-2.0

# Local build binaries
node-cli/node-cli
*.pyc
/bin
docs/build/*
examples/e2e_cli/docker-compose-e2e.yamlt
.idea
*.iml
.DS_Store
tags
.tags
.vagrant/
/.build
/release/darwin-amd64
/release/linux-amd64
/release/linux-s390x
/release/linux-ppc64le
/release/windows-amd64
# Emacs backup files
*~
*#
.#*
# Vim file artifacts
.*.sw*
# Makefile dummy artifacts
.*-dummy
# log files
*.log
# code coverage
*.cov
# ginkgo auto generated coverage reports
*.coverprofile
go-carpet-coverage*
# Test result xml files
report.xml
results.xml
TESTS*.xml
.settings
.project
.gradle
bin/
examples/e2e_cli/channel-artifacts/*.tx
examples/e2e_cli/channel-artifacts/*.block
examples/e2e_cli/crypto-config/*
# tox
.tox/
# vscode settings
.vscode
# Node artifacts from installing web3 for integration tests
node_modules
package-lock.json


================================================
FILE: CHANGELOG.md
================================================
## v0.4.0
Fri Dec 20 16:24:29 PST 2019

* [361ed2d](https://github.com/hyperledger/fabric-chaincode-evm/commit/361ed2d) [FABCE-145](https://jira.hyperledger.org/browse/FABCE-145) update README for 0.4.0 release
* [bf3fbd5](https://github.com/hyperledger/fabric-chaincode-evm/commit/bf3fbd5) [FAB-16919](https://jira.hyperledger.org/browse/FAB-16919) Remove scripts/goListFiles.sh
* [0ed01b6](https://github.com/hyperledger/fabric-chaincode-evm/commit/0ed01b6) [FAB-17053](https://jira.hyperledger.org/browse/FAB-17053) Switch Fab3 and Integration to Go Mod
* [0476cc1](https://github.com/hyperledger/fabric-chaincode-evm/commit/0476cc1) [FAB-17053](https://jira.hyperledger.org/browse/FAB-17053) Switch EVMCC to go modules
* [3dae2db](https://github.com/hyperledger/fabric-chaincode-evm/commit/3dae2db) [FAB-16918](https://jira.hyperledger.org/browse/FAB-16918) Restructure evmcc directory
* [b1cdfe0](https://github.com/hyperledger/fabric-chaincode-evm/commit/b1cdfe0) [FAB-16620](https://jira.hyperledger.org/browse/FAB-16620) HexEncode Event Name for contract create
* [8378f2f](https://github.com/hyperledger/fabric-chaincode-evm/commit/8378f2f) [FAB-16727](https://jira.hyperledger.org/browse/FAB-16727) Lowercase address in filters
* [5ce150c](https://github.com/hyperledger/fabric-chaincode-evm/commit/5ce150c) [FAB-16693](https://jira.hyperledger.org/browse/FAB-16693) Add Github PR Template
* [e327cab](https://github.com/hyperledger/fabric-chaincode-evm/commit/e327cab) Add default SECURITY policy
* [c8d208e](https://github.com/hyperledger/fabric-chaincode-evm/commit/c8d208e) [FAB-16697](https://jira.hyperledger.org/browse/FAB-16697) remove linters
* [c19796e](https://github.com/hyperledger/fabric-chaincode-evm/commit/c19796e) [FAB-16677](https://jira.hyperledger.org/browse/FAB-16677) Update Contributions Instructions
* [a697b37](https://github.com/hyperledger/fabric-chaincode-evm/commit/a697b37) [FAB-16692](https://jira.hyperledger.org/browse/FAB-16692) Remove jenkins pipeline files
* [5df7e55](https://github.com/hyperledger/fabric-chaincode-evm/commit/5df7e55) [FAB-16683](https://jira.hyperledger.org/browse/FAB-16683) Create AZP YAML File
* [1c384c4](https://github.com/hyperledger/fabric-chaincode-evm/commit/1c384c4) De-fang stalebot
* [efde49b](https://github.com/hyperledger/fabric-chaincode-evm/commit/efde49b) [FAB-15233](https://jira.hyperledger.org/browse/FAB-15233) add gasLimit to block return values
* [0793388](https://github.com/hyperledger/fabric-chaincode-evm/commit/0793388) [FAB-14617](https://jira.hyperledger.org/browse/FAB-14617) GetBlockByNumber omits invalid transactions
* [d944e0f](https://github.com/hyperledger/fabric-chaincode-evm/commit/d944e0f) [FAB-14067](https://jira.hyperledger.org/browse/FAB-14067) NewFilter & UninstallFilter
* [89b50d3](https://github.com/hyperledger/fabric-chaincode-evm/commit/89b50d3) [FAB-14651](https://jira.hyperledger.org/browse/FAB-14651) improve fab3 building instructions
* [6d8e0dd](https://github.com/hyperledger/fabric-chaincode-evm/commit/6d8e0dd) [FAB-16519](https://jira.hyperledger.org/browse/FAB-16519) clean calls existing gotools-clean target
* [f1b1d8d](https://github.com/hyperledger/fabric-chaincode-evm/commit/f1b1d8d) [FAB-16489](https://jira.hyperledger.org/browse/FAB-16489) Add CODEOWNERS
* [2c0ce40](https://github.com/hyperledger/fabric-chaincode-evm/commit/2c0ce40) [FAB-16491](https://jira.hyperledger.org/browse/FAB-16491) update dep to 0.5.4
* [2e9caa1](https://github.com/hyperledger/fabric-chaincode-evm/commit/2e9caa1) [FAB-16433](https://jira.hyperledger.org/browse/FAB-16433) Fix formatting in Fab3 Instructions
* [a2cb62a](https://github.com/hyperledger/fabric-chaincode-evm/commit/a2cb62a) [FAB-16434](https://jira.hyperledger.org/browse/FAB-16434) Remove ansicolor plugin changes

## v0.3.0
Fri Aug  2 11:33:17 PDT 2019

* [cc42f84](https://github.com/hyperledger/fabric-chaincode-evm/commit/cc42f84) [FAB-15280](https://jira.hyperledger.org/browse/FAB-15280) Allow contracts to create contract
* [65744e8](https://github.com/hyperledger/fabric-chaincode-evm/commit/65744e8) [FAB-16186](https://jira.hyperledger.org/browse/FAB-16186) Update transaction fields in docs
* [5dac5ed](https://github.com/hyperledger/fabric-chaincode-evm/commit/5dac5ed) [FAB-16185](https://jira.hyperledger.org/browse/FAB-16185) Update NetworkID in docs
* [1fe9b08](https://github.com/hyperledger/fabric-chaincode-evm/commit/1fe9b08) [FAB-16188](https://jira.hyperledger.org/browse/FAB-16188) Marshal Block based on txns type
* [d00408e](https://github.com/hyperledger/fabric-chaincode-evm/commit/d00408e) [FAB-16039](https://jira.hyperledger.org/browse/FAB-16039) NetworkID should be less than 53 bits
* [8e04bdd](https://github.com/hyperledger/fabric-chaincode-evm/commit/8e04bdd) [FAB-15842](https://jira.hyperledger.org/browse/FAB-15842) Net Version returns a quantity
* [95f9f8a](https://github.com/hyperledger/fabric-chaincode-evm/commit/95f9f8a) [FAB-14069](https://jira.hyperledger.org/browse/FAB-14069) Rename addressgenerator pkg to be address
* [88201c5](https://github.com/hyperledger/fabric-chaincode-evm/commit/88201c5) [FAB-14069](https://jira.hyperledger.org/browse/FAB-14069) create address generation package
* [a925da0](https://github.com/hyperledger/fabric-chaincode-evm/commit/a925da0) [FAB-15843](https://jira.hyperledger.org/browse/FAB-15843) Transaction has GasPrice and Value
* [2a9ed44](https://github.com/hyperledger/fabric-chaincode-evm/commit/2a9ed44) [FAB-15272](https://jira.hyperledger.org/browse/FAB-15272) Minor code edit
* [b79d2b1](https://github.com/hyperledger/fabric-chaincode-evm/commit/b79d2b1) [FAB-15281](https://jira.hyperledger.org/browse/FAB-15281) Contract Addr is null when empty
* [18086fa](https://github.com/hyperledger/fabric-chaincode-evm/commit/18086fa) [FAB-15154](https://jira.hyperledger.org/browse/FAB-15154) update fabric-go-sdk dep
* [20bb52d](https://github.com/hyperledger/fabric-chaincode-evm/commit/20bb52d) [FAB-13600](https://jira.hyperledger.org/browse/FAB-13600) Add eth_getTransactionCount
* [a3dc85f](https://github.com/hyperledger/fabric-chaincode-evm/commit/a3dc85f) [FAB-14652](https://jira.hyperledger.org/browse/FAB-14652) Add Table of Contents
* [b8b9c18](https://github.com/hyperledger/fabric-chaincode-evm/commit/b8b9c18) [FAB-14868](https://jira.hyperledger.org/browse/FAB-14868) Update pipeline scripts
* [42e7f80](https://github.com/hyperledger/fabric-chaincode-evm/commit/42e7f80) [FAB-15116](https://jira.hyperledger.org/browse/FAB-15116) update mocks

## v0.2.0
Mon Apr  8 20:58:07 PDT 2019

* [8de03f8](https://github.com/hyperledger/fabric-chaincode-evm/commit/8de03f8) [FAB-14837](https://jira.hyperledger.org/browse/FAB-14837) Release v0.2
* [b1f36a6](https://github.com/hyperledger/fabric-chaincode-evm/commit/b1f36a6) [FAB-14649](https://jira.hyperledger.org/browse/FAB-14649) Add EndToEnd diagram to README
* [a02855c](https://github.com/hyperledger/fabric-chaincode-evm/commit/a02855c) [FAB-14092](https://jira.hyperledger.org/browse/FAB-14092) getLogs blockhash argument implementation
* [57b3661](https://github.com/hyperledger/fabric-chaincode-evm/commit/57b3661) [FAB-15072](https://jira.hyperledger.org/browse/FAB-15072) eth_getLogs documentation
* [e76b141](https://github.com/hyperledger/fabric-chaincode-evm/commit/e76b141) [FAB-14021](https://jira.hyperledger.org/browse/FAB-14021) implement topic filters
* [be13643](https://github.com/hyperledger/fabric-chaincode-evm/commit/be13643) [FAB-14864](https://jira.hyperledger.org/browse/FAB-14864) change ginkgo flags used for unit-test
* [413ebda](https://github.com/hyperledger/fabric-chaincode-evm/commit/413ebda) [FAB-14020](https://jira.hyperledger.org/browse/FAB-14020) address filtering for GetLogs
* [3c5deb9](https://github.com/hyperledger/fabric-chaincode-evm/commit/3c5deb9) [FAB-14213](https://jira.hyperledger.org/browse/FAB-14213) Add STATICCALL test
* [464c77d](https://github.com/hyperledger/fabric-chaincode-evm/commit/464c77d) [FAB-14213](https://jira.hyperledger.org/browse/FAB-14213) Update Burrow to 0.24.4
* [3cb2955](https://github.com/hyperledger/fabric-chaincode-evm/commit/3cb2955) [FAB-14798](https://jira.hyperledger.org/browse/FAB-14798) use new golint import
* [ddd84e2](https://github.com/hyperledger/fabric-chaincode-evm/commit/ddd84e2) [FAB-13630](https://jira.hyperledger.org/browse/FAB-13630) minimum eth_getLogs implementation
* [2c4c128](https://github.com/hyperledger/fabric-chaincode-evm/commit/2c4c128) [FAB-14636](https://jira.hyperledger.org/browse/FAB-14636) Add missing closing bracket
* [382477f](https://github.com/hyperledger/fabric-chaincode-evm/commit/382477f) [FAB-14043](https://jira.hyperledger.org/browse/FAB-14043) Clean up of fabricEventToEVMLogs
* [d44fedd](https://github.com/hyperledger/fabric-chaincode-evm/commit/d44fedd) [FAB-13740](https://jira.hyperledger.org/browse/FAB-13740) Update documentation and README
* [5d98164](https://github.com/hyperledger/fabric-chaincode-evm/commit/5d98164) [FAB-14452](https://jira.hyperledger.org/browse/FAB-14452) Update the flag documentation
* [211db70](https://github.com/hyperledger/fabric-chaincode-evm/commit/211db70) [FAB-14059](https://jira.hyperledger.org/browse/FAB-14059) Add Contribution information
* [135fc8e](https://github.com/hyperledger/fabric-chaincode-evm/commit/135fc8e) [FAB-14191](https://jira.hyperledger.org/browse/FAB-14191) Create httpserver in Fab3 constructor
* [badebf5](https://github.com/hyperledger/fabric-chaincode-evm/commit/badebf5) [FAB-14190](https://jira.hyperledger.org/browse/FAB-14190) Contract Address has "0x" prefix
* [8d1c5ae](https://github.com/hyperledger/fabric-chaincode-evm/commit/8d1c5ae) [FAB-14258](https://jira.hyperledger.org/browse/FAB-14258) getCode doesn't error on empty acct
* [857b62d](https://github.com/hyperledger/fabric-chaincode-evm/commit/857b62d) [FAB-14244](https://jira.hyperledger.org/browse/FAB-14244) Log messages should not use dashes
* [84342a3](https://github.com/hyperledger/fabric-chaincode-evm/commit/84342a3) [FAB-14301](https://jira.hyperledger.org/browse/FAB-14301) clear json unmarshal struct target
* [29fe032](https://github.com/hyperledger/fabric-chaincode-evm/commit/29fe032) [FAB-14244](https://jira.hyperledger.org/browse/FAB-14244) Fix logging in Fab3 main
* [23c9208](https://github.com/hyperledger/fabric-chaincode-evm/commit/23c9208) [FAB-14243](https://jira.hyperledger.org/browse/FAB-14243) Dial fab3 port before tests
* [e41187b](https://github.com/hyperledger/fabric-chaincode-evm/commit/e41187b) [FAB-14279](https://jira.hyperledger.org/browse/FAB-14279) Integration tests use simpler network
* [6f7056a](https://github.com/hyperledger/fabric-chaincode-evm/commit/6f7056a) [FAB-13284](https://jira.hyperledger.org/browse/FAB-13284) update golang dep to v0.5.0
* [641c6fb](https://github.com/hyperledger/fabric-chaincode-evm/commit/641c6fb) [FAB-14164](https://jira.hyperledger.org/browse/FAB-14164) move input and output structs to fab3/types
* [548b543](https://github.com/hyperledger/fabric-chaincode-evm/commit/548b543) [FAB-14034](https://jira.hyperledger.org/browse/FAB-14034) write down why reset the branch
* [a3f658d](https://github.com/hyperledger/fabric-chaincode-evm/commit/a3f658d) [FAB-14194](https://jira.hyperledger.org/browse/FAB-14194) Install only the necessary gotools
* [93048eb](https://github.com/hyperledger/fabric-chaincode-evm/commit/93048eb) [FAB-14043](https://jira.hyperledger.org/browse/FAB-14043) conditionally add data to output
* [2570de3](https://github.com/hyperledger/fabric-chaincode-evm/commit/2570de3) [FAB-14203](https://jira.hyperledger.org/browse/FAB-14203) Add Web3 integration tests to Fab3
* [e6c8fdf](https://github.com/hyperledger/fabric-chaincode-evm/commit/e6c8fdf) [FAB-14177](https://jira.hyperledger.org/browse/FAB-14177) check all errs in fab3 integration tests
* [eb940a3](https://github.com/hyperledger/fabric-chaincode-evm/commit/eb940a3) [FAB-13947](https://jira.hyperledger.org/browse/FAB-13947) Change fab3 output file in documentation
* [08a8c37](https://github.com/hyperledger/fabric-chaincode-evm/commit/08a8c37) [FAB-14034](https://jira.hyperledger.org/browse/FAB-14034) download counterfeiter
* [ad60dda](https://github.com/hyperledger/fabric-chaincode-evm/commit/ad60dda) [FAB-14055](https://jira.hyperledger.org/browse/FAB-14055) CC-evm make fails if GOPATH contains >1 el
* [9d45323](https://github.com/hyperledger/fabric-chaincode-evm/commit/9d45323) [FAB-14038](https://jira.hyperledger.org/browse/FAB-14038) log to ginkgowriter
* [f8c8925](https://github.com/hyperledger/fabric-chaincode-evm/commit/f8c8925) [FAB-14060](https://jira.hyperledger.org/browse/FAB-14060) set empty environment during test
* [df0dd75](https://github.com/hyperledger/fabric-chaincode-evm/commit/df0dd75) [FAB-14039](https://jira.hyperledger.org/browse/FAB-14039) Update examples to use FAB3_PORT
* [4fbf01c](https://github.com/hyperledger/fabric-chaincode-evm/commit/4fbf01c) [FAB-13585](https://jira.hyperledger.org/browse/FAB-13585) Implement eth_BlockNumber
* [f79ebff](https://github.com/hyperledger/fabric-chaincode-evm/commit/f79ebff) [FAB-13065](https://jira.hyperledger.org/browse/FAB-13065) Fab3 exits gracefully on exit
* [95b572b](https://github.com/hyperledger/fabric-chaincode-evm/commit/95b572b) [FAB-13385](https://jira.hyperledger.org/browse/FAB-13385) fab3 can be configured with flags
* [515498f](https://github.com/hyperledger/fabric-chaincode-evm/commit/515498f) [FAB-13903](https://jira.hyperledger.org/browse/FAB-13903) typo in getting deployed contract address
* [00cf19a](https://github.com/hyperledger/fabric-chaincode-evm/commit/00cf19a) [FAB-13384](https://jira.hyperledger.org/browse/FAB-13384) Rename all references of fabproxy to fab3.
* [58f25fb](https://github.com/hyperledger/fabric-chaincode-evm/commit/58f25fb) [FAB-13102](https://jira.hyperledger.org/browse/FAB-13102) implement burrow EventSink for fabric backend
* [3c697d4](https://github.com/hyperledger/fabric-chaincode-evm/commit/3c697d4) [FAB-13102](https://jira.hyperledger.org/browse/FAB-13102) Update burrow to 0.23.3
* [76335b5](https://github.com/hyperledger/fabric-chaincode-evm/commit/76335b5) [FAB-13851](https://jira.hyperledger.org/browse/FAB-13851) avoid printing during unit-tests
* [3b1ab16](https://github.com/hyperledger/fabric-chaincode-evm/commit/3b1ab16) [FAB-13628](https://jira.hyperledger.org/browse/FAB-13628) Release fabric-chaincode-evm v0.1.0
* [e6ed45b](https://github.com/hyperledger/fabric-chaincode-evm/commit/e6ed45b) [FAB-13576](https://jira.hyperledger.org/browse/FAB-13576) integration tests timeouts
* [fdacdd2](https://github.com/hyperledger/fabric-chaincode-evm/commit/fdacdd2) [FAB-10787](https://jira.hyperledger.org/browse/FAB-10787) Integration tests for events

## 0.1.0
Thu Jan 10 14:38:02 PST 2019

* [1aa2e0f](https://github.com/hyperledger/fabric-chaincode-evm/commit/1aa2e0f) [FAB-13628](https://jira.hyperledger.org/browse/FAB-13628) Release fabric-chaincode-evm v0.1.0
* [7342ad3](https://github.com/hyperledger/fabric-chaincode-evm/commit/7342ad3) [FAB-13263](https://jira.hyperledger.org/browse/FAB-13263) Update Fabric dependency to 1.4
* [7d7ccb9](https://github.com/hyperledger/fabric-chaincode-evm/commit/7d7ccb9) [FAB-13168](https://jira.hyperledger.org/browse/FAB-13168) Cleanup Makefile and scripts
* [97cb415](https://github.com/hyperledger/fabric-chaincode-evm/commit/97cb415) [FAB-13435](https://jira.hyperledger.org/browse/FAB-13435) Rename job name in Jenkinsfile
* [61bb885](https://github.com/hyperledger/fabric-chaincode-evm/commit/61bb885) [FAB-13435](https://jira.hyperledger.org/browse/FAB-13435) Update pipeline CI script on cc-evm
* [5f6f073](https://github.com/hyperledger/fabric-chaincode-evm/commit/5f6f073) Configure Stale ProBot
* [719a4f6](https://github.com/hyperledger/fabric-chaincode-evm/commit/719a4f6) [FAB-11081](https://jira.hyperledger.org/browse/FAB-11081) check marshaled json for eth RPC fields
* [94d314d](https://github.com/hyperledger/fabric-chaincode-evm/commit/94d314d) [FAB-13285](https://jira.hyperledger.org/browse/FAB-13285) Switch logger.Fatal to fmt.Print
* [6bb8493](https://github.com/hyperledger/fabric-chaincode-evm/commit/6bb8493) [FAB-10789](https://jira.hyperledger.org/browse/FAB-10789) EVM bytecode events are emitted
* [b5144f7](https://github.com/hyperledger/fabric-chaincode-evm/commit/b5144f7) [FAB-7983](https://jira.hyperledger.org/browse/FAB-7983) add and use zap logger
* [788a84d](https://github.com/hyperledger/fabric-chaincode-evm/commit/788a84d) [FAB-13106](https://jira.hyperledger.org/browse/FAB-13106) Update Fabric dependency to v1.3.0
* [c94adff](https://github.com/hyperledger/fabric-chaincode-evm/commit/c94adff) [FAB-11080](https://jira.hyperledger.org/browse/FAB-11080) Extend transaction receipt & refactor
* [867f3bf](https://github.com/hyperledger/fabric-chaincode-evm/commit/867f3bf) [FAB-13063](https://jira.hyperledger.org/browse/FAB-13063) basic build and clean
* [c56d7ec](https://github.com/hyperledger/fabric-chaincode-evm/commit/c56d7ec) [FAB-12903](https://jira.hyperledger.org/browse/FAB-12903) Allow contract to contract invocations
* [b354ec4](https://github.com/hyperledger/fabric-chaincode-evm/commit/b354ec4) [FAB-13101](https://jira.hyperledger.org/browse/FAB-13101) Consolidate long eventual timeout in tests
* [378fb88](https://github.com/hyperledger/fabric-chaincode-evm/commit/378fb88) update Morgan Bauer contact information
* [3219f63](https://github.com/hyperledger/fabric-chaincode-evm/commit/3219f63) [FAB-10374](https://jira.hyperledger.org/browse/FAB-10374) dep config to not prune ginkgo
* [06e4ebc](https://github.com/hyperledger/fabric-chaincode-evm/commit/06e4ebc) [FAB-11082](https://jira.hyperledger.org/browse/FAB-11082) full transactions for GetBlockByNumber
* [e9600df](https://github.com/hyperledger/fabric-chaincode-evm/commit/e9600df) [FAB-11081](https://jira.hyperledger.org/browse/FAB-11081) web3 integration tests
* [7a24ab4](https://github.com/hyperledger/fabric-chaincode-evm/commit/7a24ab4) FABCI-205 Build notifications to RocketChat
* [657467f](https://github.com/hyperledger/fabric-chaincode-evm/commit/657467f) [FAB-11081](https://jira.hyperledger.org/browse/FAB-11081) Add web3 integration tests
* [8ff5d79](https://github.com/hyperledger/fabric-chaincode-evm/commit/8ff5d79) [FAB-10374](https://jira.hyperledger.org/browse/FAB-10374) run all basic checks in jenkins
* [302e06e](https://github.com/hyperledger/fabric-chaincode-evm/commit/302e06e) [FAB-12683](https://jira.hyperledger.org/browse/FAB-12683) remove plugin references from README
* [1395119](https://github.com/hyperledger/fabric-chaincode-evm/commit/1395119) [FAB-11082](https://jira.hyperledger.org/browse/FAB-11082) implement eth_getTransactionByHash
* [2dcd448](https://github.com/hyperledger/fabric-chaincode-evm/commit/2dcd448) [FAB-10374](https://jira.hyperledger.org/browse/FAB-10374) add more flags to ginkgo runs
* [50743b7](https://github.com/hyperledger/fabric-chaincode-evm/commit/50743b7) [FAB-11082](https://jira.hyperledger.org/browse/FAB-11082) implement eth_getblockbynumber
* [891549a](https://github.com/hyperledger/fabric-chaincode-evm/commit/891549a) [FAB-11081](https://jira.hyperledger.org/browse/FAB-11081) Add fab3 integration tests
* [f478c99](https://github.com/hyperledger/fabric-chaincode-evm/commit/f478c99) Add Morgan Bauer as chaincode-evm maintainer
* [54494ed](https://github.com/hyperledger/fabric-chaincode-evm/commit/54494ed) [FAB-12480](https://jira.hyperledger.org/browse/FAB-12480) bump baseimage to 0.4.13
* [cf97461](https://github.com/hyperledger/fabric-chaincode-evm/commit/cf97461) [FAB-11081](https://jira.hyperledger.org/browse/FAB-11081) Use ginkgo in running tests
* [deb8a86](https://github.com/hyperledger/fabric-chaincode-evm/commit/deb8a86) [FAB-11081](https://jira.hyperledger.org/browse/FAB-11081) Move e2e tests into separate dir
* [0846767](https://github.com/hyperledger/fabric-chaincode-evm/commit/0846767) [FAB-12326](https://jira.hyperledger.org/browse/FAB-12326) Update CI script to install nodejs
* [7ce40d3](https://github.com/hyperledger/fabric-chaincode-evm/commit/7ce40d3) [FAB-11080](https://jira.hyperledger.org/browse/FAB-11080) BlockNumber should be hex encoded
* [2160999](https://github.com/hyperledger/fabric-chaincode-evm/commit/2160999) [FAB-11080](https://jira.hyperledger.org/browse/FAB-11080) Update README and add example
* [e5eba5c](https://github.com/hyperledger/fabric-chaincode-evm/commit/e5eba5c) [FAB-11080](https://jira.hyperledger.org/browse/FAB-11080) struct tags for proper json case output
* [2221bba](https://github.com/hyperledger/fabric-chaincode-evm/commit/2221bba) [FAB-11082](https://jira.hyperledger.org/browse/FAB-11082) implement eth_getBalance
* [920fd82](https://github.com/hyperledger/fabric-chaincode-evm/commit/920fd82) [FAB-11082](https://jira.hyperledger.org/browse/FAB-11082) annotation for regenerating mocks
* [44e412f](https://github.com/hyperledger/fabric-chaincode-evm/commit/44e412f) [FAB-11082](https://jira.hyperledger.org/browse/FAB-11082) bubble errors up to main
* [57f6194](https://github.com/hyperledger/fabric-chaincode-evm/commit/57f6194) [FAB-11082](https://jira.hyperledger.org/browse/FAB-11082) implement EstimateGas
* [b0ffdd7](https://github.com/hyperledger/fabric-chaincode-evm/commit/b0ffdd7) [FAB-10374](https://jira.hyperledger.org/browse/FAB-10374) Remove old e2e docker-compose tests
* [3683511](https://github.com/hyperledger/fabric-chaincode-evm/commit/3683511) [FAB-10374](https://jira.hyperledger.org/browse/FAB-10374) Switch integration tests to use ginkgo
* [1b5e571](https://github.com/hyperledger/fabric-chaincode-evm/commit/1b5e571) [FAB-11082](https://jira.hyperledger.org/browse/FAB-11082) add network rpc service
* [96ea951](https://github.com/hyperledger/fabric-chaincode-evm/commit/96ea951) [FAB-10374](https://jira.hyperledger.org/browse/FAB-10374) Add vendor dependencies
* [f83a7fe](https://github.com/hyperledger/fabric-chaincode-evm/commit/f83a7fe) [FAB-11083](https://jira.hyperledger.org/browse/FAB-11083) Add CORS support to the Proxy
* [b935805](https://github.com/hyperledger/fabric-chaincode-evm/commit/b935805) [FAB-11080](https://jira.hyperledger.org/browse/FAB-11080) MVP Fabproxy
* [4515d55](https://github.com/hyperledger/fabric-chaincode-evm/commit/4515d55) [FAB-11080](https://jira.hyperledger.org/browse/FAB-11080) Add dependencies needed for fabproxy
* [6e1d2f4](https://github.com/hyperledger/fabric-chaincode-evm/commit/6e1d2f4) [FAB-11658](https://jira.hyperledger.org/browse/FAB-11658) Encode storage keys
* [fabda63](https://github.com/hyperledger/fabric-chaincode-evm/commit/fabda63) [FAB-11507](https://jira.hyperledger.org/browse/FAB-11507) Remove build process
* [1d6e20d](https://github.com/hyperledger/fabric-chaincode-evm/commit/1d6e20d) [FAB-11513](https://jira.hyperledger.org/browse/FAB-11513) Add shim.Start to main
* [47bcb18](https://github.com/hyperledger/fabric-chaincode-evm/commit/47bcb18) FABCI-8 CI pipeline configuration
* [0fcb6c2](https://github.com/hyperledger/fabric-chaincode-evm/commit/0fcb6c2) [FAB-9730](https://jira.hyperledger.org/browse/FAB-9730) update README
* [298759f](https://github.com/hyperledger/fabric-chaincode-evm/commit/298759f) [FAB-10400](https://jira.hyperledger.org/browse/FAB-10400) add docker image to build
* [e0335d8](https://github.com/hyperledger/fabric-chaincode-evm/commit/e0335d8) [FAB-7742](https://jira.hyperledger.org/browse/FAB-7742) Add test cases for `account`
* [3ef2598](https://github.com/hyperledger/fabric-chaincode-evm/commit/3ef2598) [FAB-10373](https://jira.hyperledger.org/browse/FAB-10373) update baseimage version 0.4.8
* [24da74b](https://github.com/hyperledger/fabric-chaincode-evm/commit/24da74b) [FAB-10369](https://jira.hyperledger.org/browse/FAB-10369) Remove extraneous comments
* [5335ef0](https://github.com/hyperledger/fabric-chaincode-evm/commit/5335ef0) [FAB-10369](https://jira.hyperledger.org/browse/FAB-10369) Update Burrow dependency to 0.18.0
* [7c2f7f6](https://github.com/hyperledger/fabric-chaincode-evm/commit/7c2f7f6) [FAB-7749](https://jira.hyperledger.org/browse/FAB-7749) Add e2e example for evmscc.
* [53f4404](https://github.com/hyperledger/fabric-chaincode-evm/commit/53f4404) [FAB-9699](https://jira.hyperledger.org/browse/FAB-9699) add linters to makefile
* [d21c440](https://github.com/hyperledger/fabric-chaincode-evm/commit/d21c440) [FAB-8599](https://jira.hyperledger.org/browse/FAB-8599) Add makefile and build scripts.
* [9c94b80](https://github.com/hyperledger/fabric-chaincode-evm/commit/9c94b80) [FAB-7742](https://jira.hyperledger.org/browse/FAB-7742) Add dependencies for evmscc implementation.
* [6363946](https://github.com/hyperledger/fabric-chaincode-evm/commit/6363946) [FAB-7742](https://jira.hyperledger.org/browse/FAB-7742) Implement EVM chaincode as a scc plugin.
* [40beaee](https://github.com/hyperledger/fabric-chaincode-evm/commit/40beaee) [FAB-7747](https://jira.hyperledger.org/browse/FAB-7747) Implement Burrow state interfaces.
* [7a524ac](https://github.com/hyperledger/fabric-chaincode-evm/commit/7a524ac) [FAB-7747](https://jira.hyperledger.org/browse/FAB-7747) Vendor dependencies needed for statemanager
* [a12e22d](https://github.com/hyperledger/fabric-chaincode-evm/commit/a12e22d) [FAB-9360](https://jira.hyperledger.org/browse/FAB-9360) add CODE_OF_CONDUCT.md
* [677fb90](https://github.com/hyperledger/fabric-chaincode-evm/commit/677fb90) [FAB-9063](https://jira.hyperledger.org/browse/FAB-9063) Provide link to Fabric committers
* [7959197](https://github.com/hyperledger/fabric-chaincode-evm/commit/7959197) Gerrit/GitHub ID swap
* [6848b05](https://github.com/hyperledger/fabric-chaincode-evm/commit/6848b05) [FAB-7087](https://jira.hyperledger.org/browse/FAB-7087) initial commit



================================================
FILE: CODEOWNERS
================================================
# SPDX-License-Identifier: Apache-2.0

# Fabric Chaincode EVM maintainers
*       @hyperledger/fabric-chaincode-evm-maintainers



================================================
FILE: CODE_OF_CONDUCT.md
================================================
Code of Conduct Guidelines
==========================

Please review the Hyperledger [Code of
Conduct](https://wiki.hyperledger.org/community/hyperledger-project-code-of-conduct)
before participating. It is important that we keep things civil.

<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>.


================================================
FILE: CONTRIBUTING.md
================================================
# Contributions Welcome!

This repository is part of the Fabric project.
Please consult [Fabric's CONTRIBUTING documentation](http://hyperledger-fabric.readthedocs.io/en/latest/CONTRIBUTING.html) for information on how to contribute to this repository.

We will follow [Fabric's Go Coding Guidelines](https://hyperledger-fabric.readthedocs.io/en/main/style-guides/go-style.html).

<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>


================================================
FILE: Fab3_Instructions.md
================================================
# Fab3 Instruction Set

Fab3 is a partial implementation of the [Ethereum JSON RPC API](https://github.com/ethereum/wiki/wiki/JSON-RPC).
Requests are expected in the following format and must always have a POST header.

```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": <method>,
  "id":<client-generated-id>,
  "params":<method-params>
}'
```
The examples below use a SimpleStorage contract.
Fab3 currently supports:
- [net_version](#net_version)
- [eth_getCode](#eth_getCode)
- [eth_call](#eth_call)
- [eth_sendTransaction](#eth_sendTransaction)
- [eth_accounts](#eth_accounts)
- [eth_estimateGas](#eth_estimateGas)
- [eth_getBalance](#eth_getBalance)
- [eth_getBlockByNumber](#eth_getBlockByNumber)
- [eth_blockNumber](#eth_blockNumber)
- [eth_getTransactionByHash](#eth_getTransactionByHash)
- [eth_getTransactionReceipt](#eth_getTransactionReceipt)
- [eth_getLogs](#eth_getLogs)
- [eth_getTransactionCount](#eth_getTransactionCount)

### net_version
`net_version` always returns the string `66616265766d`, which is the hex encoding
of `fabevm`. According to the spec, [net_version](https://github.com/ethereum/wiki/wiki/JSON-RPC#net_version)
does not take any parameters.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "net_version",
  "id":1,
  "params":[]
}'

{"jsonrpc":"2.0","result":"66616265766d","id":1}
```


### eth_getCode
`eth_getCode` returns the runtime bytecode of the provided contract address.
According to the spec, [getCode](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getcode)
takes in two arguments, the first is the contract address and the second is the
block number specifying the state of the ledger to run the query.

Fab3 does not support querying the state at a certain point in the ledger so the
second argument, if provided, will be ignored. Only the first argument, the
contract address, is required and honored by fab3.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_getCode",
  "id":1,
  "params":["0x40421fd8b64e91da48e703ea1daa488b44ff9d16"]
}'

{"jsonrpc":"2.0","result":"6080604052600436106043576000357c01000000000000000000000000000000000000000000000000000000009004806360fe47b11460485780636d4ce63c14607f575b600080fd5b348015605357600080fd5b50607d60048036036020811015606857600080fd5b810190808035906020019092919050505060a7565b005b348015608a57600080fd5b50609160b1565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea165627a7a72305820290b24d16ffaf96310c5e236cef6f8bd81744b72beaeae1ca817d9372b69c2ba0029","id":1}
```

### eth_call
`eth_call` queries the deployed EVMCC and simulates the transaction associated
with the specified parameters. According to the spec, [call](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_call)
takes in two arguments, the first is an object specifying the parameters of the
transaction and the second is the block number specifying the state of the
ledger to run the query against.

Only the first object is required and honored by fab3. The fields `to`, `data`
are the only fields that are required in the object and the rest are ignored if
provided.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_call",
  "id":1,
  "params":[{"to":"0x40421fd8b64e91da48e703ea1daa488b44ff9d16", "data":"0x6d4ce63c"}]
}'

{"jsonrpc":"2.0","result":"0x000000000000000000000000000000000000000000000000000000000000000a","id":1}
```

### eth_sendTransaction
`eth_sendTransaction` submits a transaction to the EVMCC with the specified
parameters. According to the spec, [sendTransaction](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sendtransaction)
takes an object specifying the parameters of the transaction. The fields `to`,
`data` are the only fields that are required in the object and the rest are
ignored if provided. The Fabric transaction id associated to the transaction is
returned.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_sendTransaction",
  "id":1,
  "params":[
    {"to":"0x40421fd8b64e91da48e703ea1daa488b44ff9d16",
    "data":"0x60fe47b1000000000000000000000000000000000000000000000000000000000000000f"}]
}'

{"jsonrpc":"2.0","result":"9807a7ff4ed1962e9414b04f9dec7e05112382a6d826b7e64628fb7f12632dc5","id":1}
```

### eth_accounts
`eth_accounts` queries the EVMCC for the address that is generated from the user
associated to the fab3 instance. The return value will always only have one
address. According to the spec, [accounts](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_accounts)
does not take any parameters. Note that the returned address is generated on the fly
by the EVMCC and is not stored in the ledger. This should not affect Ethereum
smart contract execution. If a contract stores a user account, it will be
stored under that contract's data.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_accounts",
  "id":1,
  "params":[]
}'

{"jsonrpc":"2.0","result":["0x564fbd2e6e26ca8dbbac758f9253dd80d90974b6"],"id":1}
```

### eth_estimateGas
Gas is hardcoded in the EVMCC and enough is provided for transactions to
complete. Therefore `eth_estimateGas` will always return 0. According to the
spec, [estimateGas](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_estimategas)
takes in parameters similar to `eth_call`. These parameters, if provided, will
be ignored. However, if the parameter is provided it is expected in the object
format, otherwise an error will be returned.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_estimateGas",
  "id":1,
  "params":[
    {"to":"0x40421fd8b64e91da48e703ea1daa488b44ff9d16",
    "data":"0x60fe47b1000000000000000000000000000000000000000000000000000000000000000f"}]
}'

{"jsonrpc":"2.0","result":"0x0","id":1}
```
### eth_getBalance
No Ether or native tokens are created as part of the EVMCC. User accounts do not
have any balances. Therefore `eth_getBalance` will always return 0 regardless of
the parameters that are provided. According to the spec, [getBalance](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getbalance)
expects an array of strings, an account address and a block number. These
parameters, if provided, are ignored. However, if parameters are provided they
must be an array of strings, otherwise an error will be returned.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_getBalance",
  "id":1,
  "params":["0x564fbd2e6e26ca8dbbac758f9253dd80d90974b6"]
}'

{"jsonrpc":"2.0","result":"0x0","id":1}
```

### eth_getBlockByNumber
`eth_getBlockByNumber` returns information about the requested block. According
to the spec, [getBlockByNumber](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getblockbynumber)
accepts a number that is hex encoded or a default block parameter such as
`latest`, and `earliest` and a second parameter which is a boolean that
indicates whether full transaction information should be returned. Fabric does
not have a concept of `pending` blocks so providing `pending` as the block
number will result in an error. The field `gasLimit` is provided as a
compatibility measure, and is always hardcoded to `0x0`.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_getBlockByNumber",
  "id":1,
  "params":["latest", true]
}'

{
  "jsonrpc": "2.0",
  "result": {
    "number": "0x8",
    "hash": "0xe63104fc910f90f4d281dbc9d666225d74c5a4ac1438890b4252236d52e158e0",
    "parentHash": "0x8230fad38e199e014aa7433656f78a9d8336ddd6aace9791a6cbbb78c6b9640e",
    "gasLimit": "0x0",
    "transactions": [
      {
        "blockHash": "0xe63104fc910f90f4d281dbc9d666225d74c5a4ac1438890b4252236d52e158e0",
        "blockNumber": "0x8",
        "to": "0x96036d93a9fd3f4cc4cc92e3b9fdb4213f552a99",
        "from": "0xa6e427512d418a9f8f1277dff45a1942236005d3",
        "input": "0x60fe47b1000000000000000000000000000000000000000000000000000000000000000a",
        "transactionIndex": "0x0",
        "hash": "0x1eafc293bd6c4c19dbd965dfb442a1817d2f7b1eaa8fd575a4409539086978dc",
        "gasPrice": "0x0",
        "value": "0x0"
      }
    ]
  },
  "id": 1
}
```

### eth_blockNumber
`eth_blockNumber` returns the number associated with the latest block on the
ledger. According to the spec, [blockNumber](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_blockNumber)
does not take any parameters.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_BlockNumber",
  "id":1,
  "params":[]
}'

{"jsonrpc":"2.0","result":"0x6","id":1}
```

### eth_getTransactionByHash
`eth_getTransactionByHash` will return transaction information about the given
Fabric transaction id. According to the spec, [getTransactionByHash](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionbyhash)
accepts only one argument, the transaction id.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_getTransactionByHash",
  "id":1,
  "params":["0x9c109bd5880c85a053bee913e82b2395510ef91be133dac06ebf1240e3d73abc"]
}'

{
  "jsonrpc": "2.0",
  "result": {
    "blockHash": "0xffe091745796ce5f1b5cee98fca7ee8a53b5b7c834cdebe74c808a2a5cfbb510",
    "blockNumber": "0x4",
    "to": "0x0000000000000000000000000000000000000000",
    "from": "0xa6e427512d418a9f8f1277dff45a1942236005d3",
    "input": "0x608060405234801561001057600080fd5b5060e68061001f6000396000f3fe6080604052600436106043576000357c01000000000000000000000000000000000000000000000000000000009004806360fe47b11460485780636d4ce63c14607f575b600080fd5b348015605357600080fd5b50607d60048036036020811015606857600080fd5b810190808035906020019092919050505060a7565b005b348015608a57600080fd5b50609160b1565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea165627a7a72305820290b24d16ffaf96310c5e236cef6f8bd81744b72beaeae1ca817d9372b69c2ba0029",
    "transactionIndex": "0x0",
    "hash": "0x9c109bd5880c85a053bee913e82b2395510ef91be133dac06ebf1240e3d73abc",
    "gasPrice": "0x0",
    "value": "0x0"
  },
  "id": 1
}
```

### eth_getTransactionReceipt
`eth_getTransactionReceipt` returns the receipt for the transaction. This
includes any logs that were generated from the transaction. If the transaction
was a contract creation, it will return the contract address of the newly
created contract. Otherwise the contract address will be null. According to the
spec, [getTransactionReceipt](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactionreceipt)
accepts only one parameter the Fabric transaction id.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_getTransactionReceipt",
  "id":1,
  "params":["0x9c109bd5880c85a053bee913e82b2395510ef91be133dac06ebf1240e3d73abc"]
}'

{
  "jsonrpc": "2.0",
  "result": {
    "transactionHash": "0x9c109bd5880c85a053bee913e82b2395510ef91be133dac06ebf1240e3d73abc",
    "transactionIndex": "0x0",
    "blockHash": "0xffe091745796ce5f1b5cee98fca7ee8a53b5b7c834cdebe74c808a2a5cfbb510",
    "blockNumber": "0x4",
    "contractAddress": "0xad72cffcba95abedf4656a65a2ebab448aae8c19",
    "gasUsed": 0,
    "cumulativeGasUsed": 0,
    "to": "",
    "logs": [],
    "status": "0x1",
    "from": "0xa6e427512d418a9f8f1277dff45a1942236005d3"
  },
  "id": 1
}
```

### eth_getLogs
`eth_getLogs` returns matching log objects from transactions within the matching range of
blocks. These log objects are conversions from the fabric event objects on each transaction. All
visible events will be matched against, which will include other instances of the EVM chaincode
operating with different chaincode IDs.  According to the spec,
[getLogs](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getlogs) takes 5 arguments. All are
optional and BlockHash cannot be combined with FromBlock or ToBlock. FromBlock and ToBlock are used
to specify the inclusive range of blocks to search for matching log objects. FromBlock and ToBlock
accept a number that is hex encoded or a default block parameter such as `latest`, and
`earliest`. Fabric does not have a concept of `pending` blocks so providing `pending` as the block
number will result in an error. Address is an individual address or array of addresses which must
match the entries in the log objects. Topics is an array of matching topics which must match the
entries of the log objects.  See the [spec for the
format](https://github.com/ethereum/wiki/wiki/JSON-RPC#a-note-on-specifying-topic-filters) of topic
filters. BlockHash is the exact hash of a fabric block, which will be the only block searched for
transactions that contain matching log entries.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_getLogs",
  "id":1,
  "params":[
    {"fromBlock":"earliest",
    "address":"0x96036d93a9fd3f4cc4cc92e3b9fdb4213f552a99",
    "topics":["0x208509800c5cb9707f116ef96a1d456499ab9fa3c8edc1cdf381fe5216d5b173"]}]
}'

{
  "jsonrpc": "2.0",
  "result": [
    {
      "address": "0x96036d93a9fd3f4cc4cc92e3b9fdb4213f552a99",
      "topics": [
        "0x208509800c5cb9707f116ef96a1d456499ab9fa3c8edc1cdf381fe5216d5b173"
      ],
      "data": "0x000000000000000000000000000000000000000000000000000000000000000a",
      "blockNumber": "0x8",
      "transactionHash": "0x1eafc293bd6c4c19dbd965dfb442a1817d2f7b1eaa8fd575a4409539086978dc",
      "transactionIndex": "0x0",
      "blockHash": "0xe63104fc910f90f4d281dbc9d666225d74c5a4ac1438890b4252236d52e158e0",
      "logIndex": "0x0"
    }
  ],
  "id": 1
}
```

### eth_getTransactionCount
Transaction count per user is not tracked and there is no concept of a nonce in
Fabric. Therefore `eth_getTransactionCount` is hardcoded to always return `0x0`.
According to the spec, [getTransactionCount](https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_gettransactioncount)
takes in an address and a block number. These parameters, if provided will be
ignored.

**Example**
```
curl http://127.0.0.1:5000 -X POST -H "Content-Type:application/json" -d '{
  "jsonrpc":"2.0",
  "method": "eth_getTransactionCount",
  "id":1,
  "params":[]
}'

{"jsonrpc":"2.0","result":"0x0","id":1}
```


================================================
FILE: LICENSE
================================================
                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "{}"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright {yyyy} {name of copyright owner}

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.



================================================
FILE: MAINTAINERS.md
================================================
## Maintainers

| Name | GitHub | Chat | email |
|------|--------|------|-------|
| Christopher Ferris | christo4ferris | cbf | chrisfer@us.ibm.com |
| Gari Singh | mastersingh24 | mastersingh24 | gari.r.singh@gmail.com |
| Jay Guo | guoger | guoger | guojiannan1101@gmail.com |
| Morgan Bauer | MHBauer | MHBauer | mbauer@us.ibm.com |
| Srinivasan Muralidharan | muralisrini | muralisr | srinivasan.muralidharan99@gmail.com |
| Swetha Repakula | swetharepakula | swetha | srepaku@us.ibm.com |

<a rel="license" href="http://creativecommons.org/licenses/by/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by/4.0/88x31.png" /></a><br />This work is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</a>


================================================
FILE: Makefile
================================================
# Copyright IBM Corp All Rights Reserved.
# Copyright London Stock Exchange Group All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
# -------------------------------------------------------------
# This makefile defines the following targets
#
#   - all (default) - builds all targets and runs all tests/checks
#   - basic-checks - performs basic checks like license, spelling and linter
#   - check-deps - check for vendored dependencies that are no longer used
#   - checks - runs all non-integration tests/checks
#   - gotools - installs go tools like golint
#   - license - checks go source files for Apache license header
#   - linter - runs all code checks
#   - unit-test - runs the go-test based unit tests
#   - integration-test - runs the e2e_cli based test
#   - docker-images - pulls the latest docker ccenv and couchdb images needed for integration tests
#   - update-mocks - update the counterfeiter test doubles
#
FABRIC_RELEASE=1.4
PREV_VERSION=0.3.0
BASE_VERSION=0.4.0

EXECUTABLES ?= go git curl docker
K := $(foreach exec,$(EXECUTABLES),\
	$(if $(shell which $(exec)),some string,$(error "No $(exec) in PATH: Check dependencies")))

all: checks integration-test

checks: basic-checks unit-test

basic-checks: license spelling linter build

.PHONY: spelling
spelling: gotool.misspell
	@scripts/check_spelling.sh

.PHONY: license
license:
	@scripts/check_license.sh

.PHONY: build
build: bin/fab3 bin/evmcc

include gotools.mk

.PHONY: clean
clean: gotools-clean
	rm -rf bin/ node_modules/

.PHONY: gotools
gotools: gotools-install

unit-test: gotool.ginkgo
	@echo "Running unit-tests"
	ginkgo -p -randomizeAllSpecs -randomizeSuites -requireSuite -noColor -keepGoing -race -r evmcc
	cd fab3 && GO111MODULE=on ginkgo -p -randomizeAllSpecs -randomizeSuites -requireSuite -noColor -keepGoing -race -r

unit-tests: unit-test

dev-test:
	cd fab3 && GO111MODULE=on ginkgo watch -notify -randomizeAllSpecs -requireSuite -race -cover -r

linter: gotool.goimports
	@echo "LINT: Running code checks.."
	@scripts/golinter.sh

changelog:
	@scripts/changelog.sh v$(PREV_VERSION) v$(BASE_VERSION)

# we don't use any of these images, they just need to exist for the integration
# tests, so pull busybox and tag it as needed
.PHONY: docker-images
docker-images:
	docker pull busybox
	@# check if the image exists, we only want the exit code, so give an empty format string
	for IMAGE in couchdb kafka zookeeper; do \
		docker inspect hyperledger/fabric-$$IMAGE --format ' ' || \
			echo "tag $$IMAGE" && docker tag busybox hyperledger/fabric-$$IMAGE ; \
	done
	@docker inspect hyperledger/fabric-javaenv:amd64-latest --format ' ' || \
		echo "tag javaenv" && docker tag busybox hyperledger/fabric-javaenv:amd64-latest

.PHONY: integration-test
integration-test: docker-images gotool.ginkgo
	@echo "Running integration-test"
	@scripts/run-integration-tests.sh

fab3: bin/fab3

.PHONY: bin/fab3 # let 'go build' handle caching and whether to rebuild
bin/fab3:
	mkdir -p bin/
	cd fab3 && GO111MODULE=on go build -o ./../bin/fab3 ./cmd

.PHONY: bin/evmcc # let 'go build' handle caching and whether to rebuild
bin/evmcc:
	mkdir -p bin/
	go build -o bin/evmcc ./evmcc
	rm bin/evmcc # checking that it compiled, evmcc not meant to be run directly

# Requires go v1.11+
.PHONY:
update-mocks: gotool.counterfeiter
	counterfeiter -o evmcc/mocks/mockstub.go --fake-name MockStub evmcc/vendor/github.com/hyperledger/fabric/core/chaincode/shim/interfaces.go ChaincodeStubInterface
	cd fab3 && GO111MODULE=on go generate .


================================================
FILE: README.md
================================================
# Hyperledger Fabric EVM chaincode

**This project has been archived for lack of interest within the community.**

This is the project for the Hyperledger Fabric chaincode, integrating the
Burrow EVM. At its essence, this project enables one to use the Hyperledger
Fabric permissioned blockchain platform to interact with Ethereum smart
contracts written in an EVM compatible language such as Solidity or Vyper.

The integration is achieved through the EVM chaincode (EVMCC) and Fab3. The
EVMCC wraps the Hyperledger Burrow EVM package in a Go chaincode shim and maps
the various methods between the peer and the EVM itself. The EVMCC acts as the
smart contract runtime and stores the deployed contract code on the ledger under
the `evmcc` namespace.

The second piece is Fab3, a web3 provider, which is a proxy that implements a
subset of the Ethereum compliant JSON RPC interfaces, so that users could use
tools such as Web3.js to interact with smart contracts running in the Fabric
EVM. Using the Fabric GO SDK, Fab3 is able to communicate with the Fabric
network to interact with the EVMCC. Without Fab3, users can still interact with
the EVMCC using the Fabric APIs.

Used together, the EVMCC and Fab3 recreates the Ethereum smart contract runtime
and developer experience. Applications that make use of the Ethereum JSON RPC
API and EVM smart contracts should be able to stay unchanged and can be brought
to use with Hyperledger Fabric.

![EndToEnd](EndToEnd.png)

# Table of Contents
- [Deploying the Fabric EVM Chaincode (EVMCC)](#Deploying-the-Fabric-EVM-Chaincode-(EVMCC))
- [Running Fab3](#Running-Fab3)
- [Tutorial](#Tutorial)
- [Testing](#Testing)
- [Contributions](#Contributions)
- [Current Dependencies](#Current-Dependencies)

We hang out in the
[#fabric-evm channel](https://chat.hyperledger.org/channel/fabric-evm). We are
always interested in feedback and help in development and testing! For more
information about contributing look below at the [Contributions](#Contributions)
section.


## Deploying the Fabric EVM Chaincode (EVMCC)

This chaincode can be deployed like any other user chaincode to Hyperledger
Fabric. The chaincode has no instantiation arguments.

When installing, point to the EVMCC [main package](https://github.com/hyperledger/fabric-chaincode-evm/tree/main/evmcc). Below is an example of installation and
instantiation through the peer cli.
```
 peer chaincode install -n evmcc -l golang -v 0 -p github.com/hyperledger/fabric-chaincode-evm/evmcc
 peer chaincode instantiate -n evmcc -v 0 -C <channel-name> -c '{"Args":[]}' -o <orderer-address> --tls --cafile <orderer-ca>
```

The interaction is the same as with any other chaincode, except that
the first argument of a chaincode invoke is the address for the contract and
the second argument is the input you typically provide for an Ethereum
transaction. In general the inputs match the `To` and `Data` fields in an
ethereum transaction. Typically the `To` field is the contract address that
contains the desired transaction. The `Data` field is the function to be invoked
concatenated with the encoded parameters expected.
```
peer chaincode invoke -n evmcc -C <channel-name> -c '{"Args":[<to>,<data>]}' -o <orderer-address> --tls --cafile <orderer-ca>

# Contract Invocation
peer chaincode invoke -n evmcc -C <channel-name> -c '{"Args":[<contract-address>,<function-with-encoded-params>]}' -o <orderer-address> --tls --cafile <orderer-ca>
```
A special case of the ethereum transaction is contract creation. The `To` field
is the zero address and the `Data` field is the compiled bytecode of the smart
contract to be deployed.
```
# Contract Creation
peer chaincode invoke -n evmcc -C <channel-name> -c '{"Args":["0000000000000000000000000000000000000000",<compiled-bytecode>]}' -o <orderer-address> --tls --cafile <orderer-ca>
```

The only actions that do not follow the above pattern are to query for contract
runtime code and accounts.
```
# To query for the user account address that is generated from the user public key
peer chaincode query -n evmcc -C <channel-name> -c '{"Args":["account"]}'

# To query for the runtime bytecode for a contract
peer chaincode query -n evmcc -C <channel-name> -c '{"Args":["getCode", "<contract-address>"]}'
```

**NOTE** No Ether or token balance is associated with user accounts, so Ethereum
smart contracts that require a native token cannot be migrated to Fabric
and must be rewritten. Token contracts such as those that follow the ERC 20 standard
can still be deployed to the EVMCC. Consequently since no balances exist, user
accounts are not stored on the ledger and the addresses are generated on the fly
when needed. This should not affect Ethereum smart contract execution. If a
contract stores an address, it will be stored under that contract's data.

**NOTE** In the current implementation of the EVMCC, the opcode `BLOCKHASH` is
not supported. Therefore contracts that use the `blockhash(uint blockNumber)`
function will result in an error.

## Running Fab3

Fab3 is a web3 provider that allows the use of ethereum tools such as Web3.js
and the Remix IDE to interact with the Ethereum Smart Contracts that have been
deployed through the Fabric EVM Chaincode.

For the most up to date instruction set look at the [ethservice](fab3/ethservice.go)
and [netservice](fab3/netservice.go)
implementations. For details about limitations and implementations of the the
instructions look at the [Fab3 Instructions](Fab3_Instructions.md).

To create the Fab3 binary, this repository must be checked out in the [GOPATH](https://github.com/golang/go/wiki/GOPATH)
```
mkdir -p $(go env GOPATH)/src/github.com/hyperledger/
git clone https://github.com/hyperledger/fabric-chaincode-evm.git $(go env GOPATH)/src/github.com/hyperledger/fabric-chaincode-evm
cd $(go env GOPATH)/src/github.com/hyperledger/fabric-chaincode-evm
```
Fab3 requires golang version 1.11 and up.

Run the following at the root of this repository:
```
make fab3
```
A binary named `fab3` will be created in the `bin` directory.

To run Fab3, the user needs to provide a Fabric SDK Config and Fabric user
information. To specify the Fabric user, the organization and
user id needs to be provided which corresponds to the credentials provided in
the SDK config. We provide a sample [config](examples/first-network-sdk-config.yaml)
that can be used with the first network example from the
[fabric-samples](https://github.com/hyperledger/fabric-samples) repository.
The credentials specified in the config, are expected to be in the directory
format that the [cryptogen](https://hyperledger-fabric.readthedocs.io/en/release-1.4/commands/cryptogen.html)
binary outputs.

The expected inputs can be provided to fab3 as environment variables or flags.
Flags will take precedence over the environment variables.

```
fab3 is a web3 provider used to interact with the EVM chaincode on a Fabric Network.
The flags provided will be honored over the corresponding environment variables.

Usage:
  fab3 [flags]

Flags:
  -i, --ccid string      ID of the EVM Chaincode deployed in your fabric network.
                         The CCID to be used in by fab3 can also be set by the FAB3_CCID environment variable. (default "evmcc")

  -C, --channel string   Channel to be used for the transactions.
                         This flag is required if FAB3_CHANNEL is not set

  -c, --config string    Path to a compatible Fabric SDK Go config file.
                         This flag is required if FAB3_CONFIG is not set

  -h, --help             help for fab3

  -o, --org string       Organization of the specified user.
                         This flag is required if FAB3_ORG is not set

  -p, --port int         Port that Fab3 will be running on.
                         The listening port can also be set by the FAB3_PORT environment variable. (default 5000)

  -u, --user string      User identity being used for the proxy (Matches the users' names in the
                         crypto-config directory specified in the config).
                         This flag is required if FAB3_USER is not set
```

## Tutorial

We have a [tutorial](examples/EVM_Smart_Contracts.md) that runs through the
basic setup of the EVM chaincode as well as setting up fab3. It also covers
deploying a Solidity contract and interacting with it using the Web3.js node library.

## Testing

You can run the integration tests in which a sample Fabric Network is run and the
chaincode is installed with the CCID: `evmcc`.
```
make integration-test
```
The [end-2-end](integration/e2e/e2e_test.go)
test is derivative of the hyperledger/fabric/integration/e2e test. You can
compare them to see what is different.

The [fab3](integration/fab3/fab3_test.go)
test focuses on the JSON RPC API compatibility. The [web3](integration/fab3/web3_e2e_test.js)
test uses the Web3 node.js library as a client to run tests against fab3 and the
EVMCC.

## Contributions
Pull requests are now accepted on github. When submitting a pull request, please
include the JIRA number associated with your JIRA work item in the commit
message title.

To report a new issue, open a ticket in the Hyperledger Fabric [JIRA](https://jira.hyperledger.org/projects/FABCE/issues)
under the Fabric Chaincode EVM (FABCE) project.

## Current Dependencies
- Hyperledger Fabric [v1.4](https://github.com/hyperledger/fabric/releases/tag/v1.4.0). EVMCC can be run on Fabric 1.0 and newer.
- Hyperledger Fabric Go SDK [1.0.0-alpha5](https://github.com/hyperledger/fabric-sdk-go/releases/tag/v1.0.0-alpha5)
- Minimum of Go 1.11 is required to compile Fab3.

[![Creative Commons License](https://i.creativecommons.org/l/by/4.0/88x31.png)](http://creativecommons.org/licenses/by/4.0/)<br>
This work is licensed under a [Creative Commons Attribution 4.0 International License](http://creativecommons.org/licenses/by/4.0/)


================================================
FILE: SECURITY.md
================================================
# Hyperledger Security Policy

## Reporting a Security Bug

If you think you have discovered a security issue in any of the Hyperledger projects, we'd love to hear from you. We will take all security bugs seriously and if confirmed upon investigation we will patch it within a reasonable amount of time and release a public security bulletin discussing the impact and credit the discoverer.

There are two ways to report a security bug. The easiest is to email a description of the flaw and any related information (e.g. reproduction steps, version) to [security at hyperledger dot org](mailto:security@hyperledger.org).

The other way is to file a confidential security bug in our [JIRA bug tracking system](https://jira.hyperledger.org). Be sure to set the “Security Level” to “Security issue”.

The process by which the Hyperledger Security Team handles security bugs is documented further in our [Defect Response page](https://wiki.hyperledger.org/display/HYP/Defect+Response) on our [wiki](https://wiki.hyperledger.org).



================================================
FILE: ci/azure-pipelines.yml
================================================
# Copyright the Hyperledger Fabric contributors. All rights reserved.
#
# SPDX-License-Identifier: Apache-2.0

name: $(SourceBranchName)-$(Date:yyyyMMdd)$(Rev:.rrr)
trigger:
- main
pr:
- main

variables:
  GOPATH: $(Agent.BuildDirectory)/go
  PATH: $(Agent.BuildDirectory)/go/bin:/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin:/usr/local/sbin
  GO_VER: 1.11.13
  NODE_VER: 8.11.3

jobs:
- job: VerifyBuild
  pool:
    vmImage: ubuntu-16.04
  condition: and(succeeded(), eq(variables['build.reason'], 'PullRequest'))
  steps:
  - task: GoTool@0
    inputs:
      version: $(GO_VER)
      goPath:  $(GOPATH)
    displayName: Install GoLang
  - checkout: self
    path: 'go/src/github.com/hyperledger/fabric-chaincode-evm'
    displayName: Checkout Fabric Chaincode EVM Code
  - script: make basic-checks
    displayName: Check Spelling, Licenses and Linting

- job: UnitTests
  pool:
    vmImage: ubuntu-16.04
  steps:
  - task: GoTool@0
    inputs:
      version: $(GO_VER)
      goPath:  $(GOPATH)
    displayName: Install GoLang
  - checkout: self
    path: 'go/src/github.com/hyperledger/fabric-chaincode-evm'
    displayName: Checkout Fabric Chaincode EVM Code
  - script: make unit-tests
    displayName: Run Unit Tests

- job: IntegrationTests
  pool:
    vmImage: ubuntu-16.04
  condition: and(succeeded(), eq(variables['build.reason'], 'PullRequest'))
  steps:
  - task: GoTool@0
    inputs:
      version: $(GO_VER)
      goPath:  $(GOPATH)
    displayName: Install GoLang
  - task: NodeTool@0
    inputs:
      versionSpec: $(NODE_VER)
    displayName: Install Node.js
  - checkout: self
    path: 'go/src/github.com/hyperledger/fabric-chaincode-evm'
    displayName: Checkout Fabric Chaincode EVM Code
  - script: make integration-test
    displayName: Run Integration Tests


================================================
FILE: evmcc/address/converter.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package address

import (
	"crypto/x509"
	"encoding/pem"
	"fmt"

	"github.com/golang/protobuf/proto"
	"github.com/hyperledger/fabric/protos/msp"
	"golang.org/x/crypto/sha3"
)

// IdentityToAddr computes 160 bits address from the public key encoded in an identity.
func IdentityToAddr(creator []byte) ([]byte, error) {
	si := &msp.SerializedIdentity{}
	if err := proto.Unmarshal(creator, si); err != nil {
		return nil, fmt.Errorf("failed to unmarshal serialized identity: %s", err)
	}

	bl, _ := pem.Decode(si.IdBytes)
	if bl == nil {
		return nil, fmt.Errorf("no pem data found")
	}

	cert, err := x509.ParseCertificate(bl.Bytes)
	if err != nil {
		return nil, fmt.Errorf("failed to parse certificate: %s", err)
	}

	pubkeyBytes, err := x509.MarshalPKIXPublicKey(cert.PublicKey)
	if err != nil {
		return nil, fmt.Errorf("unable to marshal public key: %s", err)
	}

	// We want the last 160 bits of the sha3-256 sum as the address
	sum := sha3.Sum256(pubkeyBytes)
	return sum[12:], nil
}


================================================
FILE: evmcc/address/converter_suite_test.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package address_test

import (
	"testing"

	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
)

func TestAddressgenerator(t *testing.T) {
	RegisterFailHandler(Fail)
	RunSpecs(t, "Addressgenerator Suite")
}


================================================
FILE: evmcc/address/converter_test.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package address_test

import (
	"encoding/hex"

	"github.com/gogo/protobuf/proto"
	"github.com/hyperledger/fabric-chaincode-evm/evmcc/address"
	"github.com/hyperledger/fabric/protos/msp"
	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
)

var _ = Describe("IdentityToAddr", func() {
	var (
		cert = `-----BEGIN CERTIFICATE-----
MIIB/zCCAaWgAwIBAgIRAKaex32sim4PQR6kDPEPVnwwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA3MjYwNDM1MDJaFw0yNzA3MjQwNDM1MDJaMEoxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMQ4wDAYDVQQDEwVwZWVyMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPzs
BSdIIB0GrKmKWn0N8mMfxWs2s1D6K+xvTvVJ3wUj3znNBxj+k2j2tpPuJUExt61s
KbpP3GF9/crEahpXXRajTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAA
MCsGA1UdIwQkMCKAIEvLfQX685pz+rh2q5yCA7e0a/a5IGDuJVHRWfp++HThMAoG
CCqGSM49BAMCA0gAMEUCIH5H9W3tsCrti6tsN9UfY1eeTKtExf/abXhfqfVeRChk
AiEA0GxTPOXVHo0gJpMbHc9B73TL5ZfDhujoDyjb8DToWPQ=
-----END CERTIFICATE-----`
		creator []byte
	)
	BeforeEach(func() {
		var err error
		creator, err = proto.Marshal(&msp.SerializedIdentity{IdBytes: []byte(cert)})
		Expect(err).ToNot(HaveOccurred())
	})

	It("returns a 160 bit address from a public key", func() {
		address, err := address.IdentityToAddr([]byte(creator))
		Expect(err).ToNot(HaveOccurred())

		Expect(hex.EncodeToString(address)).To(Equal("b3778bcee2b9c349702e5832928730d2aed0ac07"),
			"address generation has changed. Please update test.")
	})
})


================================================
FILE: evmcc/event/event.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package event

type Event struct {
	Address string
	Data    string
	Topics  []string
}


================================================
FILE: evmcc/eventmanager/eventmanager.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package eventmanager

import (
	"encoding/json"
	"fmt"
	"strings"

	"github.com/hyperledger/fabric-chaincode-evm/evmcc/event"
	"github.com/hyperledger/fabric/core/chaincode/shim"

	"github.com/hyperledger/burrow/execution/errors"
	"github.com/hyperledger/burrow/execution/evm"
	"github.com/hyperledger/burrow/execution/exec"
)

type EventManager struct {
	Stub       shim.ChaincodeStubInterface
	EventCache []event.Event
}

var _ evm.EventSink = &EventManager{}

type EventSink interface {
	Call(call *exec.CallEvent, exception *errors.Exception) error
	Log(log *exec.LogEvent) error
}

// Flush will marshal all collected events from the transaction
// and set as a singular Fabric event
//
// eventName is for fabric, typically the evm 8byte function hash
func (evmgr *EventManager) Flush(eventName string) error {
	if len(evmgr.EventCache) == 0 {
		return nil
	}
	payload, err := json.Marshal(evmgr.EventCache)
	if err != nil {
		return fmt.Errorf("Failed to marshal event messages: %s", err)
	}
	return evmgr.Stub.SetEvent(eventName, payload)
}

// Call for right now is a noop
// need to figure out what it means (burrow or evm)
func (evmgr *EventManager) Call(call *exec.CallEvent, exception *errors.Exception) error {
	return nil
}

// Log will take the given log message convert to a event type and
// append to the event manager's EventCache
func (evmgr *EventManager) Log(log *exec.LogEvent) error {
	e := event.Event{Address: strings.ToLower(log.Address.String()), Data: strings.ToLower(log.Data.String())}

	var topics []string
	for _, topic := range log.Topics {
		t, err := topic.MarshalText()
		if err != nil {
			return fmt.Errorf("Failed to Marshal Topic: %s", err)
		}
		topics = append(topics, strings.ToLower(string(t)))
	}
	e.Topics = topics

	evmgr.EventCache = append(evmgr.EventCache, e)

	return nil
}


================================================
FILE: evmcc/eventmanager/eventmanager_suite_test.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.
SPDX-License-Identifier: Apache-2.0
*/

package eventmanager_test

import (
	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"

	"testing"
)

func TestEventManager(t *testing.T) {
	RegisterFailHandler(Fail)
	RunSpecs(t, "EventManager Suite")
}


================================================
FILE: evmcc/eventmanager/eventmanager_test.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package eventmanager_test

import (
	"encoding/hex"
	"encoding/json"
	"errors"
	"strings"

	"github.com/hyperledger/burrow/binary"
	"github.com/hyperledger/burrow/crypto"
	"github.com/hyperledger/burrow/execution/exec"

	"github.com/hyperledger/fabric-chaincode-evm/evmcc/event"
	"github.com/hyperledger/fabric-chaincode-evm/evmcc/eventmanager"
	"github.com/hyperledger/fabric-chaincode-evm/evmcc/mocks"

	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
)

var _ = Describe("Event", func() {
	var (
		eventManager *eventmanager.EventManager
		mockStub     *mocks.MockStub
		addr         crypto.Address
		topics       []binary.Word256
		data         binary.HexBytes

		expectedTopics []string
		expectedData   string
	)

	BeforeEach(func() {
		mockStub = &mocks.MockStub{}
		eventManager = &eventmanager.EventManager{Stub: mockStub, EventCache: []event.Event{}}

		var err error
		addr, err = crypto.AddressFromBytes([]byte("000000000000addressz"))
		Expect(err).ToNot(HaveOccurred())

		topic1 := binary.RightPadWord256([]byte("topic-1z"))
		topic2 := binary.RightPadWord256([]byte("topic-2z"))
		topics = []binary.Word256{topic1, topic2}
		expectedTopics = []string{
			hex.EncodeToString(topic1.Bytes()),
			hex.EncodeToString(topic2.Bytes()),
		}

		data = []byte("sample-data")
		expectedData = hex.EncodeToString(data.Bytes())
	})

	Describe("Log", func() {
		var message *exec.LogEvent

		BeforeEach(func() {
			message = &exec.LogEvent{Address: addr, Data: data, Topics: topics}
		})

		It("appends the new message info into the eventCache", func() {
			originalLength := len(eventManager.EventCache)
			err := eventManager.Log(message)
			Expect(err).ToNot(HaveOccurred())
			newLength := len(eventManager.EventCache)
			Expect(newLength).To(Equal(originalLength + 1))
			Expect(eventManager.EventCache[newLength-1]).To(Equal(event.Event{
				Address: strings.ToLower(addr.String()),
				Data:    expectedData,
				Topics:  expectedTopics}))
		})
	})

	Describe("Call", func() {
		It("is a noop", func() {
			originalLength := len(eventManager.EventCache)

			err := eventManager.Call(&exec.CallEvent{}, nil)
			Expect(err).ToNot(HaveOccurred())
			Expect(eventManager.EventCache).To(HaveLen(originalLength))
		})
	})

	Describe("Flush", func() {
		var (
			message1 *exec.LogEvent
			message2 *exec.LogEvent
		)

		BeforeEach(func() {
			message1 = &exec.LogEvent{
				Address: addr,
			}
			message2 = &exec.LogEvent{
				Address: addr,
			}
		})

		Context("when a single event is emitted", func() {
			It("sets a new event with a single messageInfo object payload", func() {
				err := eventManager.Log(message1)
				Expect(err).ToNot(HaveOccurred())
				err = eventManager.Flush("Chaincode event")
				Expect(err).ToNot(HaveOccurred())

				messagePayloads := []event.Event{{Address: strings.ToLower(addr.String())}}
				expectedPayload, err := json.Marshal(messagePayloads)
				Expect(err).ToNot(HaveOccurred())

				Expect(mockStub.SetEventCallCount()).To(Equal(1))
				setEventName, setEventPayload := mockStub.SetEventArgsForCall(0)
				Expect(setEventName).To(Equal("Chaincode event"))
				Expect(setEventPayload).To(Equal(expectedPayload))
			})
		})

		Context("when multiple events are emitted", func() {
			It("sets a new event with a payload consisting of messageInfo objects marshaled together", func() {
				err := eventManager.Log(message1)
				Expect(err).ToNot(HaveOccurred())
				err = eventManager.Log(message2)
				Expect(err).ToNot(HaveOccurred())
				err = eventManager.Flush("Chaincode event")
				Expect(err).ToNot(HaveOccurred())

				messagePayloads := []event.Event{
					{Address: strings.ToLower(addr.String())},
					{Address: strings.ToLower(addr.String())},
				}
				expectedPayload, err := json.Marshal(messagePayloads)
				Expect(err).ToNot(HaveOccurred())

				Expect(mockStub.SetEventCallCount()).To(Equal(1))
				setEventName, setEventPayload := mockStub.SetEventArgsForCall(0)
				Expect(setEventName).To(Equal("Chaincode event"))
				Expect(setEventPayload).To(Equal(expectedPayload))
			})
		})

		Context("when the event name is invalid (empty string)", func() {
			BeforeEach(func() {
				mockStub.SetEventReturns(errors.New("error: nil event name"))
			})

			It("returns an error", func() {
				err := eventManager.Log(message1)
				Expect(err).ToNot(HaveOccurred())
				err1 := eventManager.Log(message2)
				Expect(err1).ToNot(HaveOccurred())
				er := eventManager.Flush("")
				Expect(er).To(HaveOccurred())
			})
		})
	})
})


================================================
FILE: evmcc/evmcc.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package main

import (
	"encoding/hex"
	"fmt"
	"strings"

	"github.com/hyperledger/burrow/acm"
	"github.com/hyperledger/burrow/crypto"
	"github.com/hyperledger/burrow/execution/evm"
	"github.com/hyperledger/burrow/logging"
	"github.com/hyperledger/burrow/permission"

	"github.com/hyperledger/fabric/common/flogging"
	"github.com/hyperledger/fabric/core/chaincode/shim"
	pb "github.com/hyperledger/fabric/protos/peer"

	"github.com/hyperledger/fabric-chaincode-evm/evmcc/address"
	"github.com/hyperledger/fabric-chaincode-evm/evmcc/eventmanager"
	"github.com/hyperledger/fabric-chaincode-evm/evmcc/statemanager"
)

//Permissions for all accounts (users & contracts) to send CallTx or SendTx to a contract
const ContractPermFlags = permission.Call | permission.Send | permission.CreateContract

var ContractPerms = permission.AccountPermissions{
	Base: permission.BasePermissions{
		Perms:  ContractPermFlags,
		SetBit: ContractPermFlags,
	},
}

var logger = flogging.MustGetLogger("evmcc")
var evmLogger = logging.NewNoopLogger()

type EvmChaincode struct{}

func (evmcc *EvmChaincode) Init(stub shim.ChaincodeStubInterface) pb.Response {
	logger.Debugf("Init evmcc, it's no-op")
	return shim.Success(nil)
}

func (evmcc *EvmChaincode) Invoke(stub shim.ChaincodeStubInterface) pb.Response {
	// We always expect 2 args: 'callee address, input data' or ' getCode ,  contract address'
	args := stub.GetArgs()

	if len(args) == 1 {
		if string(args[0]) == "account" {
			return evmcc.account(stub)
		}
	}

	if len(args) != 2 {
		return shim.Error(fmt.Sprintf("expects 2 args, got %d : %s", len(args), string(args[0])))
	}

	if string(args[0]) == "getCode" {
		return evmcc.getCode(stub, args[1])
	}

	c, err := hex.DecodeString(string(args[0]))
	if err != nil {
		return shim.Error(fmt.Sprintf("failed to decode callee address from %s: %s", string(args[0]), err))
	}

	calleeAddr, err := crypto.AddressFromBytes(c)
	if err != nil {
		return shim.Error(fmt.Sprintf("failed to get callee address: %s", err))
	}

	// get caller account from creator public key
	callerAddr, err := getCallerAddress(stub)
	if err != nil {
		return shim.Error(fmt.Sprintf("failed to get caller address: %s", err))
	}

	// get input bytes from args[1]
	input, err := hex.DecodeString(string(args[1]))
	if err != nil {
		return shim.Error(fmt.Sprintf("failed to decode input bytes: %s", err))
	}

	var gas uint64 = 10000
	state := statemanager.NewStateManager(stub)
	evmCache := evm.NewState(state, func(height uint64) []byte {
		// This function is to be used to return the block hash
		// Currently EVMCC does not support the BLOCKHASH opcode.
		// This function is only used for that opcode and will not
		// affect execution if BLOCKHASH is not called.
		panic("Block Hash shouldn't be called")
	})
	eventSink := &eventmanager.EventManager{Stub: stub}
	nonce := crypto.Nonce(callerAddr, []byte(stub.GetTxID()))
	vm := evm.NewVM(newParams(), callerAddr, nonce, evmLogger)

	if calleeAddr == crypto.ZeroAddress {
		logger.Debugf("Deploy contract")

		logger.Debugf("Contract nonce number = %d", nonce)
		contractAddr := crypto.NewContractAddress(callerAddr, nonce)
		// Contract account needs to be created before setting code to it
		evmCache.CreateAccount(contractAddr)
		if evmErr := evmCache.Error(); evmErr != nil {
			return shim.Error(fmt.Sprintf("failed to create the contract account: %s ", evmErr))
		}

		evmCache.SetPermission(contractAddr, ContractPermFlags, true)
		if evmErr := evmCache.Error(); evmErr != nil {
			return shim.Error(fmt.Sprintf("failed to set contract account permissions: %s ", evmErr))
		}

		rtCode, evmErr := vm.Call(evmCache, eventSink, callerAddr, contractAddr, input, input, 0, &gas)
		if evmErr != nil {
			return shim.Error(fmt.Sprintf("failed to deploy code: %s", evmErr))
		}
		if rtCode == nil {
			return shim.Error(fmt.Sprintf("nil bytecode"))
		}

		evmCache.InitCode(contractAddr, rtCode)
		if evmErr := evmCache.Error(); evmErr != nil {
			return shim.Error(fmt.Sprintf("failed to update contract account: %s", evmErr))
		}

		// Passing the first 4 bytes contract address just created
		// Since the bytes are not hex encoded, one byte will be represented
		// as 2 hex bytes, so the event name will be 8 hex bytes.
		// Hex Encode before flushing to ensure no non utf-8 characters
		// Otherwise proto marshal fails on non utf-8 characters when
		// the peer tries to marshal the event
		err := eventSink.Flush(hex.EncodeToString(contractAddr.Bytes()[0:4]))
		if err != nil {
			return shim.Error(fmt.Sprintf("error in Flush: %s", err))
		}

		if evmErr := evmCache.Sync(); evmErr != nil {
			return shim.Error(fmt.Sprintf("failed to sync: %s", evmErr))
		}
		// return encoded hex bytes for human-readability
		return shim.Success([]byte(hex.EncodeToString(contractAddr.Bytes())))
	} else {
		logger.Debugf("Invoke contract at %x", calleeAddr.Bytes())

		calleeCode := evmCache.GetCode(calleeAddr)
		if evmErr := evmCache.Error(); evmErr != nil {
			return shim.Error(fmt.Sprintf("failed to retrieve contract code: %s", evmErr))
		}

		output, evmErr := vm.Call(evmCache, eventSink, callerAddr, calleeAddr, calleeCode, input, 0, &gas)
		if evmErr != nil {
			return shim.Error(fmt.Sprintf("failed to execute contract: %s", evmErr))
		}

		// Passing the function hash of the method that has triggered the event
		// The function hash is the first 8 bytes of the Input argument
		// The argument is a hex-encoded evm function hash, so we can directly pass the bytes
		err := eventSink.Flush(string(args[1][0:8]))
		if err != nil {
			return shim.Error(fmt.Sprintf("error in Flush: %s", err))
		}

		// Sync is required for evm to send writes to the statemanager.
		if evmErr := evmCache.Sync(); evmErr != nil {
			return shim.Error(fmt.Sprintf("failed to sync: %s", evmErr))
		}

		return shim.Success(output)
	}
}

func (evmcc *EvmChaincode) getCode(stub shim.ChaincodeStubInterface, address []byte) pb.Response {
	c, err := hex.DecodeString(string(address))
	if err != nil {
		return shim.Error(fmt.Sprintf("failed to decode callee address from %s: %s", string(address), err))
	}

	calleeAddr, err := crypto.AddressFromBytes(c)
	if err != nil {
		return shim.Error(fmt.Sprintf("failed to get callee address: %s", err))
	}

	acctBytes, err := stub.GetState(strings.ToLower(calleeAddr.String()))
	if err != nil {
		return shim.Error(fmt.Sprintf("failed to get contract account: %s", err))
	}

	if len(acctBytes) == 0 {
		return shim.Success(acctBytes)
	}

	acct, err := acm.Decode(acctBytes)
	if err != nil {
		return shim.Error(fmt.Sprintf("failed to decode contract account: %s", err))
	}

	return shim.Success([]byte(hex.EncodeToString(acct.Code.Bytes())))
}

func (evmcc *EvmChaincode) account(stub shim.ChaincodeStubInterface) pb.Response {
	callerAddr, err := getCallerAddress(stub)
	if err != nil {
		return shim.Error(fmt.Sprintf("fail to convert identity to address: %s", err))
	}
	return shim.Success([]byte(callerAddr.String()))
}

func newParams() evm.Params {
	return evm.Params{
		BlockHeight: 0,
		BlockTime:   0,
		GasLimit:    0,
	}
}

func getCallerAddress(stub shim.ChaincodeStubInterface) (crypto.Address, error) {
	creatorBytes, err := stub.GetCreator()
	if err != nil {
		return crypto.ZeroAddress, fmt.Errorf("failed to get creator: %s", err)
	}

	callerAddr, err := address.IdentityToAddr(creatorBytes)
	if err != nil {
		return crypto.ZeroAddress, fmt.Errorf("fail to convert identity to address: %s", err)
	}

	return crypto.AddressFromBytes(callerAddr)
}

func main() {
	if err := shim.Start(new(EvmChaincode)); err != nil {
		logger.Infof("Error starting EVM chaincode: %s", err)
	}
}


================================================
FILE: evmcc/evmcc_suite_test.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package main_test

import (
	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"

	"testing"
)

func TestPlugin(t *testing.T) {
	RegisterFailHandler(Fail)
	RunSpecs(t, "EVMCC Suite")
}


================================================
FILE: evmcc/evmcc_test.go
================================================
/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package main_test

import (
	"encoding/hex"
	"encoding/json"
	"fmt"
	"strings"
	"unicode/utf8"

	"github.com/gogo/protobuf/proto"
	"github.com/hyperledger/burrow/acm"
	"github.com/hyperledger/burrow/crypto"
	"github.com/hyperledger/burrow/permission"
	evm "github.com/hyperledger/fabric-chaincode-evm/evmcc"
	"github.com/hyperledger/fabric/core/chaincode/shim"
	"github.com/hyperledger/fabric/protos/msp"

	"github.com/hyperledger/fabric-chaincode-evm/evmcc/address"
	"github.com/hyperledger/fabric-chaincode-evm/evmcc/event"
	"github.com/hyperledger/fabric-chaincode-evm/evmcc/mocks"

	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
)

var _ = Describe("evmcc", func() {
	marshalCreator := func(mspId string, certByte []byte) []byte {
		b, err := proto.Marshal(&msp.SerializedIdentity{Mspid: mspId, IdBytes: certByte})
		if err != nil || b == nil {
			panic("Failed to marshal identity ")
		}
		return b
	}

	var (
		evmcc      shim.Chaincode
		stub       *mocks.MockStub
		fakeLedger map[string][]byte
		nonce      uint64
	)

	BeforeEach(func() {
		evmcc = &evm.EvmChaincode{}
		stub = &mocks.MockStub{}
		fakeLedger = make(map[string][]byte)

		stub.PutStateStub = func(key string, value []byte) error {
			fakeLedger[key] = value
			return nil
		}

		stub.GetStateStub = func(key string) ([]byte, error) {
			return fakeLedger[key], nil
		}

		stub.DelStateStub = func(key string) error {
			delete(fakeLedger, key)
			return nil
		}

		//TxID is used to create a nonce which is used to create contract addresses
		stub.GetTxIDStub = func() string {
			nonce = nonce + 1
			return fmt.Sprintf("%d", nonce)
		}

		// Real stub will error on non utf8 characters
		stub.SetEventStub = func(eventName string, _ []byte) error {
			Expect(utf8.ValidString(eventName)).To(BeTrue())
			return nil
		}

	})

	Describe("Init", func() {
		It("returns an OK response", func() {
			res := evmcc.Init(stub)
			Expect(res.Status).To(Equal(int32(shim.OK)))
			Expect(res.Payload).To(Equal([]byte(nil)))
		})
	})

	Describe("Invoke", func() {
		var (
			user0Cert = `-----BEGIN CERTIFICATE-----
MIIB/zCCAaWgAwIBAgIRAKaex32sim4PQR6kDPEPVnwwCgYIKoZIzj0EAwIwaTEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xFDASBgNVBAoTC2V4YW1wbGUuY29tMRcwFQYDVQQDEw5jYS5leGFt
cGxlLmNvbTAeFw0xNzA3MjYwNDM1MDJaFw0yNzA3MjQwNDM1MDJaMEoxCzAJBgNV
BAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1TYW4gRnJhbmNp
c2NvMQ4wDAYDVQQDEwVwZWVyMDBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABPzs
BSdIIB0GrKmKWn0N8mMfxWs2s1D6K+xvTvVJ3wUj3znNBxj+k2j2tpPuJUExt61s
KbpP3GF9/crEahpXXRajTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAA
MCsGA1UdIwQkMCKAIEvLfQX685pz+rh2q5yCA7e0a/a5IGDuJVHRWfp++HThMAoG
CCqGSM49BAMCA0gAMEUCIH5H9W3tsCrti6tsN9UfY1eeTKtExf/abXhfqfVeRChk
AiEA0GxTPOXVHo0gJpMbHc9B73TL5ZfDhujoDyjb8DToWPQ=
-----END CERTIFICATE-----`

			creator = marshalCreator("TestOrg", []byte(user0Cert))

			/* Sample App from https://solidity.readthedocs.io/en/develop/introduction-to-smart-contracts.html#storage
			   pragma solidity ^0.4.0;
			   contract SimpleStorage {
			     uint storedData;
			   	function set(uint x) public {
			   	  storedData = x;
			   	}
			   	function get() public constant returns (uint) {
			   	  return storedData;
			   	}
			   }
			*/

			deployCode  = []byte("6060604052341561000f57600080fd5b60d38061001d6000396000f3006060604052600436106049576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806360fe47b114604e5780636d4ce63c14606e575b600080fd5b3415605857600080fd5b606c60048080359060200190919050506094565b005b3415607857600080fd5b607e609e565b6040518082815260200191505060405180910390f35b8060008190555050565b600080549050905600a165627a7a72305820122f55f799d70b5f6dbfd4312efb65cdbfaacddedf7c36249b8b1e915a8dd85b0029")
			runtimeCode = "6060604052600436106049576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806360fe47b114604e5780636d4ce63c14606e575b600080fd5b3415605857600080fd5b606c60048080359060200190919050506094565b005b3415607857600080fd5b607e609e565b6040518082815260200191505060405180910390f35b8060008190555050565b600080549050905600a165627a7a72305820122f55f799d70b5f6dbfd4312efb65cdbfaacddedf7c36249b8b1e915a8dd85b0029"
		)

		BeforeEach(func() {
			// Set contract creator
			stub.GetCreatorReturns(creator, nil)
		})

		It("will create and store the runtime bytecode from the deploy bytecode in a contract account with the correct permsissions", func() {
			// zero address, and deploy code is contract creation
			stub.GetArgsReturns([][]byte{[]byte(crypto.ZeroAddress.String()), deployCode})
			res := evmcc.Invoke(stub)
			Expect(res.Status).To(Equal(int32(shim.OK)))

			// PutState Call is for setting the code for the contract account
			Expect(stub.PutStateCallCount()).To(Equal(1))

			value := fakeLedger[string(res.Payload)]
			contractAcct, err := acm.Decode(value)
			Expect(err).ToNot(HaveOccurred())

			Expect(hex.EncodeToString(contractAcct.Code.Bytes())).To(Equal(runtimeCode))
			Expect(hex.EncodeToString(contractAcct.Address.Bytes())).To(Equal(string(res.Payload)))

			Expect(contractAcct.Permissions).To(Equal(evm.ContractPerms))
			expectedPerms := permission.Call | permission.Send | permission.CreateContract
			Expect(contractAcct.Permissions.Base.Perms).To(Equal(expectedPerms))
			Expect(contractAcct.Permissions.Base.SetBit).To(Equal(expectedPerms))
		})

		Context("when a contract has already been deployed", func() {
			var (
				contractAddress crypto.Address
				SET             = "60fe47b1"
				GET             = "6d4ce63c"
			)

			BeforeEach(func() {
				// zero address, and deploy code is contract creation
				stub.GetArgsReturns([][]byte{[]byte(crypto.ZeroAddress.String()), deployCode})
				res := evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))

				// PutState Call is for setting the code for the contract account
				Expect(stub.PutStateCallCount()).To(Equal(1))

				var err error
				contractAddress, err = crypto.AddressFromHexString(string(res.Payload))
				Expect(err).ToNot(HaveOccurred())
			})

			It("can run the methods of the contract", func() {
				stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(GET)})
				res := evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))
				Expect(hex.EncodeToString(res.Payload)).To(Equal("0000000000000000000000000000000000000000000000000000000000000000"))

				stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(SET + "000000000000000000000000000000000000000000000000000000000000002a")})
				res = evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))

				stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(GET)})
				res = evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))
				Expect(hex.EncodeToString(res.Payload)).To(Equal("000000000000000000000000000000000000000000000000000000000000002a"))
			})

			Context("when another contract is deployed", func() {
				BeforeEach(func() {
					stub.GetArgsReturns([][]byte{[]byte(crypto.ZeroAddress.String()), deployCode})
				})

				It("creates a new contract and returns another contract address", func() {
					res := evmcc.Invoke(stub)
					Expect(res.Status).To(Equal(int32(shim.OK)))
					Expect(string(res.Payload)).ToNot(Equal(string(contractAddress.Bytes())))
				})
			})

		})

		Context("when more than 2 args are given", func() {
			BeforeEach(func() {
				stub.GetArgsReturns([][]byte{[]byte("arg1"), []byte("arg2"), []byte("arg3")})
			})

			It("returns an error", func() {
				res := evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.ERROR)))
				Expect(res.Message).To(ContainSubstring("expects 2 args"))
			})
		})

		Context("when less than 2 args are given", func() {
			Context("when only one argument is given", func() {
				Context("when the argument is account", func() {
					var callerAddress crypto.Address

					BeforeEach(func() {
						stub.GetArgsReturns([][]byte{[]byte("account")})
						stub.GetCreatorReturns(creator, nil)

						addr, err := address.IdentityToAddr(creator)
						Expect(err).ToNot(HaveOccurred())
						callerAddress, err = crypto.AddressFromBytes(addr)
						Expect(err).ToNot(HaveOccurred())
					})

					It("will return the caller address of the contract", func() {
						res := evmcc.Invoke(stub)
						Expect(res.Status).To(Equal(int32(shim.OK)))
						Expect(string(res.Payload)).To(Equal(callerAddress.String()))
					})
				})

				Context("when the argument is not account", func() {
					BeforeEach(func() {
						stub.GetArgsReturns([][]byte{[]byte("arg1")})
					})

					It("returns an error", func() {
						res := evmcc.Invoke(stub)
						Expect(res.Status).To(Equal(int32(shim.ERROR)))
						Expect(res.Message).To(ContainSubstring("expects 2 args"))
					})
				})
			})

			Context("when no argument is given", func() {
				BeforeEach(func() {
					stub.GetArgsReturns([][]byte{[]byte("")})
				})

				It("returns an error", func() {
					res := evmcc.Invoke(stub)
					Expect(res.Status).To(Equal(int32(shim.ERROR)))
					Expect(res.Message).To(ContainSubstring("expects 2 args"))
				})
			})
		})

		Context("when getCode is the first arg provided", func() {
			Context("when requested contract address exists", func() {
				BeforeEach(func() {
					// zero address, and deploy code is contract creation
					stub.GetArgsReturns([][]byte{[]byte(crypto.ZeroAddress.String()), deployCode})
					res := evmcc.Invoke(stub)
					Expect(res.Status).To(Equal(int32(shim.OK)))

					// PutState Call is for setting the code for the contract account
					Expect(stub.PutStateCallCount()).To(Equal(1))

					contractAddress, err := crypto.AddressFromHexString(string(res.Payload))
					Expect(err).ToNot(HaveOccurred())

					//Set the args for the Invoke Call to be "getCode, contractAddress"
					stub.GetArgsReturns([][]byte{[]byte("getCode"), []byte(contractAddress.String())})
				})

				It("will return the runtime bytecode of the contract", func() {
					res := evmcc.Invoke(stub)
					Expect(res.Status).To(Equal(int32(shim.OK)))
					Expect(string(res.Payload)).To(Equal(runtimeCode))
				})

			})

			Context("when queried contract address does not exist", func() {
				BeforeEach(func() {
					//No contracts exists currently so no contract addresses exist
					stub.GetArgsReturns([][]byte{[]byte("getCode"), []byte("0000000000000000000000000000000000000001")})
				})

				It("does not error and returns empty bytes", func() {
					res := evmcc.Invoke(stub)
					Expect(res.Status).To(Equal(int32(shim.OK)))
					Expect(string(res.Payload)).To(BeEmpty())
				})
			})

			Context("when the queried contract address is malformed", func() {
				BeforeEach(func() {
					stub.GetArgsReturns([][]byte{[]byte("getCode"), []byte("malformed-address")})
				})

				It("returns an error", func() {
					res := evmcc.Invoke(stub)
					Expect(res.Status).To(Equal(int32(shim.ERROR)))
					Expect(res.Message).To(ContainSubstring("failed to decode callee address"))
				})
			})
		})

		Describe("Voting DApp", func() {
			var (
				/* Voting App from https://solidity.readthedocs.io/en/develop/solidity-by-example.html#voting
				pragma solidity ^0.4.16;
				/// @title Voting with delegation.
				contract Ballot {
				    // This declares a new complex type which will
				    // be used for variables later.
				    // It will represent a single voter.
				    struct Voter {
				        uint weight; // weight is accumulated by delegation
				        bool voted;  // if true, that person already voted
				        address delegate; // person delegated to
				        uint vote;   // index of the voted proposal
				    }
				    // This is a type for a single proposal.
				    struct Proposal {
				        bytes32 name;   // short name (up to 32 bytes)
				        uint voteCount; // number of accumulated votes
				    }
				    address public chairperson;
				    // This declares a state variable that
				    // stores a `Voter` struct for each possible address.
				    mapping(address => Voter) public voters;
				    // A dynamically-sized array of `Proposal` structs.
				    Proposal[] public proposals;
				    /// Create a new ballot to choose one of `proposalNames`.
				    function Ballot(bytes32[] proposalNames) public {
				        chairperson = msg.sender;
				        voters[chairperson].weight = 1;
				        // For each of the provided proposal names,
				        // create a new proposal object and add it
				        // to the end of the array.
				        for (uint i = 0; i < proposalNames.length; i++) {
				            // `Proposal({...})` creates a temporary
				            // Proposal object and `proposals.push(...)`
				            // appends it to the end of `proposals`.
				            proposals.push(Proposal({
				                name: proposalNames[i],
				                voteCount: 0
				            }));
				        }
				    }
				    // Give `voter` the right to vote on this ballot.
				    // May only be called by `chairperson`.
				    function giveRightToVote(address voter) public {
				        // If the argument of `require` evaluates to `false`,
				        // it terminates and reverts all changes to
				        // the state and to Ether balances. It is often
				        // a good idea to use this if functions are
				        // called incorrectly. But watch out, this
				        // will currently also consume all provided gas
				        // (this is planned to change in the future).
				        require((msg.sender == chairperson) && !voters[voter].voted && (voters[voter].weight == 0));
				        voters[voter].weight = 1;
				    }
				    /// Delegate your vote to the voter `to`.
				    function delegate(address to) public {
				        // assigns reference
				        Voter storage sender = voters[msg.sender];
				        require(!sender.voted);
				        // Self-delegation is not allowed.
				        require(to != msg.sender);
				        // Forward the delegation as long as
				        // `to` also delegated.
				        // In general, such loops are very dangerous,
				        // because if they run too long, they might
				        // need more gas than is available in a block.
				        // In this case, the delegation will not be executed,
				        // but in other situations, such loops might
				        // cause a contract to get "stuck" completely.
				        while (voters[to].delegate != address(0)) {
				            to = voters[to].delegate;
				            // We found a loop in the delegation, not allowed.
				            require(to != msg.sender);
				        }
				        // Since `sender` is a reference, this
				        // modifies `voters[msg.sender].voted`
				        sender.voted = true;
				        sender.delegate = to;
				        Voter storage delegate = voters[to];
				        if (delegate.voted) {
				            // If the delegate already voted,
				            // directly add to the number of votes
				            proposals[delegate.vote].voteCount += sender.weight;
				        } else {
				            // If the delegate did not vote yet,
				            // add to her weight.
				            delegate.weight += sender.weight;
				        }
				    }
				    /// Give your vote (including votes delegated to you)
				    /// to proposal `proposals[proposal].name`.
				    function vote(uint proposal) public {
				        Voter storage sender = voters[msg.sender];
				        require(!sender.voted);
				        sender.voted = true;
				        sender.vote = proposal;
				        // If `proposal` is out of the range of the array,
				        // this will throw automatically and revert all
				        // changes.
				        proposals[proposal].voteCount += sender.weight;
				    }
				    /// @dev Computes the winning proposal taking all
				    /// previous votes into account.
				    function winningProposal() public view
				            returns (uint winningProposal)
				    {
				        uint winningVoteCount = 0;
				        for (uint p = 0; p < proposals.length; p++) {
				            if (proposals[p].voteCount > winningVoteCount) {
				                winningVoteCount = proposals[p].voteCount;
				                winningProposal = p;
				            }
				        }
				    }
				    // Calls winningProposal() function to get the index
				    // of the winner contained in the proposals array and then
				    // returns the name of the winner
				    function winnerName() public view
				            returns (bytes32 winnerName)
				    {
				        winnerName = proposals[winningProposal()].name;
				    }
				}
				*/
				contractByteCode = "6060604052341561000f57600080fd5b604051610b0b380380610b0b833981016040528080518201919050506000336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060018060008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000181905550600090505b815181101561016757600280548060010182816100f7919061016e565b916000526020600020906002020160006040805190810160405280868681518110151561012057fe5b9060200190602002015160001916815260200160008152509091909150600082015181600001906000191690556020820151816001015550505080806001019150506100da565b50506101cf565b81548183558181151161019b5760020281600202836000526020600020918201910161019a91906101a0565b5b505050565b6101cc91905b808211156101c8576000808201600090556001820160009055506002016101a6565b5090565b90565b61092d806101de6000396000f30060606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630121b93f14610093578063013cf08b146100b65780632e4176cf146100fc5780635c19a95c14610151578063609ff1bd1461018a5780639e7b8d61146101b3578063a3ec138d146101ec578063e2ba53f01461027e575b600080fd5b341561009e57600080fd5b6100b460048080359060200190919050506102af565b005b34156100c157600080fd5b6100d7600480803590602001909190505061036c565b6040518083600019166000191681526020018281526020019250505060405180910390f35b341561010757600080fd5b61010f61039f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561015c57600080fd5b610188600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506103c4565b005b341561019557600080fd5b61019d6106ae565b6040518082815260200191505060405180910390f35b34156101be57600080fd5b6101ea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610729565b005b34156101f757600080fd5b610223600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610875565b60405180858152602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b341561028957600080fd5b6102916108d2565b60405180826000191660001916815260200191505060405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff1615151561031057600080fd5b60018160010160006101000a81548160ff021916908315150217905550818160020181905550806000015460028381548110151561034a57fe5b9060005260206000209060020201600101600082825401925050819055505050565b60028181548110151561037b57fe5b90600052602060002090600202016000915090508060000154908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091508160010160009054906101000a900460ff1615151561042657600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561046157600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561059f57600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561059a57600080fd5b610462565b60018260010160006101000a81548160ff021916908315150217905550828260010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156106925781600001546002826002015481548110151561066f57fe5b9060005260206000209060020201600101600082825401925050819055506106a9565b816000015481600001600082825401925050819055505b505050565b6000806000809150600090505b60028054905081101561072457816002828154811015156106d857fe5b9060005260206000209060020201600101541115610717576002818154811015156106ff57fe5b90600052602060002090600202016001015491508092505b80806001019150506106bb565b505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156107d25750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16155b801561082057506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154145b151561082b57600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905084565b600060026108de6106ae565b8154811015156108ea57fe5b9060005260206000209060020201600001549050905600a165627a7a723058209216e84efeb17007ba61a1573380cb306de0e38c64eb02e0f9362367121816080029"
				runtimeByteCode  = "60606040526004361061008e576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680630121b93f14610093578063013cf08b146100b65780632e4176cf146100fc5780635c19a95c14610151578063609ff1bd1461018a5780639e7b8d61146101b3578063a3ec138d146101ec578063e2ba53f01461027e575b600080fd5b341561009e57600080fd5b6100b460048080359060200190919050506102af565b005b34156100c157600080fd5b6100d7600480803590602001909190505061036c565b6040518083600019166000191681526020018281526020019250505060405180910390f35b341561010757600080fd5b61010f61039f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561015c57600080fd5b610188600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506103c4565b005b341561019557600080fd5b61019d6106ae565b6040518082815260200191505060405180910390f35b34156101be57600080fd5b6101ea600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610729565b005b34156101f757600080fd5b610223600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610875565b60405180858152602001841515151581526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200194505050505060405180910390f35b341561028957600080fd5b6102916108d2565b60405180826000191660001916815260200191505060405180910390f35b6000600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff1615151561031057600080fd5b60018160010160006101000a81548160ff021916908315150217905550818160020181905550806000015460028381548110151561034a57fe5b9060005260206000209060020201600101600082825401925050819055505050565b60028181548110151561037b57fe5b90600052602060002090600202016000915090508060000154908060010154905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002091508160010160009054906101000a900460ff1615151561042657600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561046157600080fd5b5b600073ffffffffffffffffffffffffffffffffffffffff16600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561059f57600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692503373ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415151561059a57600080fd5b610462565b60018260010160006101000a81548160ff021916908315150217905550828260010160016101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002090508060010160009054906101000a900460ff16156106925781600001546002826002015481548110151561066f57fe5b9060005260206000209060020201600101600082825401925050819055506106a9565b816000015481600001600082825401925050819055505b505050565b6000806000809150600090505b60028054905081101561072457816002828154811015156106d857fe5b9060005260206000209060020201600101541115610717576002818154811015156106ff57fe5b90600052602060002090600202016001015491508092505b80806001019150506106bb565b505090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161480156107d25750600160008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010160009054906101000a900460ff16155b801561082057506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000154145b151561082b57600080fd5b60018060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000018190555050565b60016020528060005260406000206000915090508060000154908060010160009054906101000a900460ff16908060010160019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060020154905084565b600060026108de6106ae565b8154811015156108ea57fe5b9060005260206000209060020201600001549050905600a165627a7a723058209216e84efeb17007ba61a1573380cb306de0e38c64eb02e0f9362367121816080029"
				// encoded bytes for ["a", "b"]
				// It consists of four elements which take byte32 each:
				// - 0x20 the location of data
				// - 0x2  the length of array
				// - 0x61 left-aligned 'a'
				// - 0x62 left-aligned 'b'
				constructorArgs = "0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000261000000000000000000000000000000000000000000000000000000000000006200000000000000000000000000000000000000000000000000000000000000"

				// Method hash
				giveRightToVote = "9e7b8d61"
				proposals       = "013cf08b"
				vote            = "0121b93f"
				winnerName      = "e2ba53f0"
				voters          = "a3ec138d"

				user1Cert = `-----BEGIN CERTIFICATE-----
MIICGTCCAcCgAwIBAgIRAOdmptMzz5y0A9GOgFLxRNcwCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTgwMjEyMDY0MDMyWhcNMjgwMjEwMDY0MDMy
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAb3JnMS5leGFtcGxlLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABEwsU2N6Kqrtl73S7+7/nD/LTfDFVWO4
q3MTtbckd6MH2zTUj9idLoaQ5VNGJVTRRPs+O6bxlvl0Mitu1rcXFoyjTTBLMA4G
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIKtXuAgSGNzS
0Yz91W08FSieahwkOU7pWJvh86pkNuxSMAoGCCqGSM49BAMCA0cAMEQCIDOGUUvv
SgCqSQONblgBtkKuKgN36VgX+jLhZbaqMNAtAiBXiAHbgYdu3UHBVJwdTYxuFTWJ
Vc4foA7mruwjI8sEng==
-----END CERTIFICATE-----`

				user2Cert = `-----BEGIN CERTIFICATE-----
MIICGDCCAb+gAwIBAgIQMhSPvpu4KGobIvRGEGnZojAKBggqhkjOPQQDAjBzMQsw
CQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy
YW5jaXNjbzEZMBcGA1UEChMQb3JnMi5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu
b3JnMi5leGFtcGxlLmNvbTAeFw0xODAyMTIwNjQwMzJaFw0yODAyMTAwNjQwMzJa
MFsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T
YW4gRnJhbmNpc2NvMR8wHQYDVQQDDBZVc2VyMUBvcmcyLmV4YW1wbGUuY29tMFkw
EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE6mVSTODH+CUZk7/rU+MtycF610ifj0pT
gXGYgJXLLcWbGAC1/ADE8rgq+zihgStD9rnwk0XMitXvqYbIhR0EEqNNMEswDgYD
VR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwKwYDVR0jBCQwIoAg1NNSEgEmJaVF
hk5bEaOs6HQS2PFt/VMeXrBUwIGDSogwCgYIKoZIzj0EAwIDRwAwRAIgY6k7AARJ
yJINhf9ub8QcQiMnrTgD4kmhjh5ey8E7fVACIA/i396+beIk0T0c8loygaCiftyG
H8GZeN2ifTyJzzGo
-----END CERTIFICATE-----`

				user1 = marshalCreator("TestOrg", []byte(user1Cert))
				user2 = marshalCreator("TestOrg", []byte(user2Cert))

				deployCode      []byte
				contractAddress crypto.Address
			)

			BeforeEach(func() {
				deployCode = []byte(contractByteCode + constructorArgs)

				// zero address, and deploy code is contract creation
				stub.GetArgsReturns([][]byte{[]byte(crypto.ZeroAddress.String()), deployCode})
				res := evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))

				//check that contract account has been created
				value := fakeLedger[string(res.Payload)]
				contractAcct, err := acm.Decode(value)
				Expect(err).ToNot(HaveOccurred())
				Expect(hex.EncodeToString(contractAcct.Code.Bytes())).To(Equal(runtimeByteCode))

				contractAddress, err = crypto.AddressFromHexString(string(res.Payload))
				Expect(err).ToNot(HaveOccurred())
			})

			It("is able to properly initialize proposals through constructor", func() {
				//invoke proposals(x) to see if constructor args are properly stored
				stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(proposals + "0000000000000000000000000000000000000000000000000000000000000000")})
				res := evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))
				Expect(hex.EncodeToString(res.Payload)).To(Equal("61000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"))

				stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(proposals + "0000000000000000000000000000000000000000000000000000000000000001")})
				res = evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))
				Expect(hex.EncodeToString(res.Payload)).To(Equal("62000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"))
			})

			Context("when user1 is given right to vote", func() {
				var baseCallCount int

				BeforeEach(func() {
					addr, err := address.IdentityToAddr([]byte(user1))
					Expect(err).ToNot(HaveOccurred())
					user1Addr, err := crypto.AddressFromBytes(addr)
					Expect(err).ToNot(HaveOccurred())
					stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(giveRightToVote + hex.EncodeToString(user1Addr.Word256().Bytes()))})
					res := evmcc.Invoke(stub)
					Expect(res.Status).To(Equal(int32(shim.OK)))

					baseCallCount = stub.PutStateCallCount()
				})

				Context("when user1 votes for proposal 'a'", func() {
					BeforeEach(func() {

						stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(vote + "0000000000000000000000000000000000000000000000000000000000000000")})
						stub.GetCreatorReturns(user1, nil)
						res := evmcc.Invoke(stub)
						Expect(res.Status).To(Equal(int32(shim.OK)))
						Expect(stub.PutStateCallCount()).To(Equal(baseCallCount+5), "`vote` should perform 5 writes: contract account, length of proposals, sender.voted, sender.vote, voteCount")
					})

					It("sets the variables of voter 1 (user1) properly", func() {
						addr, err := address.IdentityToAddr([]byte(user1))
						Expect(err).ToNot(HaveOccurred())
						user1addr, err := crypto.AddressFromBytes(addr)
						Expect(err).ToNot(HaveOccurred())
						stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(voters + hex.EncodeToString(user1addr.Word256().Bytes()))})
						res := evmcc.Invoke(stub)
						Expect(res.Status).To(Equal(int32(shim.OK)))
						Expect(hex.EncodeToString(res.Payload)).To(Equal("0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"))
					})

					It("increments vote count of proposal 'a'", func() {
						stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(proposals + "0000000000000000000000000000000000000000000000000000000000000000")})
						res := evmcc.Invoke(stub)
						Expect(res.Status).To(Equal(int32(shim.OK)))
						Expect(hex.EncodeToString(res.Payload)).To(Equal("61000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001"))
					})

					It("should make proposal 'a' winner", func() {
						stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(winnerName)})
						res := evmcc.Invoke(stub)
						Expect(res.Status).To(Equal(int32(shim.OK)))
						Expect(hex.EncodeToString(res.Payload)).To(Equal("6100000000000000000000000000000000000000000000000000000000000000"))
					})
				})

				Context("when user2 votes for proposal 'a'", func() {
					BeforeEach(func() {
						stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(vote + "0000000000000000000000000000000000000000000000000000000000000000")})
						stub.GetCreatorReturns(user2, nil)
						res := evmcc.Invoke(stub)
						baseCallCount = stub.PutStateCallCount()
						Expect(res.Status).To(Equal(int32(shim.OK)))
						Expect(stub.PutStateCallCount()).To(Equal(baseCallCount), "require(!sender.voted) should fail, therefore NO write should be performed")
					})

					It("does not increment vote count of proposal 'a'", func() {
						stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(proposals + "0000000000000000000000000000000000000000000000000000000000000000")})
						res := evmcc.Invoke(stub)
						Expect(stub.PutStateCallCount()).To(Equal(baseCallCount), "query should not write to ledger")
						Expect(res.Status).To(Equal(int32(shim.OK)))
						Expect(hex.EncodeToString(res.Payload)).To(Equal("61000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"))
					})
				})
			})
		})

		Context("when a smart contract has events", func() {
			var (
				userCert = `-----BEGIN CERTIFICATE-----
MIICGTCCAcCgAwIBAgIRAOdmptMzz5y0A9GOgFLxRNcwCgYIKoZIzj0EAwIwczEL
MAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3JuaWExFjAUBgNVBAcTDVNhbiBG
cmFuY2lzY28xGTAXBgNVBAoTEG9yZzEuZXhhbXBsZS5jb20xHDAaBgNVBAMTE2Nh
Lm9yZzEuZXhhbXBsZS5jb20wHhcNMTgwMjEyMDY0MDMyWhcNMjgwMjEwMDY0MDMy
WjBbMQswCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMN
U2FuIEZyYW5jaXNjbzEfMB0GA1UEAwwWVXNlcjFAb3JnMS5leGFtcGxlLmNvbTBZ
MBMGByqGSM49AgEGCCqGSM49AwEHA0IABEwsU2N6Kqrtl73S7+7/nD/LTfDFVWO4
q3MTtbckd6MH2zTUj9idLoaQ5VNGJVTRRPs+O6bxlvl0Mitu1rcXFoyjTTBLMA4G
A1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1UdIwQkMCKAIKtXuAgSGNzS
0Yz91W08FSieahwkOU7pWJvh86pkNuxSMAoGCCqGSM49BAMCA0cAMEQCIDOGUUvv
SgCqSQONblgBtkKuKgN36VgX+jLhZbaqMNAtAiBXiAHbgYdu3UHBVJwdTYxuFTWJ
Vc4foA7mruwjI8sEng==
-----END CERTIFICATE-----`

				creator = marshalCreator("TestOrg", []byte(userCert))

				/*
					pragma solidity ^0.5.0;
					contract Instructor {
					  bytes32 fName;
					  uint age;
					  uint salary;
					  event Setter(bytes32 indexed name, uint age, uint salary);

					  constructor (bytes32 _fName, uint _age, uint _salary) public{
					     fName = _fName;
					    age = _age;
					    salary = _salary;
					    emit Setter(_fName,age, _salary);
					  }

					  function setInstructor(bytes32 _fName, uint _age, uint _salary) public {
					    fName = _fName;
					    age = _age;
					    salary = _salary;
					    emit Setter(_fName,age, _salary);
					  }
					  function getInstructor() public view returns (bytes32, uint, uint) {
					    return (fName, age, salary);
					  }
					}
				*/

				deployCode      = "608060405234801561001057600080fd5b506040516060806102318339810180604052606081101561003057600080fd5b81019080805190602001909291908051906020019092919080519060200190929190505050826000819055508160018190555080600281905550827fe920a6ca2d94687457e136223552305dbabca6f28cf9c65d18efc2193a2369b060015483604051808381526020018281526020019250505060405180910390a2505050610173806100be6000396000f3fe608060405260043610610046576000357c01000000000000000000000000000000000000000000000000000000009004806331fb1dff1461004b5780633c1b81a51461009a575b600080fd5b34801561005757600080fd5b506100986004803603606081101561006e57600080fd5b810190808035906020019092919080359060200190929190803590602001909291905050506100d3565b005b3480156100a657600080fd5b506100af61012f565b60405180848152602001838152602001828152602001935050505060405180910390f35b826000819055508160018190555080600281905550827fe920a6ca2d94687457e136223552305dbabca6f28cf9c65d18efc2193a2369b060015483604051808381526020018281526020019250505060405180910390a2505050565b6000806000805460015460025492509250925090919256fea165627a7a7230582088a8a452846106497d409e8648e2531064fb1c0702cbd2fe4a67ed90f0aa3e490029"
				contractAddress crypto.Address
				SET             = "31fb1dff" //"setInstructor(bytes32,uint256,uint256)"
				GET             = "3c1b81a5" //"getInstructor()"
				msg             event.Event
				messagePayloads []event.Event
			)

			Context("when a contract has events in the constructor", func() {
				It("sets a chaincode event", func() {
					// Set contract creator
					stub.GetCreatorReturns(creator, nil)

					// First arg is the hex encoded name "Pam"
					// Second arg is the hex encoded value 30
					// Third arg is the hex encoded value 20000
					stub.GetArgsReturns([][]byte{[]byte(crypto.ZeroAddress.String()), []byte(deployCode + "50616d0000000000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000001e" + "0000000000000000000000000000000000000000000000000000000000004e20")})

					var topics []string
					//First topic refers to the Event: sha3('Setter(bytes32, uint256, uint256)')
					topic := "e920a6ca2d94687457e136223552305dbabca6f28cf9c65d18efc2193a2369b0"
					topics = append(topics, topic)

					// Second topic is the value of the first indexed param of the event. In this case it is the name in bytes. The value is "Pam" in hex
					topic = "50616d0000000000000000000000000000000000000000000000000000000000"
					topics = append(topics, topic)

					//Data contains the non indexed elements of the event concatenated together. Remaining values are age and salary which are hex encoded
					// 0x000000000000000000000000000000000000000000000000000000000000001e is 30 (age)
					// 0x0000000000000000000000000000000000000000000000000000000000004e20 is 20000 (salary)
					data := "000000000000000000000000000000000000000000000000000000000000001e0000000000000000000000000000000000000000000000000000000000004e20"

					res := evmcc.Invoke(stub)
					Expect(res.Status).To(Equal(int32(shim.OK)))

					var err error
					contractAddress, err = crypto.AddressFromHexString(string(res.Payload))
					Expect(err).ToNot(HaveOccurred())
					Expect(fakeLedger).To(HaveKey(strings.ToLower(contractAddress.String())))

					msg = event.Event{
						Address: strings.ToLower(contractAddress.String()),
						Topics:  topics,
						Data:    data,
					}
					messagePayloads = []event.Event{msg}
					msg.Address = strings.ToLower(contractAddress.String())
					expectedPayload, err := json.Marshal(messagePayloads)
					Expect(err).ToNot(HaveOccurred())

					Expect(stub.SetEventCallCount()).To(Equal(1))
					setEventName, setEventPayload := stub.SetEventArgsForCall(0)
					Expect(setEventName).To(Equal(hex.EncodeToString(contractAddress[0:4])))
					Expect(setEventName).To(HaveLen(8))
					Expect(setEventPayload).To(Equal(expectedPayload))

					var unmarshaledPayloads []event.Event
					err = json.Unmarshal(setEventPayload, &unmarshaledPayloads)
					Expect(err).ToNot(HaveOccurred())
					Expect(unmarshaledPayloads).To(Equal(messagePayloads))
				})
			})

			Context("when a smart contract has events in its functions ", func() {
				BeforeEach(func() {
					// Set contract creator
					stub.GetCreatorReturns(creator, nil)

					// zero address, and deploy code is contract creation
					stub.GetArgsReturns([][]byte{[]byte(crypto.ZeroAddress.String()), []byte(deployCode + "53616d0000000000000000000000000000000000000000000000000000000000" + "000000000000000000000000000000000000000000000000000000000000001e" + "0000000000000000000000000000000000000000000000000000000000004e20")})

					res := evmcc.Invoke(stub)
					Expect(res.Status).To(Equal(int32(shim.OK)))
					var err error
					contractAddress, err = crypto.AddressFromHexString(string(res.Payload))
					Expect(err).ToNot(HaveOccurred())
					Expect(fakeLedger).To(HaveKey(strings.ToLower(contractAddress.String())))

					topics := []string{}

					//First topic refers to the Event: sha3('Setter(bytes32, uint256, uint256)')
					topic := "e920a6ca2d94687457e136223552305dbabca6f28cf9c65d18efc2193a2369b0"
					topics = append(topics, topic)

					// Second topic is the value of the first indexed param of the event. In this case it is the name in bytes. The value is "Sam" in hex
					topic = "53616d0000000000000000000000000000000000000000000000000000000000"
					topics = append(topics, topic)

					//Data contains the non indexed elements of the event concatenated together. Remaining values are age and salary which are hex encoded
					// 0x0000000000000000000000000000000000000000000000000000000000000019 is 25 (age)
					// 0x0000000000000000000000000000000000000000000000000000000000007530 is 30000 (salary)
					data := "00000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000007530"

					msg = event.Event{
						Address: strings.ToLower(contractAddress.String()),
						Topics:  topics,
						Data:    data,
					}

					messagePayloads = []event.Event{msg}
				})

				Context("if the method called emits event(s)", func() {
					It("sets the chaincode event", func() {
						// The 3 values following SET are the arguments to SET. All 3 are hex encoded
						// First arg is the hex encoded name "Sam"
						// Second arg is the hex encoded value 25
						// Third arg is the hex encoded value 30000
						stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(SET + "53616d0000000000000000000000000000000000000000000000000000000000" + "0000000000000000000000000000000000000000000000000000000000000019" + "0000000000000000000000000000000000000000000000000000000000007530")})

						initialEventCallCount := stub.SetEventCallCount()
						res := evmcc.Invoke(stub)
						Expect(res.Status).To(Equal(int32(shim.OK)))

						expectedPayload, ok := json.Marshal(messagePayloads)
						Expect(ok).ToNot(HaveOccurred())

						Expect(stub.SetEventCallCount()).To(Equal(initialEventCallCount + 1))
						setEventName, setEventPayload := stub.SetEventArgsForCall(initialEventCallCount)
						Expect(setEventName).To(Equal(SET))
						Expect(setEventPayload).To(Equal([]byte(expectedPayload)))

						var unmarshaledPayloads []event.Event
						err := json.Unmarshal(setEventPayload, &unmarshaledPayloads)
						Expect(err).ToNot(HaveOccurred())
						Expect(unmarshaledPayloads).To(Equal(messagePayloads))
					})
				})

				Context("if the method called does not emit any events", func() {
					It("doesn't set any chaincode event", func() {
						stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(GET)})
						initialEventCallCount := stub.SetEventCallCount()
						res := evmcc.Invoke(stub)
						Expect(res.Status).To(Equal(int32(shim.OK)))
						Expect(stub.SetEventCallCount()).To(Equal(initialEventCallCount))
					})
				})
			})
		})

		Context("when a smart contract creates other smart contracts", func() {
			/*
				pragma solidity ^0.5.0;
					contract SimpleStorage {
							uint storedData;

							function set(uint x) public {
									storedData = x;
							}

							function get() public view returns (uint) {
									return storedData;
							}
					}

					contract SimpleStorageCreator {
							function createSimpleStorage() public returns (SimpleStorage simpleStorageAddress){
									return new SimpleStorage();
							}
					}
			*/
			var (
				deployCode          = "608060405234801561001057600080fd5b50610204806100206000396000f3fe60806040526004361061003b576000357c01000000000000000000000000000000000000000000000000000000009004806340d66b3b14610040575b600080fd5b34801561004c57600080fd5b50610055610097565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006100a16100c3565b604051809103906000f0801580156100bd573d6000803e3d6000fd5b50905090565b604051610105806100d48339019056fe608060405234801561001057600080fd5b5060e68061001f6000396000f3fe6080604052600436106043576000357c01000000000000000000000000000000000000000000000000000000009004806360fe47b11460485780636d4ce63c14607f575b600080fd5b348015605357600080fd5b50607d60048036036020811015606857600080fd5b810190808035906020019092919050505060a7565b005b348015608a57600080fd5b50609160b1565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea165627a7a723058204fba53eb31e370bbdbe1f1064d4e2a6aa794f3533a7563265edde21d4e8563b40029a165627a7a723058208317acddf85b105bfe01677c962f5e4493cfc1b65fcd91dfc3474d3bd4be2eeb0029"
				runtimeCode         = "60806040526004361061003b576000357c01000000000000000000000000000000000000000000000000000000009004806340d66b3b14610040575b600080fd5b34801561004c57600080fd5b50610055610097565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b60006100a16100c3565b604051809103906000f0801580156100bd573d6000803e3d6000fd5b50905090565b604051610105806100d48339019056fe608060405234801561001057600080fd5b5060e68061001f6000396000f3fe6080604052600436106043576000357c01000000000000000000000000000000000000000000000000000000009004806360fe47b11460485780636d4ce63c14607f575b600080fd5b348015605357600080fd5b50607d60048036036020811015606857600080fd5b810190808035906020019092919050505060a7565b005b348015608a57600080fd5b50609160b1565b6040518082815260200191505060405180910390f35b8060008190555050565b6000805490509056fea165627a7a723058204fba53eb31e370bbdbe1f1064d4e2a6aa794f3533a7563265edde21d4e8563b40029a165627a7a723058208317acddf85b105bfe01677c962f5e4493cfc1b65fcd91dfc3474d3bd4be2eeb0029"
				contractAddress     crypto.Address
				CREATESIMPLESTORAGE = "40d66b3b"
				SET                 = "60fe47b1"
				GET                 = "6d4ce63c"
			)

			It("creates a new contract account", func() {
				// Set contract creator
				stub.GetCreatorReturns(creator, nil)

				//Deploying SimpleStorageCreator
				stub.GetArgsReturns([][]byte{[]byte(crypto.ZeroAddress.String()), []byte(deployCode)})

				res := evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))

				//check that contract account has been created
				value := fakeLedger[string(res.Payload)]
				contractAcct, err := acm.Decode(value)
				Expect(err).ToNot(HaveOccurred())
				Expect(hex.EncodeToString(contractAcct.Code.Bytes())).To(Equal(runtimeCode))

				contractAddress, err = crypto.AddressFromHexString(string(res.Payload))
				Expect(err).ToNot(HaveOccurred())

				// Invoke createSimpleStorage()
				stub.GetArgsReturns([][]byte{[]byte(contractAddress.String()), []byte(CREATESIMPLESTORAGE)})
				res = evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))

				//Returned value has 12 bytes of leading zeros than 20 bytes which is the address
				createdContractAddr, err := crypto.AddressFromHexString(hex.EncodeToString(res.Payload[len(res.Payload)-20:]))
				Expect(err).ToNot(HaveOccurred())

				//Invoke the SimpleStorage contract that was created previously
				stub.GetArgsReturns([][]byte{[]byte(createdContractAddr.String()), []byte(SET + "000000000000000000000000000000000000000000000000000000000000002a")})
				res = evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))

				//Get the previously set value
				stub.GetArgsReturns([][]byte{[]byte(createdContractAddr.String()), []byte(GET)})
				res = evmcc.Invoke(stub)
				Expect(res.Status).To(Equal(int32(shim.OK)))
				Expect(hex.EncodeToString(res.Payload)).To(Equal("000000000000000000000000000000000000000000000000000000000000002a"))
			})
		})
	})
})


================================================
FILE: evmcc/go.mod
================================================
module github.com/hyperledger/fabric-chaincode-evm/evmcc

require (
	github.com/Knetic/govaluate v3.0.0+incompatible // indirect
	github.com/Shopify/sarama v1.24.0 // indirect
	github.com/btcsuite/btcd v0.20.0-beta // indirect
	github.com/fsouza/go-dockerclient v1.3.0 // indirect
	github.com/gogo/protobuf v1.3.1
	github.com/golang/protobuf v1.3.2
	github.com/grpc-ecosystem/go-grpc-middleware v1.1.0 // indirect
	github.com/hashicorp/go-version v1.2.0 // indirect
	github.com/hyperledger/burrow v0.24.4
	github.com/hyperledger/fabric v1.4.0
	github.com/hyperledger/fabric-amcl v0.0.0-20190902191507-f66264322317 // indirect
	github.com/klauspost/cpuid v1.2.1 // indirect
	github.com/miekg/pkcs11 v1.0.3 // indirect
	github.com/onsi/ginkgo v1.10.2
	github.com/onsi/gomega v1.7.0
	github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 // indirect
	github.com/sykesm/zap-logfmt v0.0.2 // indirect
	github.com/tendermint/go-amino v0.15.1 // indirect
	github.com/tendermint/tendermint v0.32.6 // indirect
	github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect
	golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550
	golang.org/x/sys v0.0.0-20191020212454-3e7259c5e7c2 // indirect
	google.golang.org/appengine v1.4.0 // indirect
	google.golang.org/grpc v1.24.0 // indirect
)


================================================
FILE: evmcc/go.sum
================================================
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8=
github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/Knetic/govaluate v3.0.0+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/Microsoft/go-winio v0.4.11 h1:zoIOcVf0xPN1tnMVbTtEdI+P8OofVk3NObnwOQ6nK2Q=
github.com/Microsoft/go-winio v0.4.11/go.mod h1:VhR8bwka0BXejwEJY73c50VrPtXAaKcyvVC4A4RozmA=
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 h1:TngWCqHvy9oXAN6lEVMRuU21PR1EtLVZJmdB18Gu3Rw=
github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5/go.mod h1:lmUJ/7eu/Q8D7ML55dXQrVaamCz2vxCfdQBasLZfHKk=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/Shopify/sarama v1.24.0/go.mod h1:fGP8eQ6PugKEI0iUETYYtnP6d1pH/bdDMTel1X5ajsU=
github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI=
github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g=
github.com/Workiva/go-datastructures v1.0.50/go.mod h1:Z+F2Rca0qCsVYDS8z7bAGm8f3UkzuWYS/oBZz5a7VVA=
github.com/aead/siphash v1.0.1/go.mod h1:Nywa3cDsYNNK3gaciGTWPwHt0wlpNV15vwmswBAUSII=
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=
github.com/btcsuite/btcd v0.0.0-20190115013929-ed77733ec07d/go.mod h1:d3C0AkH6BRcvO8T0UEPu53cnw4IbV63x1bEjildYhO0=
github.com/btcsuite/btcd v0.20.0-beta h1:PamBMopnHxO2nEIsU89ibVVnqnXR2yFTgGNc+PdG68o=
github.com/btcsuite/btcd v0.20.0-beta/go.mod h1:wVuoA8VJLEcwgqHBwHmzLRazpKxTv13Px/pDuV7OomQ=
github.com/btcsuite/btclog v0.0.0-20170628155309-84c8d2346e9f/go.mod h1:TdznJufoqS23FtqVCzL0ZqgP5MqXbb4fg/WgDys70nA=
github.com/btcsuite/btcutil v0.0.0-20180706230648-ab6388e0c60a/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
github.com/btcsuite/btcutil v0.0.0-20190425235716-9e5f4b9a998d/go.mod h1:+5NJ2+qvTyV9exUAL/rxXi3DcLg2Ts+ymUAY5y4NvMg=
github.com/btcsuite/go-socks v0.0.0-20170105172521-4720035b7bfd/go.mod h1:HHNXQzUsZCxOoE+CPiyCTO6x34Zs86zZUiwtpXoGdtg=
github.com/btcsuite/goleveldb v0.0.0-20160330041536-7834afc9e8cd/go.mod h1:F+uVaaLLH7j4eDXPRvw78tMflu7Ie2bzYOH4Y8rRKBY=
github.com/btcsuite/snappy-go v0.0.0-20151229074030-0bdef8d06723/go.mod h1:8woku9dyThutzjeg+3xrA5iCpBRH8XEEg3lh6TiUghc=
github.com/btcsuite/websocket v0.0.0-20150119174127-31079b680792/go.mod h1:ghJtEyQwv5/p4Mg4C0fgbePVuGr935/5ddU9Z3TmDRY=
github.com/btcsuite/winsvc v1.0.0/go.mod h1:jsenWakMcC0zFBFurPLEAyrnc/teJEM1O46fmI40EZs=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/containerd/continuity v0.0.0-20180814194400-c7c5070e6f6e h1:KEBqsIJcjops96ysfjRTg3x6STnVHBxe7CZLwwnlkWA=
github.com/containerd/continuity v0.0.0-20180814194400-c7c5070e6f6e/go.mod h1:GL3xCUCBDV3CZiTSEKksMWbLE66hEyuu9qyDOOqM47Y=
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
github.com/davecgh/go-spew v0.0.0-20171005155431-ecdeabc65495/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
github.com/docker/docker v0.7.3-0.20180827131323-0c5f8d2b9b23 h1:mJtkfC9RUrUWHMk0cFDNhVoc9U3k2FRAzEZ+5pqSIHo=
github.com/docker/docker v0.7.3-0.20180827131323-0c5f8d2b9b23/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk=
github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ=
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
github.com/docker/go-units v0.3.3 h1:Xk8S3Xj5sLGlG5g67hJmYMmUgXv5N4PhkjJHHqrwnTk=
github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/libnetwork v0.8.0-dev.2.0.20180608203834-19279f049241 h1:+ebE/hCU02srkeIg8Vp/vlUp182JapYWtXzV+bCeR2I=
github.com/docker/libnetwork v0.8.0-dev.2.0.20180608203834-19279f049241/go.mod h1:93m0aTqz6z+g32wla4l4WxTrdtvBRmVzYRkYvasA5Z8=
github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs=
github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU=
github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I=
github.com/etcd-io/bbolt v1.3.3/go.mod h1:ZF2nL25h33cCyBtcyWeZ2/I3HQOfTP+0PIEvHjkjCrw=
github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g=
github.com/frankban/quicktest v1.4.1/go.mod h1:36zfPVQyHxymz4cH7wlDmVwDrJuljRB60qkgn7rorfQ=
github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I=
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
github.com/fsouza/go-dockerclient v1.3.0 h1:tOXkq/5++XihrAvH5YNwCTdPeQg3XVcC6WI2FVy4ZS0=
github.com/fsouza/go-dockerclient v1.3.0/go.mod h1:IN9UPc4/w7cXiARH2Yg99XxUHbAM+6rAi9hzBVbkWRU=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-kit/kit v0.9.0 h1:wDJmvq38kDhkVxi50ni9ykkdUr1PKgqKOoi01fa0Mdk=
github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as=
github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE=
github.com/go-logfmt/logfmt v0.4.0 h1:MP4Eh7ZCb31lleYCFuwm0oe4/YGak+5l1vA2NOE80nA=
github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
github.com/gogo/protobuf v1.3.0/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
github.com/gogo/protobuf v1.3.1 h1:DqDEcV5aeaTmdFBePNpYsp3FlcVH/2ISVVM9Qf8PSls=
github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.0/go.mod h1:Qd/q+1AKNOZr9uGQzbzCmRO6sUih6GTPZv6a1/R87v0=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/gofuzz v0.0.0-20170612174753-24818f796faf/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI=
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs=
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
github.com/gorilla/websocket v1.4.1/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
github.com/grpc-ecosystem/go-grpc-middleware v1.1.0 h1:THDBEeQ9xZ8JEaCLyLQqXMMdRqNr0QAUJTIkQAUtFjg=
github.com/grpc-ecosystem/go-grpc-middleware v1.1.0/go.mod h1:f5nM7jw/oeRSadq3xCzHAvxcr8HZnzsqU6ILg/0NiiE=
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
github.com/hpcloud/tail v1.0.0 h1:nfCOvKYfkgYP8hkirhJocXT2+zOD8yUNjXaWfTlyFKI=
github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU=
github.com/hyperledger/burrow v0.24.4 h1:/g01N3+zoQvj+DEn5sOkU3oSxq+VGZGWUR8dOxD/ISs=
github.com/hyperledger/burrow v0.24.4/go.mod h1:rTFvZkaFrD4uLqMmhmB4wBlXNu/MTuwNVAIkYwBp7t4=
github.com/hyperledger/fabric v1.4.0 h1:AiOUXysOwh4BmSLZaNzw6ZocZl0uByekPcc+g3PiXH4=
github.com/hyperledger/fabric v1.4.0/go.mod h1:tGFAOCT696D3rG0Vofd2dyWYLySHlh0aQjf7Q1HAju0=
github.com/hyperledger/fabric-amcl v0.0.0-20190902191507-f66264322317 h1:7BDH7PcKavbYYdH6Oo1rOAlftTbC4FuzRsvqAldw12w=
github.com/hyperledger/fabric-amcl v0.0.0-20190902191507-f66264322317/go.mod h1:X+DIyUsaTmalOpmpQfIvFZjKHQedrURQ5t4YqquX7lE=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/jcmturner/gofork v0.0.0-20190328161633-dc7c13fece03/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o=
github.com/jessevdk/go-flags v0.0.0-20141203071132-1679536dcc89/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI=
github.com/jmhodges/levigo v1.0.0/go.mod h1:Q6Qx+uH3RAqyK4rFQroq9RL7mdkABMcfhEI+nNuzMJQ=
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
github.com/jrick/logrotate v1.0.0/go.mod h1:LNinyqDIJnpAur+b8yyulnQw/wDuN1+BYKlTRt3OuAQ=
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kkdai/bstream v0.0.0-20161212061736-f391b8402d23/go.mod h1:J+Gs4SYgM6CZQHDETBtE9HaSEkGmuNXF86RwHhHUvq4=
github.com/klauspost/compress v1.8.2/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
github.com/klauspost/cpuid v1.2.1/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515 h1:T+h1c/A9Gawja4Y9mFVWj2vyii2bbUNDw3kt9VxK2EY=
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/libp2p/go-buffer-pool v0.0.2/go.mod h1:MvaB6xw5vOrDl8rYZGLFdKAuk/hRoRZd1Vi32+RXyFM=
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/miekg/pkcs11 v1.0.3 h1:iMwmD7I5225wv84WxIG/bmxz9AXjWvTWIbM/TYHvWtw=
github.com/miekg/pkcs11 v1.0.3/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs=
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/ginkgo v1.10.2 h1:uqH7bpe+ERSiDa34FDOF7RikN6RzXgduUF8yarlZp94=
github.com/onsi/ginkgo v1.10.2/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
github.com/onsi/gomega v1.4.1/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA=
github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME=
github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7 h1:lDH9UUVJtmYCjyT0CI4q8xvlXPxeZ0gYCVvWbmPlp88=
github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk=
github.com/opencontainers/go-digest v1.0.0-rc1 h1:WzifXhOVOEOuFYOJAW6aQqW0TooG2iki3E3Ii+WN7gQ=
github.com/opencontainers/go-digest v1.0.0-rc1/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s=
github.com/opencontainers/image-spec v1.0.1 h1:JMemWkRwHx4Zj+fVxWoMCFm/8sYGGrUVojFA6h/TRcI=
github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0=
github.com/opencontainers/runc v0.1.1 h1:GlxAyO6x8rfZYN9Tt0Kti5a/cP41iuiO2yYT0IJGY8Y=
github.com/opencontainers/runc v0.1.1/go.mod h1:qT5XzbpPznkRYVz/mWwUaVBUv2rmF59PVA73FjuZG0U=
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
github.com/pelletier/go-toml v1.2.0 h1:T5zMGML61Wp+FlcbWjRDT7yAxhJNAiPPLOFECq181zc=
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
github.com/pierrec/lz4 v2.2.6+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw=
github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso=
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo=
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro=
github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4=
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
github.com/rcrowley/go-metrics v0.0.0-20180503174638-e2704e165165/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc=
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.2 h1:SPIRibHv4MatM3XXNO2BJeFLZwZ2LvZgfQ5+UNI2im4=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/snikch/goodman v0.0.0-20171125024755-10e37e294daa/go.mod h1:oJyF+mSPHbB5mVY2iO9KV3pTt/QbIkGaO8gQ2WrDbP4=
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.1.2 h1:m8/z1t7/fwjysjQRYbP0RD+bUIF/8tJwPdEZsI83ACI=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/cast v1.3.0 h1:oget//CVOEoFewqQxwr0Ej5yjygnqGkvggSE/gB35Q8=
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
github.com/spf13/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/jwalterweatherman v1.0.0 h1:XHEdyB+EcvlqZamSM4ZOMGlc93t6AcsBEu9Gc1vn7yk=
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
github.com/spf13/pflag v1.0.3 h1:zPAT6CGy6wXeQ7NtTnaTerfKOsV6V6F8agHXFiazDkg=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/viper v1.4.0 h1:yXHLWeravcrgGyFSyCgdYpXQ9dR9c/WED3pg1RhxqEU=
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/sykesm/zap-logfmt v0.0.2/go.mod h1:TerDJT124HaO8UTpZ2wJCipJRAKQ9XONM1mzUabIh6M=
github.com/syndtr/goleveldb v1.0.1-0.20190318030020-c3a204f8e965/go.mod h1:9OrXJhf154huy1nPWmuSrkgjPUtUNhA+Zmy+6AESzuA=
github.com/tendermint/go-amino v0.14.1/go.mod h1:i/UKE5Uocn+argJJBb12qTZsCDBcAYMbR92AaJVmKso=
github.com/tendermint/go-amino v0.15.1 h1:D2uk35eT4iTsvJd9jWIetzthE5C0/k2QmMFkCN+4JgQ=
github.com/tendermint/go-amino v0.15.1/go.mod h1:TQU0M1i/ImAo+tYpZi73AU3V/dKeCoMC9Sphe2ZwGME=
github.com/tendermint/tendermint v0.32.6 h1:HozXi0USWvKrWuEh5ratnJV10ykkTy4nwXUi0UvPVzg=
github.com/tendermint/tendermint v0.32.6/go.mod h1:D2+A3pNjY+Po72X0mTfaXorFhiVI8dh/Zg640FGyGtE=
github.com/tendermint/tm-db v0.2.0/go.mod h1:0cPKWu2Mou3IlxecH+MEUSYc1Ch537alLe6CpFrKzgw=
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo=
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs=
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
github.com/vishvananda/netlink v1.0.0/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
github.com/vishvananda/netns v0.0.0-20180720170159-13995c7128cc/go.mod h1:ZjcWmFBXmLKZu9Nxj3WKYEafiSqer2rnvPr0en9UNpI=
github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
github.com/xdg/stringprep v1.0.0/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
go.uber.org/multierr v1.1.0 h1:HoEmRHQPVSqub6w2z2d2EOVs2fjyFRGyofhKuyDq0QI=
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
go.uber.org/zap v1.10.0 h1:ORx85nbTijNz8ljznvCMR1ZBIPKFn3jQrag10X2AsuM=
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
golang.org/x/crypto v0.0.0-20170930174604-9419663f5a44/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20180820150726-614d502a4dac/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190404164418-38d8ce5564a5/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550 h1:ObdrDkeb4kJdCP557AjRjq69pTHfNouLtWZG7j9rPN8=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7 h1:rTIdg5QFRR7XCaK4LCjBiPbx8j4DQRpdYMnGn/bJUEU=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180824143301-4910a1d54f87/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191020212454-3e7259c5e7c2 h1:nq114VpM8lsSlP+lyUbANecYHYiFcSNFtqcBlxRV+gA=
golang.org/x/sys v0.0.0-20191020212454-3e7259c5e7c2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20180831171423-11092d34479b/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20181029155118-b69ba1387ce2/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55 h1:gSJIx1SDwno+2ElGhA4+qG2zF97qiUzTM+rQ0klBOcE=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.24.0 h1:vb/1TCsVn3DcJlQ0Gs1yB1pKI6Do2/QNwxdKqmc/b0s=
google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA=
gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U=
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify.v1 v1.4.7 h1:xOHLXZwVvI9hhs+cLKq5+I5onOuwQLhQwiu63xxlHs4=
gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys=
gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo=
gopkg.in/jcmturner/aescts.v1 v1.0.1/go.mod h1:nsR8qBOg+OucoIW+WMhB3GspUQXq9XorLnQb9XtvcOo=
gopkg.in/jcmturner/dnsutils.v1 v1.0.1/go.mod h1:m3v+5svpVOhtFAP/wSz+yzh4Mc0Fg7eRhxkJMWSIz9Q=
gopkg.in/jcmturner/goidentity.v3 v3.0.0/go.mod h1:oG2kH0IvSYNIu80dVAyu/yoefjq1mNfM5bm88whjWx4=
gopkg.in/jcmturner/gokrb5.v7 v7.2.3/go.mod h1:l8VISx+WGYp+Fp7KRbsiUuXTTOnxIc3Tuvyavf11/WM=
gopkg.in/jcmturner/rpc.v1 v1.1.0/go.mod h1:YIdkC4XfD6GXbzje11McwsDuOlZQSb9W4vfLvuNnlv8=
gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ=
gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw=
gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74=
gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gotest.tools v2.1.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=


================================================
FILE: evmcc/mocks/mockstub.go
================================================
// Code generated by counterfeiter. DO NOT EDIT.
package mocks

import (
	sync "sync"

	timestamp "github.com/golang/protobuf/ptypes/timestamp"
	shim "github.com/hyperledger/fabric/core/chaincode/shim"
	peer "github.com/hyperledger/fabric/protos/peer"
)

type MockStub struct {
	CreateCompositeKeyStub        func(string, []string) (string, error)
	createCompositeKeyMutex       sync.RWMutex
	createCompositeKeyArgsForCall []struct {
		arg1 string
		arg2 []string
	}
	createCompositeKeyReturns struct {
		result1 string
		result2 error
	}
	createCompositeKeyReturnsOnCall map[int]struct {
		result1 string
		result2 error
	}
	DelPrivateDataStub        func(string, string) error
	delPrivateDataMutex       sync.RWMutex
	delPrivateDataArgsForCall []struct {
		arg1 string
		arg2 string
	}
	delPrivateDataReturns struct {
		result1 error
	}
	delPrivateDataReturnsOnCall map[int]struct {
		result1 error
	}
	DelStateStub        func(string) error
	delStateMutex       sync.RWMutex
	delStateArgsForCall []struct {
		arg1 string
	}
	delStateReturns struct {
		result1 error
	}
	delStateReturnsOnCall map[int]struct {
		result1 error
	}
	GetArgsStub        func() [][]byte
	getArgsMutex       sync.RWMutex
	getArgsArgsForCall []struct {
	}
	getArgsReturns struct {
		result1 [][]byte
	}
	getArgsReturnsOnCall map[int]struct {
		result1 [][]byte
	}
	GetArgsSliceStub        func() ([]byte, error)
	getArgsSliceMutex       sync.RWMutex
	getArgsSliceArgsForCall []struct {
	}
	getArgsSliceReturns struct {
		result1 []byte
		result2 error
	}
	getArgsSliceReturnsOnCall map[int]struct {
		result1 []byte
		result2 error
	}
	GetBindingStub        func() ([]byte, error)
	getBindingMutex       sync.RWMutex
	getBindingArgsForCall []struct {
	}
	getBindingReturns struct {
		result1 []byte
		result2 error
	}
	getBindingReturnsOnCall map[int]struct {
		result1 []byte
		result2 error
	}
	GetChannelIDStub        func() string
	getChannelIDMutex       sync.RWMutex
	getChannelIDArgsForCall []struct {
	}
	getChannelIDReturns struct {
		result1 string
	}
	getChannelIDReturnsOnCall map[int]struct {
		result1 string
	}
	GetCreatorStub        func() ([]byte, error)
	getCreatorMutex       sync.RWMutex
	getCreatorArgsForCall []struct {
	}
	getCreatorReturns struct {
		result1 []byte
		result2 error
	}
	getCreatorReturnsOnCall map[int]struct {
		result1 []byte
		result2 error
	}
	GetDecorationsStub        func() map[string][]byte
	getDecorationsMutex       sync.RWMutex
	getDecorationsArgsForCall []struct {
	}
	getDecorationsReturns struct {
		result1 map[string][]byte
	}
	getDecorationsReturnsOnCall map[int]struct {
		result1 map[string][]byte
	}
	GetFunctionAndParametersStub        func() (string, []string)
	getFunctionAndParametersMutex       sync.RWMutex
	getFunctionAndParametersArgsForCall []struct {
	}
	getFunctionAndParametersReturns struct {
		result1 string
		result2 []string
	}
	getFunctionAndParametersReturnsOnCall map[int]struct {
		result1 string
		result2 []string
	}
	GetHistoryForKeyStub        func(string) (shim.HistoryQueryIteratorInterface, error)
	getHistoryForKeyMutex       sync.RWMutex
	getHistoryForKeyArgsForCall []struct {
		arg1 string
	}
	getHistoryForKeyReturns struct {
		result1 shim.HistoryQueryIteratorInterface
		result2 error
	}
	getHistoryForKeyReturnsOnCall map[int]struct {
		result1 shim.HistoryQueryIteratorInterface
		result2 error
	}
	GetPrivateDataStub        func(string, string) ([]byte, error)
	getPrivateDataMutex       sync.RWMutex
	getPrivateDataArgsForCall []struct {
		arg1 string
		arg2 string
	}
	getPrivateDataReturns struct {
		result1 []byte
		result2 error
	}
	getPrivateDataReturnsOnCall map[int]struct {
		result1 []byte
		result2 error
	}
	GetPrivateDataByPartialCompositeKeyStub        func(string, string, []string) (shim.StateQueryIteratorInterface, error)
	getPrivateDataByPartialCompositeKeyMutex       sync.RWMutex
	getPrivateDataByPartialCompositeKeyArgsForCall []struct {
		arg1 string
		arg2 string
		arg3 []string
	}
	getPrivateDataByPartialCompositeKeyReturns struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	getPrivateDataByPartialCompositeKeyReturnsOnCall map[int]struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	GetPrivateDataByRangeStub        func(string, string, string) (shim.StateQueryIteratorInterface, error)
	getPrivateDataByRangeMutex       sync.RWMutex
	getPrivateDataByRangeArgsForCall []struct {
		arg1 string
		arg2 string
		arg3 string
	}
	getPrivateDataByRangeReturns struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	getPrivateDataByRangeReturnsOnCall map[int]struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	GetPrivateDataQueryResultStub        func(string, string) (shim.StateQueryIteratorInterface, error)
	getPrivateDataQueryResultMutex       sync.RWMutex
	getPrivateDataQueryResultArgsForCall []struct {
		arg1 string
		arg2 string
	}
	getPrivateDataQueryResultReturns struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	getPrivateDataQueryResultReturnsOnCall map[int]struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	GetPrivateDataValidationParameterStub        func(string, string) ([]byte, error)
	getPrivateDataValidationParameterMutex       sync.RWMutex
	getPrivateDataValidationParameterArgsForCall []struct {
		arg1 string
		arg2 string
	}
	getPrivateDataValidationParameterReturns struct {
		result1 []byte
		result2 error
	}
	getPrivateDataValidationParameterReturnsOnCall map[int]struct {
		result1 []byte
		result2 error
	}
	GetQueryResultStub        func(string) (shim.StateQueryIteratorInterface, error)
	getQueryResultMutex       sync.RWMutex
	getQueryResultArgsForCall []struct {
		arg1 string
	}
	getQueryResultReturns struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	getQueryResultReturnsOnCall map[int]struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	GetQueryResultWithPaginationStub        func(string, int32, string) (shim.StateQueryIteratorInterface, *peer.QueryResponseMetadata, error)
	getQueryResultWithPaginationMutex       sync.RWMutex
	getQueryResultWithPaginationArgsForCall []struct {
		arg1 string
		arg2 int32
		arg3 string
	}
	getQueryResultWithPaginationReturns struct {
		result1 shim.StateQueryIteratorInterface
		result2 *peer.QueryResponseMetadata
		result3 error
	}
	getQueryResultWithPaginationReturnsOnCall map[int]struct {
		result1 shim.StateQueryIteratorInterface
		result2 *peer.QueryResponseMetadata
		result3 error
	}
	GetSignedProposalStub        func() (*peer.SignedProposal, error)
	getSignedProposalMutex       sync.RWMutex
	getSignedProposalArgsForCall []struct {
	}
	getSignedProposalReturns struct {
		result1 *peer.SignedProposal
		result2 error
	}
	getSignedProposalReturnsOnCall map[int]struct {
		result1 *peer.SignedProposal
		result2 error
	}
	GetStateStub        func(string) ([]byte, error)
	getStateMutex       sync.RWMutex
	getStateArgsForCall []struct {
		arg1 string
	}
	getStateReturns struct {
		result1 []byte
		result2 error
	}
	getStateReturnsOnCall map[int]struct {
		result1 []byte
		result2 error
	}
	GetStateByPartialCompositeKeyStub        func(string, []string) (shim.StateQueryIteratorInterface, error)
	getStateByPartialCompositeKeyMutex       sync.RWMutex
	getStateByPartialCompositeKeyArgsForCall []struct {
		arg1 string
		arg2 []string
	}
	getStateByPartialCompositeKeyReturns struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	getStateByPartialCompositeKeyReturnsOnCall map[int]struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	GetStateByPartialCompositeKeyWithPaginationStub        func(string, []string, int32, string) (shim.StateQueryIteratorInterface, *peer.QueryResponseMetadata, error)
	getStateByPartialCompositeKeyWithPaginationMutex       sync.RWMutex
	getStateByPartialCompositeKeyWithPaginationArgsForCall []struct {
		arg1 string
		arg2 []string
		arg3 int32
		arg4 string
	}
	getStateByPartialCompositeKeyWithPaginationReturns struct {
		result1 shim.StateQueryIteratorInterface
		result2 *peer.QueryResponseMetadata
		result3 error
	}
	getStateByPartialCompositeKeyWithPaginationReturnsOnCall map[int]struct {
		result1 shim.StateQueryIteratorInterface
		result2 *peer.QueryResponseMetadata
		result3 error
	}
	GetStateByRangeStub        func(string, string) (shim.StateQueryIteratorInterface, error)
	getStateByRangeMutex       sync.RWMutex
	getStateByRangeArgsForCall []struct {
		arg1 string
		arg2 string
	}
	getStateByRangeReturns struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	getStateByRangeReturnsOnCall map[int]struct {
		result1 shim.StateQueryIteratorInterface
		result2 error
	}
	GetStateByRangeWithPaginationStub        func(string, string, int32, string) (shim.StateQueryIteratorInterface, *peer.QueryResponseMetadata, error)
	getStateByRangeWithPaginationMutex       sync.RWMutex
	getStateByRangeWithPaginationArgsForCall []struct {
		arg1 string
		arg2 string
		arg3 int32
		arg4 string
	}
	getStateByRangeWithPaginationReturns struct {
		result1 shim.StateQueryIteratorInterface
		result2 *peer.QueryResponseMetadata
		result3 error
	}
	getStateByRangeWithPaginationReturnsOnCall map[int]struct {
		result1 shim.StateQueryIteratorInterface
		result2 *peer.QueryResponseMetadata
		result3 error
	}
	GetStateValidationParameterStub        func(string) ([]byte, error)
	getStateValidationParameterMutex       sync.RWMutex
	getStateValidationParameterArgsForCall []struct {
		arg1 string
	}
	getStateValidationParameterReturns struct {
		result1 []byte
		result2 error
	}
	getStateValidationParameterReturnsOnCall map[int]struct {
		result1 []byte
		result2 error
	}
	GetStringArgsStub        func() []string
	getStringArgsMutex       sync.RWMutex
	getStringArgsArgsForCall []struct {
	}
	getStringArgsReturns struct {
		result1 []string
	}
	getStringArgsReturnsOnCall map[int]struct {
		result1 []string
	}
	GetTransientStub        func() (map[string][]byte, error)
	getTransientMutex       sync.RWMutex
	getTransientArgsForCall []struct {
	}
	getTransientReturns struct {
		result1 map[string][]byte
		result2 error
	}
	getTransientReturnsOnCall map[int]struct {
		result1 map[string][]byte
		result2 error
	}
	GetTxIDStub        func() string
	getTxIDMutex       sync.RWMutex
	getTxIDArgsForCall []struct {
	}
	getTxIDReturns struct {
		result1 string
	}
	getTxIDReturnsOnCall map[int]struct {
		result1 string
	}
	GetTxTimestampStub        func() (*timestamp.Timestamp, error)
	getTxTimestampMutex       sync.RWMutex
	getTxTimestampArgsForCall []struct {
	}
	getTxTimestampReturns struct {
		result1 *timestamp.Timestamp
		result2 error
	}
	getTxTimestampReturnsOnCall map[int]struct {
		result1 *timestamp.Timestamp
		result2 error
	}
	InvokeChaincodeStub        func(string, [][]byte, string) peer.Response
	invokeChaincodeMutex       sync.RWMutex
	invokeChaincodeArgsForCall []struct {
		arg1 string
		arg2 [][]byte
		arg3 string
	}
	invokeChaincodeReturns struct {
		result1 peer.Response
	}
	invokeChaincodeReturnsOnCall map[int]struct {
		result1 peer.Response
	}
	PutPrivateDataStub        func(string, string, []byte) error
	putPrivateDataMutex       sync.RWMutex
	putPrivateDataArgsForCall []struct {
		arg1 string
		arg2 string
		arg3 []byte
	}
	putPrivateDataReturns struct {
		result1 error
	}
	putPrivateDataReturnsOnCall map[int]struct {
		result1 error
	}
	PutStateStub        func(string, []byte) error
	putStateMutex       sync.RWMutex
	putStateArgsForCall []struct {
		arg1 string
		arg2 []byte
	}
	putStateReturns struct {
		result1 error
	}
	putStateReturnsOnCall map[int]struct {
		result1 error
	}
	SetEventStub        func(string, []byte) error
	setEventMutex       sync.RWMutex
	setEventArgsForCall []struct {
		arg1 string
		arg2 []byte
	}
	setEventReturns struct {
		result1 error
	}
	setEventReturnsOnCall map[int]struct {
		result1 error
	}
	SetPrivateDataValidationParameterStub        func(string, string, []byte) error
	setPrivateDataValidationParameterMutex       sync.RWMutex
	setPrivateDataValidationParameterArgsForCall []struct {
		arg1 string
		arg2 string
		arg3 []byte
	}
	setPrivateDataValidationParameterReturns struct {
		result1 error
	}
	setPrivateDataValidationParameterReturnsOnCall map[int]struct {
		result1 error
	}
	SetStateValidationParameterStub        func(string, []byte) error
	setStateValidationParameterMutex       sync.RWMutex
	setStateValidationParameterArgsForCall []struct {
		arg1 string
		arg2 []byte
	}
	setStateValidationParameterReturns struct {
		result1 error
	}
	setStateValidationParameterReturnsOnCall map[int]struct {
		result1 error
	}
	SplitCompositeKeyStub        func(string) (string, []string, error)
	splitCompositeKeyMutex       sync.RWMutex
	splitCompositeKeyArgsForCall []struct {
		arg1 string
	}
	splitCompositeKeyReturns struct {
		result1 string
		result2 []string
		result3 error
	}
	splitCompositeKeyReturnsOnCall map[int]struct {
		result1 string
		result2 []string
		result3 error
	}
	invocations      map[string][][]interface{}
	invocationsMutex sync.RWMutex
}

func (fake *MockStub) CreateCompositeKey(arg1 string, arg2 []string) (string, error) {
	var arg2Copy []string
	if arg2 != nil {
		arg2Copy = make([]string, len(arg2))
		copy(arg2Copy, arg2)
	}
	fake.createCompositeKeyMutex.Lock()
	ret, specificReturn := fake.createCompositeKeyReturnsOnCall[len(fake.createCompositeKeyArgsForCall)]
	fake.createCompositeKeyArgsForCall = append(fake.createCompositeKeyArgsForCall, struct {
		arg1 string
		arg2 []string
	}{arg1, arg2Copy})
	fake.recordInvocation("CreateCompositeKey", []interface{}{arg1, arg2Copy})
	fake.createCompositeKeyMutex.Unlock()
	if fake.CreateCompositeKeyStub != nil {
		return fake.CreateCompositeKeyStub(arg1, arg2)
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	fakeReturns := fake.createCompositeKeyReturns
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *MockStub) CreateCompositeKeyCallCount() int {
	fake.createCompositeKeyMutex.RLock()
	defer fake.createCompositeKeyMutex.RUnlock()
	return len(fake.createCompositeKeyArgsForCall)
}

func (fake *MockStub) CreateCompositeKeyArgsForCall(i int) (string, []string) {
	fake.createCompositeKeyMutex.RLock()
	defer fake.createCompositeKeyMutex.RUnlock()
	argsForCall := fake.createCompositeKeyArgsForCall[i]
	return argsForCall.arg1, argsForCall.arg2
}

func (fake *MockStub) CreateCompositeKeyReturns(result1 string, result2 error) {
	fake.CreateCompositeKeyStub = nil
	fake.createCompositeKeyReturns = struct {
		result1 string
		result2 error
	}{result1, result2}
}

func (fake *MockStub) CreateCompositeKeyReturnsOnCall(i int, result1 string, result2 error) {
	fake.CreateCompositeKeyStub = nil
	if fake.createCompositeKeyReturnsOnCall == nil {
		fake.createCompositeKeyReturnsOnCall = make(map[int]struct {
			result1 string
			result2 error
		})
	}
	fake.createCompositeKeyReturnsOnCall[i] = struct {
		result1 string
		result2 error
	}{result1, result2}
}

func (fake *MockStub) DelPrivateData(arg1 string, arg2 string) error {
	fake.delPrivateDataMutex.Lock()
	ret, specificReturn := fake.delPrivateDataReturnsOnCall[len(fake.delPrivateDataArgsForCall)]
	fake.delPrivateDataArgsForCall = append(fake.delPrivateDataArgsForCall, struct {
		arg1 string
		arg2 string
	}{arg1, arg2})
	fake.recordInvocation("DelPrivateData", []interface{}{arg1, arg2})
	fake.delPrivateDataMutex.Unlock()
	if fake.DelPrivateDataStub != nil {
		return fake.DelPrivateDataStub(arg1, arg2)
	}
	if specificReturn {
		return ret.result1
	}
	fakeReturns := fake.delPrivateDataReturns
	return fakeReturns.result1
}

func (fake *MockStub) DelPrivateDataCallCount() int {
	fake.delPrivateDataMutex.RLock()
	defer fake.delPrivateDataMutex.RUnlock()
	return len(fake.delPrivateDataArgsForCall)
}

func (fake *MockStub) DelPrivateDataArgsForCall(i int) (string, string) {
	fake.delPrivateDataMutex.RLock()
	defer fake.delPrivateDataMutex.RUnlock()
	argsForCall := fake.delPrivateDataArgsForCall[i]
	return argsForCall.arg1, argsForCall.arg2
}

func (fake *MockStub) DelPrivateDataReturns(result1 error) {
	fake.DelPrivateDataStub = nil
	fake.delPrivateDataReturns = struct {
		result1 error
	}{result1}
}

func (fake *MockStub) DelPrivateDataReturnsOnCall(i int, result1 error) {
	fake.DelPrivateDataStub = nil
	if fake.delPrivateDataReturnsOnCall == nil {
		fake.delPrivateDataReturnsOnCall = make(map[int]struct {
			result1 error
		})
	}
	fake.delPrivateDataReturnsOnCall[i] = struct {
		result1 error
	}{result1}
}

func (fake *MockStub) DelState(arg1 string) error {
	fake.delStateMutex.Lock()
	ret, specificReturn := fake.delStateReturnsOnCall[len(fake.delStateArgsForCall)]
	fake.delStateArgsForCall = append(fake.delStateArgsForCall, struct {
		arg1 string
	}{arg1})
	fake.recordInvocation("DelState", []interface{}{arg1})
	fake.delStateMutex.Unlock()
	if fake.DelStateStub != nil {
		return fake.DelStateStub(arg1)
	}
	if specificReturn {
		return ret.result1
	}
	fakeReturns := fake.delStateReturns
	return fakeReturns.result1
}

func (fake *MockStub) DelStateCallCount() int {
	fake.delStateMutex.RLock()
	defer fake.delStateMutex.RUnlock()
	return len(fake.delStateArgsForCall)
}

func (fake *MockStub) DelStateArgsForCall(i int) string {
	fake.delStateMutex.RLock()
	defer fake.delStateMutex.RUnlock()
	argsForCall := fake.delStateArgsForCall[i]
	return argsForCall.arg1
}

func (fake *MockStub) DelStateReturns(result1 error) {
	fake.DelStateStub = nil
	fake.delStateReturns = struct {
		result1 error
	}{result1}
}

func (fake *MockStub) DelStateReturnsOnCall(i int, result1 error) {
	fake.DelStateStub = nil
	if fake.delStateReturnsOnCall == nil {
		fake.delStateReturnsOnCall = make(map[int]struct {
			result1 error
		})
	}
	fake.delStateReturnsOnCall[i] = struct {
		result1 error
	}{result1}
}

func (fake *MockStub) GetArgs() [][]byte {
	fake.getArgsMutex.Lock()
	ret, specificReturn := fake.getArgsReturnsOnCall[len(fake.getArgsArgsForCall)]
	fake.getArgsArgsForCall = append(fake.getArgsArgsForCall, struct {
	}{})
	fake.recordInvocation("GetArgs", []interface{}{})
	fake.getArgsMutex.Unlock()
	if fake.GetArgsStub != nil {
		return fake.GetArgsStub()
	}
	if specificReturn {
		return ret.result1
	}
	fakeReturns := fake.getArgsReturns
	return fakeReturns.result1
}

func (fake *MockStub) GetArgsCallCount() int {
	fake.getArgsMutex.RLock()
	defer fake.getArgsMutex.RUnlock()
	return len(fake.getArgsArgsForCall)
}

func (fake *MockStub) GetArgsReturns(result1 [][]byte) {
	fake.GetArgsStub = nil
	fake.getArgsReturns = struct {
		result1 [][]byte
	}{result1}
}

func (fake *MockStub) GetArgsReturnsOnCall(i int, result1 [][]byte) {
	fake.GetArgsStub = nil
	if fake.getArgsReturnsOnCall == nil {
		fake.getArgsReturnsOnCall = make(map[int]struct {
			result1 [][]byte
		})
	}
	fake.getArgsReturnsOnCall[i] = struct {
		result1 [][]byte
	}{result1}
}

func (fake *MockStub) GetArgsSlice() ([]byte, error) {
	fake.getArgsSliceMutex.Lock()
	ret, specificReturn := fake.getArgsSliceReturnsOnCall[len(fake.getArgsSliceArgsForCall)]
	fake.getArgsSliceArgsForCall = append(fake.getArgsSliceArgsForCall, struct {
	}{})
	fake.recordInvocation("GetArgsSlice", []interface{}{})
	fake.getArgsSliceMutex.Unlock()
	if fake.GetArgsSliceStub != nil {
		return fake.GetArgsSliceStub()
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	fakeReturns := fake.getArgsSliceReturns
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *MockStub) GetArgsSliceCallCount() int {
	fake.getArgsSliceMutex.RLock()
	defer fake.getArgsSliceMutex.RUnlock()
	return len(fake.getArgsSliceArgsForCall)
}

func (fake *MockStub) GetArgsSliceReturns(result1 []byte, result2 error) {
	fake.GetArgsSliceStub = nil
	fake.getArgsSliceReturns = struct {
		result1 []byte
		result2 error
	}{result1, result2}
}

func (fake *MockStub) GetArgsSliceReturnsOnCall(i int, result1 []byte, result2 error) {
	fake.GetArgsSliceStub = nil
	if fake.getArgsSliceReturnsOnCall == nil {
		fake.getArgsSliceReturnsOnCall = make(map[int]struct {
			result1 []byte
			result2 error
		})
	}
	fake.getArgsSliceReturnsOnCall[i] = struct {
		result1 []byte
		result2 error
	}{result1, result2}
}

func (fake *MockStub) GetBinding() ([]byte, error) {
	fake.getBindingMutex.Lock()
	ret, specificReturn := fake.getBindingReturnsOnCall[len(fake.getBindingArgsForCall)]
	fake.getBindingArgsForCall = append(fake.getBindingArgsForCall, struct {
	}{})
	fake.recordInvocation("GetBinding", []interface{}{})
	fake.getBindingMutex.Unlock()
	if fake.GetBindingStub != nil {
		return fake.GetBindingStub()
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	fakeReturns := fake.getBindingReturns
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *MockStub) GetBindingCallCount() int {
	fake.getBindingMutex.RLock()
	defer fake.getBindingMutex.RUnlock()
	return len(fake.getBindingArgsForCall)
}

func (fake *MockStub) GetBindingReturns(result1 []byte, result2 error) {
	fake.GetBindingStub = nil
	fake.getBindingReturns = struct {
		result1 []byte
		result2 error
	}{result1, result2}
}

func (fake *MockStub) GetBindingReturnsOnCall(i int, result1 []byte, result2 error) {
	fake.GetBindingStub = nil
	if fake.getBindingReturnsOnCall == nil {
		fake.getBindingReturnsOnCall = make(map[int]struct {
			result1 []byte
			result2 error
		})
	}
	fake.getBindingReturnsOnCall[i] = struct {
		result1 []byte
		result2 error
	}{result1, result2}
}

func (fake *MockStub) GetChannelID() string {
	fake.getChannelIDMutex.Lock()
	ret, specificReturn := fake.getChannelIDReturnsOnCall[len(fake.getChannelIDArgsForCall)]
	fake.getChannelIDArgsForCall = append(fake.getChannelIDArgsForCall, struct {
	}{})
	fake.recordInvocation("GetChannelID", []interface{}{})
	fake.getChannelIDMutex.Unlock()
	if fake.GetChannelIDStub != nil {
		return fake.GetChannelIDStub()
	}
	if specificReturn {
		return ret.result1
	}
	fakeReturns := fake.getChannelIDReturns
	return fakeReturns.result1
}

func (fake *MockStub) GetChannelIDCallCount() int {
	fake.getChannelIDMutex.RLock()
	defer fake.getChannelIDMutex.RUnlock()
	return len(fake.getChannelIDArgsForCall)
}

func (fake *MockStub) GetChannelIDReturns(result1 string) {
	fake.GetChannelIDStub = nil
	fake.getChannelIDReturns = struct {
		result1 string
	}{result1}
}

func (fake *MockStub) GetChannelIDReturnsOnCall(i int, result1 string) {
	fake.GetChannelIDStub = nil
	if fake.getChannelIDReturnsOnCall == nil {
		fake.getChannelIDReturnsOnCall = make(map[int]struct {
			result1 string
		})
	}
	fake.getChannelIDReturnsOnCall[i] = struct {
		result1 string
	}{result1}
}

func (fake *MockStub) GetCreator() ([]byte, error) {
	fake.getCreatorMutex.Lock()
	ret, specificReturn := fake.getCreatorReturnsOnCall[len(fake.getCreatorArgsForCall)]
	fake.getCreatorArgsForCall = append(fake.getCreatorArgsForCall, struct {
	}{})
	fake.recordInvocation("GetCreator", []interface{}{})
	fake.getCreatorMutex.Unlock()
	if fake.GetCreatorStub != nil {
		return fake.GetCreatorStub()
	}
	if specificReturn {
		return ret.result1, ret.result2
	}
	fakeReturns := fake.getCreatorReturns
	return fakeReturns.result1, fakeReturns.result2
}

func (fake *MockStub) GetCreatorCallCount() int {
	fake.getCreatorMutex.RLock()
	defer fake.getCreatorMutex.RUnlock()
	return len(fake.getCreatorArgsForCall)
}

func (fake *MockStub) GetCreatorReturns(result1 []byte, result2 error) {
	fake
Download .txt
Showing preview only (232K chars total). Download the full file or copy to clipboard to get everything.
gitextract_ekf5vr0h/

├── .github/
│   ├── pull_request_template.md
│   ├── settings.yml
│   └── stale.yml
├── .gitignore
├── CHANGELOG.md
├── CODEOWNERS
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── Fab3_Instructions.md
├── LICENSE
├── MAINTAINERS.md
├── Makefile
├── README.md
├── SECURITY.md
├── ci/
│   └── azure-pipelines.yml
├── evmcc/
│   ├── address/
│   │   ├── converter.go
│   │   ├── converter_suite_test.go
│   │   └── converter_test.go
│   ├── event/
│   │   └── event.go
│   ├── eventmanager/
│   │   ├── eventmanager.go
│   │   ├── eventmanager_suite_test.go
│   │   └── eventmanager_test.go
│   ├── evmcc.go
│   ├── evmcc_suite_test.go
│   ├── evmcc_test.go
│   ├── go.mod
│   ├── go.sum
│   ├── mocks/
│   │   └── mockstub.go
│   ├── statemanager/
│   │   ├── statemanager.go
│   │   ├── statemanager_suite_test.go
│   │   └── statemanager_test.go
│   └── vendor/
│       ├── github.com/
│       │   ├── Azure/
│       │   │   └── go-ansiterm/
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── constants.go
│       │   │       ├── context.go
│       │   │       ├── csi_entry_state.go
│       │   │       ├── csi_param_state.go
│       │   │       ├── escape_intermediate_state.go
│       │   │       ├── escape_state.go
│       │   │       ├── event_handler.go
│       │   │       ├── ground_state.go
│       │   │       ├── osc_string_state.go
│       │   │       ├── parser.go
│       │   │       ├── parser_action_helpers.go
│       │   │       ├── parser_actions.go
│       │   │       ├── states.go
│       │   │       ├── utilities.go
│       │   │       └── winterm/
│       │   │           ├── ansi.go
│       │   │           ├── api.go
│       │   │           ├── attr_translation.go
│       │   │           ├── cursor_helpers.go
│       │   │           ├── erase_helpers.go
│       │   │           ├── scroll_helper.go
│       │   │           ├── utilities.go
│       │   │           └── win_event_handler.go
│       │   ├── Microsoft/
│       │   │   └── go-winio/
│       │   │       ├── .gitignore
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── backup.go
│       │   │       ├── ea.go
│       │   │       ├── file.go
│       │   │       ├── fileinfo.go
│       │   │       ├── pipe.go
│       │   │       ├── privilege.go
│       │   │       ├── reparse.go
│       │   │       ├── sd.go
│       │   │       ├── syscall.go
│       │   │       └── zsyscall_windows.go
│       │   ├── Nvveen/
│       │   │   └── Gotty/
│       │   │       ├── LICENSE
│       │   │       ├── README
│       │   │       ├── TODO
│       │   │       ├── attributes.go
│       │   │       ├── gotty.go
│       │   │       ├── parser.go
│       │   │       └── types.go
│       │   ├── btcsuite/
│       │   │   └── btcd/
│       │   │       ├── LICENSE
│       │   │       └── btcec/
│       │   │           ├── README.md
│       │   │           ├── btcec.go
│       │   │           ├── ciphering.go
│       │   │           ├── doc.go
│       │   │           ├── field.go
│       │   │           ├── genprecomps.go
│       │   │           ├── gensecp256k1.go
│       │   │           ├── precompute.go
│       │   │           ├── privkey.go
│       │   │           ├── pubkey.go
│       │   │           ├── secp256k1.go
│       │   │           └── signature.go
│       │   ├── containerd/
│       │   │   └── continuity/
│       │   │       ├── AUTHORS
│       │   │       ├── LICENSE
│       │   │       └── pathdriver/
│       │   │           └── path_driver.go
│       │   ├── davecgh/
│       │   │   └── go-spew/
│       │   │       ├── LICENSE
│       │   │       └── spew/
│       │   │           ├── bypass.go
│       │   │           ├── bypasssafe.go
│       │   │           ├── common.go
│       │   │           ├── config.go
│       │   │           ├── doc.go
│       │   │           ├── dump.go
│       │   │           ├── format.go
│       │   │           └── spew.go
│       │   ├── docker/
│       │   │   ├── docker/
│       │   │   │   ├── AUTHORS
│       │   │   │   ├── LICENSE
│       │   │   │   ├── NOTICE
│       │   │   │   ├── api/
│       │   │   │   │   └── types/
│       │   │   │   │       ├── auth.go
│       │   │   │   │       ├── blkiodev/
│       │   │   │   │       │   └── blkio.go
│       │   │   │   │       ├── client.go
│       │   │   │   │       ├── configs.go
│       │   │   │   │       ├── container/
│       │   │   │   │       │   ├── config.go
│       │   │   │   │       │   ├── container_changes.go
│       │   │   │   │       │   ├── container_create.go
│       │   │   │   │       │   ├── container_top.go
│       │   │   │   │       │   ├── container_update.go
│       │   │   │   │       │   ├── container_wait.go
│       │   │   │   │       │   ├── host_config.go
│       │   │   │   │       │   ├── hostconfig_unix.go
│       │   │   │   │       │   ├── hostconfig_windows.go
│       │   │   │   │       │   └── waitcondition.go
│       │   │   │   │       ├── error_response.go
│       │   │   │   │       ├── filters/
│       │   │   │   │       │   └── parse.go
│       │   │   │   │       ├── graph_driver_data.go
│       │   │   │   │       ├── id_response.go
│       │   │   │   │       ├── image_delete_response_item.go
│       │   │   │   │       ├── image_summary.go
│       │   │   │   │       ├── mount/
│       │   │   │   │       │   └── mount.go
│       │   │   │   │       ├── network/
│       │   │   │   │       │   └── network.go
│       │   │   │   │       ├── plugin.go
│       │   │   │   │       ├── plugin_device.go
│       │   │   │   │       ├── plugin_env.go
│       │   │   │   │       ├── plugin_interface_type.go
│       │   │   │   │       ├── plugin_mount.go
│       │   │   │   │       ├── plugin_responses.go
│       │   │   │   │       ├── port.go
│       │   │   │   │       ├── registry/
│       │   │   │   │       │   ├── authenticate.go
│       │   │   │   │       │   └── registry.go
│       │   │   │   │       ├── seccomp.go
│       │   │   │   │       ├── service_update_response.go
│       │   │   │   │       ├── stats.go
│       │   │   │   │       ├── strslice/
│       │   │   │   │       │   └── strslice.go
│       │   │   │   │       ├── swarm/
│       │   │   │   │       │   ├── common.go
│       │   │   │   │       │   ├── config.go
│       │   │   │   │       │   ├── container.go
│       │   │   │   │       │   ├── network.go
│       │   │   │   │       │   ├── node.go
│       │   │   │   │       │   ├── runtime/
│       │   │   │   │       │   │   ├── gen.go
│       │   │   │   │       │   │   ├── plugin.pb.go
│       │   │   │   │       │   │   └── plugin.proto
│       │   │   │   │       │   ├── runtime.go
│       │   │   │   │       │   ├── secret.go
│       │   │   │   │       │   ├── service.go
│       │   │   │   │       │   ├── swarm.go
│       │   │   │   │       │   └── task.go
│       │   │   │   │       ├── types.go
│       │   │   │   │       ├── versions/
│       │   │   │   │       │   ├── README.md
│       │   │   │   │       │   └── compare.go
│       │   │   │   │       └── volume.go
│       │   │   │   ├── errdefs/
│       │   │   │   │   ├── defs.go
│       │   │   │   │   ├── doc.go
│       │   │   │   │   ├── helpers.go
│       │   │   │   │   └── is.go
│       │   │   │   ├── opts/
│       │   │   │   │   ├── address_pools.go
│       │   │   │   │   ├── env.go
│       │   │   │   │   ├── hosts.go
│       │   │   │   │   ├── hosts_unix.go
│       │   │   │   │   ├── hosts_windows.go
│       │   │   │   │   ├── ip.go
│       │   │   │   │   ├── opts.go
│       │   │   │   │   ├── opts_unix.go
│       │   │   │   │   ├── opts_windows.go
│       │   │   │   │   ├── quotedstring.go
│       │   │   │   │   ├── runtime.go
│       │   │   │   │   └── ulimit.go
│       │   │   │   └── pkg/
│       │   │   │       ├── fileutils/
│       │   │   │       │   ├── fileutils.go
│       │   │   │       │   ├── fileutils_darwin.go
│       │   │   │       │   ├── fileutils_unix.go
│       │   │   │       │   └── fileutils_windows.go
│       │   │   │       ├── homedir/
│       │   │   │       │   ├── homedir_linux.go
│       │   │   │       │   ├── homedir_others.go
│       │   │   │       │   ├── homedir_unix.go
│       │   │   │       │   └── homedir_windows.go
│       │   │   │       ├── idtools/
│       │   │   │       │   ├── idtools.go
│       │   │   │       │   ├── idtools_unix.go
│       │   │   │       │   ├── idtools_windows.go
│       │   │   │       │   ├── usergroupadd_linux.go
│       │   │   │       │   ├── usergroupadd_unsupported.go
│       │   │   │       │   └── utils_unix.go
│       │   │   │       ├── ioutils/
│       │   │   │       │   ├── buffer.go
│       │   │   │       │   ├── bytespipe.go
│       │   │   │       │   ├── fswriters.go
│       │   │   │       │   ├── readers.go
│       │   │   │       │   ├── temp_unix.go
│       │   │   │       │   ├── temp_windows.go
│       │   │   │       │   ├── writeflusher.go
│       │   │   │       │   └── writers.go
│       │   │   │       ├── longpath/
│       │   │   │       │   └── longpath.go
│       │   │   │       ├── mount/
│       │   │   │       │   ├── flags.go
│       │   │   │       │   ├── flags_freebsd.go
│       │   │   │       │   ├── flags_linux.go
│       │   │   │       │   ├── flags_unsupported.go
│       │   │   │       │   ├── mount.go
│       │   │   │       │   ├── mounter_freebsd.go
│       │   │   │       │   ├── mounter_linux.go
│       │   │   │       │   ├── mounter_unsupported.go
│       │   │   │       │   ├── mountinfo.go
│       │   │   │       │   ├── mountinfo_freebsd.go
│       │   │   │       │   ├── mountinfo_linux.go
│       │   │   │       │   ├── mountinfo_unsupported.go
│       │   │   │       │   ├── mountinfo_windows.go
│       │   │   │       │   └── sharedsubtree_linux.go
│       │   │   │       ├── pools/
│       │   │   │       │   └── pools.go
│       │   │   │       ├── stdcopy/
│       │   │   │       │   └── stdcopy.go
│       │   │   │       └── system/
│       │   │   │           ├── chtimes.go
│       │   │   │           ├── chtimes_unix.go
│       │   │   │           ├── chtimes_windows.go
│       │   │   │           ├── errors.go
│       │   │   │           ├── exitcode.go
│       │   │   │           ├── filesys.go
│       │   │   │           ├── filesys_windows.go
│       │   │   │           ├── init.go
│       │   │   │           ├── init_unix.go
│       │   │   │           ├── init_windows.go
│       │   │   │           ├── lcow.go
│       │   │   │           ├── lcow_unix.go
│       │   │   │           ├── lcow_windows.go
│       │   │   │           ├── lstat_unix.go
│       │   │   │           ├── lstat_windows.go
│       │   │   │           ├── meminfo.go
│       │   │   │           ├── meminfo_linux.go
│       │   │   │           ├── meminfo_unsupported.go
│       │   │   │           ├── meminfo_windows.go
│       │   │   │           ├── mknod.go
│       │   │   │           ├── mknod_windows.go
│       │   │   │           ├── path.go
│       │   │   │           ├── process_unix.go
│       │   │   │           ├── process_windows.go
│       │   │   │           ├── rm.go
│       │   │   │           ├── stat_darwin.go
│       │   │   │           ├── stat_freebsd.go
│       │   │   │           ├── stat_linux.go
│       │   │   │           ├── stat_openbsd.go
│       │   │   │           ├── stat_solaris.go
│       │   │   │           ├── stat_unix.go
│       │   │   │           ├── stat_windows.go
│       │   │   │           ├── syscall_unix.go
│       │   │   │           ├── syscall_windows.go
│       │   │   │           ├── umask.go
│       │   │   │           ├── umask_windows.go
│       │   │   │           ├── utimes_freebsd.go
│       │   │   │           ├── utimes_linux.go
│       │   │   │           ├── utimes_unsupported.go
│       │   │   │           ├── xattrs_linux.go
│       │   │   │           └── xattrs_unsupported.go
│       │   │   ├── go-connections/
│       │   │   │   ├── LICENSE
│       │   │   │   └── nat/
│       │   │   │       ├── nat.go
│       │   │   │       ├── parse.go
│       │   │   │       └── sort.go
│       │   │   ├── go-units/
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE
│       │   │   │   ├── MAINTAINERS
│       │   │   │   ├── README.md
│       │   │   │   ├── circle.yml
│       │   │   │   ├── duration.go
│       │   │   │   ├── size.go
│       │   │   │   └── ulimit.go
│       │   │   └── libnetwork/
│       │   │       ├── LICENSE
│       │   │       └── ipamutils/
│       │   │           └── utils.go
│       │   ├── fsnotify/
│       │   │   └── fsnotify/
│       │   │       ├── .editorconfig
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── AUTHORS
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTING.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── fen.go
│       │   │       ├── fsnotify.go
│       │   │       ├── inotify.go
│       │   │       ├── inotify_poller.go
│       │   │       ├── kqueue.go
│       │   │       ├── open_mode_bsd.go
│       │   │       ├── open_mode_darwin.go
│       │   │       └── windows.go
│       │   ├── go-kit/
│       │   │   └── kit/
│       │   │       ├── LICENSE
│       │   │       └── log/
│       │   │           ├── README.md
│       │   │           ├── doc.go
│       │   │           ├── json_logger.go
│       │   │           ├── level/
│       │   │           │   ├── doc.go
│       │   │           │   └── level.go
│       │   │           ├── log.go
│       │   │           ├── logfmt_logger.go
│       │   │           ├── nop_logger.go
│       │   │           ├── stdlib.go
│       │   │           ├── sync.go
│       │   │           ├── term/
│       │   │           │   ├── LICENSE
│       │   │           │   ├── colorlogger.go
│       │   │           │   ├── colorwriter_others.go
│       │   │           │   ├── colorwriter_windows.go
│       │   │           │   ├── term.go
│       │   │           │   ├── terminal_appengine.go
│       │   │           │   ├── terminal_darwin.go
│       │   │           │   ├── terminal_freebsd.go
│       │   │           │   ├── terminal_linux.go
│       │   │           │   ├── terminal_notwindows.go
│       │   │           │   ├── terminal_openbsd.go
│       │   │           │   └── terminal_windows.go
│       │   │           └── value.go
│       │   ├── go-logfmt/
│       │   │   └── logfmt/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode.go
│       │   │       ├── doc.go
│       │   │       ├── encode.go
│       │   │       ├── fuzz.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       └── jsonstring.go
│       │   ├── gogo/
│       │   │   └── protobuf/
│       │   │       ├── AUTHORS
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── gogoproto/
│       │   │       │   ├── Makefile
│       │   │       │   ├── doc.go
│       │   │       │   ├── gogo.pb.go
│       │   │       │   ├── gogo.pb.golden
│       │   │       │   ├── gogo.proto
│       │   │       │   └── helper.go
│       │   │       ├── jsonpb/
│       │   │       │   └── jsonpb.go
│       │   │       ├── proto/
│       │   │       │   ├── Makefile
│       │   │       │   ├── clone.go
│       │   │       │   ├── custom_gogo.go
│       │   │       │   ├── decode.go
│       │   │       │   ├── deprecated.go
│       │   │       │   ├── discard.go
│       │   │       │   ├── duration.go
│       │   │       │   ├── duration_gogo.go
│       │   │       │   ├── encode.go
│       │   │       │   ├── encode_gogo.go
│       │   │       │   ├── equal.go
│       │   │       │   ├── extensions.go
│       │   │       │   ├── extensions_gogo.go
│       │   │       │   ├── lib.go
│       │   │       │   ├── lib_gogo.go
│       │   │       │   ├── message_set.go
│       │   │       │   ├── pointer_reflect.go
│       │   │       │   ├── pointer_reflect_gogo.go
│       │   │       │   ├── pointer_unsafe.go
│       │   │       │   ├── pointer_unsafe_gogo.go
│       │   │       │   ├── properties.go
│       │   │       │   ├── properties_gogo.go
│       │   │       │   ├── skip_gogo.go
│       │   │       │   ├── table_marshal.go
│       │   │       │   ├── table_marshal_gogo.go
│       │   │       │   ├── table_merge.go
│       │   │       │   ├── table_unmarshal.go
│       │   │       │   ├── table_unmarshal_gogo.go
│       │   │       │   ├── text.go
│       │   │       │   ├── text_gogo.go
│       │   │       │   ├── text_parser.go
│       │   │       │   ├── timestamp.go
│       │   │       │   ├── timestamp_gogo.go
│       │   │       │   ├── wrappers.go
│       │   │       │   └── wrappers_gogo.go
│       │   │       ├── protoc-gen-gogo/
│       │   │       │   └── descriptor/
│       │   │       │       ├── Makefile
│       │   │       │       ├── descriptor.go
│       │   │       │       ├── descriptor.pb.go
│       │   │       │       ├── descriptor_gostring.gen.go
│       │   │       │       └── helper.go
│       │   │       ├── sortkeys/
│       │   │       │   └── sortkeys.go
│       │   │       └── types/
│       │   │           ├── any.go
│       │   │           ├── any.pb.go
│       │   │           ├── api.pb.go
│       │   │           ├── doc.go
│       │   │           ├── duration.go
│       │   │           ├── duration.pb.go
│       │   │           ├── duration_gogo.go
│       │   │           ├── empty.pb.go
│       │   │           ├── field_mask.pb.go
│       │   │           ├── protosize.go
│       │   │           ├── source_context.pb.go
│       │   │           ├── struct.pb.go
│       │   │           ├── timestamp.go
│       │   │           ├── timestamp.pb.go
│       │   │           ├── timestamp_gogo.go
│       │   │           ├── type.pb.go
│       │   │           ├── wrappers.pb.go
│       │   │           └── wrappers_gogo.go
│       │   ├── golang/
│       │   │   └── protobuf/
│       │   │       ├── AUTHORS
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── proto/
│       │   │       │   ├── clone.go
│       │   │       │   ├── decode.go
│       │   │       │   ├── deprecated.go
│       │   │       │   ├── discard.go
│       │   │       │   ├── encode.go
│       │   │       │   ├── equal.go
│       │   │       │   ├── extensions.go
│       │   │       │   ├── lib.go
│       │   │       │   ├── message_set.go
│       │   │       │   ├── pointer_reflect.go
│       │   │       │   ├── pointer_unsafe.go
│       │   │       │   ├── properties.go
│       │   │       │   ├── table_marshal.go
│       │   │       │   ├── table_merge.go
│       │   │       │   ├── table_unmarshal.go
│       │   │       │   ├── text.go
│       │   │       │   └── text_parser.go
│       │   │       └── ptypes/
│       │   │           ├── any/
│       │   │           │   ├── any.pb.go
│       │   │           │   └── any.proto
│       │   │           ├── any.go
│       │   │           ├── doc.go
│       │   │           ├── duration/
│       │   │           │   ├── duration.pb.go
│       │   │           │   └── duration.proto
│       │   │           ├── duration.go
│       │   │           ├── empty/
│       │   │           │   ├── empty.pb.go
│       │   │           │   └── empty.proto
│       │   │           ├── timestamp/
│       │   │           │   ├── timestamp.pb.go
│       │   │           │   └── timestamp.proto
│       │   │           └── timestamp.go
│       │   ├── hashicorp/
│       │   │   └── hcl/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── decoder.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       ├── hcl/
│       │   │       │   ├── ast/
│       │   │       │   │   ├── ast.go
│       │   │       │   │   └── walk.go
│       │   │       │   ├── parser/
│       │   │       │   │   ├── error.go
│       │   │       │   │   └── parser.go
│       │   │       │   ├── printer/
│       │   │       │   │   ├── nodes.go
│       │   │       │   │   └── printer.go
│       │   │       │   ├── scanner/
│       │   │       │   │   └── scanner.go
│       │   │       │   ├── strconv/
│       │   │       │   │   └── quote.go
│       │   │       │   └── token/
│       │   │       │       ├── position.go
│       │   │       │       └── token.go
│       │   │       ├── hcl.go
│       │   │       ├── json/
│       │   │       │   ├── parser/
│       │   │       │   │   ├── flatten.go
│       │   │       │   │   └── parser.go
│       │   │       │   ├── scanner/
│       │   │       │   │   └── scanner.go
│       │   │       │   └── token/
│       │   │       │       ├── position.go
│       │   │       │       └── token.go
│       │   │       ├── lex.go
│       │   │       └── parse.go
│       │   ├── hpcloud/
│       │   │   └── tail/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGES.md
│       │   │       ├── Dockerfile
│       │   │       ├── LICENSE.txt
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── ratelimiter/
│       │   │       │   ├── Licence
│       │   │       │   ├── leakybucket.go
│       │   │       │   ├── memory.go
│       │   │       │   └── storage.go
│       │   │       ├── tail.go
│       │   │       ├── tail_posix.go
│       │   │       ├── tail_windows.go
│       │   │       ├── util/
│       │   │       │   └── util.go
│       │   │       ├── watch/
│       │   │       │   ├── filechanges.go
│       │   │       │   ├── inotify.go
│       │   │       │   ├── inotify_tracker.go
│       │   │       │   ├── polling.go
│       │   │       │   └── watch.go
│       │   │       └── winfile/
│       │   │           └── winfile.go
│       │   ├── hyperledger/
│       │   │   ├── burrow/
│       │   │   │   ├── LICENSE.md
│       │   │   │   ├── acm/
│       │   │   │   │   ├── account.go
│       │   │   │   │   ├── acm.go
│       │   │   │   │   ├── acm.pb.go
│       │   │   │   │   ├── acmstate/
│       │   │   │   │   │   ├── dump_state.go
│       │   │   │   │   │   ├── memory_state.go
│       │   │   │   │   │   ├── state.go
│       │   │   │   │   │   └── state_cache.go
│       │   │   │   │   ├── balance/
│       │   │   │   │   │   ├── balance.go
│       │   │   │   │   │   ├── balance.pb.go
│       │   │   │   │   │   └── type.go
│       │   │   │   │   ├── bytecode.go
│       │   │   │   │   ├── private_account.go
│       │   │   │   │   └── validator/
│       │   │   │   │       ├── bucket.go
│       │   │   │   │       ├── cache.go
│       │   │   │   │       ├── ring.go
│       │   │   │   │       ├── set.go
│       │   │   │   │       ├── validator.go
│       │   │   │   │       ├── validator.pb.go
│       │   │   │   │       └── validators.go
│       │   │   │   ├── binary/
│       │   │   │   │   ├── bytes.go
│       │   │   │   │   ├── byteslice.go
│       │   │   │   │   ├── integer.go
│       │   │   │   │   ├── word160.go
│       │   │   │   │   └── word256.go
│       │   │   │   ├── crypto/
│       │   │   │   │   ├── address.go
│       │   │   │   │   ├── crypto.go
│       │   │   │   │   ├── crypto.pb.go
│       │   │   │   │   ├── private_key.go
│       │   │   │   │   ├── public_key.go
│       │   │   │   │   ├── sha3/
│       │   │   │   │   │   ├── LICENSE
│       │   │   │   │   │   ├── PATENTS
│       │   │   │   │   │   ├── keccakf.go
│       │   │   │   │   │   └── sha3.go
│       │   │   │   │   ├── signature.go
│       │   │   │   │   └── tendermint.go
│       │   │   │   ├── deploy/
│       │   │   │   │   └── compile/
│       │   │   │   │       └── compilers.go
│       │   │   │   ├── event/
│       │   │   │   │   ├── convention.go
│       │   │   │   │   ├── emitter.go
│       │   │   │   │   ├── pubsub/
│       │   │   │   │   │   └── pubsub.go
│       │   │   │   │   └── query/
│       │   │   │   │       ├── Makefile
│       │   │   │   │       ├── builder.go
│       │   │   │   │       ├── empty.go
│       │   │   │   │       ├── query.go
│       │   │   │   │       ├── query.peg
│       │   │   │   │       ├── query.peg.go
│       │   │   │   │       ├── reflect_tagged.go
│       │   │   │   │       └── tags.go
│       │   │   │   ├── execution/
│       │   │   │   │   ├── errors/
│       │   │   │   │   │   ├── errors.go
│       │   │   │   │   │   ├── errors.pb.go
│       │   │   │   │   │   ├── native.go
│       │   │   │   │   │   └── vm.go
│       │   │   │   │   ├── evm/
│       │   │   │   │   │   ├── abi/
│       │   │   │   │   │   │   ├── abi.go
│       │   │   │   │   │   │   └── core.go
│       │   │   │   │   │   ├── asm/
│       │   │   │   │   │   │   ├── bc/
│       │   │   │   │   │   │   │   └── helpers.go
│       │   │   │   │   │   │   └── opcodes.go
│       │   │   │   │   │   ├── event_sink.go
│       │   │   │   │   │   ├── fake_app_state.go
│       │   │   │   │   │   ├── gas.go
│       │   │   │   │   │   ├── memory.go
│       │   │   │   │   │   ├── native.go
│       │   │   │   │   │   ├── options.go
│       │   │   │   │   │   ├── snative.go
│       │   │   │   │   │   ├── stack.go
│       │   │   │   │   │   ├── state.go
│       │   │   │   │   │   └── vm.go
│       │   │   │   │   ├── exec/
│       │   │   │   │   │   ├── block_execution.go
│       │   │   │   │   │   ├── call_event.go
│       │   │   │   │   │   ├── codec.go
│       │   │   │   │   │   ├── event.go
│       │   │   │   │   │   ├── exec.pb.go
│       │   │   │   │   │   ├── govern_account_event.go
│       │   │   │   │   │   ├── header.go
│       │   │   │   │   │   ├── log_event.go
│       │   │   │   │   │   ├── stream_event.go
│       │   │   │   │   │   └── tx_execution.go
│       │   │   │   │   └── names/
│       │   │   │   │       ├── cache.go
│       │   │   │   │       ├── names.go
│       │   │   │   │       └── names.pb.go
│       │   │   │   ├── genesis/
│       │   │   │   │   ├── deterministic_genesis.go
│       │   │   │   │   ├── genesis.go
│       │   │   │   │   └── spec/
│       │   │   │   │       ├── genesis_spec.go
│       │   │   │   │       ├── presets.go
│       │   │   │   │       ├── spec.pb.go
│       │   │   │   │       └── template_account.go
│       │   │   │   ├── keys/
│       │   │   │   │   ├── config.go
│       │   │   │   │   ├── core.go
│       │   │   │   │   ├── key_client.go
│       │   │   │   │   ├── key_store.go
│       │   │   │   │   ├── keys.pb.go
│       │   │   │   │   └── server.go
│       │   │   │   ├── logging/
│       │   │   │   │   ├── logger.go
│       │   │   │   │   ├── structure/
│       │   │   │   │   │   └── structure.go
│       │   │   │   │   └── terminal.go
│       │   │   │   ├── permission/
│       │   │   │   │   ├── account_permissions.go
│       │   │   │   │   ├── base_permissions.go
│       │   │   │   │   ├── errors.go
│       │   │   │   │   ├── perm_flag.go
│       │   │   │   │   ├── permission.pb.go
│       │   │   │   │   ├── permissions.go
│       │   │   │   │   ├── snatives.go
│       │   │   │   │   └── util.go
│       │   │   │   ├── process/
│       │   │   │   │   └── process.go
│       │   │   │   └── txs/
│       │   │   │       ├── amino_codec.go
│       │   │   │       ├── envelope.go
│       │   │   │       ├── json_codec.go
│       │   │   │       ├── payload/
│       │   │   │       │   ├── batch_tx.go
│       │   │   │       │   ├── bond_tx.go
│       │   │   │       │   ├── call_tx.go
│       │   │   │       │   ├── gov_tx.go
│       │   │   │       │   ├── name_tx.go
│       │   │   │       │   ├── payload.go
│       │   │   │       │   ├── payload.pb.go
│       │   │   │       │   ├── perms_tx.go
│       │   │   │       │   ├── proposal_tx.go
│       │   │   │       │   ├── send_tx.go
│       │   │   │       │   ├── tx_input.go
│       │   │   │       │   ├── tx_output.go
│       │   │   │       │   └── unbond_tx.go
│       │   │   │       ├── tx.go
│       │   │   │       └── txs.pb.go
│       │   │   ├── fabric/
│       │   │   │   ├── LICENSE
│       │   │   │   ├── bccsp/
│       │   │   │   │   ├── aesopts.go
│       │   │   │   │   ├── bccsp.go
│       │   │   │   │   ├── ecdsaopts.go
│       │   │   │   │   ├── factory/
│       │   │   │   │   │   ├── factory.go
│       │   │   │   │   │   ├── nopkcs11.go
│       │   │   │   │   │   ├── opts.go
│       │   │   │   │   │   ├── pkcs11.go
│       │   │   │   │   │   ├── pkcs11factory.go
│       │   │   │   │   │   ├── pluginfactory.go
│       │   │   │   │   │   └── swfactory.go
│       │   │   │   │   ├── hashopts.go
│       │   │   │   │   ├── idemix/
│       │   │   │   │   │   ├── bccsp.go
│       │   │   │   │   │   ├── bridge/
│       │   │   │   │   │   │   ├── credential.go
│       │   │   │   │   │   │   ├── credrequest.go
│       │   │   │   │   │   │   ├── issuer.go
│       │   │   │   │   │   │   ├── math.go
│       │   │   │   │   │   │   ├── nymsignaturescheme.go
│       │   │   │   │   │   │   ├── rand.go
│       │   │   │   │   │   │   ├── revocation.go
│       │   │   │   │   │   │   ├── signaturescheme.go
│       │   │   │   │   │   │   └── user.go
│       │   │   │   │   │   └── handlers/
│       │   │   │   │   │       ├── cred.go
│       │   │   │   │   │       ├── idemix.go
│       │   │   │   │   │       ├── issuer.go
│       │   │   │   │   │       ├── nym.go
│       │   │   │   │   │       ├── nymsigner.go
│       │   │   │   │   │       ├── revocation.go
│       │   │   │   │   │       ├── signer.go
│       │   │   │   │   │       └── user.go
│       │   │   │   │   ├── idemixerrs.go
│       │   │   │   │   ├── idemixopts.go
│       │   │   │   │   ├── keystore.go
│       │   │   │   │   ├── opts.go
│       │   │   │   │   ├── pkcs11/
│       │   │   │   │   │   ├── conf.go
│       │   │   │   │   │   ├── ecdsa.go
│       │   │   │   │   │   ├── ecdsakey.go
│       │   │   │   │   │   ├── impl.go
│       │   │   │   │   │   └── pkcs11.go
│       │   │   │   │   ├── rsaopts.go
│       │   │   │   │   ├── signer/
│       │   │   │   │   │   └── signer.go
│       │   │   │   │   ├── sw/
│       │   │   │   │   │   ├── aes.go
│       │   │   │   │   │   ├── aeskey.go
│       │   │   │   │   │   ├── conf.go
│       │   │   │   │   │   ├── dummyks.go
│       │   │   │   │   │   ├── ecdsa.go
│       │   │   │   │   │   ├── ecdsakey.go
│       │   │   │   │   │   ├── fileks.go
│       │   │   │   │   │   ├── hash.go
│       │   │   │   │   │   ├── impl.go
│       │   │   │   │   │   ├── inmemoryks.go
│       │   │   │   │   │   ├── internals.go
│       │   │   │   │   │   ├── keyderiv.go
│       │   │   │   │   │   ├── keygen.go
│       │   │   │   │   │   ├── keyimport.go
│       │   │   │   │   │   ├── new.go
│       │   │   │   │   │   ├── rsa.go
│       │   │   │   │   │   └── rsakey.go
│       │   │   │   │   └── utils/
│       │   │   │   │       ├── ecdsa.go
│       │   │   │   │       ├── errs.go
│       │   │   │   │       ├── io.go
│       │   │   │   │       ├── keys.go
│       │   │   │   │       ├── slice.go
│       │   │   │   │       └── x509.go
│       │   │   │   ├── common/
│       │   │   │   │   ├── crypto/
│       │   │   │   │   │   ├── expiration.go
│       │   │   │   │   │   ├── random.go
│       │   │   │   │   │   └── signer.go
│       │   │   │   │   ├── flogging/
│       │   │   │   │   │   ├── core.go
│       │   │   │   │   │   ├── fabenc/
│       │   │   │   │   │   │   ├── color.go
│       │   │   │   │   │   │   ├── encoder.go
│       │   │   │   │   │   │   └── formatter.go
│       │   │   │   │   │   ├── global.go
│       │   │   │   │   │   ├── legacy.go
│       │   │   │   │   │   ├── levels.go
│       │   │   │   │   │   ├── loggerlevels.go
│       │   │   │   │   │   ├── logging.go
│       │   │   │   │   │   └── zap.go
│       │   │   │   │   ├── ledger/
│       │   │   │   │   │   └── ledger_interface.go
│       │   │   │   │   ├── metadata/
│       │   │   │   │   │   └── metadata.go
│       │   │   │   │   ├── metrics/
│       │   │   │   │   │   └── provider.go
│       │   │   │   │   └── util/
│       │   │   │   │       ├── net.go
│       │   │   │   │       └── utils.go
│       │   │   │   ├── core/
│       │   │   │   │   ├── chaincode/
│       │   │   │   │   │   ├── platforms/
│       │   │   │   │   │   │   ├── ccmetadata/
│       │   │   │   │   │   │   │   ├── ccmetadata.go
│       │   │   │   │   │   │   │   ├── targzmetadataprovider.go
│       │   │   │   │   │   │   │   └── validators.go
│       │   │   │   │   │   │   └── platforms.go
│       │   │   │   │   │   └── shim/
│       │   │   │   │   │       ├── chaincode.go
│       │   │   │   │   │       ├── handler.go
│       │   │   │   │   │       ├── inprocstream.go
│       │   │   │   │   │       ├── interfaces.go
│       │   │   │   │   │       ├── mockstub.go
│       │   │   │   │   │       └── response.go
│       │   │   │   │   ├── comm/
│       │   │   │   │   │   ├── client.go
│       │   │   │   │   │   ├── config.go
│       │   │   │   │   │   ├── connection.go
│       │   │   │   │   │   ├── creds.go
│       │   │   │   │   │   ├── metrics.go
│       │   │   │   │   │   ├── producer.go
│       │   │   │   │   │   ├── server.go
│       │   │   │   │   │   ├── serverstatshandler.go
│       │   │   │   │   │   └── util.go
│       │   │   │   │   ├── config/
│       │   │   │   │   │   └── config.go
│       │   │   │   │   └── container/
│       │   │   │   │       └── util/
│       │   │   │   │           ├── dockerutil.go
│       │   │   │   │           └── writer.go
│       │   │   │   ├── idemix/
│       │   │   │   │   ├── credential.go
│       │   │   │   │   ├── credrequest.go
│       │   │   │   │   ├── idemix.pb.go
│       │   │   │   │   ├── issuerkey.go
│       │   │   │   │   ├── nonrevocation-prover.go
│       │   │   │   │   ├── nonrevocation-verifier.go
│       │   │   │   │   ├── nymsignature.go
│       │   │   │   │   ├── revocation_authority.go
│       │   │   │   │   ├── signature.go
│       │   │   │   │   ├── util.go
│       │   │   │   │   └── weak-bb.go
│       │   │   │   ├── msp/
│       │   │   │   │   ├── cert.go
│       │   │   │   │   ├── configbuilder.go
│       │   │   │   │   ├── factory.go
│       │   │   │   │   ├── idemix_roles.go
│       │   │   │   │   ├── idemixmsp.go
│       │   │   │   │   ├── identities.go
│       │   │   │   │   ├── msp.go
│       │   │   │   │   ├── mspimpl.go
│       │   │   │   │   ├── mspimplsetup.go
│       │   │   │   │   ├── mspimplvalidate.go
│       │   │   │   │   └── mspmgrimpl.go
│       │   │   │   └── protos/
│       │   │   │       ├── common/
│       │   │   │       │   ├── block.go
│       │   │   │       │   ├── collection.pb.go
│       │   │   │       │   ├── collection.proto
│       │   │   │       │   ├── common.go
│       │   │   │       │   ├── common.pb.go
│       │   │   │       │   ├── common.proto
│       │   │   │       │   ├── configtx.go
│       │   │   │       │   ├── configtx.pb.go
│       │   │   │       │   ├── configtx.proto
│       │   │   │       │   ├── configuration.go
│       │   │   │       │   ├── configuration.pb.go
│       │   │   │       │   ├── configuration.proto
│       │   │   │       │   ├── ledger.pb.go
│       │   │   │       │   ├── ledger.proto
│       │   │   │       │   ├── policies.go
│       │   │   │       │   ├── policies.pb.go
│       │   │   │       │   ├── policies.proto
│       │   │   │       │   └── signed_data.go
│       │   │   │       ├── ledger/
│       │   │   │       │   ├── queryresult/
│       │   │   │       │   │   ├── kv_query_result.pb.go
│       │   │   │       │   │   └── kv_query_result.proto
│       │   │   │       │   └── rwset/
│       │   │   │       │       ├── kvrwset/
│       │   │   │       │       │   ├── helper.go
│       │   │   │       │       │   ├── kv_rwset.pb.go
│       │   │   │       │       │   └── kv_rwset.proto
│       │   │   │       │       ├── rwset.go
│       │   │   │       │       ├── rwset.pb.go
│       │   │   │       │       └── rwset.proto
│       │   │   │       ├── msp/
│       │   │   │       │   ├── identities.pb.go
│       │   │   │       │   ├── identities.proto
│       │   │   │       │   ├── msp_config.go
│       │   │   │       │   ├── msp_config.pb.go
│       │   │   │       │   ├── msp_config.proto
│       │   │   │       │   ├── msp_principal.go
│       │   │   │       │   ├── msp_principal.pb.go
│       │   │   │       │   └── msp_principal.proto
│       │   │   │       ├── peer/
│       │   │   │       │   ├── admin.pb.go
│       │   │   │       │   ├── admin.proto
│       │   │   │       │   ├── chaincode.go
│       │   │   │       │   ├── chaincode.pb.go
│       │   │   │       │   ├── chaincode.proto
│       │   │   │       │   ├── chaincode_event.pb.go
│       │   │   │       │   ├── chaincode_event.proto
│       │   │   │       │   ├── chaincode_shim.pb.go
│       │   │   │       │   ├── chaincode_shim.proto
│       │   │   │       │   ├── chaincodeunmarshall.go
│       │   │   │       │   ├── configuration.go
│       │   │   │       │   ├── configuration.pb.go
│       │   │   │       │   ├── configuration.proto
│       │   │   │       │   ├── events.pb.go
│       │   │   │       │   ├── events.proto
│       │   │   │       │   ├── peer.pb.go
│       │   │   │       │   ├── peer.proto
│       │   │   │       │   ├── proposal.go
│       │   │   │       │   ├── proposal.pb.go
│       │   │   │       │   ├── proposal.proto
│       │   │   │       │   ├── proposal_response.go
│       │   │   │       │   ├── proposal_response.pb.go
│       │   │   │       │   ├── proposal_response.proto
│       │   │   │       │   ├── query.pb.go
│       │   │   │       │   ├── query.proto
│       │   │   │       │   ├── resources.pb.go
│       │   │   │       │   ├── resources.proto
│       │   │   │       │   ├── signed_cc_dep_spec.pb.go
│       │   │   │       │   ├── signed_cc_dep_spec.proto
│       │   │   │       │   ├── transaction.go
│       │   │   │       │   ├── transaction.pb.go
│       │   │   │       │   └── transaction.proto
│       │   │   │       ├── token/
│       │   │   │       │   ├── expectations.pb.go
│       │   │   │       │   ├── expectations.proto
│       │   │   │       │   ├── prover.pb.go
│       │   │   │       │   ├── prover.proto
│       │   │   │       │   ├── transaction.pb.go
│       │   │   │       │   └── transaction.proto
│       │   │   │       └── utils/
│       │   │   │           ├── blockutils.go
│       │   │   │           ├── chaincodeutils.go
│       │   │   │           ├── commonutils.go
│       │   │   │           ├── proputils.go
│       │   │   │           └── txutils.go
│       │   │   └── fabric-amcl/
│       │   │       ├── LICENSE
│       │   │       └── amcl/
│       │   │           ├── AES.go
│       │   │           ├── FP256BN/
│       │   │           │   ├── ARCH.go
│       │   │           │   ├── BIG.go
│       │   │           │   ├── DBIG.go
│       │   │           │   ├── ECDH.go
│       │   │           │   ├── ECP.go
│       │   │           │   ├── ECP2.go
│       │   │           │   ├── FP.go
│       │   │           │   ├── FP12.go
│       │   │           │   ├── FP2.go
│       │   │           │   ├── FP4.go
│       │   │           │   ├── MPIN.go
│       │   │           │   ├── PAIR.go
│       │   │           │   └── ROM.go
│       │   │           ├── GCM.go
│       │   │           ├── HASH256.go
│       │   │           ├── HASH384.go
│       │   │           ├── HASH512.go
│       │   │           ├── NHS.go
│       │   │           ├── RAND.go
│       │   │           └── SHA3.go
│       │   ├── konsorten/
│       │   │   └── go-windows-terminal-sequences/
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── go.mod
│       │   │       └── sequences.go
│       │   ├── kr/
│       │   │   └── logfmt/
│       │   │       ├── .gitignore
│       │   │       ├── Readme
│       │   │       ├── decode.go
│       │   │       ├── scanner.go
│       │   │       └── unquote.go
│       │   ├── magiconair/
│       │   │   └── properties/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode.go
│       │   │       ├── doc.go
│       │   │       ├── go.mod
│       │   │       ├── integrate.go
│       │   │       ├── lex.go
│       │   │       ├── load.go
│       │   │       ├── parser.go
│       │   │       ├── properties.go
│       │   │       └── rangecheck.go
│       │   ├── miekg/
│       │   │   └── pkcs11/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── Makefile.release
│       │   │       ├── README.md
│       │   │       ├── const.go
│       │   │       ├── error.go
│       │   │       ├── go.mod
│       │   │       ├── params.go
│       │   │       ├── pkcs11.go
│       │   │       ├── pkcs11.h
│       │   │       ├── pkcs11f.h
│       │   │       ├── pkcs11go.h
│       │   │       ├── pkcs11t.h
│       │   │       ├── release.go
│       │   │       ├── softhsm.conf
│       │   │       ├── softhsm2.conf
│       │   │       ├── types.go
│       │   │       └── vendor.go
│       │   ├── mitchellh/
│       │   │   └── mapstructure/
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode_hooks.go
│       │   │       ├── error.go
│       │   │       ├── go.mod
│       │   │       └── mapstructure.go
│       │   ├── onsi/
│       │   │   ├── ginkgo/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── CHANGELOG.md
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE
│       │   │   │   ├── README.md
│       │   │   │   ├── RELEASING.md
│       │   │   │   ├── config/
│       │   │   │   │   └── config.go
│       │   │   │   ├── ginkgo_dsl.go
│       │   │   │   ├── internal/
│       │   │   │   │   ├── codelocation/
│       │   │   │   │   │   └── code_location.go
│       │   │   │   │   ├── containernode/
│       │   │   │   │   │   └── container_node.go
│       │   │   │   │   ├── failer/
│       │   │   │   │   │   └── failer.go
│       │   │   │   │   ├── leafnodes/
│       │   │   │   │   │   ├── benchmarker.go
│       │   │   │   │   │   ├── interfaces.go
│       │   │   │   │   │   ├── it_node.go
│       │   │   │   │   │   ├── measure_node.go
│       │   │   │   │   │   ├── runner.go
│       │   │   │   │   │   ├── setup_nodes.go
│       │   │   │   │   │   ├── suite_nodes.go
│       │   │   │   │   │   ├── synchronized_after_suite_node.go
│       │   │   │   │   │   └── synchronized_before_suite_node.go
│       │   │   │   │   ├── remote/
│       │   │   │   │   │   ├── aggregator.go
│       │   │   │   │   │   ├── forwarding_reporter.go
│       │   │   │   │   │   ├── output_interceptor.go
│       │   │   │   │   │   ├── output_interceptor_unix.go
│       │   │   │   │   │   ├── output_interceptor_win.go
│       │   │   │   │   │   ├── server.go
│       │   │   │   │   │   ├── syscall_dup_linux_arm64.go
│       │   │   │   │   │   ├── syscall_dup_solaris.go
│       │   │   │   │   │   └── syscall_dup_unix.go
│       │   │   │   │   ├── spec/
│       │   │   │   │   │   ├── spec.go
│       │   │   │   │   │   └── specs.go
│       │   │   │   │   ├── spec_iterator/
│       │   │   │   │   │   ├── index_computer.go
│       │   │   │   │   │   ├── parallel_spec_iterator.go
│       │   │   │   │   │   ├── serial_spec_iterator.go
│       │   │   │   │   │   ├── sharded_parallel_spec_iterator.go
│       │   │   │   │   │   └── spec_iterator.go
│       │   │   │   │   ├── specrunner/
│       │   │   │   │   │   ├── random_id.go
│       │   │   │   │   │   └── spec_runner.go
│       │   │   │   │   ├── suite/
│       │   │   │   │   │   └── suite.go
│       │   │   │   │   ├── testingtproxy/
│       │   │   │   │   │   └── testing_t_proxy.go
│       │   │   │   │   └── writer/
│       │   │   │   │       ├── fake_writer.go
│       │   │   │   │       └── writer.go
│       │   │   │   ├── reporters/
│       │   │   │   │   ├── default_reporter.go
│       │   │   │   │   ├── fake_reporter.go
│       │   │   │   │   ├── junit_reporter.go
│       │   │   │   │   ├── reporter.go
│       │   │   │   │   ├── stenographer/
│       │   │   │   │   │   ├── console_logging.go
│       │   │   │   │   │   ├── fake_stenographer.go
│       │   │   │   │   │   ├── stenographer.go
│       │   │   │   │   │   └── support/
│       │   │   │   │   │       ├── go-colorable/
│       │   │   │   │   │       │   ├── LICENSE
│       │   │   │   │   │       │   ├── README.md
│       │   │   │   │   │       │   ├── colorable_others.go
│       │   │   │   │   │       │   ├── colorable_windows.go
│       │   │   │   │   │       │   └── noncolorable.go
│       │   │   │   │   │       └── go-isatty/
│       │   │   │   │   │           ├── LICENSE
│       │   │   │   │   │           ├── README.md
│       │   │   │   │   │           ├── doc.go
│       │   │   │   │   │           ├── isatty_appengine.go
│       │   │   │   │   │           ├── isatty_bsd.go
│       │   │   │   │   │           ├── isatty_linux.go
│       │   │   │   │   │           ├── isatty_solaris.go
│       │   │   │   │   │           └── isatty_windows.go
│       │   │   │   │   └── teamcity_reporter.go
│       │   │   │   └── types/
│       │   │   │       ├── code_location.go
│       │   │   │       ├── synchronization.go
│       │   │   │       └── types.go
│       │   │   └── gomega/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTING.md
│       │   │       ├── LICENSE
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── RELEASING.md
│       │   │       ├── format/
│       │   │       │   └── format.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       ├── gomega_dsl.go
│       │   │       ├── internal/
│       │   │       │   ├── assertion/
│       │   │       │   │   └── assertion.go
│       │   │       │   ├── asyncassertion/
│       │   │       │   │   └── async_assertion.go
│       │   │       │   ├── oraclematcher/
│       │   │       │   │   └── oracle_matcher.go
│       │   │       │   └── testingtsupport/
│       │   │       │       └── testing_t_support.go
│       │   │       ├── matchers/
│       │   │       │   ├── and.go
│       │   │       │   ├── assignable_to_type_of_matcher.go
│       │   │       │   ├── attributes_slice.go
│       │   │       │   ├── be_a_directory.go
│       │   │       │   ├── be_a_regular_file.go
│       │   │       │   ├── be_an_existing_file.go
│       │   │       │   ├── be_closed_matcher.go
│       │   │       │   ├── be_element_of_matcher.go
│       │   │       │   ├── be_empty_matcher.go
│       │   │       │   ├── be_equivalent_to_matcher.go
│       │   │       │   ├── be_false_matcher.go
│       │   │       │   ├── be_identical_to.go
│       │   │       │   ├── be_nil_matcher.go
│       │   │       │   ├── be_numerically_matcher.go
│       │   │       │   ├── be_sent_matcher.go
│       │   │       │   ├── be_temporally_matcher.go
│       │   │       │   ├── be_true_matcher.go
│       │   │       │   ├── be_zero_matcher.go
│       │   │       │   ├── consist_of.go
│       │   │       │   ├── contain_element_matcher.go
│       │   │       │   ├── contain_substring_matcher.go
│       │   │       │   ├── equal_matcher.go
│       │   │       │   ├── have_cap_matcher.go
│       │   │       │   ├── have_key_matcher.go
│       │   │       │   ├── have_key_with_value_matcher.go
│       │   │       │   ├── have_len_matcher.go
│       │   │       │   ├── have_occurred_matcher.go
│       │   │       │   ├── have_prefix_matcher.go
│       │   │       │   ├── have_suffix_matcher.go
│       │   │       │   ├── match_error_matcher.go
│       │   │       │   ├── match_json_matcher.go
│       │   │       │   ├── match_regexp_matcher.go
│       │   │       │   ├── match_xml_matcher.go
│       │   │       │   ├── match_yaml_matcher.go
│       │   │       │   ├── not.go
│       │   │       │   ├── or.go
│       │   │       │   ├── panic_matcher.go
│       │   │       │   ├── receive_matcher.go
│       │   │       │   ├── semi_structured_data_support.go
│       │   │       │   ├── succeed_matcher.go
│       │   │       │   ├── support/
│       │   │       │   │   └── goraph/
│       │   │       │   │       ├── bipartitegraph/
│       │   │       │   │       │   ├── bipartitegraph.go
│       │   │       │   │       │   └── bipartitegraphmatching.go
│       │   │       │   │       ├── edge/
│       │   │       │   │       │   └── edge.go
│       │   │       │   │       ├── node/
│       │   │       │   │       │   └── node.go
│       │   │       │   │       └── util/
│       │   │       │   │           └── util.go
│       │   │       │   ├── type_support.go
│       │   │       │   └── with_transform.go
│       │   │       ├── matchers.go
│       │   │       └── types/
│       │   │           └── types.go
│       │   ├── op/
│       │   │   └── go-logging/
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── backend.go
│       │   │       ├── format.go
│       │   │       ├── level.go
│       │   │       ├── log_nix.go
│       │   │       ├── log_windows.go
│       │   │       ├── logger.go
│       │   │       ├── memory.go
│       │   │       ├── multi.go
│       │   │       ├── syslog.go
│       │   │       └── syslog_fallback.go
│       │   ├── opencontainers/
│       │   │   ├── go-digest/
│       │   │   │   ├── .mailmap
│       │   │   │   ├── .pullapprove.yml
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE.code
│       │   │   │   ├── LICENSE.docs
│       │   │   │   ├── MAINTAINERS
│       │   │   │   ├── README.md
│       │   │   │   ├── algorithm.go
│       │   │   │   ├── digest.go
│       │   │   │   ├── digester.go
│       │   │   │   ├── doc.go
│       │   │   │   └── verifiers.go
│       │   │   ├── image-spec/
│       │   │   │   ├── LICENSE
│       │   │   │   └── specs-go/
│       │   │   │       ├── v1/
│       │   │   │       │   ├── annotations.go
│       │   │   │       │   ├── config.go
│       │   │   │       │   ├── descriptor.go
│       │   │   │       │   ├── index.go
│       │   │   │       │   ├── layout.go
│       │   │   │       │   ├── manifest.go
│       │   │   │       │   └── mediatype.go
│       │   │   │       ├── version.go
│       │   │   │       └── versioned.go
│       │   │   └── runc/
│       │   │       ├── LICENSE
│       │   │       ├── NOTICE
│       │   │       └── libcontainer/
│       │   │           └── user/
│       │   │               ├── MAINTAINERS
│       │   │               ├── lookup.go
│       │   │               ├── lookup_unix.go
│       │   │               ├── lookup_unsupported.go
│       │   │               └── user.go
│       │   ├── pelletier/
│       │   │   └── go-toml/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── benchmark.json
│       │   │       ├── benchmark.sh
│       │   │       ├── benchmark.toml
│       │   │       ├── benchmark.yml
│       │   │       ├── doc.go
│       │   │       ├── example-crlf.toml
│       │   │       ├── example.toml
│       │   │       ├── fuzz.go
│       │   │       ├── fuzz.sh
│       │   │       ├── keysparsing.go
│       │   │       ├── lexer.go
│       │   │       ├── marshal.go
│       │   │       ├── marshal_test.toml
│       │   │       ├── parser.go
│       │   │       ├── position.go
│       │   │       ├── test.sh
│       │   │       ├── token.go
│       │   │       ├── toml.go
│       │   │       ├── tomltree_create.go
│       │   │       └── tomltree_write.go
│       │   ├── pkg/
│       │   │   └── errors/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── errors.go
│       │   │       └── stack.go
│       │   ├── spf13/
│       │   │   ├── afero/
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── LICENSE.txt
│       │   │   │   ├── README.md
│       │   │   │   ├── afero.go
│       │   │   │   ├── appveyor.yml
│       │   │   │   ├── basepath.go
│       │   │   │   ├── cacheOnReadFs.go
│       │   │   │   ├── const_bsds.go
│       │   │   │   ├── const_win_unix.go
│       │   │   │   ├── copyOnWriteFs.go
│       │   │   │   ├── go.mod
│       │   │   │   ├── httpFs.go
│       │   │   │   ├── ioutil.go
│       │   │   │   ├── lstater.go
│       │   │   │   ├── match.go
│       │   │   │   ├── mem/
│       │   │   │   │   ├── dir.go
│       │   │   │   │   ├── dirmap.go
│       │   │   │   │   └── file.go
│       │   │   │   ├── memmap.go
│       │   │   │   ├── os.go
│       │   │   │   ├── path.go
│       │   │   │   ├── readonlyfs.go
│       │   │   │   ├── regexpfs.go
│       │   │   │   ├── unionFile.go
│       │   │   │   └── util.go
│       │   │   ├── cast/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── LICENSE
│       │   │   │   ├── Makefile
│       │   │   │   ├── README.md
│       │   │   │   ├── cast.go
│       │   │   │   ├── caste.go
│       │   │   │   ├── go.mod
│       │   │   │   └── go.sum
│       │   │   ├── jwalterweatherman/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── LICENSE
│       │   │   │   ├── README.md
│       │   │   │   ├── default_notepad.go
│       │   │   │   ├── go.mod
│       │   │   │   ├── log_counter.go
│       │   │   │   └── notepad.go
│       │   │   └── pflag/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── bool.go
│       │   │       ├── bool_slice.go
│       │   │       ├── bytes.go
│       │   │       ├── count.go
│       │   │       ├── duration.go
│       │   │       ├── duration_slice.go
│       │   │       ├── flag.go
│       │   │       ├── float32.go
│       │   │       ├── float64.go
│       │   │       ├── golangflag.go
│       │   │       ├── int.go
│       │   │       ├── int16.go
│       │   │       ├── int32.go
│       │   │       ├── int64.go
│       │   │       ├── int8.go
│       │   │       ├── int_slice.go
│       │   │       ├── ip.go
│       │   │       ├── ip_slice.go
│       │   │       ├── ipmask.go
│       │   │       ├── ipnet.go
│       │   │       ├── string.go
│       │   │       ├── string_array.go
│       │   │       ├── string_slice.go
│       │   │       ├── string_to_int.go
│       │   │       ├── string_to_string.go
│       │   │       ├── uint.go
│       │   │       ├── uint16.go
│       │   │       ├── uint32.go
│       │   │       ├── uint64.go
│       │   │       ├── uint8.go
│       │   │       └── uint_slice.go
│       │   ├── tendermint/
│       │   │   └── tendermint/
│       │   │       ├── LICENSE
│       │   │       ├── abci/
│       │   │       │   └── types/
│       │   │       │       ├── application.go
│       │   │       │       ├── messages.go
│       │   │       │       ├── pubkey.go
│       │   │       │       ├── result.go
│       │   │       │       ├── types.pb.go
│       │   │       │       ├── types.proto
│       │   │       │       └── util.go
│       │   │       ├── crypto/
│       │   │       │   ├── CHANGELOG.md
│       │   │       │   ├── README.md
│       │   │       │   ├── crypto.go
│       │   │       │   ├── doc.go
│       │   │       │   ├── ed25519/
│       │   │       │   │   └── ed25519.go
│       │   │       │   ├── encoding/
│       │   │       │   │   └── amino/
│       │   │       │   │       └── amino.go
│       │   │       │   ├── hash.go
│       │   │       │   ├── merkle/
│       │   │       │   │   ├── README.md
│       │   │       │   │   ├── codec.go
│       │   │       │   │   ├── compile.sh
│       │   │       │   │   ├── doc.go
│       │   │       │   │   ├── hash.go
│       │   │       │   │   ├── merkle.pb.go
│       │   │       │   │   ├── merkle.proto
│       │   │       │   │   ├── proof.go
│       │   │       │   │   ├── proof_key_path.go
│       │   │       │   │   ├── proof_simple_value.go
│       │   │       │   │   ├── result.go
│       │   │       │   │   ├── simple_map.go
│       │   │       │   │   ├── simple_proof.go
│       │   │       │   │   ├── simple_tree.go
│       │   │       │   │   └── types.go
│       │   │       │   ├── multisig/
│       │   │       │   │   ├── bitarray/
│       │   │       │   │   │   └── compact_bit_array.go
│       │   │       │   │   ├── codec.go
│       │   │       │   │   ├── multisignature.go
│       │   │       │   │   └── threshold_pubkey.go
│       │   │       │   ├── random.go
│       │   │       │   ├── secp256k1/
│       │   │       │   │   ├── internal/
│       │   │       │   │   │   └── secp256k1/
│       │   │       │   │   │       ├── .gitignore
│       │   │       │   │   │       ├── LICENSE
│       │   │       │   │   │       ├── README.md
│       │   │       │   │   │       ├── curve.go
│       │   │       │   │   │       ├── ext.h
│       │   │       │   │   │       ├── panic_cb.go
│       │   │       │   │   │       └── secp256.go
│       │   │       │   │   ├── secp256k1.go
│       │   │       │   │   ├── secp256k1_cgo.go
│       │   │       │   │   └── secp256k1_nocgo.go
│       │   │       │   ├── tmhash/
│       │   │       │   │   └── hash.go
│       │   │       │   └── version.go
│       │   │       ├── libs/
│       │   │       │   ├── common/
│       │   │       │   │   ├── LICENSE
│       │   │       │   │   ├── async.go
│       │   │       │   │   ├── bit_array.go
│       │   │       │   │   ├── bytes.go
│       │   │       │   │   ├── byteslice.go
│       │   │       │   │   ├── cmap.go
│       │   │       │   │   ├── errors.go
│       │   │       │   │   ├── int.go
│       │   │       │   │   ├── kvpair.go
│       │   │       │   │   ├── math.go
│       │   │       │   │   ├── net.go
│       │   │       │   │   ├── nil.go
│       │   │       │   │   ├── os.go
│       │   │       │   │   ├── random.go
│       │   │       │   │   ├── result.go
│       │   │       │   │   ├── service.go
│       │   │       │   │   ├── string.go
│       │   │       │   │   ├── tempfile.go
│       │   │       │   │   ├── throttle_timer.go
│       │   │       │   │   ├── types.pb.go
│       │   │       │   │   └── types.proto
│       │   │       │   ├── log/
│       │   │       │   │   ├── filter.go
│       │   │       │   │   ├── logger.go
│       │   │       │   │   ├── nop_logger.go
│       │   │       │   │   ├── testing_logger.go
│       │   │       │   │   ├── tm_json_logger.go
│       │   │       │   │   ├── tm_logger.go
│       │   │       │   │   ├── tmfmt_logger.go
│       │   │       │   │   └── tracing_logger.go
│       │   │       │   └── pubsub/
│       │   │       │       ├── pubsub.go
│       │   │       │       ├── query/
│       │   │       │       │   ├── Makefile
│       │   │       │       │   ├── empty.go
│       │   │       │       │   ├── query.go
│       │   │       │       │   ├── query.peg
│       │   │       │       │   └── query.peg.go
│       │   │       │       └── subscription.go
│       │   │       ├── types/
│       │   │       │   ├── block.go
│       │   │       │   ├── block_meta.go
│       │   │       │   ├── canonical.go
│       │   │       │   ├── codec.go
│       │   │       │   ├── encoding_helper.go
│       │   │       │   ├── errors.go
│       │   │       │   ├── event_bus.go
│       │   │       │   ├── events.go
│       │   │       │   ├── evidence.go
│       │   │       │   ├── genesis.go
│       │   │       │   ├── keys.go
│       │   │       │   ├── params.go
│       │   │       │   ├── part_set.go
│       │   │       │   ├── priv_validator.go
│       │   │       │   ├── proposal.go
│       │   │       │   ├── protobuf.go
│       │   │       │   ├── results.go
│       │   │       │   ├── signable.go
│       │   │       │   ├── signed_msg_type.go
│       │   │       │   ├── test_util.go
│       │   │       │   ├── time/
│       │   │       │   │   └── time.go
│       │   │       │   ├── tx.go
│       │   │       │   ├── validation.go
│       │   │       │   ├── validator.go
│       │   │       │   ├── validator_set.go
│       │   │       │   ├── vote.go
│       │   │       │   └── vote_set.go
│       │   │       └── version/
│       │   │           └── version.go
│       │   └── tmthrgd/
│       │       └── go-hex/
│       │           ├── .travis.yml
│       │           ├── LICENSE
│       │           ├── README.md
│       │           ├── asm_gen.go
│       │           ├── hex.go
│       │           ├── hex_amd64.go
│       │           ├── hex_decode_amd64.s
│       │           ├── hex_encode_amd64.s
│       │           └── hex_other.go
│       ├── go.uber.org/
│       │   ├── atomic/
│       │   │   ├── .codecov.yml
│       │   │   ├── .gitignore
│       │   │   ├── .travis.yml
│       │   │   ├── LICENSE.txt
│       │   │   ├── Makefile
│       │   │   ├── README.md
│       │   │   ├── atomic.go
│       │   │   ├── error.go
│       │   │   ├── glide.yaml
│       │   │   └── string.go
│       │   └── multierr/
│       │       ├── .codecov.yml
│       │       ├── .gitignore
│       │       ├── .travis.yml
│       │       ├── CHANGELOG.md
│       │       ├── LICENSE.txt
│       │       ├── Makefile
│       │       ├── README.md
│       │       ├── error.go
│       │       └── glide.yaml
│       ├── golang.org/
│       │   └── x/
│       │       ├── crypto/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── ed25519/
│       │       │   │   ├── ed25519.go
│       │       │   │   ├── ed25519_go113.go
│       │       │   │   └── internal/
│       │       │   │       └── edwards25519/
│       │       │   │           ├── const.go
│       │       │   │           └── edwards25519.go
│       │       │   ├── pbkdf2/
│       │       │   │   └── pbkdf2.go
│       │       │   ├── ripemd160/
│       │       │   │   ├── ripemd160.go
│       │       │   │   └── ripemd160block.go
│       │       │   ├── scrypt/
│       │       │   │   └── scrypt.go
│       │       │   └── sha3/
│       │       │       ├── doc.go
│       │       │       ├── hashes.go
│       │       │       ├── hashes_generic.go
│       │       │       ├── keccakf.go
│       │       │       ├── keccakf_amd64.go
│       │       │       ├── keccakf_amd64.s
│       │       │       ├── register.go
│       │       │       ├── sha3.go
│       │       │       ├── sha3_s390x.go
│       │       │       ├── sha3_s390x.s
│       │       │       ├── shake.go
│       │       │       ├── shake_generic.go
│       │       │       ├── xor.go
│       │       │       ├── xor_generic.go
│       │       │       └── xor_unaligned.go
│       │       ├── net/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── context/
│       │       │   │   ├── context.go
│       │       │   │   ├── go17.go
│       │       │   │   ├── go19.go
│       │       │   │   ├── pre_go17.go
│       │       │   │   └── pre_go19.go
│       │       │   ├── html/
│       │       │   │   ├── atom/
│       │       │   │   │   ├── atom.go
│       │       │   │   │   ├── gen.go
│       │       │   │   │   └── table.go
│       │       │   │   ├── charset/
│       │       │   │   │   └── charset.go
│       │       │   │   ├── const.go
│       │       │   │   ├── doc.go
│       │       │   │   ├── doctype.go
│       │       │   │   ├── entity.go
│       │       │   │   ├── escape.go
│       │       │   │   ├── foreign.go
│       │       │   │   ├── node.go
│       │       │   │   ├── parse.go
│       │       │   │   ├── render.go
│       │       │   │   └── token.go
│       │       │   ├── http/
│       │       │   │   └── httpguts/
│       │       │   │       ├── guts.go
│       │       │   │       └── httplex.go
│       │       │   ├── http2/
│       │       │   │   ├── .gitignore
│       │       │   │   ├── Dockerfile
│       │       │   │   ├── Makefile
│       │       │   │   ├── README
│       │       │   │   ├── ciphers.go
│       │       │   │   ├── client_conn_pool.go
│       │       │   │   ├── databuffer.go
│       │       │   │   ├── errors.go
│       │       │   │   ├── flow.go
│       │       │   │   ├── frame.go
│       │       │   │   ├── go111.go
│       │       │   │   ├── gotrack.go
│       │       │   │   ├── headermap.go
│       │       │   │   ├── hpack/
│       │       │   │   │   ├── encode.go
│       │       │   │   │   ├── hpack.go
│       │       │   │   │   ├── huffman.go
│       │       │   │   │   └── tables.go
│       │       │   │   ├── http2.go
│       │       │   │   ├── not_go111.go
│       │       │   │   ├── pipe.go
│       │       │   │   ├── server.go
│       │       │   │   ├── transport.go
│       │       │   │   ├── write.go
│       │       │   │   ├── writesched.go
│       │       │   │   ├── writesched_priority.go
│       │       │   │   └── writesched_random.go
│       │       │   ├── idna/
│       │       │   │   ├── idna10.0.0.go
│       │       │   │   ├── idna9.0.0.go
│       │       │   │   ├── punycode.go
│       │       │   │   ├── tables10.0.0.go
│       │       │   │   ├── tables11.0.0.go
│       │       │   │   ├── tables9.0.0.go
│       │       │   │   ├── trie.go
│       │       │   │   └── trieval.go
│       │       │   ├── internal/
│       │       │   │   └── timeseries/
│       │       │   │       └── timeseries.go
│       │       │   └── trace/
│       │       │       ├── events.go
│       │       │       ├── histogram.go
│       │       │       └── trace.go
│       │       ├── sys/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── cpu/
│       │       │   │   ├── asm_aix_ppc64.s
│       │       │   │   ├── byteorder.go
│       │       │   │   ├── cpu.go
│       │       │   │   ├── cpu_aix_ppc64.go
│       │       │   │   ├── cpu_arm.go
│       │       │   │   ├── cpu_gc_s390x.go
│       │       │   │   ├── cpu_gc_x86.go
│       │       │   │   ├── cpu_gccgo.c
│       │       │   │   ├── cpu_gccgo.go
│       │       │   │   ├── cpu_gccgo_s390x.go
│       │       │   │   ├── cpu_linux.go
│       │       │   │   ├── cpu_linux_arm.go
│       │       │   │   ├── cpu_linux_arm64.go
│       │       │   │   ├── cpu_linux_ppc64x.go
│       │       │   │   ├── cpu_linux_s390x.go
│       │       │   │   ├── cpu_mips64x.go
│       │       │   │   ├── cpu_mipsx.go
│       │       │   │   ├── cpu_other_arm64.go
│       │       │   │   ├── cpu_s390x.s
│       │       │   │   ├── cpu_wasm.go
│       │       │   │   ├── cpu_x86.go
│       │       │   │   ├── cpu_x86.s
│       │       │   │   └── syscall_aix_ppc64_gc.go
│       │       │   ├── unix/
│       │       │   │   ├── .gitignore
│       │       │   │   ├── README.md
│       │       │   │   ├── affinity_linux.go
│       │       │   │   ├── aliases.go
│       │       │   │   ├── asm_aix_ppc64.s
│       │       │   │   ├── asm_darwin_386.s
│       │       │   │   ├── asm_darwin_amd64.s
│       │       │   │   ├── asm_darwin_arm.s
│       │       │   │   ├── asm_darwin_arm64.s
│       │       │   │   ├── asm_dragonfly_amd64.s
│       │       │   │   ├── asm_freebsd_386.s
│       │       │   │   ├── asm_freebsd_amd64.s
│       │       │   │   ├── asm_freebsd_arm.s
│       │       │   │   ├── asm_freebsd_arm64.s
│       │       │   │   ├── asm_linux_386.s
│       │       │   │   ├── asm_linux_amd64.s
│       │       │   │   ├── asm_linux_arm.s
│       │       │   │   ├── asm_linux_arm64.s
│       │       │   │   ├── asm_linux_mips64x.s
│       │       │   │   ├── asm_linux_mipsx.s
│       │       │   │   ├── asm_linux_ppc64x.s
│       │       │   │   ├── asm_linux_riscv64.s
│       │       │   │   ├── asm_linux_s390x.s
│       │       │   │   ├── asm_netbsd_386.s
│       │       │   │   ├── asm_netbsd_amd64.s
│       │       │   │   ├── asm_netbsd_arm.s
│       │       │   │   ├── asm_netbsd_arm64.s
│       │       │   │   ├── asm_openbsd_386.s
│       │       │   │   ├── asm_openbsd_amd64.s
│       │       │   │   ├── asm_openbsd_arm.s
│       │       │   │   ├── asm_openbsd_arm64.s
│       │       │   │   ├── asm_solaris_amd64.s
│       │       │   │   ├── bluetooth_linux.go
│       │       │   │   ├── cap_freebsd.go
│       │       │   │   ├── constants.go
│       │       │   │   ├── dev_aix_ppc.go
│       │       │   │   ├── dev_aix_ppc64.go
│       │       │   │   ├── dev_darwin.go
│       │       │   │   ├── dev_dragonfly.go
│       │       │   │   ├── dev_freebsd.go
│       │       │   │   ├── dev_linux.go
│       │       │   │   ├── dev_netbsd.go
│       │       │   │   ├── dev_openbsd.go
│       │       │   │   ├── dirent.go
│       │       │   │   ├── endian_big.go
│       │       │   │   ├── endian_little.go
│       │       │   │   ├── env_unix.go
│       │       │   │   ├── errors_freebsd_386.go
│       │       │   │   ├── errors_freebsd_amd64.go
│       │       │   │   ├── errors_freebsd_arm.go
│       │       │   │   ├── fcntl.go
│       │       │   │   ├── fcntl_darwin.go
│       │       │   │   ├── fcntl_linux_32bit.go
│       │       │   │   ├── gccgo.go
│       │       │   │   ├── gccgo_c.c
│       │       │   │   ├── gccgo_linux_amd64.go
│       │       │   │   ├── ioctl.go
│       │       │   │   ├── mkall.sh
│       │       │   │   ├── mkasm_darwin.go
│       │       │   │   ├── mkerrors.sh
│       │       │   │   ├── mkpost.go
│       │       │   │   ├── mksyscall.go
│       │       │   │   ├── mksyscall_aix_ppc.go
│       │       │   │   ├── mksyscall_aix_ppc64.go
│       │       │   │   ├── mksyscall_solaris.go
│       │       │   │   ├── mksysctl_openbsd.go
│       │       │   │   ├── mksysnum.go
│       │       │   │   ├── pagesize_unix.go
│       │       │   │   ├── pledge_openbsd.go
│       │       │   │   ├── race.go
│       │       │   │   ├── race0.go
│       │       │   │   ├── readdirent_getdents.go
│       │       │   │   ├── readdirent_getdirentries.go
│       │       │   │   ├── sockcmsg_dragonfly.go
│       │       │   │   ├── sockcmsg_linux.go
│       │       │   │   ├── sockcmsg_unix.go
│       │       │   │   ├── sockcmsg_unix_other.go
│       │       │   │   ├── str.go
│       │       │   │   ├── syscall.go
│       │       │   │   ├── syscall_aix.go
│       │       │   │   ├── syscall_aix_ppc.go
│       │       │   │   ├── syscall_aix_ppc64.go
│       │       │   │   ├── syscall_bsd.go
│       │       │   │   ├── syscall_darwin.1_12.go
│       │       │   │   ├── syscall_darwin.1_13.go
│       │       │   │   ├── syscall_darwin.go
│       │       │   │   ├── syscall_darwin_386.1_11.go
│       │       │   │   ├── syscall_darwin_386.go
│       │       │   │   ├── syscall_darwin_amd64.1_11.go
│       │       │   │   ├── syscall_darwin_amd64.go
│       │       │   │   ├── syscall_darwin_arm.1_11.go
│       │       │   │   ├── syscall_darwin_arm.go
│       │       │   │   ├── syscall_darwin_arm64.1_11.go
│       │       │   │   ├── syscall_darwin_arm64.go
│       │       │   │   ├── syscall_darwin_libSystem.go
│       │       │   │   ├── syscall_dragonfly.go
│       │       │   │   ├── syscall_dragonfly_amd64.go
│       │       │   │   ├── syscall_freebsd.go
│       │       │   │   ├── syscall_freebsd_386.go
│       │       │   │   ├── syscall_freebsd_amd64.go
│       │       │   │   ├── syscall_freebsd_arm.go
│       │       │   │   ├── syscall_freebsd_arm64.go
│       │       │   │   ├── syscall_linux.go
│       │       │   │   ├── syscall_linux_386.go
│       │       │   │   ├── syscall_linux_amd64.go
│       │       │   │   ├── syscall_linux_amd64_gc.go
│       │       │   │   ├── syscall_linux_arm.go
│       │       │   │   ├── syscall_linux_arm64.go
│       │       │   │   ├── syscall_linux_gc.go
│       │       │   │   ├── syscall_linux_gc_386.go
│       │       │   │   ├── syscall_linux_gccgo_386.go
│       │       │   │   ├── syscall_linux_gccgo_arm.go
│       │       │   │   ├── syscall_linux_mips64x.go
│       │       │   │   ├── syscall_linux_mipsx.go
│       │       │   │   ├── syscall_linux_ppc64x.go
│       │       │   │   ├── syscall_linux_riscv64.go
│       │       │   │   ├── syscall_linux_s390x.go
│       │       │   │   ├── syscall_linux_sparc64.go
│       │       │   │   ├── syscall_netbsd.go
│       │       │   │   ├── syscall_netbsd_386.go
│       │       │   │   ├── syscall_netbsd_amd64.go
│       │       │   │   ├── syscall_netbsd_arm.go
│       │       │   │   ├── syscall_netbsd_arm64.go
│       │       │   │   ├── syscall_openbsd.go
│       │       │   │   ├── syscall_openbsd_386.go
│       │       │   │   ├── syscall_openbsd_amd64.go
│       │       │   │   ├── syscall_openbsd_arm.go
│       │       │   │   ├── syscall_openbsd_arm64.go
│       │       │   │   ├── syscall_solaris.go
│       │       │   │   ├── syscall_solaris_amd64.go
│       │       │   │   ├── syscall_unix.go
│       │       │   │   ├── syscall_unix_gc.go
│       │       │   │   ├── syscall_unix_gc_ppc64x.go
│       │       │   │   ├── timestruct.go
│       │       │   │   ├── types_aix.go
│       │       │   │   ├── types_darwin.go
│       │       │   │   ├── types_dragonfly.go
│       │       │   │   ├── types_freebsd.go
│       │       │   │   ├── types_netbsd.go
│       │       │   │   ├── types_openbsd.go
│       │       │   │   ├── types_solaris.go
│       │       │   │   ├── unveil_openbsd.go
│       │       │   │   ├── xattr_bsd.go
│       │       │   │   ├── zerrors_aix_ppc.go
│       │       │   │   ├── zerrors_aix_ppc64.go
│       │       │   │   ├── zerrors_darwin_386.go
│       │       │   │   ├── zerrors_darwin_amd64.go
│       │       │   │   ├── zerrors_darwin_arm.go
│       │       │   │   ├── zerrors_darwin_arm64.go
│       │       │   │   ├── zerrors_dragonfly_amd64.go
│       │       │   │   ├── zerrors_freebsd_386.go
│       │       │   │   ├── zerrors_freebsd_amd64.go
│       │       │   │   ├── zerrors_freebsd_arm.go
│       │       │   │   ├── zerrors_freebsd_arm64.go
│       │       │   │   ├── zerrors_linux_386.go
│       │       │   │   ├── zerrors_linux_amd64.go
│       │       │   │   ├── zerrors_linux_arm.go
│       │       │   │   ├── zerrors_linux_arm64.go
│       │       │   │   ├── zerrors_linux_mips.go
│       │       │   │   ├── zerrors_linux_mips64.go
│       │       │   │   ├── zerrors_linux_mips64le.go
│       │       │   │   ├── zerrors_linux_mipsle.go
│       │       │   │   ├── zerrors_linux_ppc64.go
│       │       │   │   ├── zerrors_linux_ppc64le.go
│       │       │   │   ├── zerrors_linux_riscv64.go
│       │       │   │   ├── zerrors_linux_s390x.go
│       │       │   │   ├── zerrors_linux_sparc64.go
│       │       │   │   ├── zerrors_netbsd_386.go
│       │       │   │   ├── zerrors_netbsd_amd64.go
│       │       │   │   ├── zerrors_netbsd_arm.go
│       │       │   │   ├── zerrors_netbsd_arm64.go
│       │       │   │   ├── zerrors_openbsd_386.go
│       │       │   │   ├── zerrors_openbsd_amd64.go
│       │       │   │   ├── zerrors_openbsd_arm.go
│       │       │   │   ├── zerrors_openbsd_arm64.go
│       │       │   │   ├── zerrors_solaris_amd64.go
│       │       │   │   ├── zptrace386_linux.go
│       │       │   │   ├── zptracearm_linux.go
│       │       │   │   ├── zptracemips_linux.go
│       │       │   │   ├── zptracemipsle_linux.go
│       │       │   │   ├── zsyscall_aix_ppc.go
│       │       │   │   ├── zsyscall_aix_ppc64.go
│       │       │   │   ├── zsyscall_aix_ppc64_gc.go
│       │       │   │   ├── zsyscall_aix_ppc64_gccgo.go
│       │       │   │   ├── zsyscall_darwin_386.1_11.go
│       │       │   │   ├── zsyscall_darwin_386.1_13.go
│       │       │   │   ├── zsyscall_darwin_386.1_13.s
│       │       │   │   ├── zsyscall_darwin_386.go
│       │       │   │   ├── zsyscall_darwin_386.s
│       │       │   │   ├── zsyscall_darwin_amd64.1_11.go
│       │       │   │   ├── zsyscall_darwin_amd64.1_13.go
│       │       │   │   ├── zsyscall_darwin_amd64.1_13.s
│       │       │   │   ├── zsyscall_darwin_amd64.go
│       │       │   │   ├── zsyscall_darwin_amd64.s
│       │       │   │   ├── zsyscall_darwin_arm.1_11.go
│       │       │   │   ├── zsyscall_darwin_arm.1_13.go
│       │       │   │   ├── zsyscall_darwin_arm.1_13.s
│       │       │   │   ├── zsyscall_darwin_arm.go
│       │       │   │   ├── zsyscall_darwin_arm.s
│       │       │   │   ├── zsyscall_darwin_arm64.1_11.go
│       │       │   │   ├── zsyscall_darwin_arm64.1_13.go
│       │       │   │   ├── zsyscall_darwin_arm64.1_13.s
│       │       │   │   ├── zsyscall_darwin_arm64.go
│       │       │   │   ├── zsyscall_darwin_arm64.s
│       │       │   │   ├── zsyscall_dragonfly_amd64.go
│       │       │   │   ├── zsyscall_freebsd_386.go
│       │       │   │   ├── zsyscall_freebsd_amd64.go
│       │       │   │   ├── zsyscall_freebsd_arm.go
│       │       │   │   ├── zsyscall_freebsd_arm64.go
│       │       │   │   ├── zsyscall_linux_386.go
│       │       │   │   ├── zsyscall_linux_amd64.go
│       │       │   │   ├── zsyscall_linux_arm.go
│       │       │   │   ├── zsyscall_linux_arm64.go
│       │       │   │   ├── zsyscall_linux_mips.go
│       │       │   │   ├── zsyscall_linux_mips64.go
│       │       │   │   ├── zsyscall_linux_mips64le.go
│       │       │   │   ├── zsyscall_linux_mipsle.go
│       │       │   │   ├── zsyscall_linux_ppc64.go
│       │       │   │   ├── zsyscall_linux_ppc64le.go
│       │       │   │   ├── zsyscall_linux_riscv64.go
│       │       │   │   ├── zsyscall_linux_s390x.go
│       │       │   │   ├── zsyscall_linux_sparc64.go
│       │       │   │   ├── zsyscall_netbsd_386.go
│       │       │   │   ├── zsyscall_netbsd_amd64.go
│       │       │   │   ├── zsyscall_netbsd_arm.go
│       │       │   │   ├── zsyscall_netbsd_arm64.go
│       │       │   │   ├── zsyscall_openbsd_386.go
│       │       │   │   ├── zsyscall_openbsd_amd64.go
│       │       │   │   ├── zsyscall_openbsd_arm.go
│       │       │   │   ├── zsyscall_openbsd_arm64.go
│       │       │   │   ├── zsyscall_solaris_amd64.go
│       │       │   │   ├── zsysctl_openbsd_386.go
│       │       │   │   ├── zsysctl_openbsd_amd64.go
│       │       │   │   ├── zsysctl_openbsd_arm.go
│       │       │   │   ├── zsysctl_openbsd_arm64.go
│       │       │   │   ├── zsysnum_darwin_386.go
│       │       │   │   ├── zsysnum_darwin_amd64.go
│       │       │   │   ├── zsysnum_darwin_arm.go
│       │       │   │   ├── zsysnum_darwin_arm64.go
│       │       │   │   ├── zsysnum_dragonfly_amd64.go
│       │       │   │   ├── zsysnum_freebsd_386.go
│       │       │   │   ├── zsysnum_freebsd_amd64.go
│       │       │   │   ├── zsysnum_freebsd_arm.go
│       │       │   │   ├── zsysnum_freebsd_arm64.go
│       │       │   │   ├── zsysnum_linux_386.go
│       │       │   │   ├── zsysnum_linux_amd64.go
│       │       │   │   ├── zsysnum_linux_arm.go
│       │       │   │   ├── zsysnum_linux_arm64.go
│       │       │   │   ├── zsysnum_linux_mips.go
│       │       │   │   ├── zsysnum_linux_mips64.go
│       │       │   │   ├── zsysnum_linux_mips64le.go
│       │       │   │   ├── zsysnum_linux_mipsle.go
│       │       │   │   ├── zsysnum_linux_ppc64.go
│       │       │   │   ├── zsysnum_linux_ppc64le.go
│       │       │   │   ├── zsysnum_linux_riscv64.go
│       │       │   │   ├── zsysnum_linux_s390x.go
│       │       │   │   ├── zsysnum_linux_sparc64.go
│       │       │   │   ├── zsysnum_netbsd_386.go
│       │       │   │   ├── zsysnum_netbsd_amd64.go
│       │       │   │   ├── zsysnum_netbsd_arm.go
│       │       │   │   ├── zsysnum_netbsd_arm64.go
│       │       │   │   ├── zsysnum_openbsd_386.go
│       │       │   │   ├── zsysnum_openbsd_amd64.go
│       │       │   │   ├── zsysnum_openbsd_arm.go
│       │       │   │   ├── zsysnum_openbsd_arm64.go
│       │       │   │   ├── ztypes_aix_ppc.go
│       │       │   │   ├── ztypes_aix_ppc64.go
│       │       │   │   ├── ztypes_darwin_386.go
│       │       │   │   ├── ztypes_darwin_amd64.go
│       │       │   │   ├── ztypes_darwin_arm.go
│       │       │   │   ├── ztypes_darwin_arm64.go
│       │       │   │   ├── ztypes_dragonfly_amd64.go
│       │       │   │   ├── ztypes_freebsd_386.go
│       │       │   │   ├── ztypes_freebsd_amd64.go
│       │       │   │   ├── ztypes_freebsd_arm.go
│       │       │   │   ├── ztypes_freebsd_arm64.go
│       │       │   │   ├── ztypes_linux_386.go
│       │       │   │   ├── ztypes_linux_amd64.go
│       │       │   │   ├── ztypes_linux_arm.go
│       │       │   │   ├── ztypes_linux_arm64.go
│       │       │   │   ├── ztypes_linux_mips.go
│       │       │   │   ├── ztypes_linux_mips64.go
│       │       │   │   ├── ztypes_linux_mips64le.go
│       │       │   │   ├── ztypes_linux_mipsle.go
│       │       │   │   ├── ztypes_linux_ppc64.go
│       │       │   │   ├── ztypes_linux_ppc64le.go
│       │       │   │   ├── ztypes_linux_riscv64.go
│       │       │   │   ├── ztypes_linux_s390x.go
│       │       │   │   ├── ztypes_linux_sparc64.go
│       │       │   │   ├── ztypes_netbsd_386.go
│       │       │   │   ├── ztypes_netbsd_amd64.go
│       │       │   │   ├── ztypes_netbsd_arm.go
│       │       │   │   ├── ztypes_netbsd_arm64.go
│       │       │   │   ├── ztypes_openbsd_386.go
│       │       │   │   ├── ztypes_openbsd_amd64.go
│       │       │   │   ├── ztypes_openbsd_arm.go
│       │       │   │   ├── ztypes_openbsd_arm64.go
│       │       │   │   └── ztypes_solaris_amd64.go
│       │       │   └── windows/
│       │       │       ├── aliases.go
│       │       │       ├── dll_windows.go
│       │       │       ├── env_windows.go
│       │       │       ├── eventlog.go
│       │       │       ├── exec_windows.go
│       │       │       ├── memory_windows.go
│       │       │       ├── mkerrors.bash
│       │       │       ├── mkknownfolderids.bash
│       │       │       ├── mksyscall.go
│       │       │       ├── race.go
│       │       │       ├── race0.go
│       │       │       ├── security_windows.go
│       │       │       ├── service.go
│       │       │       ├── str.go
│       │       │       ├── syscall.go
│       │       │       ├── syscall_windows.go
│       │       │       ├── types_windows.go
│       │       │       ├── types_windows_386.go
│       │       │       ├── types_windows_amd64.go
│       │       │       ├── types_windows_arm.go
│       │       │       ├── zerrors_windows.go
│       │       │       ├── zknownfolderids_windows.go
│       │       │       └── zsyscall_windows.go
│       │       └── text/
│       │           ├── AUTHORS
│       │           ├── CONTRIBUTORS
│       │           ├── LICENSE
│       │           ├── PATENTS
│       │           ├── encoding/
│       │           │   ├── charmap/
│       │           │   │   ├── charmap.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── encoding.go
│       │           │   ├── htmlindex/
│       │           │   │   ├── gen.go
│       │           │   │   ├── htmlindex.go
│       │           │   │   ├── map.go
│       │           │   │   └── tables.go
│       │           │   ├── internal/
│       │           │   │   ├── identifier/
│       │           │   │   │   ├── gen.go
│       │           │   │   │   ├── identifier.go
│       │           │   │   │   └── mib.go
│       │           │   │   └── internal.go
│       │           │   ├── japanese/
│       │           │   │   ├── all.go
│       │           │   │   ├── eucjp.go
│       │           │   │   ├── iso2022jp.go
│       │           │   │   ├── maketables.go
│       │           │   │   ├── shiftjis.go
│       │           │   │   └── tables.go
│       │           │   ├── korean/
│       │           │   │   ├── euckr.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── simplifiedchinese/
│       │           │   │   ├── all.go
│       │           │   │   ├── gbk.go
│       │           │   │   ├── hzgb2312.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── traditionalchinese/
│       │           │   │   ├── big5.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   └── unicode/
│       │           │       ├── override.go
│       │           │       └── unicode.go
│       │           ├── internal/
│       │           │   ├── tag/
│       │           │   │   └── tag.go
│       │           │   └── utf8internal/
│       │           │       └── utf8internal.go
│       │           ├── language/
│       │           │   ├── Makefile
│       │           │   ├── common.go
│       │           │   ├── coverage.go
│       │           │   ├── doc.go
│       │           │   ├── gen.go
│       │           │   ├── gen_common.go
│       │           │   ├── gen_index.go
│       │           │   ├── go1_1.go
│       │           │   ├── go1_2.go
│       │           │   ├── index.go
│       │           │   ├── language.go
│       │           │   ├── lookup.go
│       │           │   ├── match.go
│       │           │   ├── parse.go
│       │           │   ├── tables.go
│       │           │   └── tags.go
│       │           ├── runes/
│       │           │   ├── cond.go
│       │           │   └── runes.go
│       │           ├── secure/
│       │           │   └── bidirule/
│       │           │       ├── bidirule.go
│       │           │       ├── bidirule10.0.0.go
│       │           │       └── bidirule9.0.0.go
│       │           ├── transform/
│       │           │   └── transform.go
│       │           └── unicode/
│       │               ├── bidi/
│       │               │   ├── bidi.go
│       │               │   ├── bracket.go
│       │               │   ├── core.go
│       │               │   ├── gen.go
│       │               │   ├── gen_ranges.go
│       │               │   ├── gen_trieval.go
│       │               │   ├── prop.go
│       │               │   ├── tables10.0.0.go
│       │               │   ├── tables9.0.0.go
│       │               │   └── trieval.go
│       │               └── norm/
│       │                   ├── composition.go
│       │                   ├── forminfo.go
│       │                   ├── input.go
│       │                   ├── iter.go
│       │                   ├── maketables.go
│       │                   ├── normalize.go
│       │                   ├── readwriter.go
│       │                   ├── tables10.0.0.go
│       │                   ├── tables9.0.0.go
│       │                   ├── transform.go
│       │                   ├── trie.go
│       │                   └── triegen.go
│       ├── google.golang.org/
│       │   ├── genproto/
│       │   │   ├── LICENSE
│       │   │   └── googleapis/
│       │   │       └── rpc/
│       │   │           └── status/
│       │   │               └── status.pb.go
│       │   └── grpc/
│       │       ├── .travis.yml
│       │       ├── AUTHORS
│       │       ├── CODE-OF-CONDUCT.md
│       │       ├── CONTRIBUTING.md
│       │       ├── GOVERNANCE.md
│       │       ├── LICENSE
│       │       ├── MAINTAINERS.md
│       │       ├── Makefile
│       │       ├── README.md
│       │       ├── backoff.go
│       │       ├── balancer/
│       │       │   ├── balancer.go
│       │       │   ├── base/
│       │       │   │   ├── balancer.go
│       │       │   │   └── base.go
│       │       │   └── roundrobin/
│       │       │       └── roundrobin.go
│       │       ├── balancer.go
│       │       ├── balancer_conn_wrappers.go
│       │       ├── balancer_v1_wrapper.go
│       │       ├── binarylog/
│       │       │   └── grpc_binarylog_v1/
│       │       │       └── binarylog.pb.go
│       │       ├── call.go
│       │       ├── clientconn.go
│       │       ├── codec.go
│       │       ├── codegen.sh
│       │       ├── codes/
│       │       │   ├── code_string.go
│       │       │   └── codes.go
│       │       ├── connectivity/
│       │       │   └── connectivity.go
│       │       ├── credentials/
│       │       │   ├── credentials.go
│       │       │   ├── internal/
│       │       │   │   ├── syscallconn.go
│       │       │   │   └── syscallconn_appengine.go
│       │       │   └── tls13.go
│       │       ├── dialoptions.go
│       │       ├── doc.go
│       │       ├── encoding/
│       │       │   ├── encoding.go
│       │       │   └── proto/
│       │       │       └── proto.go
│       │       ├── go.mod
│       │       ├── go.sum
│       │       ├── grpclog/
│       │       │   ├── grpclog.go
│       │       │   ├── logger.go
│       │       │   └── loggerv2.go
│       │       ├── install_gae.sh
│       │       ├── interceptor.go
│       │       ├── internal/
│       │       │   ├── backoff/
│       │       │   │   └── backoff.go
│       │       │   ├── balancerload/
│       │       │   │   └── load.go
│       │       │   ├── binarylog/
│       │       │   │   ├── binarylog.go
│       │       │   │   ├── binarylog_testutil.go
│       │       │   │   ├── env_config.go
│       │       │   │   ├── method_logger.go
│       │       │   │   ├── regenerate.sh
│       │       │   │   ├── sink.go
│       │       │   │   └── util.go
│       │       │   ├── channelz/
│       │       │   │   ├── funcs.go
│       │       │   │   ├── types.go
│       │       │   │   ├── types_linux.go
│       │       │   │   ├── types_nonlinux.go
│       │       │   │   ├── util_linux.go
│       │       │   │   └── util_nonlinux.go
│       │       │   ├── envconfig/
│       │       │   │   └── envconfig.go
│       │       │   ├── grpcrand/
│       │       │   │   └── grpcrand.go
│       │       │   ├── grpcsync/
│       │       │   │   └── event.go
│       │       │   ├── internal.go
│       │       │   ├── syscall/
│       │       │   │   ├── syscall_linux.go
│       │       │   │   └── syscall_nonlinux.go
│       │       │   └── transport/
│       │       │       ├── bdp_estimator.go
│       │       │       ├── controlbuf.go
│       │       │       ├── defaults.go
│       │       │       ├── flowcontrol.go
│       │       │       ├── handler_server.go
│       │       │       ├── http2_client.go
│       │       │       ├── http2_server.go
│       │       │       ├── http_util.go
│       │       │       ├── log.go
│       │       │       └── transport.go
│       │       ├── keepalive/
│       │       │   └── keepalive.go
│       │       ├── metadata/
│       │       │   └── metadata.go
│       │       ├── naming/
│       │       │   ├── dns_resolver.go
│       │       │   └── naming.go
│       │       ├── peer/
│       │       │   └── peer.go
│       │       ├── picker_wrapper.go
│       │       ├── pickfirst.go
│       │       ├── preloader.go
│       │       ├── proxy.go
│       │       ├── resolver/
│       │       │   ├── dns/
│       │       │   │   └── dns_resolver.go
│       │       │   ├── passthrough/
│       │       │   │   └── passthrough.go
│       │       │   └── resolver.go
│       │       ├── resolver_conn_wrapper.go
│       │       ├── rpc_util.go
│       │       ├── server.go
│       │       ├── service_config.go
│       │       ├── serviceconfig/
│       │       │   └── serviceconfig.go
│       │       ├── stats/
│       │       │   ├── handlers.go
│       │       │   └── stats.go
│       │       ├── status/
│       │       │   └── status.go
│       │       ├── stream.go
│       │       ├── tap/
│       │       │   └── tap.go
│       │       ├── trace.go
│       │       ├── version.go
│       │       └── vet.sh
│       ├── gopkg.in/
│       │   ├── fsnotify.v1/
│       │   │   ├── .editorconfig
│       │   │   ├── .gitignore
│       │   │   ├── .travis.yml
│       │   │   ├── AUTHORS
│       │   │   ├── CHANGELOG.md
│       │   │   ├── CONTRIBUTING.md
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   ├── fen.go
│       │   │   ├── fsnotify.go
│       │   │   ├── inotify.go
│       │   │   ├── inotify_poller.go
│       │   │   ├── kqueue.go
│       │   │   ├── open_mode_bsd.go
│       │   │   ├── open_mode_darwin.go
│       │   │   └── windows.go
│       │   ├── tomb.v1/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── tomb.go
│       │   └── yaml.v2/
│       │       ├── .travis.yml
│       │       ├── LICENSE
│       │       ├── LICENSE.libyaml
│       │       ├── NOTICE
│       │       ├── README.md
│       │       ├── apic.go
│       │       ├── decode.go
│       │       ├── emitterc.go
│       │       ├── encode.go
│       │       ├── go.mod
│       │       ├── parserc.go
│       │       ├── readerc.go
│       │       ├── resolve.go
│       │       ├── scannerc.go
│       │       ├── sorter.go
│       │       ├── writerc.go
│       │       ├── yaml.go
│       │       ├── yamlh.go
│       │       └── yamlprivateh.go
│       └── modules.txt
├── examples/
│   ├── EVM_Smart_Contracts.md
│   └── first-network-sdk-config.yaml
├── fab3/
│   ├── cmd/
│   │   └── main.go
│   ├── codec.go
│   ├── codec_test.go
│   ├── ethservice.go
│   ├── ethservice_test.go
│   ├── ethservice_types_roundtrip_test.go
│   ├── fab3.go
│   ├── fab3_suite_test.go
│   ├── fab3_test.go
│   ├── go.mod
│   ├── go.sum
│   ├── mocks/
│   │   ├── mockchannelclient.go
│   │   ├── mockethservice.go
│   │   └── mockledgerclient.go
│   ├── netservice.go
│   ├── netservice_test.go
│   └── types/
│       ├── types.go
│       ├── types_suite_test.go
│       └── types_test.go
├── gotools.mk
├── integration/
│   ├── e2e/
│   │   ├── e2e_suite_test.go
│   │   └── e2e_test.go
│   ├── fab3/
│   │   ├── fab3_configuration_test.go
│   │   ├── fab3_suite_test.go
│   │   ├── fab3_test.go
│   │   ├── instructor_contract.js
│   │   ├── voting_contract.js
│   │   ├── web3_e2e_test.js
│   │   └── web3_test.go
│   ├── go.mod
│   ├── go.sum
│   ├── helpers/
│   │   ├── contracts.go
│   │   ├── proxy_config.go
│   │   ├── runners.go
│   │   └── utils.go
│   └── vendor/
│       ├── github.com/
│       │   ├── Azure/
│       │   │   └── go-ansiterm/
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── constants.go
│       │   │       ├── context.go
│       │   │       ├── csi_entry_state.go
│       │   │       ├── csi_param_state.go
│       │   │       ├── escape_intermediate_state.go
│       │   │       ├── escape_state.go
│       │   │       ├── event_handler.go
│       │   │       ├── ground_state.go
│       │   │       ├── osc_string_state.go
│       │   │       ├── parser.go
│       │   │       ├── parser_action_helpers.go
│       │   │       ├── parser_actions.go
│       │   │       ├── states.go
│       │   │       ├── utilities.go
│       │   │       └── winterm/
│       │   │           ├── ansi.go
│       │   │           ├── api.go
│       │   │           ├── attr_translation.go
│       │   │           ├── cursor_helpers.go
│       │   │           ├── erase_helpers.go
│       │   │           ├── scroll_helper.go
│       │   │           ├── utilities.go
│       │   │           └── win_event_handler.go
│       │   ├── Microsoft/
│       │   │   └── go-winio/
│       │   │       ├── .gitignore
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── backup.go
│       │   │       ├── ea.go
│       │   │       ├── file.go
│       │   │       ├── fileinfo.go
│       │   │       ├── pipe.go
│       │   │       ├── privilege.go
│       │   │       ├── reparse.go
│       │   │       ├── sd.go
│       │   │       ├── syscall.go
│       │   │       └── zsyscall_windows.go
│       │   ├── Nvveen/
│       │   │   └── Gotty/
│       │   │       ├── LICENSE
│       │   │       ├── README
│       │   │       ├── TODO
│       │   │       ├── attributes.go
│       │   │       ├── gotty.go
│       │   │       ├── parser.go
│       │   │       └── types.go
│       │   ├── containerd/
│       │   │   └── continuity/
│       │   │       ├── AUTHORS
│       │   │       ├── LICENSE
│       │   │       └── pathdriver/
│       │   │           └── path_driver.go
│       │   ├── docker/
│       │   │   ├── docker/
│       │   │   │   ├── AUTHORS
│       │   │   │   ├── LICENSE
│       │   │   │   ├── NOTICE
│       │   │   │   ├── api/
│       │   │   │   │   └── types/
│       │   │   │   │       ├── auth.go
│       │   │   │   │       ├── blkiodev/
│       │   │   │   │       │   └── blkio.go
│       │   │   │   │       ├── client.go
│       │   │   │   │       ├── configs.go
│       │   │   │   │       ├── container/
│       │   │   │   │       │   ├── config.go
│       │   │   │   │       │   ├── container_changes.go
│       │   │   │   │       │   ├── container_create.go
│       │   │   │   │       │   ├── container_top.go
│       │   │   │   │       │   ├── container_update.go
│       │   │   │   │       │   ├── container_wait.go
│       │   │   │   │       │   ├── host_config.go
│       │   │   │   │       │   ├── hostconfig_unix.go
│       │   │   │   │       │   ├── hostconfig_windows.go
│       │   │   │   │       │   └── waitcondition.go
│       │   │   │   │       ├── error_response.go
│       │   │   │   │       ├── filters/
│       │   │   │   │       │   └── parse.go
│       │   │   │   │       ├── graph_driver_data.go
│       │   │   │   │       ├── id_response.go
│       │   │   │   │       ├── image_delete_response_item.go
│       │   │   │   │       ├── image_summary.go
│       │   │   │   │       ├── mount/
│       │   │   │   │       │   └── mount.go
│       │   │   │   │       ├── network/
│       │   │   │   │       │   └── network.go
│       │   │   │   │       ├── plugin.go
│       │   │   │   │       ├── plugin_device.go
│       │   │   │   │       ├── plugin_env.go
│       │   │   │   │       ├── plugin_interface_type.go
│       │   │   │   │       ├── plugin_mount.go
│       │   │   │   │       ├── plugin_responses.go
│       │   │   │   │       ├── port.go
│       │   │   │   │       ├── registry/
│       │   │   │   │       │   ├── authenticate.go
│       │   │   │   │       │   └── registry.go
│       │   │   │   │       ├── seccomp.go
│       │   │   │   │       ├── service_update_response.go
│       │   │   │   │       ├── stats.go
│       │   │   │   │       ├── strslice/
│       │   │   │   │       │   └── strslice.go
│       │   │   │   │       ├── swarm/
│       │   │   │   │       │   ├── common.go
│       │   │   │   │       │   ├── config.go
│       │   │   │   │       │   ├── container.go
│       │   │   │   │       │   ├── network.go
│       │   │   │   │       │   ├── node.go
│       │   │   │   │       │   ├── runtime/
│       │   │   │   │       │   │   ├── gen.go
│       │   │   │   │       │   │   ├── plugin.pb.go
│       │   │   │   │       │   │   └── plugin.proto
│       │   │   │   │       │   ├── runtime.go
│       │   │   │   │       │   ├── secret.go
│       │   │   │   │       │   ├── service.go
│       │   │   │   │       │   ├── swarm.go
│       │   │   │   │       │   └── task.go
│       │   │   │   │       ├── types.go
│       │   │   │   │       ├── versions/
│       │   │   │   │       │   ├── README.md
│       │   │   │   │       │   └── compare.go
│       │   │   │   │       └── volume.go
│       │   │   │   ├── errdefs/
│       │   │   │   │   ├── defs.go
│       │   │   │   │   ├── doc.go
│       │   │   │   │   ├── helpers.go
│       │   │   │   │   └── is.go
│       │   │   │   ├── opts/
│       │   │   │   │   ├── address_pools.go
│       │   │   │   │   ├── env.go
│       │   │   │   │   ├── hosts.go
│       │   │   │   │   ├── hosts_unix.go
│       │   │   │   │   ├── hosts_windows.go
│       │   │   │   │   ├── ip.go
│       │   │   │   │   ├── opts.go
│       │   │   │   │   ├── opts_unix.go
│       │   │   │   │   ├── opts_windows.go
│       │   │   │   │   ├── quotedstring.go
│       │   │   │   │   ├── runtime.go
│       │   │   │   │   └── ulimit.go
│       │   │   │   └── pkg/
│       │   │   │       ├── fileutils/
│       │   │   │       │   ├── fileutils.go
│       │   │   │       │   ├── fileutils_darwin.go
│       │   │   │       │   ├── fileutils_unix.go
│       │   │   │       │   └── fileutils_windows.go
│       │   │   │       ├── homedir/
│       │   │   │       │   ├── homedir_linux.go
│       │   │   │       │   ├── homedir_others.go
│       │   │   │       │   ├── homedir_unix.go
│       │   │   │       │   └── homedir_windows.go
│       │   │   │       ├── idtools/
│       │   │   │       │   ├── idtools.go
│       │   │   │       │   ├── idtools_unix.go
│       │   │   │       │   ├── idtools_windows.go
│       │   │   │       │   ├── usergroupadd_linux.go
│       │   │   │       │   ├── usergroupadd_unsupported.go
│       │   │   │       │   └── utils_unix.go
│       │   │   │       ├── ioutils/
│       │   │   │       │   ├── buffer.go
│       │   │   │       │   ├── bytespipe.go
│       │   │   │       │   ├── fswriters.go
│       │   │   │       │   ├── readers.go
│       │   │   │       │   ├── temp_unix.go
│       │   │   │       │   ├── temp_windows.go
│       │   │   │       │   ├── writeflusher.go
│       │   │   │       │   └── writers.go
│       │   │   │       ├── longpath/
│       │   │   │       │   └── longpath.go
│       │   │   │       ├── mount/
│       │   │   │       │   ├── flags.go
│       │   │   │       │   ├── flags_freebsd.go
│       │   │   │       │   ├── flags_linux.go
│       │   │   │       │   ├── flags_unsupported.go
│       │   │   │       │   ├── mount.go
│       │   │   │       │   ├── mounter_freebsd.go
│       │   │   │       │   ├── mounter_linux.go
│       │   │   │       │   ├── mounter_unsupported.go
│       │   │   │       │   ├── mountinfo.go
│       │   │   │       │   ├── mountinfo_freebsd.go
│       │   │   │       │   ├── mountinfo_linux.go
│       │   │   │       │   ├── mountinfo_unsupported.go
│       │   │   │       │   ├── mountinfo_windows.go
│       │   │   │       │   └── sharedsubtree_linux.go
│       │   │   │       ├── pools/
│       │   │   │       │   └── pools.go
│       │   │   │       ├── stdcopy/
│       │   │   │       │   └── stdcopy.go
│       │   │   │       └── system/
│       │   │   │           ├── chtimes.go
│       │   │   │           ├── chtimes_unix.go
│       │   │   │           ├── chtimes_windows.go
│       │   │   │           ├── errors.go
│       │   │   │           ├── exitcode.go
│       │   │   │           ├── filesys.go
│       │   │   │           ├── filesys_windows.go
│       │   │   │           ├── init.go
│       │   │   │           ├── init_unix.go
│       │   │   │           ├── init_windows.go
│       │   │   │           ├── lcow.go
│       │   │   │           ├── lcow_unix.go
│       │   │   │           ├── lcow_windows.go
│       │   │   │           ├── lstat_unix.go
│       │   │   │           ├── lstat_windows.go
│       │   │   │           ├── meminfo.go
│       │   │   │           ├── meminfo_linux.go
│       │   │   │           ├── meminfo_unsupported.go
│       │   │   │           ├── meminfo_windows.go
│       │   │   │           ├── mknod.go
│       │   │   │           ├── mknod_windows.go
│       │   │   │           ├── path.go
│       │   │   │           ├── process_unix.go
│       │   │   │           ├── process_windows.go
│       │   │   │           ├── rm.go
│       │   │   │           ├── stat_darwin.go
│       │   │   │           ├── stat_freebsd.go
│       │   │   │           ├── stat_linux.go
│       │   │   │           ├── stat_openbsd.go
│       │   │   │           ├── stat_solaris.go
│       │   │   │           ├── stat_unix.go
│       │   │   │           ├── stat_windows.go
│       │   │   │           ├── syscall_unix.go
│       │   │   │           ├── syscall_windows.go
│       │   │   │           ├── umask.go
│       │   │   │           ├── umask_windows.go
│       │   │   │           ├── utimes_freebsd.go
│       │   │   │           ├── utimes_linux.go
│       │   │   │           ├── utimes_unsupported.go
│       │   │   │           ├── xattrs_linux.go
│       │   │   │           └── xattrs_unsupported.go
│       │   │   ├── go-connections/
│       │   │   │   ├── LICENSE
│       │   │   │   └── nat/
│       │   │   │       ├── nat.go
│       │   │   │       ├── parse.go
│       │   │   │       └── sort.go
│       │   │   ├── go-units/
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE
│       │   │   │   ├── MAINTAINERS
│       │   │   │   ├── README.md
│       │   │   │   ├── circle.yml
│       │   │   │   ├── duration.go
│       │   │   │   ├── size.go
│       │   │   │   └── ulimit.go
│       │   │   └── libnetwork/
│       │   │       ├── LICENSE
│       │   │       └── ipamutils/
│       │   │           └── utils.go
│       │   ├── fsnotify/
│       │   │   └── fsnotify/
│       │   │       ├── .editorconfig
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── AUTHORS
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTING.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── fen.go
│       │   │       ├── fsnotify.go
│       │   │       ├── inotify.go
│       │   │       ├── inotify_poller.go
│       │   │       ├── kqueue.go
│       │   │       ├── open_mode_bsd.go
│       │   │       ├── open_mode_darwin.go
│       │   │       └── windows.go
│       │   ├── gogo/
│       │   │   └── protobuf/
│       │   │       ├── AUTHORS
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       └── proto/
│       │   │           ├── Makefile
│       │   │           ├── clone.go
│       │   │           ├── custom_gogo.go
│       │   │           ├── decode.go
│       │   │           ├── deprecated.go
│       │   │           ├── discard.go
│       │   │           ├── duration.go
│       │   │           ├── duration_gogo.go
│       │   │           ├── encode.go
│       │   │           ├── encode_gogo.go
│       │   │           ├── equal.go
│       │   │           ├── extensions.go
│       │   │           ├── extensions_gogo.go
│       │   │           ├── lib.go
│       │   │           ├── lib_gogo.go
│       │   │           ├── message_set.go
│       │   │           ├── pointer_reflect.go
│       │   │           ├── pointer_reflect_gogo.go
│       │   │           ├── pointer_unsafe.go
│       │   │           ├── pointer_unsafe_gogo.go
│       │   │           ├── properties.go
│       │   │           ├── properties_gogo.go
│       │   │           ├── skip_gogo.go
│       │   │           ├── table_marshal.go
│       │   │           ├── table_marshal_gogo.go
│       │   │           ├── table_merge.go
│       │   │           ├── table_unmarshal.go
│       │   │           ├── table_unmarshal_gogo.go
│       │   │           ├── text.go
│       │   │           ├── text_gogo.go
│       │   │           ├── text_parser.go
│       │   │           ├── timestamp.go
│       │   │           ├── timestamp_gogo.go
│       │   │           ├── wrappers.go
│       │   │           └── wrappers_gogo.go
│       │   ├── golang/
│       │   │   └── protobuf/
│       │   │       ├── AUTHORS
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── proto/
│       │   │       │   ├── clone.go
│       │   │       │   ├── decode.go
│       │   │       │   ├── deprecated.go
│       │   │       │   ├── discard.go
│       │   │       │   ├── encode.go
│       │   │       │   ├── equal.go
│       │   │       │   ├── extensions.go
│       │   │       │   ├── lib.go
│       │   │       │   ├── message_set.go
│       │   │       │   ├── pointer_reflect.go
│       │   │       │   ├── pointer_unsafe.go
│       │   │       │   ├── properties.go
│       │   │       │   ├── table_marshal.go
│       │   │       │   ├── table_merge.go
│       │   │       │   ├── table_unmarshal.go
│       │   │       │   ├── text.go
│       │   │       │   └── text_parser.go
│       │   │       └── ptypes/
│       │   │           ├── any/
│       │   │           │   ├── any.pb.go
│       │   │           │   └── any.proto
│       │   │           ├── any.go
│       │   │           ├── doc.go
│       │   │           ├── duration/
│       │   │           │   ├── duration.pb.go
│       │   │           │   └── duration.proto
│       │   │           ├── duration.go
│       │   │           ├── empty/
│       │   │           │   ├── empty.pb.go
│       │   │           │   └── empty.proto
│       │   │           ├── timestamp/
│       │   │           │   ├── timestamp.pb.go
│       │   │           │   └── timestamp.proto
│       │   │           └── timestamp.go
│       │   ├── hashicorp/
│       │   │   └── hcl/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── decoder.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       ├── hcl/
│       │   │       │   ├── ast/
│       │   │       │   │   ├── ast.go
│       │   │       │   │   └── walk.go
│       │   │       │   ├── parser/
│       │   │       │   │   ├── error.go
│       │   │       │   │   └── parser.go
│       │   │       │   ├── printer/
│       │   │       │   │   ├── nodes.go
│       │   │       │   │   └── printer.go
│       │   │       │   ├── scanner/
│       │   │       │   │   └── scanner.go
│       │   │       │   ├── strconv/
│       │   │       │   │   └── quote.go
│       │   │       │   └── token/
│       │   │       │       ├── position.go
│       │   │       │       └── token.go
│       │   │       ├── hcl.go
│       │   │       ├── json/
│       │   │       │   ├── parser/
│       │   │       │   │   ├── flatten.go
│       │   │       │   │   └── parser.go
│       │   │       │   ├── scanner/
│       │   │       │   │   └── scanner.go
│       │   │       │   └── token/
│       │   │       │       ├── position.go
│       │   │       │       └── token.go
│       │   │       ├── lex.go
│       │   │       └── parse.go
│       │   ├── hpcloud/
│       │   │   └── tail/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGES.md
│       │   │       ├── Dockerfile
│       │   │       ├── LICENSE.txt
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── ratelimiter/
│       │   │       │   ├── Licence
│       │   │       │   ├── leakybucket.go
│       │   │       │   ├── memory.go
│       │   │       │   └── storage.go
│       │   │       ├── tail.go
│       │   │       ├── tail_posix.go
│       │   │       ├── tail_windows.go
│       │   │       ├── util/
│       │   │       │   └── util.go
│       │   │       ├── watch/
│       │   │       │   ├── filechanges.go
│       │   │       │   ├── inotify.go
│       │   │       │   ├── inotify_tracker.go
│       │   │       │   ├── polling.go
│       │   │       │   └── watch.go
│       │   │       └── winfile/
│       │   │           └── winfile.go
│       │   ├── hyperledger/
│       │   │   ├── fabric/
│       │   │   │   ├── LICENSE
│       │   │   │   ├── bccsp/
│       │   │   │   │   ├── aesopts.go
│       │   │   │   │   ├── bccsp.go
│       │   │   │   │   ├── ecdsaopts.go
│       │   │   │   │   ├── factory/
│       │   │   │   │   │   ├── factory.go
│       │   │   │   │   │   ├── nopkcs11.go
│       │   │   │   │   │   ├── opts.go
│       │   │   │   │   │   ├── pkcs11.go
│       │   │   │   │   │   ├── pkcs11factory.go
│       │   │   │   │   │   ├── pluginfactory.go
│       │   │   │   │   │   └── swfactory.go
│       │   │   │   │   ├── hashopts.go
│       │   │   │   │   ├── idemix/
│       │   │   │   │   │   ├── bccsp.go
│       │   │   │   │   │   ├── bridge/
│       │   │   │   │   │   │   ├── credential.go
│       │   │   │   │   │   │   ├── credrequest.go
│       │   │   │   │   │   │   ├── issuer.go
│       │   │   │   │   │   │   ├── math.go
│       │   │   │   │   │   │   ├── nymsignaturescheme.go
│       │   │   │   │   │   │   ├── rand.go
│       │   │   │   │   │   │   ├── revocation.go
│       │   │   │   │   │   │   ├── signaturescheme.go
│       │   │   │   │   │   │   └── user.go
│       │   │   │   │   │   └── handlers/
│       │   │   │   │   │       ├── cred.go
│       │   │   │   │   │       ├── idemix.go
│       │   │   │   │   │       ├── issuer.go
│       │   │   │   │   │       ├── nym.go
│       │   │   │   │   │       ├── nymsigner.go
│       │   │   │   │   │       ├── revocation.go
│       │   │   │   │   │       ├── signer.go
│       │   │   │   │   │       └── user.go
│       │   │   │   │   ├── idemixerrs.go
│       │   │   │   │   ├── idemixopts.go
│       │   │   │   │   ├── keystore.go
│       │   │   │   │   ├── opts.go
│       │   │   │   │   ├── pkcs11/
│       │   │   │   │   │   ├── conf.go
│       │   │   │   │   │   ├── ecdsa.go
│       │   │   │   │   │   ├── ecdsakey.go
│       │   │   │   │   │   ├── impl.go
│       │   │   │   │   │   └── pkcs11.go
│       │   │   │   │   ├── rsaopts.go
│       │   │   │   │   ├── signer/
│       │   │   │   │   │   └── signer.go
│       │   │   │   │   ├── sw/
│       │   │   │   │   │   ├── aes.go
│       │   │   │   │   │   ├── aeskey.go
│       │   │   │   │   │   ├── conf.go
│       │   │   │   │   │   ├── dummyks.go
│       │   │   │   │   │   ├── ecdsa.go
│       │   │   │   │   │   ├── ecdsakey.go
│       │   │   │   │   │   ├── fileks.go
│       │   │   │   │   │   ├── hash.go
│       │   │   │   │   │   ├── impl.go
│       │   │   │   │   │   ├── inmemoryks.go
│       │   │   │   │   │   ├── internals.go
│       │   │   │   │   │   ├── keyderiv.go
│       │   │   │   │   │   ├── keygen.go
│       │   │   │   │   │   ├── keyimport.go
│       │   │   │   │   │   ├── new.go
│       │   │   │   │   │   ├── rsa.go
│       │   │   │   │   │   └── rsakey.go
│       │   │   │   │   └── utils/
│       │   │   │   │       ├── ecdsa.go
│       │   │   │   │       ├── errs.go
│       │   │   │   │       ├── io.go
│       │   │   │   │       ├── keys.go
│       │   │   │   │       ├── slice.go
│       │   │   │   │       └── x509.go
│       │   │   │   ├── common/
│       │   │   │   │   ├── crypto/
│       │   │   │   │   │   ├── expiration.go
│       │   │   │   │   │   ├── random.go
│       │   │   │   │   │   └── signer.go
│       │   │   │   │   ├── flogging/
│       │   │   │   │   │   ├── core.go
│       │   │   │   │   │   ├── fabenc/
│       │   │   │   │   │   │   ├── color.go
│       │   │   │   │   │   │   ├── encoder.go
│       │   │   │   │   │   │   └── formatter.go
│       │   │   │   │   │   ├── global.go
│       │   │   │   │   │   ├── legacy.go
│       │   │   │   │   │   ├── levels.go
│       │   │   │   │   │   ├── loggerlevels.go
│       │   │   │   │   │   ├── logging.go
│       │   │   │   │   │   └── zap.go
│       │   │   │   │   ├── metadata/
│       │   │   │   │   │   └── metadata.go
│       │   │   │   │   ├── tools/
│       │   │   │   │   │   └── configtxlator/
│       │   │   │   │   │       └── update/
│       │   │   │   │   │           └── update.go
│       │   │   │   │   └── util/
│       │   │   │   │       ├── net.go
│       │   │   │   │       └── utils.go
│       │   │   │   ├── core/
│       │   │   │   │   ├── chaincode/
│       │   │   │   │   │   └── platforms/
│       │   │   │   │   │       ├── ccmetadata/
│       │   │   │   │   │       │   ├── ccmetadata.go
│       │   │   │   │   │       │   ├── targzmetadataprovider.go
│       │   │   │   │   │       │   └── validators.go
│       │   │   │   │   │       └── platforms.go
│       │   │   │   │   ├── config/
│       │   │   │   │   │   └── config.go
│       │   │   │   │   └── container/
│       │   │   │   │       └── util/
│       │   │   │   │           ├── dockerutil.go
│       │   │   │   │           └── writer.go
│       │   │   │   ├── idemix/
│       │   │   │   │   ├── credential.go
│       │   │   │   │   ├── credrequest.go
│       │   │   │   │   ├── idemix.pb.go
│       │   │   │   │   ├── issuerkey.go
│       │   │   │   │   ├── nonrevocation-prover.go
│       │   │   │   │   ├── nonrevocation-verifier.go
│       │   │   │   │   ├── nymsignature.go
│       │   │   │   │   ├── revocation_authority.go
│       │   │   │   │   ├── signature.go
│       │   │   │   │   ├── util.go
│       │   │   │   │   └── weak-bb.go
│       │   │   │   ├── integration/
│       │   │   │   │   ├── helpers/
│       │   │   │   │   │   └── images.go
│       │   │   │   │   ├── nwo/
│       │   │   │   │   │   ├── command.go
│       │   │   │   │   │   ├── commands/
│       │   │   │   │   │   │   ├── configtxgen.go
│       │   │   │   │   │   │   ├── cryptogen.go
│       │   │   │   │   │   │   ├── discover.go
│       │   │   │   │   │   │   └── peer.go
│       │   │   │   │   │   ├── components.go
│       │   │   │   │   │   ├── config.go
│       │   │   │   │   │   ├── configblock.go
│       │   │   │   │   │   ├── configtx_template.go
│       │   │   │   │   │   ├── core_template.go
│       │   │   │   │   │   ├── crypto_template.go
│       │   │   │   │   │   ├── deploy.go
│       │   │   │   │   │   ├── discover.go
│       │   │   │   │   │   ├── fabricconfig/
│       │   │   │   │   │   │   ├── core.go
│       │   │   │   │   │   │   └── orderer.go
│       │   │   │   │   │   ├── network.go
│       │   │   │   │   │   ├── orderer_template.go
│       │   │   │   │   │   ├── solo.yaml
│       │   │   │   │   │   ├── standard_networks.go
│       │   │   │   │   │   └── templates.go
│       │   │   │   │   └── runner/
│       │   │   │   │       ├── couchdb.go
│       │   │   │   │       ├── defaults.go
│       │   │   │   │       ├── kafka.go
│       │   │   │   │       └── zookeeper.go
│       │   │   │   ├── msp/
│       │   │   │   │   ├── cert.go
│       │   │   │   │   ├── configbuilder.go
│       │   │   │   │   ├── factory.go
│       │   │   │   │   ├── idemix_roles.go
│       │   │   │   │   ├── idemixmsp.go
│       │   │   │   │   ├── identities.go
│       │   │   │   │   ├── msp.go
│       │   │   │   │   ├── mspimpl.go
│       │   │   │   │   ├── mspimplsetup.go
│       │   │   │   │   ├── mspimplvalidate.go
│       │   │   │   │   └── mspmgrimpl.go
│       │   │   │   └── protos/
│       │   │   │       ├── common/
│       │   │   │       │   ├── block.go
│       │   │   │       │   ├── collection.pb.go
│       │   │   │       │   ├── collection.proto
│       │   │   │       │   ├── common.go
│       │   │   │       │   ├── common.pb.go
│       │   │   │       │   ├── common.proto
│       │   │   │       │   ├── configtx.go
│       │   │   │       │   ├── configtx.pb.go
│       │   │   │       │   ├── configtx.proto
│       │   │   │       │   ├── configuration.go
│       │   │   │       │   ├── configuration.pb.go
│       │   │   │       │   ├── configuration.proto
│       │   │   │       │   ├── ledger.pb.go
│       │   │   │       │   ├── ledger.proto
│       │   │   │       │   ├── policies.go
│       │   │   │       │   ├── policies.pb.go
│       │   │   │       │   ├── policies.proto
│       │   │   │       │   └── signed_data.go
│       │   │   │       ├── ledger/
│       │   │   │       │   └── rwset/
│       │   │   │       │       ├── kvrwset/
│       │   │   │       │       │   ├── helper.go
│       │   │   │       │       │   ├── kv_rwset.pb.go
│       │   │   │       │       │   └── kv_rwset.proto
│       │   │   │       │       ├── rwset.go
│       │   │   │       │       ├── rwset.pb.go
│       │   │   │       │       └── rwset.proto
│       │   │   │       ├── msp/
│       │   │   │       │   ├── identities.pb.go
│       │   │   │       │   ├── identities.proto
│       │   │   │       │   ├── msp_config.go
│       │   │   │       │   ├── msp_config.pb.go
│       │   │   │       │   ├── msp_config.proto
│       │   │   │       │   ├── msp_principal.go
│       │   │   │       │   ├── msp_principal.pb.go
│       │   │   │       │   └── msp_principal.proto
│       │   │   │       ├── peer/
│       │   │   │       │   ├── admin.pb.go
│       │   │   │       │   ├── admin.proto
│       │   │   │       │   ├── chaincode.go
│       │   │   │       │   ├── chaincode.pb.go
│       │   │   │       │   ├── chaincode.proto
│       │   │   │       │   ├── chaincode_event.pb.go
│       │   │   │       │   ├── chaincode_event.proto
│       │   │   │       │   ├── chaincode_shim.pb.go
│       │   │   │       │   ├── chaincode_shim.proto
│       │   │   │       │   ├── chaincodeunmarshall.go
│       │   │   │       │   ├── configuration.go
│       │   │   │       │   ├── configuration.pb.go
│       │   │   │       │   ├── configuration.proto
│       │   │   │       │   ├── events.pb.go
│       │   │   │       │   ├── events.proto
│       │   │   │       │   ├── peer.pb.go
│       │   │   │       │   ├── peer.proto
│       │   │   │       │   ├── proposal.go
│       │   │   │       │   ├── proposal.pb.go
│       │   │   │       │   ├── proposal.proto
│       │   │   │       │   ├── proposal_response.go
│       │   │   │       │   ├── proposal_response.pb.go
│       │   │   │       │   ├── proposal_response.proto
│       │   │   │       │   ├── query.pb.go
│       │   │   │       │   ├── query.proto
│       │   │   │       │   ├── resources.pb.go
│       │   │   │       │   ├── resources.proto
│       │   │   │       │   ├── signed_cc_dep_spec.pb.go
│       │   │   │       │   ├── signed_cc_dep_spec.proto
│       │   │   │       │   ├── transaction.go
│       │   │   │       │   ├── transaction.pb.go
│       │   │   │       │   └── transaction.proto
│       │   │   │       ├── token/
│       │   │   │       │   ├── expectations.pb.go
│       │   │   │       │   ├── expectations.proto
│       │   │   │       │   ├── prover.pb.go
│       │   │   │       │   ├── prover.proto
│       │   │   │       │   ├── transaction.pb.go
│       │   │   │       │   └── transaction.proto
│       │   │   │       └── utils/
│       │   │   │           ├── blockutils.go
│       │   │   │           ├── chaincodeutils.go
│       │   │   │           ├── commonutils.go
│       │   │   │           ├── proputils.go
│       │   │   │           └── txutils.go
│       │   │   ├── fabric-amcl/
│       │   │   │   ├── LICENSE
│       │   │   │   └── amcl/
│       │   │   │       ├── AES.go
│       │   │   │       ├── FP256BN/
│       │   │   │       │   ├── ARCH.go
│       │   │   │       │   ├── BIG.go
│       │   │   │       │   ├── DBIG.go
│       │   │   │       │   ├── ECDH.go
│       │   │   │       │   ├── ECP.go
│       │   │   │       │   ├── ECP2.go
│       │   │   │       │   ├── FP.go
│       │   │   │       │   ├── FP12.go
│       │   │   │       │   ├── FP2.go
│       │   │   │       │   ├── FP4.go
│       │   │   │       │   ├── MPIN.go
│       │   │   │       │   ├── PAIR.go
│       │   │   │       │   └── ROM.go
│       │   │   │       ├── GCM.go
│       │   │   │       ├── HASH256.go
│       │   │   │       ├── HASH384.go
│       │   │   │       ├── HASH512.go
│       │   │   │       ├── NHS.go
│       │   │   │       ├── RAND.go
│       │   │   │       └── SHA3.go
│       │   │   └── fabric-chaincode-evm/
│       │   │       └── fab3/
│       │   │           └── types/
│       │   │               └── types.go
│       │   ├── konsorten/
│       │   │   └── go-windows-terminal-sequences/
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── go.mod
│       │   │       └── sequences.go
│       │   ├── magiconair/
│       │   │   └── properties/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode.go
│       │   │       ├── doc.go
│       │   │       ├── go.mod
│       │   │       ├── integrate.go
│       │   │       ├── lex.go
│       │   │       ├── load.go
│       │   │       ├── parser.go
│       │   │       ├── properties.go
│       │   │       └── rangecheck.go
│       │   ├── miekg/
│       │   │   └── pkcs11/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── Makefile.release
│       │   │       ├── README.md
│       │   │       ├── const.go
│       │   │       ├── error.go
│       │   │       ├── go.mod
│       │   │       ├── params.go
│       │   │       ├── pkcs11.go
│       │   │       ├── pkcs11.h
│       │   │       ├── pkcs11f.h
│       │   │       ├── pkcs11go.h
│       │   │       ├── pkcs11t.h
│       │   │       ├── release.go
│       │   │       ├── softhsm.conf
│       │   │       ├── softhsm2.conf
│       │   │       ├── types.go
│       │   │       └── vendor.go
│       │   ├── mitchellh/
│       │   │   └── mapstructure/
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── decode_hooks.go
│       │   │       ├── error.go
│       │   │       ├── go.mod
│       │   │       └── mapstructure.go
│       │   ├── onsi/
│       │   │   ├── ginkgo/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── CHANGELOG.md
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE
│       │   │   │   ├── README.md
│       │   │   │   ├── RELEASING.md
│       │   │   │   ├── config/
│       │   │   │   │   └── config.go
│       │   │   │   ├── ginkgo_dsl.go
│       │   │   │   ├── internal/
│       │   │   │   │   ├── codelocation/
│       │   │   │   │   │   └── code_location.go
│       │   │   │   │   ├── containernode/
│       │   │   │   │   │   └── container_node.go
│       │   │   │   │   ├── failer/
│       │   │   │   │   │   └── failer.go
│       │   │   │   │   ├── leafnodes/
│       │   │   │   │   │   ├── benchmarker.go
│       │   │   │   │   │   ├── interfaces.go
│       │   │   │   │   │   ├── it_node.go
│       │   │   │   │   │   ├── measure_node.go
│       │   │   │   │   │   ├── runner.go
│       │   │   │   │   │   ├── setup_nodes.go
│       │   │   │   │   │   ├── suite_nodes.go
│       │   │   │   │   │   ├── synchronized_after_suite_node.go
│       │   │   │   │   │   └── synchronized_before_suite_node.go
│       │   │   │   │   ├── remote/
│       │   │   │   │   │   ├── aggregator.go
│       │   │   │   │   │   ├── forwarding_reporter.go
│       │   │   │   │   │   ├── output_interceptor.go
│       │   │   │   │   │   ├── output_interceptor_unix.go
│       │   │   │   │   │   ├── output_interceptor_win.go
│       │   │   │   │   │   ├── server.go
│       │   │   │   │   │   ├── syscall_dup_linux_arm64.go
│       │   │   │   │   │   ├── syscall_dup_solaris.go
│       │   │   │   │   │   └── syscall_dup_unix.go
│       │   │   │   │   ├── spec/
│       │   │   │   │   │   ├── spec.go
│       │   │   │   │   │   └── specs.go
│       │   │   │   │   ├── spec_iterator/
│       │   │   │   │   │   ├── index_computer.go
│       │   │   │   │   │   ├── parallel_spec_iterator.go
│       │   │   │   │   │   ├── serial_spec_iterator.go
│       │   │   │   │   │   ├── sharded_parallel_spec_iterator.go
│       │   │   │   │   │   └── spec_iterator.go
│       │   │   │   │   ├── specrunner/
│       │   │   │   │   │   ├── random_id.go
│       │   │   │   │   │   └── spec_runner.go
│       │   │   │   │   ├── suite/
│       │   │   │   │   │   └── suite.go
│       │   │   │   │   ├── testingtproxy/
│       │   │   │   │   │   └── testing_t_proxy.go
│       │   │   │   │   └── writer/
│       │   │   │   │       ├── fake_writer.go
│       │   │   │   │       └── writer.go
│       │   │   │   ├── reporters/
│       │   │   │   │   ├── default_reporter.go
│       │   │   │   │   ├── fake_reporter.go
│       │   │   │   │   ├── junit_reporter.go
│       │   │   │   │   ├── reporter.go
│       │   │   │   │   ├── stenographer/
│       │   │   │   │   │   ├── console_logging.go
│       │   │   │   │   │   ├── fake_stenographer.go
│       │   │   │   │   │   ├── stenographer.go
│       │   │   │   │   │   └── support/
│       │   │   │   │   │       ├── go-colorable/
│       │   │   │   │   │       │   ├── LICENSE
│       │   │   │   │   │       │   ├── README.md
│       │   │   │   │   │       │   ├── colorable_others.go
│       │   │   │   │   │       │   ├── colorable_windows.go
│       │   │   │   │   │       │   └── noncolorable.go
│       │   │   │   │   │       └── go-isatty/
│       │   │   │   │   │           ├── LICENSE
│       │   │   │   │   │           ├── README.md
│       │   │   │   │   │           ├── doc.go
│       │   │   │   │   │           ├── isatty_appengine.go
│       │   │   │   │   │           ├── isatty_bsd.go
│       │   │   │   │   │           ├── isatty_linux.go
│       │   │   │   │   │           ├── isatty_solaris.go
│       │   │   │   │   │           └── isatty_windows.go
│       │   │   │   │   └── teamcity_reporter.go
│       │   │   │   └── types/
│       │   │   │       ├── code_location.go
│       │   │   │       ├── synchronization.go
│       │   │   │       └── types.go
│       │   │   └── gomega/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTING.md
│       │   │       ├── LICENSE
│       │   │       ├── Makefile
│       │   │       ├── README.md
│       │   │       ├── RELEASING.md
│       │   │       ├── format/
│       │   │       │   └── format.go
│       │   │       ├── gbytes/
│       │   │       │   ├── buffer.go
│       │   │       │   ├── io_wrappers.go
│       │   │       │   └── say_matcher.go
│       │   │       ├── gexec/
│       │   │       │   ├── build.go
│       │   │       │   ├── exit_matcher.go
│       │   │       │   ├── prefixed_writer.go
│       │   │       │   └── session.go
│       │   │       ├── go.mod
│       │   │       ├── go.sum
│       │   │       ├── gomega_dsl.go
│       │   │       ├── internal/
│       │   │       │   ├── assertion/
│       │   │       │   │   └── assertion.go
│       │   │       │   ├── asyncassertion/
│       │   │       │   │   └── async_assertion.go
│       │   │       │   ├── oraclematcher/
│       │   │       │   │   └── oracle_matcher.go
│       │   │       │   └── testingtsupport/
│       │   │       │       └── testing_t_support.go
│       │   │       ├── matchers/
│       │   │       │   ├── and.go
│       │   │       │   ├── assignable_to_type_of_matcher.go
│       │   │       │   ├── attributes_slice.go
│       │   │       │   ├── be_a_directory.go
│       │   │       │   ├── be_a_regular_file.go
│       │   │       │   ├── be_an_existing_file.go
│       │   │       │   ├── be_closed_matcher.go
│       │   │       │   ├── be_element_of_matcher.go
│       │   │       │   ├── be_empty_matcher.go
│       │   │       │   ├── be_equivalent_to_matcher.go
│       │   │       │   ├── be_false_matcher.go
│       │   │       │   ├── be_identical_to.go
│       │   │       │   ├── be_nil_matcher.go
│       │   │       │   ├── be_numerically_matcher.go
│       │   │       │   ├── be_sent_matcher.go
│       │   │       │   ├── be_temporally_matcher.go
│       │   │       │   ├── be_true_matcher.go
│       │   │       │   ├── be_zero_matcher.go
│       │   │       │   ├── consist_of.go
│       │   │       │   ├── contain_element_matcher.go
│       │   │       │   ├── contain_substring_matcher.go
│       │   │       │   ├── equal_matcher.go
│       │   │       │   ├── have_cap_matcher.go
│       │   │       │   ├── have_key_matcher.go
│       │   │       │   ├── have_key_with_value_matcher.go
│       │   │       │   ├── have_len_matcher.go
│       │   │       │   ├── have_occurred_matcher.go
│       │   │       │   ├── have_prefix_matcher.go
│       │   │       │   ├── have_suffix_matcher.go
│       │   │       │   ├── match_error_matcher.go
│       │   │       │   ├── match_json_matcher.go
│       │   │       │   ├── match_regexp_matcher.go
│       │   │       │   ├── match_xml_matcher.go
│       │   │       │   ├── match_yaml_matcher.go
│       │   │       │   ├── not.go
│       │   │       │   ├── or.go
│       │   │       │   ├── panic_matcher.go
│       │   │       │   ├── receive_matcher.go
│       │   │       │   ├── semi_structured_data_support.go
│       │   │       │   ├── succeed_matcher.go
│       │   │       │   ├── support/
│       │   │       │   │   └── goraph/
│       │   │       │   │       ├── bipartitegraph/
│       │   │       │   │       │   ├── bipartitegraph.go
│       │   │       │   │       │   └── bipartitegraphmatching.go
│       │   │       │   │       ├── edge/
│       │   │       │   │       │   └── edge.go
│       │   │       │   │       ├── node/
│       │   │       │   │       │   └── node.go
│       │   │       │   │       └── util/
│       │   │       │   │           └── util.go
│       │   │       │   ├── type_support.go
│       │   │       │   └── with_transform.go
│       │   │       ├── matchers.go
│       │   │       └── types/
│       │   │           └── types.go
│       │   ├── op/
│       │   │   └── go-logging/
│       │   │       ├── .travis.yml
│       │   │       ├── CHANGELOG.md
│       │   │       ├── CONTRIBUTORS
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── backend.go
│       │   │       ├── format.go
│       │   │       ├── level.go
│       │   │       ├── log_nix.go
│       │   │       ├── log_windows.go
│       │   │       ├── logger.go
│       │   │       ├── memory.go
│       │   │       ├── multi.go
│       │   │       ├── syslog.go
│       │   │       └── syslog_fallback.go
│       │   ├── opencontainers/
│       │   │   ├── go-digest/
│       │   │   │   ├── .mailmap
│       │   │   │   ├── .pullapprove.yml
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── CONTRIBUTING.md
│       │   │   │   ├── LICENSE.code
│       │   │   │   ├── LICENSE.docs
│       │   │   │   ├── MAINTAINERS
│       │   │   │   ├── README.md
│       │   │   │   ├── algorithm.go
│       │   │   │   ├── digest.go
│       │   │   │   ├── digester.go
│       │   │   │   ├── doc.go
│       │   │   │   └── verifiers.go
│       │   │   ├── image-spec/
│       │   │   │   ├── LICENSE
│       │   │   │   └── specs-go/
│       │   │   │       ├── v1/
│       │   │   │       │   ├── annotations.go
│       │   │   │       │   ├── config.go
│       │   │   │       │   ├── descriptor.go
│       │   │   │       │   ├── index.go
│       │   │   │       │   ├── layout.go
│       │   │   │       │   ├── manifest.go
│       │   │   │       │   └── mediatype.go
│       │   │   │       ├── version.go
│       │   │   │       └── versioned.go
│       │   │   └── runc/
│       │   │       ├── LICENSE
│       │   │       ├── NOTICE
│       │   │       └── libcontainer/
│       │   │           └── user/
│       │   │               ├── MAINTAINERS
│       │   │               ├── lookup.go
│       │   │               ├── lookup_unix.go
│       │   │               ├── lookup_unsupported.go
│       │   │               └── user.go
│       │   ├── pelletier/
│       │   │   └── go-toml/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── benchmark.json
│       │   │       ├── benchmark.sh
│       │   │       ├── benchmark.toml
│       │   │       ├── benchmark.yml
│       │   │       ├── doc.go
│       │   │       ├── example-crlf.toml
│       │   │       ├── example.toml
│       │   │       ├── fuzz.go
│       │   │       ├── fuzz.sh
│       │   │       ├── keysparsing.go
│       │   │       ├── lexer.go
│       │   │       ├── marshal.go
│       │   │       ├── marshal_test.toml
│       │   │       ├── parser.go
│       │   │       ├── position.go
│       │   │       ├── test.sh
│       │   │       ├── token.go
│       │   │       ├── toml.go
│       │   │       ├── tomltree_create.go
│       │   │       └── tomltree_write.go
│       │   ├── pkg/
│       │   │   └── errors/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── appveyor.yml
│       │   │       ├── errors.go
│       │   │       └── stack.go
│       │   ├── spf13/
│       │   │   ├── afero/
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── LICENSE.txt
│       │   │   │   ├── README.md
│       │   │   │   ├── afero.go
│       │   │   │   ├── appveyor.yml
│       │   │   │   ├── basepath.go
│       │   │   │   ├── cacheOnReadFs.go
│       │   │   │   ├── const_bsds.go
│       │   │   │   ├── const_win_unix.go
│       │   │   │   ├── copyOnWriteFs.go
│       │   │   │   ├── go.mod
│       │   │   │   ├── httpFs.go
│       │   │   │   ├── ioutil.go
│       │   │   │   ├── lstater.go
│       │   │   │   ├── match.go
│       │   │   │   ├── mem/
│       │   │   │   │   ├── dir.go
│       │   │   │   │   ├── dirmap.go
│       │   │   │   │   └── file.go
│       │   │   │   ├── memmap.go
│       │   │   │   ├── os.go
│       │   │   │   ├── path.go
│       │   │   │   ├── readonlyfs.go
│       │   │   │   ├── regexpfs.go
│       │   │   │   ├── unionFile.go
│       │   │   │   └── util.go
│       │   │   ├── cast/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── .travis.yml
│       │   │   │   ├── LICENSE
│       │   │   │   ├── Makefile
│       │   │   │   ├── README.md
│       │   │   │   ├── cast.go
│       │   │   │   ├── caste.go
│       │   │   │   ├── go.mod
│       │   │   │   └── go.sum
│       │   │   ├── jwalterweatherman/
│       │   │   │   ├── .gitignore
│       │   │   │   ├── LICENSE
│       │   │   │   ├── README.md
│       │   │   │   ├── default_notepad.go
│       │   │   │   ├── go.mod
│       │   │   │   ├── log_counter.go
│       │   │   │   └── notepad.go
│       │   │   └── pflag/
│       │   │       ├── .gitignore
│       │   │       ├── .travis.yml
│       │   │       ├── LICENSE
│       │   │       ├── README.md
│       │   │       ├── bool.go
│       │   │       ├── bool_slice.go
│       │   │       ├── bytes.go
│       │   │       ├── count.go
│       │   │       ├── duration.go
│       │   │       ├── duration_slice.go
│       │   │       ├── flag.go
│       │   │       ├── float32.go
│       │   │       ├── float64.go
│       │   │       ├── golangflag.go
│       │   │       ├── int.go
│       │   │       ├── int16.go
│       │   │       ├── int32.go
│       │   │       ├── int64.go
│       │   │       ├── int8.go
│       │   │       ├── int_slice.go
│       │   │       ├── ip.go
│       │   │       ├── ip_slice.go
│       │   │       ├── ipmask.go
│       │   │       ├── ipnet.go
│       │   │       ├── string.go
│       │   │       ├── string_array.go
│       │   │       ├── string_slice.go
│       │   │       ├── string_to_int.go
│       │   │       ├── string_to_string.go
│       │   │       ├── uint.go
│       │   │       ├── uint16.go
│       │   │       ├── uint32.go
│       │   │       ├── uint64.go
│       │   │       ├── uint8.go
│       │   │       └── uint_slice.go
│       │   └── tedsuo/
│       │       └── ifrit/
│       │           ├── .gitignore
│       │           ├── LICENSE
│       │           ├── README.md
│       │           ├── doc.go
│       │           ├── ginkgomon/
│       │           │   ├── ginkgomon.go
│       │           │   └── helpers.go
│       │           ├── grouper/
│       │           │   ├── client.go
│       │           │   ├── doc.go
│       │           │   ├── dynamic_group.go
│       │           │   ├── entrance_events.go
│       │           │   ├── exit_events.go
│       │           │   ├── members.go
│       │           │   ├── ordered.go
│       │           │   ├── parallel.go
│       │           │   ├── queue_ordered.go
│       │           │   └── sliding_buffer.go
│       │           ├── process.go
│       │           └── runner.go
│       ├── go.uber.org/
│       │   ├── atomic/
│       │   │   ├── .codecov.yml
│       │   │   ├── .gitignore
│       │   │   ├── .travis.yml
│       │   │   ├── LICENSE.txt
│       │   │   ├── Makefile
│       │   │   ├── README.md
│       │   │   ├── atomic.go
│       │   │   ├── error.go
│       │   │   ├── glide.yaml
│       │   │   └── string.go
│       │   └── multierr/
│       │       ├── .codecov.yml
│       │       ├── .gitignore
│       │       ├── .travis.yml
│       │       ├── CHANGELOG.md
│       │       ├── LICENSE.txt
│       │       ├── Makefile
│       │       ├── README.md
│       │       ├── error.go
│       │       └── glide.yaml
│       ├── golang.org/
│       │   └── x/
│       │       ├── crypto/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   └── sha3/
│       │       │       ├── doc.go
│       │       │       ├── hashes.go
│       │       │       ├── hashes_generic.go
│       │       │       ├── keccakf.go
│       │       │       ├── keccakf_amd64.go
│       │       │       ├── keccakf_amd64.s
│       │       │       ├── register.go
│       │       │       ├── sha3.go
│       │       │       ├── sha3_s390x.go
│       │       │       ├── sha3_s390x.s
│       │       │       ├── shake.go
│       │       │       ├── shake_generic.go
│       │       │       ├── xor.go
│       │       │       ├── xor_generic.go
│       │       │       └── xor_unaligned.go
│       │       ├── net/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── context/
│       │       │   │   ├── context.go
│       │       │   │   ├── go17.go
│       │       │   │   ├── go19.go
│       │       │   │   ├── pre_go17.go
│       │       │   │   └── pre_go19.go
│       │       │   ├── html/
│       │       │   │   ├── atom/
│       │       │   │   │   ├── atom.go
│       │       │   │   │   ├── gen.go
│       │       │   │   │   └── table.go
│       │       │   │   ├── charset/
│       │       │   │   │   └── charset.go
│       │       │   │   ├── const.go
│       │       │   │   ├── doc.go
│       │       │   │   ├── doctype.go
│       │       │   │   ├── entity.go
│       │       │   │   ├── escape.go
│       │       │   │   ├── foreign.go
│       │       │   │   ├── node.go
│       │       │   │   ├── parse.go
│       │       │   │   ├── render.go
│       │       │   │   └── token.go
│       │       │   ├── http/
│       │       │   │   └── httpguts/
│       │       │   │       ├── guts.go
│       │       │   │       └── httplex.go
│       │       │   ├── http2/
│       │       │   │   ├── .gitignore
│       │       │   │   ├── Dockerfile
│       │       │   │   ├── Makefile
│       │       │   │   ├── README
│       │       │   │   ├── ciphers.go
│       │       │   │   ├── client_conn_pool.go
│       │       │   │   ├── databuffer.go
│       │       │   │   ├── errors.go
│       │       │   │   ├── flow.go
│       │       │   │   ├── frame.go
│       │       │   │   ├── go111.go
│       │       │   │   ├── gotrack.go
│       │       │   │   ├── headermap.go
│       │       │   │   ├── hpack/
│       │       │   │   │   ├── encode.go
│       │       │   │   │   ├── hpack.go
│       │       │   │   │   ├── huffman.go
│       │       │   │   │   └── tables.go
│       │       │   │   ├── http2.go
│       │       │   │   ├── not_go111.go
│       │       │   │   ├── pipe.go
│       │       │   │   ├── server.go
│       │       │   │   ├── transport.go
│       │       │   │   ├── write.go
│       │       │   │   ├── writesched.go
│       │       │   │   ├── writesched_priority.go
│       │       │   │   └── writesched_random.go
│       │       │   ├── idna/
│       │       │   │   ├── idna10.0.0.go
│       │       │   │   ├── idna9.0.0.go
│       │       │   │   ├── punycode.go
│       │       │   │   ├── tables10.0.0.go
│       │       │   │   ├── tables11.0.0.go
│       │       │   │   ├── tables9.0.0.go
│       │       │   │   ├── trie.go
│       │       │   │   └── trieval.go
│       │       │   ├── internal/
│       │       │   │   └── timeseries/
│       │       │   │       └── timeseries.go
│       │       │   └── trace/
│       │       │       ├── events.go
│       │       │       ├── histogram.go
│       │       │       └── trace.go
│       │       ├── sys/
│       │       │   ├── AUTHORS
│       │       │   ├── CONTRIBUTORS
│       │       │   ├── LICENSE
│       │       │   ├── PATENTS
│       │       │   ├── cpu/
│       │       │   │   ├── asm_aix_ppc64.s
│       │       │   │   ├── byteorder.go
│       │       │   │   ├── cpu.go
│       │       │   │   ├── cpu_aix_ppc64.go
│       │       │   │   ├── cpu_arm.go
│       │       │   │   ├── cpu_gc_s390x.go
│       │       │   │   ├── cpu_gc_x86.go
│       │       │   │   ├── cpu_gccgo.c
│       │       │   │   ├── cpu_gccgo.go
│       │       │   │   ├── cpu_gccgo_s390x.go
│       │       │   │   ├── cpu_linux.go
│       │       │   │   ├── cpu_linux_arm.go
│       │       │   │   ├── cpu_linux_arm64.go
│       │       │   │   ├── cpu_linux_ppc64x.go
│       │       │   │   ├── cpu_linux_s390x.go
│       │       │   │   ├── cpu_mips64x.go
│       │       │   │   ├── cpu_mipsx.go
│       │       │   │   ├── cpu_other_arm64.go
│       │       │   │   ├── cpu_s390x.s
│       │       │   │   ├── cpu_wasm.go
│       │       │   │   ├── cpu_x86.go
│       │       │   │   ├── cpu_x86.s
│       │       │   │   └── syscall_aix_ppc64_gc.go
│       │       │   ├── unix/
│       │       │   │   ├── .gitignore
│       │       │   │   ├── README.md
│       │       │   │   ├── affinity_linux.go
│       │       │   │   ├── aliases.go
│       │       │   │   ├── asm_aix_ppc64.s
│       │       │   │   ├── asm_darwin_386.s
│       │       │   │   ├── asm_darwin_amd64.s
│       │       │   │   ├── asm_darwin_arm.s
│       │       │   │   ├── asm_darwin_arm64.s
│       │       │   │   ├── asm_dragonfly_amd64.s
│       │       │   │   ├── asm_freebsd_386.s
│       │       │   │   ├── asm_freebsd_amd64.s
│       │       │   │   ├── asm_freebsd_arm.s
│       │       │   │   ├── asm_freebsd_arm64.s
│       │       │   │   ├── asm_linux_386.s
│       │       │   │   ├── asm_linux_amd64.s
│       │       │   │   ├── asm_linux_arm.s
│       │       │   │   ├── asm_linux_arm64.s
│       │       │   │   ├── asm_linux_mips64x.s
│       │       │   │   ├── asm_linux_mipsx.s
│       │       │   │   ├── asm_linux_ppc64x.s
│       │       │   │   ├── asm_linux_riscv64.s
│       │       │   │   ├── asm_linux_s390x.s
│       │       │   │   ├── asm_netbsd_386.s
│       │       │   │   ├── asm_netbsd_amd64.s
│       │       │   │   ├── asm_netbsd_arm.s
│       │       │   │   ├── asm_netbsd_arm64.s
│       │       │   │   ├── asm_openbsd_386.s
│       │       │   │   ├── asm_openbsd_amd64.s
│       │       │   │   ├── asm_openbsd_arm.s
│       │       │   │   ├── asm_openbsd_arm64.s
│       │       │   │   ├── asm_solaris_amd64.s
│       │       │   │   ├── bluetooth_linux.go
│       │       │   │   ├── cap_freebsd.go
│       │       │   │   ├── constants.go
│       │       │   │   ├── dev_aix_ppc.go
│       │       │   │   ├── dev_aix_ppc64.go
│       │       │   │   ├── dev_darwin.go
│       │       │   │   ├── dev_dragonfly.go
│       │       │   │   ├── dev_freebsd.go
│       │       │   │   ├── dev_linux.go
│       │       │   │   ├── dev_netbsd.go
│       │       │   │   ├── dev_openbsd.go
│       │       │   │   ├── dirent.go
│       │       │   │   ├── endian_big.go
│       │       │   │   ├── endian_little.go
│       │       │   │   ├── env_unix.go
│       │       │   │   ├── errors_freebsd_386.go
│       │       │   │   ├── errors_freebsd_amd64.go
│       │       │   │   ├── errors_freebsd_arm.go
│       │       │   │   ├── fcntl.go
│       │       │   │   ├── fcntl_darwin.go
│       │       │   │   ├── fcntl_linux_32bit.go
│       │       │   │   ├── gccgo.go
│       │       │   │   ├── gccgo_c.c
│       │       │   │   ├── gccgo_linux_amd64.go
│       │       │   │   ├── ioctl.go
│       │       │   │   ├── mkall.sh
│       │       │   │   ├── mkasm_darwin.go
│       │       │   │   ├── mkerrors.sh
│       │       │   │   ├── mkpost.go
│       │       │   │   ├── mksyscall.go
│       │       │   │   ├── mksyscall_aix_ppc.go
│       │       │   │   ├── mksyscall_aix_ppc64.go
│       │       │   │   ├── mksyscall_solaris.go
│       │       │   │   ├── mksysctl_openbsd.go
│       │       │   │   ├── mksysnum.go
│       │       │   │   ├── pagesize_unix.go
│       │       │   │   ├── pledge_openbsd.go
│       │       │   │   ├── race.go
│       │       │   │   ├── race0.go
│       │       │   │   ├── readdirent_getdents.go
│       │       │   │   ├── readdirent_getdirentries.go
│       │       │   │   ├── sockcmsg_dragonfly.go
│       │       │   │   ├── sockcmsg_linux.go
│       │       │   │   ├── sockcmsg_unix.go
│       │       │   │   ├── sockcmsg_unix_other.go
│       │       │   │   ├── str.go
│       │       │   │   ├── syscall.go
│       │       │   │   ├── syscall_aix.go
│       │       │   │   ├── syscall_aix_ppc.go
│       │       │   │   ├── syscall_aix_ppc64.go
│       │       │   │   ├── syscall_bsd.go
│       │       │   │   ├── syscall_darwin.1_12.go
│       │       │   │   ├── syscall_darwin.1_13.go
│       │       │   │   ├── syscall_darwin.go
│       │       │   │   ├── syscall_darwin_386.1_11.go
│       │       │   │   ├── syscall_darwin_386.go
│       │       │   │   ├── syscall_darwin_amd64.1_11.go
│       │       │   │   ├── syscall_darwin_amd64.go
│       │       │   │   ├── syscall_darwin_arm.1_11.go
│       │       │   │   ├── syscall_darwin_arm.go
│       │       │   │   ├── syscall_darwin_arm64.1_11.go
│       │       │   │   ├── syscall_darwin_arm64.go
│       │       │   │   ├── syscall_darwin_libSystem.go
│       │       │   │   ├── syscall_dragonfly.go
│       │       │   │   ├── syscall_dragonfly_amd64.go
│       │       │   │   ├── syscall_freebsd.go
│       │       │   │   ├── syscall_freebsd_386.go
│       │       │   │   ├── syscall_freebsd_amd64.go
│       │       │   │   ├── syscall_freebsd_arm.go
│       │       │   │   ├── syscall_freebsd_arm64.go
│       │       │   │   ├── syscall_linux.go
│       │       │   │   ├── syscall_linux_386.go
│       │       │   │   ├── syscall_linux_amd64.go
│       │       │   │   ├── syscall_linux_amd64_gc.go
│       │       │   │   ├── syscall_linux_arm.go
│       │       │   │   ├── syscall_linux_arm64.go
│       │       │   │   ├── syscall_linux_gc.go
│       │       │   │   ├── syscall_linux_gc_386.go
│       │       │   │   ├── syscall_linux_gccgo_386.go
│       │       │   │   ├── syscall_linux_gccgo_arm.go
│       │       │   │   ├── syscall_linux_mips64x.go
│       │       │   │   ├── syscall_linux_mipsx.go
│       │       │   │   ├── syscall_linux_ppc64x.go
│       │       │   │   ├── syscall_linux_riscv64.go
│       │       │   │   ├── syscall_linux_s390x.go
│       │       │   │   ├── syscall_linux_sparc64.go
│       │       │   │   ├── syscall_netbsd.go
│       │       │   │   ├── syscall_netbsd_386.go
│       │       │   │   ├── syscall_netbsd_amd64.go
│       │       │   │   ├── syscall_netbsd_arm.go
│       │       │   │   ├── syscall_netbsd_arm64.go
│       │       │   │   ├── syscall_openbsd.go
│       │       │   │   ├── syscall_openbsd_386.go
│       │       │   │   ├── syscall_openbsd_amd64.go
│       │       │   │   ├── syscall_openbsd_arm.go
│       │       │   │   ├── syscall_openbsd_arm64.go
│       │       │   │   ├── syscall_solaris.go
│       │       │   │   ├── syscall_solaris_amd64.go
│       │       │   │   ├── syscall_unix.go
│       │       │   │   ├── syscall_unix_gc.go
│       │       │   │   ├── syscall_unix_gc_ppc64x.go
│       │       │   │   ├── timestruct.go
│       │       │   │   ├── types_aix.go
│       │       │   │   ├── types_darwin.go
│       │       │   │   ├── types_dragonfly.go
│       │       │   │   ├── types_freebsd.go
│       │       │   │   ├── types_netbsd.go
│       │       │   │   ├── types_openbsd.go
│       │       │   │   ├── types_solaris.go
│       │       │   │   ├── unveil_openbsd.go
│       │       │   │   ├── xattr_bsd.go
│       │       │   │   ├── zerrors_aix_ppc.go
│       │       │   │   ├── zerrors_aix_ppc64.go
│       │       │   │   ├── zerrors_darwin_386.go
│       │       │   │   ├── zerrors_darwin_amd64.go
│       │       │   │   ├── zerrors_darwin_arm.go
│       │       │   │   ├── zerrors_darwin_arm64.go
│       │       │   │   ├── zerrors_dragonfly_amd64.go
│       │       │   │   ├── zerrors_freebsd_386.go
│       │       │   │   ├── zerrors_freebsd_amd64.go
│       │       │   │   ├── zerrors_freebsd_arm.go
│       │       │   │   ├── zerrors_freebsd_arm64.go
│       │       │   │   ├── zerrors_linux_386.go
│       │       │   │   ├── zerrors_linux_amd64.go
│       │       │   │   ├── zerrors_linux_arm.go
│       │       │   │   ├── zerrors_linux_arm64.go
│       │       │   │   ├── zerrors_linux_mips.go
│       │       │   │   ├── zerrors_linux_mips64.go
│       │       │   │   ├── zerrors_linux_mips64le.go
│       │       │   │   ├── zerrors_linux_mipsle.go
│       │       │   │   ├── zerrors_linux_ppc64.go
│       │       │   │   ├── zerrors_linux_ppc64le.go
│       │       │   │   ├── zerrors_linux_riscv64.go
│       │       │   │   ├── zerrors_linux_s390x.go
│       │       │   │   ├── zerrors_linux_sparc64.go
│       │       │   │   ├── zerrors_netbsd_386.go
│       │       │   │   ├── zerrors_netbsd_amd64.go
│       │       │   │   ├── zerrors_netbsd_arm.go
│       │       │   │   ├── zerrors_netbsd_arm64.go
│       │       │   │   ├── zerrors_openbsd_386.go
│       │       │   │   ├── zerrors_openbsd_amd64.go
│       │       │   │   ├── zerrors_openbsd_arm.go
│       │       │   │   ├── zerrors_openbsd_arm64.go
│       │       │   │   ├── zerrors_solaris_amd64.go
│       │       │   │   ├── zptrace386_linux.go
│       │       │   │   ├── zptracearm_linux.go
│       │       │   │   ├── zptracemips_linux.go
│       │       │   │   ├── zptracemipsle_linux.go
│       │       │   │   ├── zsyscall_aix_ppc.go
│       │       │   │   ├── zsyscall_aix_ppc64.go
│       │       │   │   ├── zsyscall_aix_ppc64_gc.go
│       │       │   │   ├── zsyscall_aix_ppc64_gccgo.go
│       │       │   │   ├── zsyscall_darwin_386.1_11.go
│       │       │   │   ├── zsyscall_darwin_386.1_13.go
│       │       │   │   ├── zsyscall_darwin_386.1_13.s
│       │       │   │   ├── zsyscall_darwin_386.go
│       │       │   │   ├── zsyscall_darwin_386.s
│       │       │   │   ├── zsyscall_darwin_amd64.1_11.go
│       │       │   │   ├── zsyscall_darwin_amd64.1_13.go
│       │       │   │   ├── zsyscall_darwin_amd64.1_13.s
│       │       │   │   ├── zsyscall_darwin_amd64.go
│       │       │   │   ├── zsyscall_darwin_amd64.s
│       │       │   │   ├── zsyscall_darwin_arm.1_11.go
│       │       │   │   ├── zsyscall_darwin_arm.1_13.go
│       │       │   │   ├── zsyscall_darwin_arm.1_13.s
│       │       │   │   ├── zsyscall_darwin_arm.go
│       │       │   │   ├── zsyscall_darwin_arm.s
│       │       │   │   ├── zsyscall_darwin_arm64.1_11.go
│       │       │   │   ├── zsyscall_darwin_arm64.1_13.go
│       │       │   │   ├── zsyscall_darwin_arm64.1_13.s
│       │       │   │   ├── zsyscall_darwin_arm64.go
│       │       │   │   ├── zsyscall_darwin_arm64.s
│       │       │   │   ├── zsyscall_dragonfly_amd64.go
│       │       │   │   ├── zsyscall_freebsd_386.go
│       │       │   │   ├── zsyscall_freebsd_amd64.go
│       │       │   │   ├── zsyscall_freebsd_arm.go
│       │       │   │   ├── zsyscall_freebsd_arm64.go
│       │       │   │   ├── zsyscall_linux_386.go
│       │       │   │   ├── zsyscall_linux_amd64.go
│       │       │   │   ├── zsyscall_linux_arm.go
│       │       │   │   ├── zsyscall_linux_arm64.go
│       │       │   │   ├── zsyscall_linux_mips.go
│       │       │   │   ├── zsyscall_linux_mips64.go
│       │       │   │   ├── zsyscall_linux_mips64le.go
│       │       │   │   ├── zsyscall_linux_mipsle.go
│       │       │   │   ├── zsyscall_linux_ppc64.go
│       │       │   │   ├── zsyscall_linux_ppc64le.go
│       │       │   │   ├── zsyscall_linux_riscv64.go
│       │       │   │   ├── zsyscall_linux_s390x.go
│       │       │   │   ├── zsyscall_linux_sparc64.go
│       │       │   │   ├── zsyscall_netbsd_386.go
│       │       │   │   ├── zsyscall_netbsd_amd64.go
│       │       │   │   ├── zsyscall_netbsd_arm.go
│       │       │   │   ├── zsyscall_netbsd_arm64.go
│       │       │   │   ├── zsyscall_openbsd_386.go
│       │       │   │   ├── zsyscall_openbsd_amd64.go
│       │       │   │   ├── zsyscall_openbsd_arm.go
│       │       │   │   ├── zsyscall_openbsd_arm64.go
│       │       │   │   ├── zsyscall_solaris_amd64.go
│       │       │   │   ├── zsysctl_openbsd_386.go
│       │       │   │   ├── zsysctl_openbsd_amd64.go
│       │       │   │   ├── zsysctl_openbsd_arm.go
│       │       │   │   ├── zsysctl_openbsd_arm64.go
│       │       │   │   ├── zsysnum_darwin_386.go
│       │       │   │   ├── zsysnum_darwin_amd64.go
│       │       │   │   ├── zsysnum_darwin_arm.go
│       │       │   │   ├── zsysnum_darwin_arm64.go
│       │       │   │   ├── zsysnum_dragonfly_amd64.go
│       │       │   │   ├── zsysnum_freebsd_386.go
│       │       │   │   ├── zsysnum_freebsd_amd64.go
│       │       │   │   ├── zsysnum_freebsd_arm.go
│       │       │   │   ├── zsysnum_freebsd_arm64.go
│       │       │   │   ├── zsysnum_linux_386.go
│       │       │   │   ├── zsysnum_linux_amd64.go
│       │       │   │   ├── zsysnum_linux_arm.go
│       │       │   │   ├── zsysnum_linux_arm64.go
│       │       │   │   ├── zsysnum_linux_mips.go
│       │       │   │   ├── zsysnum_linux_mips64.go
│       │       │   │   ├── zsysnum_linux_mips64le.go
│       │       │   │   ├── zsysnum_linux_mipsle.go
│       │       │   │   ├── zsysnum_linux_ppc64.go
│       │       │   │   ├── zsysnum_linux_ppc64le.go
│       │       │   │   ├── zsysnum_linux_riscv64.go
│       │       │   │   ├── zsysnum_linux_s390x.go
│       │       │   │   ├── zsysnum_linux_sparc64.go
│       │       │   │   ├── zsysnum_netbsd_386.go
│       │       │   │   ├── zsysnum_netbsd_amd64.go
│       │       │   │   ├── zsysnum_netbsd_arm.go
│       │       │   │   ├── zsysnum_netbsd_arm64.go
│       │       │   │   ├── zsysnum_openbsd_386.go
│       │       │   │   ├── zsysnum_openbsd_amd64.go
│       │       │   │   ├── zsysnum_openbsd_arm.go
│       │       │   │   ├── zsysnum_openbsd_arm64.go
│       │       │   │   ├── ztypes_aix_ppc.go
│       │       │   │   ├── ztypes_aix_ppc64.go
│       │       │   │   ├── ztypes_darwin_386.go
│       │       │   │   ├── ztypes_darwin_amd64.go
│       │       │   │   ├── ztypes_darwin_arm.go
│       │       │   │   ├── ztypes_darwin_arm64.go
│       │       │   │   ├── ztypes_dragonfly_amd64.go
│       │       │   │   ├── ztypes_freebsd_386.go
│       │       │   │   ├── ztypes_freebsd_amd64.go
│       │       │   │   ├── ztypes_freebsd_arm.go
│       │       │   │   ├── ztypes_freebsd_arm64.go
│       │       │   │   ├── ztypes_linux_386.go
│       │       │   │   ├── ztypes_linux_amd64.go
│       │       │   │   ├── ztypes_linux_arm.go
│       │       │   │   ├── ztypes_linux_arm64.go
│       │       │   │   ├── ztypes_linux_mips.go
│       │       │   │   ├── ztypes_linux_mips64.go
│       │       │   │   ├── ztypes_linux_mips64le.go
│       │       │   │   ├── ztypes_linux_mipsle.go
│       │       │   │   ├── ztypes_linux_ppc64.go
│       │       │   │   ├── ztypes_linux_ppc64le.go
│       │       │   │   ├── ztypes_linux_riscv64.go
│       │       │   │   ├── ztypes_linux_s390x.go
│       │       │   │   ├── ztypes_linux_sparc64.go
│       │       │   │   ├── ztypes_netbsd_386.go
│       │       │   │   ├── ztypes_netbsd_amd64.go
│       │       │   │   ├── ztypes_netbsd_arm.go
│       │       │   │   ├── ztypes_netbsd_arm64.go
│       │       │   │   ├── ztypes_openbsd_386.go
│       │       │   │   ├── ztypes_openbsd_amd64.go
│       │       │   │   ├── ztypes_openbsd_arm.go
│       │       │   │   ├── ztypes_openbsd_arm64.go
│       │       │   │   └── ztypes_solaris_amd64.go
│       │       │   └── windows/
│       │       │       ├── aliases.go
│       │       │       ├── dll_windows.go
│       │       │       ├── env_windows.go
│       │       │       ├── eventlog.go
│       │       │       ├── exec_windows.go
│       │       │       ├── memory_windows.go
│       │       │       ├── mkerrors.bash
│       │       │       ├── mkknownfolderids.bash
│       │       │       ├── mksyscall.go
│       │       │       ├── race.go
│       │       │       ├── race0.go
│       │       │       ├── security_windows.go
│       │       │       ├── service.go
│       │       │       ├── str.go
│       │       │       ├── syscall.go
│       │       │       ├── syscall_windows.go
│       │       │       ├── types_windows.go
│       │       │       ├── types_windows_386.go
│       │       │       ├── types_windows_amd64.go
│       │       │       ├── types_windows_arm.go
│       │       │       ├── zerrors_windows.go
│       │       │       ├── zknownfolderids_windows.go
│       │       │       └── zsyscall_windows.go
│       │       └── text/
│       │           ├── AUTHORS
│       │           ├── CONTRIBUTORS
│       │           ├── LICENSE
│       │           ├── PATENTS
│       │           ├── encoding/
│       │           │   ├── charmap/
│       │           │   │   ├── charmap.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── encoding.go
│       │           │   ├── htmlindex/
│       │           │   │   ├── gen.go
│       │           │   │   ├── htmlindex.go
│       │           │   │   ├── map.go
│       │           │   │   └── tables.go
│       │           │   ├── internal/
│       │           │   │   ├── identifier/
│       │           │   │   │   ├── gen.go
│       │           │   │   │   ├── identifier.go
│       │           │   │   │   └── mib.go
│       │           │   │   └── internal.go
│       │           │   ├── japanese/
│       │           │   │   ├── all.go
│       │           │   │   ├── eucjp.go
│       │           │   │   ├── iso2022jp.go
│       │           │   │   ├── maketables.go
│       │           │   │   ├── shiftjis.go
│       │           │   │   └── tables.go
│       │           │   ├── korean/
│       │           │   │   ├── euckr.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── simplifiedchinese/
│       │           │   │   ├── all.go
│       │           │   │   ├── gbk.go
│       │           │   │   ├── hzgb2312.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   ├── traditionalchinese/
│       │           │   │   ├── big5.go
│       │           │   │   ├── maketables.go
│       │           │   │   └── tables.go
│       │           │   └── unicode/
│       │           │       ├── override.go
│       │           │       └── unicode.go
│       │           ├── internal/
│       │           │   ├── tag/
│       │           │   │   └── tag.go
│       │           │   └── utf8internal/
│       │           │       └── utf8internal.go
│       │           ├── language/
│       │           │   ├── Makefile
│       │           │   ├── common.go
│       │           │   ├── coverage.go
│       │           │   ├── doc.go
│       │           │   ├── gen.go
│       │           │   ├── gen_common.go
│       │           │   ├── gen_index.go
│       │           │   ├── go1_1.go
│       │           │   ├── go1_2.go
│       │           │   ├── index.go
│       │           │   ├── language.go
│       │           │   ├── lookup.go
│       │           │   ├── match.go
│       │           │   ├── parse.go
│       │           │   ├── tables.go
│       │           │   └── tags.go
│       │           ├── runes/
│       │           │   ├── cond.go
│       │           │   └── runes.go
│       │           ├── secure/
│       │           │   └── bidirule/
│       │           │       ├── bidirule.go
│       │           │       ├── bidirule10.0.0.go
│       │           │       └── bidirule9.0.0.go
│       │           ├── transform/
│       │           │   └── transform.go
│       │           └── unicode/
│       │               ├── bidi/
│       │               │   ├── bidi.go
│       │               │   ├── bracket.go
│       │               │   ├── core.go
│       │               │   ├── gen.go
│       │               │   ├── gen_ranges.go
│       │               │   ├── gen_trieval.go
│       │               │   ├── prop.go
│       │               │   ├── tables10.0.0.go
│       │               │   ├── tables9.0.0.go
│       │               │   └── trieval.go
│       │               └── norm/
│       │                   ├── composition.go
│       │                   ├── forminfo.go
│       │                   ├── input.go
│       │                   ├── iter.go
│       │                   ├── maketables.go
│       │                   ├── normalize.go
│       │                   ├── readwriter.go
│       │                   ├── tables10.0.0.go
│       │                   ├── tables9.0.0.go
│       │                   ├── transform.go
│       │                   ├── trie.go
│       │                   └── triegen.go
│       ├── google.golang.org/
│       │   ├── genproto/
│       │   │   ├── LICENSE
│       │   │   └── googleapis/
│       │   │       └── rpc/
│       │   │           └── status/
│       │   │               └── status.pb.go
│       │   └── grpc/
│       │       ├── .travis.yml
│       │       ├── AUTHORS
│       │       ├── CODE-OF-CONDUCT.md
│       │       ├── CONTRIBUTING.md
│       │       ├── GOVERNANCE.md
│       │       ├── LICENSE
│       │       ├── MAINTAINERS.md
│       │       ├── Makefile
│       │       ├── README.md
│       │       ├── backoff.go
│       │       ├── balancer/
│       │       │   ├── balancer.go
│       │       │   ├── base/
│       │       │   │   ├── balancer.go
│       │       │   │   └── base.go
│       │       │   └── roundrobin/
│       │       │       └── roundrobin.go
│       │       ├── balancer.go
│       │       ├── balancer_conn_wrappers.go
│       │       ├── balancer_v1_wrapper.go
│       │       ├── binarylog/
│       │       │   └── grpc_binarylog_v1/
│       │       │       └── binarylog.pb.go
│       │       ├── call.go
│       │       ├── clientconn.go
│       │       ├── codec.go
│       │       ├── codegen.sh
│       │       ├── codes/
│       │       │   ├── code_string.go
│       │       │   └── codes.go
│       │       ├── connectivity/
│       │       │   └── connectivity.go
│       │       ├── credentials/
│       │       │   ├── credentials.go
│       │       │   ├── internal/
│       │       │   │   ├── syscallconn.go
│       │       │   │   └── syscallconn_appengine.go
│       │       │   └── tls13.go
│       │       ├── dialoptions.go
│       │       ├── doc.go
│       │       ├── encoding/
│       │       │   ├── encoding.go
│       │       │   └── proto/
│       │       │       └── proto.go
│       │       ├── go.mod
│       │       ├── go.sum
│       │       ├── grpclog/
│       │       │   ├── grpclog.go
│       │       │   ├── logger.go
│       │       │   └── loggerv2.go
│       │       ├── install_gae.sh
│       │       ├── interceptor.go
│       │       ├── internal/
│       │       │   ├── backoff/
│       │       │   │   └── backoff.go
│       │       │   ├── balancerload/
│       │       │   │   └── load.go
│       │       │   ├── binarylog/
│       │       │   │   ├── binarylog.go
│       │       │   │   ├── binarylog_testutil.go
│       │       │   │   ├── env_config.go
│       │       │   │   ├── method_logger.go
│       │       │   │   ├── regenerate.sh
│       │       │   │   ├── sink.go
│       │       │   │   └── util.go
│       │       │   ├── channelz/
│       │       │   │   ├── funcs.go
│       │       │   │   ├── types.go
│       │       │   │   ├── types_linux.go
│       │       │   │   ├── types_nonlinux.go
│       │       │   │   ├── util_linux.go
│       │       │   │   └── util_nonlinux.go
│       │       │   ├── envconfig/
│       │       │   │   └── envconfig.go
│       │       │   ├── grpcrand/
│       │       │   │   └── grpcrand.go
│       │       │   ├── grpcsync/
│       │       │   │   └── event.go
│       │       │   ├── internal.go
│       │       │   ├── syscall/
│       │       │   │   ├── syscall_linux.go
│       │       │   │   └── syscall_nonlinux.go
│       │       │   └── transport/
│       │       │       ├── bdp_estimator.go
│       │       │       ├── controlbuf.go
│       │       │       ├── defaults.go
│       │       │       ├── flowcontrol.go
│       │       │       ├── handler_server.go
│       │       │       ├── http2_client.go
│       │       │       ├── http2_server.go
│       │       │       ├── http_util.go
│       │       │       ├── log.go
│       │       │       └── transport.go
│       │       ├── keepalive/
│       │       │   └── keepalive.go
│       │       ├── metadata/
│       │       │   └── metadata.go
│       │       ├── naming/
│       │       │   ├── dns_resolver.go
│       │       │   └── naming.go
│       │       ├── peer/
│       │       │   └── peer.go
│       │       ├── picker_wrapper.go
│       │       ├── pickfirst.go
│       │       ├── preloader.go
│       │       ├── proxy.go
│       │       ├── resolver/
│       │       │   ├── dns/
│       │       │   │   └── dns_resolver.go
│       │       │   ├── passthrough/
│       │       │   │   └── passthrough.go
│       │       │   └── resolver.go
│       │       ├── resolver_conn_wrapper.go
│       │       ├── rpc_util.go
│       │       ├── server.go
│       │       ├── service_config.go
│       │       ├── serviceconfig/
│       │       │   └── serviceconfig.go
│       │       ├── stats/
│       │       │   ├── handlers.go
│       │       │   └── stats.go
│       │       ├── status/
│       │       │   └── status.go
│       │       ├── stream.go
│       │       ├── tap/
│       │       │   └── tap.go
│       │       ├── trace.go
│       │       ├── version.go
│       │       └── vet.sh
│       ├── gopkg.in/
│       │   ├── fsnotify.v1/
│       │   │   ├── .editorconfig
│       │   │   ├── .gitignore
│       │   │   ├── .travis.yml
│       │   │   ├── AUTHORS
│       │   │   ├── CHANGELOG.md
│       │   │   ├── CONTRIBUTING.md
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   ├── fen.go
│       │   │   ├── fsnotify.go
│       │   │   ├── inotify.go
│       │   │   ├── inotify_poller.go
│       │   │   ├── kqueue.go
│       │   │   ├── open_mode_bsd.go
│       │   │   ├── open_mode_darwin.go
│       │   │   └── windows.go
│       │   ├── tomb.v1/
│       │   │   ├── LICENSE
│       │   │   ├── README.md
│       │   │   └── tomb.go
│       │   └── yaml.v2/
│       │       ├── .travis.yml
│       │       ├── LICENSE
│       │       ├── LICENSE.libyaml
│       │       ├── NOTICE
│       │       ├── README.md
│       │       ├── apic.go
│       │       ├── decode.go
│       │       ├── emitterc.go
│       │       ├── encode.go
│       │       ├── go.mod
│       │       ├── parserc.go
│       │       ├── readerc.go
│       │       ├── resolve.go
│       │       ├── scannerc.go
│       │       ├── sorter.go
│       │       ├── writerc.go
│       │       ├── yaml.go
│       │       ├── yamlh.go
│       │       └── yamlprivateh.go
│       └── modules.txt
├── release_notes/
│   ├── v0.1.0.md
│   ├── v0.2.0.md
│   ├── v0.3.0.md
│   └── v0.4.0.md
└── scripts/
    ├── changelog.sh
    ├── check_license.sh
    ├── check_spelling.sh
    ├── golinter.sh
    └── run-integration-tests.sh
Copy disabled (too large) Download .txt
Showing preview only (23,060K chars total). Download the full file to get everything.
SYMBOL INDEX (278187 symbols across 2810 files)

FILE: evmcc/address/converter.go
  function IdentityToAddr (line 20) | func IdentityToAddr(creator []byte) ([]byte, error) {

FILE: evmcc/address/converter_suite_test.go
  function TestAddressgenerator (line 16) | func TestAddressgenerator(t *testing.T) {

FILE: evmcc/event/event.go
  type Event (line 9) | type Event struct

FILE: evmcc/eventmanager/eventmanager.go
  type EventManager (line 22) | type EventManager struct
    method Flush (line 38) | func (evmgr *EventManager) Flush(eventName string) error {
    method Call (line 51) | func (evmgr *EventManager) Call(call *exec.CallEvent, exception *error...
    method Log (line 57) | func (evmgr *EventManager) Log(log *exec.LogEvent) error {
  type EventSink (line 29) | type EventSink interface

FILE: evmcc/eventmanager/eventmanager_suite_test.go
  function TestEventManager (line 15) | func TestEventManager(t *testing.T) {

FILE: evmcc/evmcc.go
  constant ContractPermFlags (line 30) | ContractPermFlags = permission.Call | permission.Send | permission.Creat...
  type EvmChaincode (line 42) | type EvmChaincode struct
    method Init (line 44) | func (evmcc *EvmChaincode) Init(stub shim.ChaincodeStubInterface) pb.R...
    method Invoke (line 49) | func (evmcc *EvmChaincode) Invoke(stub shim.ChaincodeStubInterface) pb...
    method getCode (line 177) | func (evmcc *EvmChaincode) getCode(stub shim.ChaincodeStubInterface, a...
    method account (line 205) | func (evmcc *EvmChaincode) account(stub shim.ChaincodeStubInterface) p...
  function newParams (line 213) | func newParams() evm.Params {
  function getCallerAddress (line 221) | func getCallerAddress(stub shim.ChaincodeStubInterface) (crypto.Address,...
  function main (line 235) | func main() {

FILE: evmcc/evmcc_suite_test.go
  function TestPlugin (line 16) | func TestPlugin(t *testing.T) {

FILE: evmcc/mocks/mockstub.go
  type MockStub (line 12) | type MockStub struct
    method CreateCompositeKey (line 483) | func (fake *MockStub) CreateCompositeKey(arg1 string, arg2 []string) (...
    method CreateCompositeKeyCallCount (line 507) | func (fake *MockStub) CreateCompositeKeyCallCount() int {
    method CreateCompositeKeyArgsForCall (line 513) | func (fake *MockStub) CreateCompositeKeyArgsForCall(i int) (string, []...
    method CreateCompositeKeyReturns (line 520) | func (fake *MockStub) CreateCompositeKeyReturns(result1 string, result...
    method CreateCompositeKeyReturnsOnCall (line 528) | func (fake *MockStub) CreateCompositeKeyReturnsOnCall(i int, result1 s...
    method DelPrivateData (line 542) | func (fake *MockStub) DelPrivateData(arg1 string, arg2 string) error {
    method DelPrivateDataCallCount (line 561) | func (fake *MockStub) DelPrivateDataCallCount() int {
    method DelPrivateDataArgsForCall (line 567) | func (fake *MockStub) DelPrivateDataArgsForCall(i int) (string, string) {
    method DelPrivateDataReturns (line 574) | func (fake *MockStub) DelPrivateDataReturns(result1 error) {
    method DelPrivateDataReturnsOnCall (line 581) | func (fake *MockStub) DelPrivateDataReturnsOnCall(i int, result1 error) {
    method DelState (line 593) | func (fake *MockStub) DelState(arg1 string) error {
    method DelStateCallCount (line 611) | func (fake *MockStub) DelStateCallCount() int {
    method DelStateArgsForCall (line 617) | func (fake *MockStub) DelStateArgsForCall(i int) string {
    method DelStateReturns (line 624) | func (fake *MockStub) DelStateReturns(result1 error) {
    method DelStateReturnsOnCall (line 631) | func (fake *MockStub) DelStateReturnsOnCall(i int, result1 error) {
    method GetArgs (line 643) | func (fake *MockStub) GetArgs() [][]byte {
    method GetArgsCallCount (line 660) | func (fake *MockStub) GetArgsCallCount() int {
    method GetArgsReturns (line 666) | func (fake *MockStub) GetArgsReturns(result1 [][]byte) {
    method GetArgsReturnsOnCall (line 673) | func (fake *MockStub) GetArgsReturnsOnCall(i int, result1 [][]byte) {
    method GetArgsSlice (line 685) | func (fake *MockStub) GetArgsSlice() ([]byte, error) {
    method GetArgsSliceCallCount (line 702) | func (fake *MockStub) GetArgsSliceCallCount() int {
    method GetArgsSliceReturns (line 708) | func (fake *MockStub) GetArgsSliceReturns(result1 []byte, result2 erro...
    method GetArgsSliceReturnsOnCall (line 716) | func (fake *MockStub) GetArgsSliceReturnsOnCall(i int, result1 []byte,...
    method GetBinding (line 730) | func (fake *MockStub) GetBinding() ([]byte, error) {
    method GetBindingCallCount (line 747) | func (fake *MockStub) GetBindingCallCount() int {
    method GetBindingReturns (line 753) | func (fake *MockStub) GetBindingReturns(result1 []byte, result2 error) {
    method GetBindingReturnsOnCall (line 761) | func (fake *MockStub) GetBindingReturnsOnCall(i int, result1 []byte, r...
    method GetChannelID (line 775) | func (fake *MockStub) GetChannelID() string {
    method GetChannelIDCallCount (line 792) | func (fake *MockStub) GetChannelIDCallCount() int {
    method GetChannelIDReturns (line 798) | func (fake *MockStub) GetChannelIDReturns(result1 string) {
    method GetChannelIDReturnsOnCall (line 805) | func (fake *MockStub) GetChannelIDReturnsOnCall(i int, result1 string) {
    method GetCreator (line 817) | func (fake *MockStub) GetCreator() ([]byte, error) {
    method GetCreatorCallCount (line 834) | func (fake *MockStub) GetCreatorCallCount() int {
    method GetCreatorReturns (line 840) | func (fake *MockStub) GetCreatorReturns(result1 []byte, result2 error) {
    method GetCreatorReturnsOnCall (line 848) | func (fake *MockStub) GetCreatorReturnsOnCall(i int, result1 []byte, r...
    method GetDecorations (line 862) | func (fake *MockStub) GetDecorations() map[string][]byte {
    method GetDecorationsCallCount (line 879) | func (fake *MockStub) GetDecorationsCallCount() int {
    method GetDecorationsReturns (line 885) | func (fake *MockStub) GetDecorationsReturns(result1 map[string][]byte) {
    method GetDecorationsReturnsOnCall (line 892) | func (fake *MockStub) GetDecorationsReturnsOnCall(i int, result1 map[s...
    method GetFunctionAndParameters (line 904) | func (fake *MockStub) GetFunctionAndParameters() (string, []string) {
    method GetFunctionAndParametersCallCount (line 921) | func (fake *MockStub) GetFunctionAndParametersCallCount() int {
    method GetFunctionAndParametersReturns (line 927) | func (fake *MockStub) GetFunctionAndParametersReturns(result1 string, ...
    method GetFunctionAndParametersReturnsOnCall (line 935) | func (fake *MockStub) GetFunctionAndParametersReturnsOnCall(i int, res...
    method GetHistoryForKey (line 949) | func (fake *MockStub) GetHistoryForKey(arg1 string) (shim.HistoryQuery...
    method GetHistoryForKeyCallCount (line 967) | func (fake *MockStub) GetHistoryForKeyCallCount() int {
    method GetHistoryForKeyArgsForCall (line 973) | func (fake *MockStub) GetHistoryForKeyArgsForCall(i int) string {
    method GetHistoryForKeyReturns (line 980) | func (fake *MockStub) GetHistoryForKeyReturns(result1 shim.HistoryQuer...
    method GetHistoryForKeyReturnsOnCall (line 988) | func (fake *MockStub) GetHistoryForKeyReturnsOnCall(i int, result1 shi...
    method GetPrivateData (line 1002) | func (fake *MockStub) GetPrivateData(arg1 string, arg2 string) ([]byte...
    method GetPrivateDataCallCount (line 1021) | func (fake *MockStub) GetPrivateDataCallCount() int {
    method GetPrivateDataArgsForCall (line 1027) | func (fake *MockStub) GetPrivateDataArgsForCall(i int) (string, string) {
    method GetPrivateDataReturns (line 1034) | func (fake *MockStub) GetPrivateDataReturns(result1 []byte, result2 er...
    method GetPrivateDataReturnsOnCall (line 1042) | func (fake *MockStub) GetPrivateDataReturnsOnCall(i int, result1 []byt...
    method GetPrivateDataByPartialCompositeKey (line 1056) | func (fake *MockStub) GetPrivateDataByPartialCompositeKey(arg1 string,...
    method GetPrivateDataByPartialCompositeKeyCallCount (line 1081) | func (fake *MockStub) GetPrivateDataByPartialCompositeKeyCallCount() i...
    method GetPrivateDataByPartialCompositeKeyArgsForCall (line 1087) | func (fake *MockStub) GetPrivateDataByPartialCompositeKeyArgsForCall(i...
    method GetPrivateDataByPartialCompositeKeyReturns (line 1094) | func (fake *MockStub) GetPrivateDataByPartialCompositeKeyReturns(resul...
    method GetPrivateDataByPartialCompositeKeyReturnsOnCall (line 1102) | func (fake *MockStub) GetPrivateDataByPartialCompositeKeyReturnsOnCall...
    method GetPrivateDataByRange (line 1116) | func (fake *MockStub) GetPrivateDataByRange(arg1 string, arg2 string, ...
    method GetPrivateDataByRangeCallCount (line 1136) | func (fake *MockStub) GetPrivateDataByRangeCallCount() int {
    method GetPrivateDataByRangeArgsForCall (line 1142) | func (fake *MockStub) GetPrivateDataByRangeArgsForCall(i int) (string,...
    method GetPrivateDataByRangeReturns (line 1149) | func (fake *MockStub) GetPrivateDataByRangeReturns(result1 shim.StateQ...
    method GetPrivateDataByRangeReturnsOnCall (line 1157) | func (fake *MockStub) GetPrivateDataByRangeReturnsOnCall(i int, result...
    method GetPrivateDataQueryResult (line 1171) | func (fake *MockStub) GetPrivateDataQueryResult(arg1 string, arg2 stri...
    method GetPrivateDataQueryResultCallCount (line 1190) | func (fake *MockStub) GetPrivateDataQueryResultCallCount() int {
    method GetPrivateDataQueryResultArgsForCall (line 1196) | func (fake *MockStub) GetPrivateDataQueryResultArgsForCall(i int) (str...
    method GetPrivateDataQueryResultReturns (line 1203) | func (fake *MockStub) GetPrivateDataQueryResultReturns(result1 shim.St...
    method GetPrivateDataQueryResultReturnsOnCall (line 1211) | func (fake *MockStub) GetPrivateDataQueryResultReturnsOnCall(i int, re...
    method GetPrivateDataValidationParameter (line 1225) | func (fake *MockStub) GetPrivateDataValidationParameter(arg1 string, a...
    method GetPrivateDataValidationParameterCallCount (line 1244) | func (fake *MockStub) GetPrivateDataValidationParameterCallCount() int {
    method GetPrivateDataValidationParameterArgsForCall (line 1250) | func (fake *MockStub) GetPrivateDataValidationParameterArgsForCall(i i...
    method GetPrivateDataValidationParameterReturns (line 1257) | func (fake *MockStub) GetPrivateDataValidationParameterReturns(result1...
    method GetPrivateDataValidationParameterReturnsOnCall (line 1265) | func (fake *MockStub) GetPrivateDataValidationParameterReturnsOnCall(i...
    method GetQueryResult (line 1279) | func (fake *MockStub) GetQueryResult(arg1 string) (shim.StateQueryIter...
    method GetQueryResultCallCount (line 1297) | func (fake *MockStub) GetQueryResultCallCount() int {
    method GetQueryResultArgsForCall (line 1303) | func (fake *MockStub) GetQueryResultArgsForCall(i int) string {
    method GetQueryResultReturns (line 1310) | func (fake *MockStub) GetQueryResultReturns(result1 shim.StateQueryIte...
    method GetQueryResultReturnsOnCall (line 1318) | func (fake *MockStub) GetQueryResultReturnsOnCall(i int, result1 shim....
    method GetQueryResultWithPagination (line 1332) | func (fake *MockStub) GetQueryResultWithPagination(arg1 string, arg2 i...
    method GetQueryResultWithPaginationCallCount (line 1352) | func (fake *MockStub) GetQueryResultWithPaginationCallCount() int {
    method GetQueryResultWithPaginationArgsForCall (line 1358) | func (fake *MockStub) GetQueryResultWithPaginationArgsForCall(i int) (...
    method GetQueryResultWithPaginationReturns (line 1365) | func (fake *MockStub) GetQueryResultWithPaginationReturns(result1 shim...
    method GetQueryResultWithPaginationReturnsOnCall (line 1374) | func (fake *MockStub) GetQueryResultWithPaginationReturnsOnCall(i int,...
    method GetSignedProposal (line 1390) | func (fake *MockStub) GetSignedProposal() (*peer.SignedProposal, error) {
    method GetSignedProposalCallCount (line 1407) | func (fake *MockStub) GetSignedProposalCallCount() int {
    method GetSignedProposalReturns (line 1413) | func (fake *MockStub) GetSignedProposalReturns(result1 *peer.SignedPro...
    method GetSignedProposalReturnsOnCall (line 1421) | func (fake *MockStub) GetSignedProposalReturnsOnCall(i int, result1 *p...
    method GetState (line 1435) | func (fake *MockStub) GetState(arg1 string) ([]byte, error) {
    method GetStateCallCount (line 1453) | func (fake *MockStub) GetStateCallCount() int {
    method GetStateArgsForCall (line 1459) | func (fake *MockStub) GetStateArgsForCall(i int) string {
    method GetStateReturns (line 1466) | func (fake *MockStub) GetStateReturns(result1 []byte, result2 error) {
    method GetStateReturnsOnCall (line 1474) | func (fake *MockStub) GetStateReturnsOnCall(i int, result1 []byte, res...
    method GetStateByPartialCompositeKey (line 1488) | func (fake *MockStub) GetStateByPartialCompositeKey(arg1 string, arg2 ...
    method GetStateByPartialCompositeKeyCallCount (line 1512) | func (fake *MockStub) GetStateByPartialCompositeKeyCallCount() int {
    method GetStateByPartialCompositeKeyArgsForCall (line 1518) | func (fake *MockStub) GetStateByPartialCompositeKeyArgsForCall(i int) ...
    method GetStateByPartialCompositeKeyReturns (line 1525) | func (fake *MockStub) GetStateByPartialCompositeKeyReturns(result1 shi...
    method GetStateByPartialCompositeKeyReturnsOnCall (line 1533) | func (fake *MockStub) GetStateByPartialCompositeKeyReturnsOnCall(i int...
    method GetStateByPartialCompositeKeyWithPagination (line 1547) | func (fake *MockStub) GetStateByPartialCompositeKeyWithPagination(arg1...
    method GetStateByPartialCompositeKeyWithPaginationCallCount (line 1573) | func (fake *MockStub) GetStateByPartialCompositeKeyWithPaginationCallC...
    method GetStateByPartialCompositeKeyWithPaginationArgsForCall (line 1579) | func (fake *MockStub) GetStateByPartialCompositeKeyWithPaginationArgsF...
    method GetStateByPartialCompositeKeyWithPaginationReturns (line 1586) | func (fake *MockStub) GetStateByPartialCompositeKeyWithPaginationRetur...
    method GetStateByPartialCompositeKeyWithPaginationReturnsOnCall (line 1595) | func (fake *MockStub) GetStateByPartialCompositeKeyWithPaginationRetur...
    method GetStateByRange (line 1611) | func (fake *MockStub) GetStateByRange(arg1 string, arg2 string) (shim....
    method GetStateByRangeCallCount (line 1630) | func (fake *MockStub) GetStateByRangeCallCount() int {
    method GetStateByRangeArgsForCall (line 1636) | func (fake *MockStub) GetStateByRangeArgsForCall(i int) (string, strin...
    method GetStateByRangeReturns (line 1643) | func (fake *MockStub) GetStateByRangeReturns(result1 shim.StateQueryIt...
    method GetStateByRangeReturnsOnCall (line 1651) | func (fake *MockStub) GetStateByRangeReturnsOnCall(i int, result1 shim...
    method GetStateByRangeWithPagination (line 1665) | func (fake *MockStub) GetStateByRangeWithPagination(arg1 string, arg2 ...
    method GetStateByRangeWithPaginationCallCount (line 1686) | func (fake *MockStub) GetStateByRangeWithPaginationCallCount() int {
    method GetStateByRangeWithPaginationArgsForCall (line 1692) | func (fake *MockStub) GetStateByRangeWithPaginationArgsForCall(i int) ...
    method GetStateByRangeWithPaginationReturns (line 1699) | func (fake *MockStub) GetStateByRangeWithPaginationReturns(result1 shi...
    method GetStateByRangeWithPaginationReturnsOnCall (line 1708) | func (fake *MockStub) GetStateByRangeWithPaginationReturnsOnCall(i int...
    method GetStateValidationParameter (line 1724) | func (fake *MockStub) GetStateValidationParameter(arg1 string) ([]byte...
    method GetStateValidationParameterCallCount (line 1742) | func (fake *MockStub) GetStateValidationParameterCallCount() int {
    method GetStateValidationParameterArgsForCall (line 1748) | func (fake *MockStub) GetStateValidationParameterArgsForCall(i int) st...
    method GetStateValidationParameterReturns (line 1755) | func (fake *MockStub) GetStateValidationParameterReturns(result1 []byt...
    method GetStateValidationParameterReturnsOnCall (line 1763) | func (fake *MockStub) GetStateValidationParameterReturnsOnCall(i int, ...
    method GetStringArgs (line 1777) | func (fake *MockStub) GetStringArgs() []string {
    method GetStringArgsCallCount (line 1794) | func (fake *MockStub) GetStringArgsCallCount() int {
    method GetStringArgsReturns (line 1800) | func (fake *MockStub) GetStringArgsReturns(result1 []string) {
    method GetStringArgsReturnsOnCall (line 1807) | func (fake *MockStub) GetStringArgsReturnsOnCall(i int, result1 []stri...
    method GetTransient (line 1819) | func (fake *MockStub) GetTransient() (map[string][]byte, error) {
    method GetTransientCallCount (line 1836) | func (fake *MockStub) GetTransientCallCount() int {
    method GetTransientReturns (line 1842) | func (fake *MockStub) GetTransientReturns(result1 map[string][]byte, r...
    method GetTransientReturnsOnCall (line 1850) | func (fake *MockStub) GetTransientReturnsOnCall(i int, result1 map[str...
    method GetTxID (line 1864) | func (fake *MockStub) GetTxID() string {
    method GetTxIDCallCount (line 1881) | func (fake *MockStub) GetTxIDCallCount() int {
    method GetTxIDReturns (line 1887) | func (fake *MockStub) GetTxIDReturns(result1 string) {
    method GetTxIDReturnsOnCall (line 1894) | func (fake *MockStub) GetTxIDReturnsOnCall(i int, result1 string) {
    method GetTxTimestamp (line 1906) | func (fake *MockStub) GetTxTimestamp() (*timestamp.Timestamp, error) {
    method GetTxTimestampCallCount (line 1923) | func (fake *MockStub) GetTxTimestampCallCount() int {
    method GetTxTimestampReturns (line 1929) | func (fake *MockStub) GetTxTimestampReturns(result1 *timestamp.Timesta...
    method GetTxTimestampReturnsOnCall (line 1937) | func (fake *MockStub) GetTxTimestampReturnsOnCall(i int, result1 *time...
    method InvokeChaincode (line 1951) | func (fake *MockStub) InvokeChaincode(arg1 string, arg2 [][]byte, arg3...
    method InvokeChaincodeCallCount (line 1976) | func (fake *MockStub) InvokeChaincodeCallCount() int {
    method InvokeChaincodeArgsForCall (line 1982) | func (fake *MockStub) InvokeChaincodeArgsForCall(i int) (string, [][]b...
    method InvokeChaincodeReturns (line 1989) | func (fake *MockStub) InvokeChaincodeReturns(result1 peer.Response) {
    method InvokeChaincodeReturnsOnCall (line 1996) | func (fake *MockStub) InvokeChaincodeReturnsOnCall(i int, result1 peer...
    method PutPrivateData (line 2008) | func (fake *MockStub) PutPrivateData(arg1 string, arg2 string, arg3 []...
    method PutPrivateDataCallCount (line 2033) | func (fake *MockStub) PutPrivateDataCallCount() int {
    method PutPrivateDataArgsForCall (line 2039) | func (fake *MockStub) PutPrivateDataArgsForCall(i int) (string, string...
    method PutPrivateDataReturns (line 2046) | func (fake *MockStub) PutPrivateDataReturns(result1 error) {
    method PutPrivateDataReturnsOnCall (line 2053) | func (fake *MockStub) PutPrivateDataReturnsOnCall(i int, result1 error) {
    method PutState (line 2065) | func (fake *MockStub) PutState(arg1 string, arg2 []byte) error {
    method PutStateCallCount (line 2089) | func (fake *MockStub) PutStateCallCount() int {
    method PutStateArgsForCall (line 2095) | func (fake *MockStub) PutStateArgsForCall(i int) (string, []byte) {
    method PutStateReturns (line 2102) | func (fake *MockStub) PutStateReturns(result1 error) {
    method PutStateReturnsOnCall (line 2109) | func (fake *MockStub) PutStateReturnsOnCall(i int, result1 error) {
    method SetEvent (line 2121) | func (fake *MockStub) SetEvent(arg1 string, arg2 []byte) error {
    method SetEventCallCount (line 2145) | func (fake *MockStub) SetEventCallCount() int {
    method SetEventArgsForCall (line 2151) | func (fake *MockStub) SetEventArgsForCall(i int) (string, []byte) {
    method SetEventReturns (line 2158) | func (fake *MockStub) SetEventReturns(result1 error) {
    method SetEventReturnsOnCall (line 2165) | func (fake *MockStub) SetEventReturnsOnCall(i int, result1 error) {
    method SetPrivateDataValidationParameter (line 2177) | func (fake *MockStub) SetPrivateDataValidationParameter(arg1 string, a...
    method SetPrivateDataValidationParameterCallCount (line 2202) | func (fake *MockStub) SetPrivateDataValidationParameterCallCount() int {
    method SetPrivateDataValidationParameterArgsForCall (line 2208) | func (fake *MockStub) SetPrivateDataValidationParameterArgsForCall(i i...
    method SetPrivateDataValidationParameterReturns (line 2215) | func (fake *MockStub) SetPrivateDataValidationParameterReturns(result1...
    method SetPrivateDataValidationParameterReturnsOnCall (line 2222) | func (fake *MockStub) SetPrivateDataValidationParameterReturnsOnCall(i...
    method SetStateValidationParameter (line 2234) | func (fake *MockStub) SetStateValidationParameter(arg1 string, arg2 []...
    method SetStateValidationParameterCallCount (line 2258) | func (fake *MockStub) SetStateValidationParameterCallCount() int {
    method SetStateValidationParameterArgsForCall (line 2264) | func (fake *MockStub) SetStateValidationParameterArgsForCall(i int) (s...
    method SetStateValidationParameterReturns (line 2271) | func (fake *MockStub) SetStateValidationParameterReturns(result1 error) {
    method SetStateValidationParameterReturnsOnCall (line 2278) | func (fake *MockStub) SetStateValidationParameterReturnsOnCall(i int, ...
    method SplitCompositeKey (line 2290) | func (fake *MockStub) SplitCompositeKey(arg1 string) (string, []string...
    method SplitCompositeKeyCallCount (line 2308) | func (fake *MockStub) SplitCompositeKeyCallCount() int {
    method SplitCompositeKeyArgsForCall (line 2314) | func (fake *MockStub) SplitCompositeKeyArgsForCall(i int) string {
    method SplitCompositeKeyReturns (line 2321) | func (fake *MockStub) SplitCompositeKeyReturns(result1 string, result2...
    method SplitCompositeKeyReturnsOnCall (line 2330) | func (fake *MockStub) SplitCompositeKeyReturnsOnCall(i int, result1 st...
    method Invocations (line 2346) | func (fake *MockStub) Invocations() map[string][][]interface{} {
    method recordInvocation (line 2428) | func (fake *MockStub) recordInvocation(key string, args []interface{}) {

FILE: evmcc/statemanager/statemanager.go
  type StateManager (line 19) | type StateManager interface
  type stateManager (line 27) | type stateManager struct
    method GetAccount (line 41) | func (s *stateManager) GetAccount(address crypto.Address) (*acm.Accoun...
    method GetStorage (line 54) | func (s *stateManager) GetStorage(address crypto.Address, key binary.W...
    method UpdateAccount (line 69) | func (s *stateManager) UpdateAccount(updatedAccount *acm.Account) error {
    method RemoveAccount (line 77) | func (s *stateManager) RemoveAccount(address crypto.Address) error {
    method SetStorage (line 81) | func (s *stateManager) SetStorage(address crypto.Address, key, value b...
  function NewStateManager (line 34) | func NewStateManager(stub shim.ChaincodeStubInterface) StateManager {

FILE: evmcc/statemanager/statemanager_suite_test.go
  function TestStatemanager (line 16) | func TestStatemanager(t *testing.T) {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/constants.go
  constant LogEnv (line 3) | LogEnv = "DEBUG_TERMINAL"
  constant ANSI_SGR_RESET (line 21) | ANSI_SGR_RESET              = 0
  constant ANSI_SGR_BOLD (line 22) | ANSI_SGR_BOLD               = 1
  constant ANSI_SGR_DIM (line 23) | ANSI_SGR_DIM                = 2
  constant _ANSI_SGR_ITALIC (line 24) | _ANSI_SGR_ITALIC            = 3
  constant ANSI_SGR_UNDERLINE (line 25) | ANSI_SGR_UNDERLINE          = 4
  constant _ANSI_SGR_BLINKSLOW (line 26) | _ANSI_SGR_BLINKSLOW         = 5
  constant _ANSI_SGR_BLINKFAST (line 27) | _ANSI_SGR_BLINKFAST         = 6
  constant ANSI_SGR_REVERSE (line 28) | ANSI_SGR_REVERSE            = 7
  constant _ANSI_SGR_INVISIBLE (line 29) | _ANSI_SGR_INVISIBLE         = 8
  constant _ANSI_SGR_LINETHROUGH (line 30) | _ANSI_SGR_LINETHROUGH       = 9
  constant _ANSI_SGR_FONT_00 (line 31) | _ANSI_SGR_FONT_00           = 10
  constant _ANSI_SGR_FONT_01 (line 32) | _ANSI_SGR_FONT_01           = 11
  constant _ANSI_SGR_FONT_02 (line 33) | _ANSI_SGR_FONT_02           = 12
  constant _ANSI_SGR_FONT_03 (line 34) | _ANSI_SGR_FONT_03           = 13
  constant _ANSI_SGR_FONT_04 (line 35) | _ANSI_SGR_FONT_04           = 14
  constant _ANSI_SGR_FONT_05 (line 36) | _ANSI_SGR_FONT_05           = 15
  constant _ANSI_SGR_FONT_06 (line 37) | _ANSI_SGR_FONT_06           = 16
  constant _ANSI_SGR_FONT_07 (line 38) | _ANSI_SGR_FONT_07           = 17
  constant _ANSI_SGR_FONT_08 (line 39) | _ANSI_SGR_FONT_08           = 18
  constant _ANSI_SGR_FONT_09 (line 40) | _ANSI_SGR_FONT_09           = 19
  constant _ANSI_SGR_FONT_10 (line 41) | _ANSI_SGR_FONT_10           = 20
  constant _ANSI_SGR_DOUBLEUNDERLINE (line 42) | _ANSI_SGR_DOUBLEUNDERLINE   = 21
  constant ANSI_SGR_BOLD_DIM_OFF (line 43) | ANSI_SGR_BOLD_DIM_OFF       = 22
  constant _ANSI_SGR_ITALIC_OFF (line 44) | _ANSI_SGR_ITALIC_OFF        = 23
  constant ANSI_SGR_UNDERLINE_OFF (line 45) | ANSI_SGR_UNDERLINE_OFF      = 24
  constant _ANSI_SGR_BLINK_OFF (line 46) | _ANSI_SGR_BLINK_OFF         = 25
  constant _ANSI_SGR_RESERVED_00 (line 47) | _ANSI_SGR_RESERVED_00       = 26
  constant ANSI_SGR_REVERSE_OFF (line 48) | ANSI_SGR_REVERSE_OFF        = 27
  constant _ANSI_SGR_INVISIBLE_OFF (line 49) | _ANSI_SGR_INVISIBLE_OFF     = 28
  constant _ANSI_SGR_LINETHROUGH_OFF (line 50) | _ANSI_SGR_LINETHROUGH_OFF   = 29
  constant ANSI_SGR_FOREGROUND_BLACK (line 51) | ANSI_SGR_FOREGROUND_BLACK   = 30
  constant ANSI_SGR_FOREGROUND_RED (line 52) | ANSI_SGR_FOREGROUND_RED     = 31
  constant ANSI_SGR_FOREGROUND_GREEN (line 53) | ANSI_SGR_FOREGROUND_GREEN   = 32
  constant ANSI_SGR_FOREGROUND_YELLOW (line 54) | ANSI_SGR_FOREGROUND_YELLOW  = 33
  constant ANSI_SGR_FOREGROUND_BLUE (line 55) | ANSI_SGR_FOREGROUND_BLUE    = 34
  constant ANSI_SGR_FOREGROUND_MAGENTA (line 56) | ANSI_SGR_FOREGROUND_MAGENTA = 35
  constant ANSI_SGR_FOREGROUND_CYAN (line 57) | ANSI_SGR_FOREGROUND_CYAN    = 36
  constant ANSI_SGR_FOREGROUND_WHITE (line 58) | ANSI_SGR_FOREGROUND_WHITE   = 37
  constant _ANSI_SGR_RESERVED_01 (line 59) | _ANSI_SGR_RESERVED_01       = 38
  constant ANSI_SGR_FOREGROUND_DEFAULT (line 60) | ANSI_SGR_FOREGROUND_DEFAULT = 39
  constant ANSI_SGR_BACKGROUND_BLACK (line 61) | ANSI_SGR_BACKGROUND_BLACK   = 40
  constant ANSI_SGR_BACKGROUND_RED (line 62) | ANSI_SGR_BACKGROUND_RED     = 41
  constant ANSI_SGR_BACKGROUND_GREEN (line 63) | ANSI_SGR_BACKGROUND_GREEN   = 42
  constant ANSI_SGR_BACKGROUND_YELLOW (line 64) | ANSI_SGR_BACKGROUND_YELLOW  = 43
  constant ANSI_SGR_BACKGROUND_BLUE (line 65) | ANSI_SGR_BACKGROUND_BLUE    = 44
  constant ANSI_SGR_BACKGROUND_MAGENTA (line 66) | ANSI_SGR_BACKGROUND_MAGENTA = 45
  constant ANSI_SGR_BACKGROUND_CYAN (line 67) | ANSI_SGR_BACKGROUND_CYAN    = 46
  constant ANSI_SGR_BACKGROUND_WHITE (line 68) | ANSI_SGR_BACKGROUND_WHITE   = 47
  constant _ANSI_SGR_RESERVED_02 (line 69) | _ANSI_SGR_RESERVED_02       = 48
  constant ANSI_SGR_BACKGROUND_DEFAULT (line 70) | ANSI_SGR_BACKGROUND_DEFAULT = 49
  constant ANSI_MAX_CMD_LENGTH (line 73) | ANSI_MAX_CMD_LENGTH = 4096
  constant MAX_INPUT_EVENTS (line 75) | MAX_INPUT_EVENTS = 128
  constant DEFAULT_WIDTH (line 76) | DEFAULT_WIDTH    = 80
  constant DEFAULT_HEIGHT (line 77) | DEFAULT_HEIGHT   = 24
  constant ANSI_BEL (line 79) | ANSI_BEL              = 0x07
  constant ANSI_BACKSPACE (line 80) | ANSI_BACKSPACE        = 0x08
  constant ANSI_TAB (line 81) | ANSI_TAB              = 0x09
  constant ANSI_LINE_FEED (line 82) | ANSI_LINE_FEED        = 0x0A
  constant ANSI_VERTICAL_TAB (line 83) | ANSI_VERTICAL_TAB     = 0x0B
  constant ANSI_FORM_FEED (line 84) | ANSI_FORM_FEED        = 0x0C
  constant ANSI_CARRIAGE_RETURN (line 85) | ANSI_CARRIAGE_RETURN  = 0x0D
  constant ANSI_ESCAPE_PRIMARY (line 86) | ANSI_ESCAPE_PRIMARY   = 0x1B
  constant ANSI_ESCAPE_SECONDARY (line 87) | ANSI_ESCAPE_SECONDARY = 0x5B
  constant ANSI_OSC_STRING_ENTRY (line 88) | ANSI_OSC_STRING_ENTRY = 0x5D
  constant ANSI_COMMAND_FIRST (line 89) | ANSI_COMMAND_FIRST    = 0x40
  constant ANSI_COMMAND_LAST (line 90) | ANSI_COMMAND_LAST     = 0x7E
  constant DCS_ENTRY (line 91) | DCS_ENTRY             = 0x90
  constant CSI_ENTRY (line 92) | CSI_ENTRY             = 0x9B
  constant OSC_STRING (line 93) | OSC_STRING            = 0x9D
  constant ANSI_PARAMETER_SEP (line 94) | ANSI_PARAMETER_SEP    = ";"
  constant ANSI_CMD_G0 (line 95) | ANSI_CMD_G0           = '('
  constant ANSI_CMD_G1 (line 96) | ANSI_CMD_G1           = ')'
  constant ANSI_CMD_G2 (line 97) | ANSI_CMD_G2           = '*'
  constant ANSI_CMD_G3 (line 98) | ANSI_CMD_G3           = '+'
  constant ANSI_CMD_DECPNM (line 99) | ANSI_CMD_DECPNM       = '>'
  constant ANSI_CMD_DECPAM (line 100) | ANSI_CMD_DECPAM       = '='
  constant ANSI_CMD_OSC (line 101) | ANSI_CMD_OSC          = ']'
  constant ANSI_CMD_STR_TERM (line 102) | ANSI_CMD_STR_TERM     = '\\'
  constant KEY_CONTROL_PARAM_2 (line 104) | KEY_CONTROL_PARAM_2 = ";2"
  constant KEY_CONTROL_PARAM_3 (line 105) | KEY_CONTROL_PARAM_3 = ";3"
  constant KEY_CONTROL_PARAM_4 (line 106) | KEY_CONTROL_PARAM_4 = ";4"
  constant KEY_CONTROL_PARAM_5 (line 107) | KEY_CONTROL_PARAM_5 = ";5"
  constant KEY_CONTROL_PARAM_6 (line 108) | KEY_CONTROL_PARAM_6 = ";6"
  constant KEY_CONTROL_PARAM_7 (line 109) | KEY_CONTROL_PARAM_7 = ";7"
  constant KEY_CONTROL_PARAM_8 (line 110) | KEY_CONTROL_PARAM_8 = ";8"
  constant KEY_ESC_CSI (line 111) | KEY_ESC_CSI         = "\x1B["
  constant KEY_ESC_N (line 112) | KEY_ESC_N           = "\x1BN"
  constant KEY_ESC_O (line 113) | KEY_ESC_O           = "\x1BO"
  constant FILL_CHARACTER (line 115) | FILL_CHARACTER = ' '
  function getByteRange (line 118) | func getByteRange(start byte, end byte) []byte {
  function getEscapeToGroundBytes (line 157) | func getEscapeToGroundBytes() []byte {
  function getExecuteBytes (line 167) | func getExecuteBytes() []byte {
  function getToGroundBytes (line 174) | func getToGroundBytes() []byte {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/context.go
  type ansiContext (line 3) | type ansiContext struct

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/csi_entry_state.go
  type csiEntryState (line 3) | type csiEntryState struct
    method Handle (line 7) | func (csiState csiEntryState) Handle(b byte) (s state, e error) {
    method Transition (line 27) | func (csiState csiEntryState) Transition(s state) error {
    method Enter (line 46) | func (csiState csiEntryState) Enter() error {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/csi_param_state.go
  type csiParamState (line 3) | type csiParamState struct
    method Handle (line 7) | func (csiState csiParamState) Handle(b byte) (s state, e error) {
    method Transition (line 28) | func (csiState csiParamState) Transition(s state) error {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/escape_intermediate_state.go
  type escapeIntermediateState (line 3) | type escapeIntermediateState struct
    method Handle (line 7) | func (escState escapeIntermediateState) Handle(b byte) (s state, e err...
    method Transition (line 26) | func (escState escapeIntermediateState) Transition(s state) error {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/escape_state.go
  type escapeState (line 3) | type escapeState struct
    method Handle (line 7) | func (escState escapeState) Handle(b byte) (s state, e error) {
    method Transition (line 30) | func (escState escapeState) Transition(s state) error {
    method Enter (line 44) | func (escState escapeState) Enter() error {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/event_handler.go
  type AnsiEventHandler (line 3) | type AnsiEventHandler interface

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/ground_state.go
  type groundState (line 3) | type groundState struct
    method Handle (line 7) | func (gs groundState) Handle(b byte) (s state, e error) {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/osc_string_state.go
  type oscStringState (line 3) | type oscStringState struct
    method Handle (line 7) | func (oscState oscStringState) Handle(b byte) (s state, e error) {
  function isOscStringTerminator (line 24) | func isOscStringTerminator(b byte) bool {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/parser.go
  type AnsiParser (line 9) | type AnsiParser struct
    method Parse (line 97) | func (ap *AnsiParser) Parse(bytes []byte) (int, error) {
    method handle (line 107) | func (ap *AnsiParser) handle(b byte) error {
    method changeState (line 128) | func (ap *AnsiParser) changeState(newState state) error {
  type Option (line 26) | type Option
  function WithLogf (line 28) | func WithLogf(f func(string, ...interface{})) Option {
  function CreateParser (line 34) | func CreateParser(initialState string, evtHandler AnsiEventHandler, opts...
  function getState (line 87) | func getState(name string, states []state) state {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/parser_action_helpers.go
  function parseParams (line 7) | func parseParams(bytes []byte) ([]string, error) {
  function parseCmd (line 33) | func parseCmd(context ansiContext) (string, error) {
  function getInt (line 37) | func getInt(params []string, dflt int) int {
  function getInts (line 42) | func getInts(params []string, minCount int, dflt int) []int {
  method modeDispatch (line 64) | func (ap *AnsiParser) modeDispatch(param string, set bool) error {
  method hDispatch (line 76) | func (ap *AnsiParser) hDispatch(params []string) error {
  method lDispatch (line 84) | func (ap *AnsiParser) lDispatch(params []string) error {
  function getEraseParam (line 92) | func getEraseParam(params []string) int {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/parser_actions.go
  method collectParam (line 3) | func (ap *AnsiParser) collectParam() error {
  method collectInter (line 10) | func (ap *AnsiParser) collectInter() error {
  method escDispatch (line 17) | func (ap *AnsiParser) escDispatch() error {
  method csiDispatch (line 39) | func (ap *AnsiParser) csiDispatch() error {
  method print (line 108) | func (ap *AnsiParser) print() error {
  method clear (line 112) | func (ap *AnsiParser) clear() error {
  method execute (line 117) | func (ap *AnsiParser) execute() error {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/states.go
  type stateID (line 3) | type stateID
  type state (line 5) | type state interface
  type baseState (line 13) | type baseState struct
    method Enter (line 18) | func (base baseState) Enter() error {
    method Exit (line 22) | func (base baseState) Exit() error {
    method Handle (line 26) | func (base baseState) Handle(b byte) (s state, e error) {
    method Name (line 44) | func (base baseState) Name() string {
    method Transition (line 48) | func (base baseState) Transition(s state) error {
  type dcsEntryState (line 65) | type dcsEntryState struct
  type errorState (line 69) | type errorState struct

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/utilities.go
  function sliceContains (line 7) | func sliceContains(bytes []byte, b byte) bool {
  function convertBytesToInteger (line 17) | func convertBytesToInteger(bytes []byte) int {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/winterm/ansi.go
  constant VK_PRIOR (line 18) | VK_PRIOR    = 0x21
  constant VK_NEXT (line 19) | VK_NEXT     = 0x22
  constant VK_END (line 20) | VK_END      = 0x23
  constant VK_HOME (line 21) | VK_HOME     = 0x24
  constant VK_LEFT (line 22) | VK_LEFT     = 0x25
  constant VK_UP (line 23) | VK_UP       = 0x26
  constant VK_RIGHT (line 24) | VK_RIGHT    = 0x27
  constant VK_DOWN (line 25) | VK_DOWN     = 0x28
  constant VK_SELECT (line 26) | VK_SELECT   = 0x29
  constant VK_PRINT (line 27) | VK_PRINT    = 0x2A
  constant VK_EXECUTE (line 28) | VK_EXECUTE  = 0x2B
  constant VK_SNAPSHOT (line 29) | VK_SNAPSHOT = 0x2C
  constant VK_INSERT (line 30) | VK_INSERT   = 0x2D
  constant VK_DELETE (line 31) | VK_DELETE   = 0x2E
  constant VK_HELP (line 32) | VK_HELP     = 0x2F
  constant VK_F1 (line 33) | VK_F1       = 0x70
  constant VK_F2 (line 34) | VK_F2       = 0x71
  constant VK_F3 (line 35) | VK_F3       = 0x72
  constant VK_F4 (line 36) | VK_F4       = 0x73
  constant VK_F5 (line 37) | VK_F5       = 0x74
  constant VK_F6 (line 38) | VK_F6       = 0x75
  constant VK_F7 (line 39) | VK_F7       = 0x76
  constant VK_F8 (line 40) | VK_F8       = 0x77
  constant VK_F9 (line 41) | VK_F9       = 0x78
  constant VK_F10 (line 42) | VK_F10      = 0x79
  constant VK_F11 (line 43) | VK_F11      = 0x7A
  constant VK_F12 (line 44) | VK_F12      = 0x7B
  constant RIGHT_ALT_PRESSED (line 46) | RIGHT_ALT_PRESSED  = 0x0001
  constant LEFT_ALT_PRESSED (line 47) | LEFT_ALT_PRESSED   = 0x0002
  constant RIGHT_CTRL_PRESSED (line 48) | RIGHT_CTRL_PRESSED = 0x0004
  constant LEFT_CTRL_PRESSED (line 49) | LEFT_CTRL_PRESSED  = 0x0008
  constant SHIFT_PRESSED (line 50) | SHIFT_PRESSED      = 0x0010
  constant NUMLOCK_ON (line 51) | NUMLOCK_ON         = 0x0020
  constant SCROLLLOCK_ON (line 52) | SCROLLLOCK_ON      = 0x0040
  constant CAPSLOCK_ON (line 53) | CAPSLOCK_ON        = 0x0080
  constant ENHANCED_KEY (line 54) | ENHANCED_KEY       = 0x0100
  type ansiCommand (line 57) | type ansiCommand struct
    method paramAsSHORT (line 98) | func (ac *ansiCommand) paramAsSHORT(index int, defaultValue int16) int...
    method String (line 111) | func (ac *ansiCommand) String() string {
  function newAnsiCommand (line 64) | func newAnsiCommand(command []byte) *ansiCommand {
  function isAnsiCommandChar (line 120) | func isAnsiCommandChar(b byte) bool {
  function isXtermOscSequence (line 134) | func isXtermOscSequence(command []byte, current byte) bool {
  function isCharacterSelectionCmdChar (line 138) | func isCharacterSelectionCmdChar(b byte) bool {
  function bytesToHex (line 143) | func bytesToHex(b []byte) string {
  function ensureInRange (line 153) | func ensureInRange(n int16, min int16, max int16) int16 {
  function GetStdFile (line 163) | func GetStdFile(nFile int) (*os.File, uintptr) {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/winterm/api.go
  constant ENABLE_PROCESSED_INPUT (line 52) | ENABLE_PROCESSED_INPUT        = 0x0001
  constant ENABLE_LINE_INPUT (line 53) | ENABLE_LINE_INPUT             = 0x0002
  constant ENABLE_ECHO_INPUT (line 54) | ENABLE_ECHO_INPUT             = 0x0004
  constant ENABLE_WINDOW_INPUT (line 55) | ENABLE_WINDOW_INPUT           = 0x0008
  constant ENABLE_MOUSE_INPUT (line 56) | ENABLE_MOUSE_INPUT            = 0x0010
  constant ENABLE_INSERT_MODE (line 57) | ENABLE_INSERT_MODE            = 0x0020
  constant ENABLE_QUICK_EDIT_MODE (line 58) | ENABLE_QUICK_EDIT_MODE        = 0x0040
  constant ENABLE_EXTENDED_FLAGS (line 59) | ENABLE_EXTENDED_FLAGS         = 0x0080
  constant ENABLE_AUTO_POSITION (line 60) | ENABLE_AUTO_POSITION          = 0x0100
  constant ENABLE_VIRTUAL_TERMINAL_INPUT (line 61) | ENABLE_VIRTUAL_TERMINAL_INPUT = 0x0200
  constant ENABLE_PROCESSED_OUTPUT (line 63) | ENABLE_PROCESSED_OUTPUT            = 0x0001
  constant ENABLE_WRAP_AT_EOL_OUTPUT (line 64) | ENABLE_WRAP_AT_EOL_OUTPUT          = 0x0002
  constant ENABLE_VIRTUAL_TERMINAL_PROCESSING (line 65) | ENABLE_VIRTUAL_TERMINAL_PROCESSING = 0x0004
  constant DISABLE_NEWLINE_AUTO_RETURN (line 66) | DISABLE_NEWLINE_AUTO_RETURN        = 0x0008
  constant ENABLE_LVB_GRID_WORLDWIDE (line 67) | ENABLE_LVB_GRID_WORLDWIDE          = 0x0010
  constant FOREGROUND_BLUE (line 74) | FOREGROUND_BLUE      uint16 = 0x0001
  constant FOREGROUND_GREEN (line 75) | FOREGROUND_GREEN     uint16 = 0x0002
  constant FOREGROUND_RED (line 76) | FOREGROUND_RED       uint16 = 0x0004
  constant FOREGROUND_INTENSITY (line 77) | FOREGROUND_INTENSITY uint16 = 0x0008
  constant FOREGROUND_MASK (line 78) | FOREGROUND_MASK      uint16 = 0x000F
  constant BACKGROUND_BLUE (line 80) | BACKGROUND_BLUE      uint16 = 0x0010
  constant BACKGROUND_GREEN (line 81) | BACKGROUND_GREEN     uint16 = 0x0020
  constant BACKGROUND_RED (line 82) | BACKGROUND_RED       uint16 = 0x0040
  constant BACKGROUND_INTENSITY (line 83) | BACKGROUND_INTENSITY uint16 = 0x0080
  constant BACKGROUND_MASK (line 84) | BACKGROUND_MASK      uint16 = 0x00F0
  constant COMMON_LVB_MASK (line 86) | COMMON_LVB_MASK          uint16 = 0xFF00
  constant COMMON_LVB_REVERSE_VIDEO (line 87) | COMMON_LVB_REVERSE_VIDEO uint16 = 0x4000
  constant COMMON_LVB_UNDERSCORE (line 88) | COMMON_LVB_UNDERSCORE    uint16 = 0x8000
  constant KEY_EVENT (line 92) | KEY_EVENT                = 0x0001
  constant MOUSE_EVENT (line 93) | MOUSE_EVENT              = 0x0002
  constant WINDOW_BUFFER_SIZE_EVENT (line 94) | WINDOW_BUFFER_SIZE_EVENT = 0x0004
  constant MENU_EVENT (line 95) | MENU_EVENT               = 0x0008
  constant FOCUS_EVENT (line 96) | FOCUS_EVENT              = 0x0010
  constant WAIT_ABANDONED (line 99) | WAIT_ABANDONED = 0x00000080
  constant WAIT_FAILED (line 100) | WAIT_FAILED    = 0xFFFFFFFF
  constant WAIT_SIGNALED (line 101) | WAIT_SIGNALED  = 0x0000000
  constant WAIT_TIMEOUT (line 102) | WAIT_TIMEOUT   = 0x00000102
  constant WAIT_INFINITE (line 105) | WAIT_INFINITE       = 0xFFFFFFFF
  constant WAIT_ONE_SECOND (line 106) | WAIT_ONE_SECOND     = 1000
  constant WAIT_HALF_SECOND (line 107) | WAIT_HALF_SECOND    = 500
  constant WAIT_QUARTER_SECOND (line 108) | WAIT_QUARTER_SECOND = 250
  type CHAR_INFO (line 115) | type CHAR_INFO struct
  type CONSOLE_CURSOR_INFO (line 120) | type CONSOLE_CURSOR_INFO struct
  type CONSOLE_SCREEN_BUFFER_INFO (line 125) | type CONSOLE_SCREEN_BUFFER_INFO struct
    method String (line 293) | func (info CONSOLE_SCREEN_BUFFER_INFO) String() string {
  type COORD (line 133) | type COORD struct
    method String (line 297) | func (coord COORD) String() string {
  type SMALL_RECT (line 138) | type SMALL_RECT struct
    method String (line 301) | func (rect SMALL_RECT) String() string {
  type INPUT_RECORD (line 147) | type INPUT_RECORD struct
  type KEY_EVENT_RECORD (line 152) | type KEY_EVENT_RECORD struct
  type WINDOW_BUFFER_SIZE (line 161) | type WINDOW_BUFFER_SIZE struct
  function boolToBOOL (line 167) | func boolToBOOL(f bool) int32 {
  function GetConsoleCursorInfo (line 177) | func GetConsoleCursorInfo(handle uintptr, cursorInfo *CONSOLE_CURSOR_INF...
  function SetConsoleCursorInfo (line 184) | func SetConsoleCursorInfo(handle uintptr, cursorInfo *CONSOLE_CURSOR_INF...
  function SetConsoleCursorPosition (line 191) | func SetConsoleCursorPosition(handle uintptr, coord COORD) error {
  function GetConsoleMode (line 199) | func GetConsoleMode(handle uintptr) (mode uint32, err error) {
  function SetConsoleMode (line 206) | func SetConsoleMode(handle uintptr, mode uint32) error {
  function GetConsoleScreenBufferInfo (line 214) | func GetConsoleScreenBufferInfo(handle uintptr) (*CONSOLE_SCREEN_BUFFER_...
  function ScrollConsoleScreenBuffer (line 223) | func ScrollConsoleScreenBuffer(handle uintptr, scrollRect SMALL_RECT, cl...
  function SetConsoleScreenBufferSize (line 234) | func SetConsoleScreenBufferSize(handle uintptr, coord COORD) error {
  function SetConsoleTextAttribute (line 243) | func SetConsoleTextAttribute(handle uintptr, attribute uint16) error {
  function SetConsoleWindowInfo (line 252) | func SetConsoleWindowInfo(handle uintptr, isAbsolute bool, rect SMALL_RE...
  function WriteConsoleOutput (line 261) | func WriteConsoleOutput(handle uintptr, buffer []CHAR_INFO, bufferSize C...
  function ReadConsoleInput (line 271) | func ReadConsoleInput(handle uintptr, buffer []INPUT_RECORD, count *uint...
  function WaitForSingleObject (line 280) | func WaitForSingleObject(handle uintptr, msWait uint32) (bool, error) {
  function checkError (line 306) | func checkError(r1, r2 uintptr, err error) error {
  function coordToPointer (line 320) | func coordToPointer(c COORD) uintptr {
  function use (line 327) | func use(p interface{}) {}

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/winterm/attr_translation.go
  constant FOREGROUND_COLOR_MASK (line 8) | FOREGROUND_COLOR_MASK = FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE
  constant BACKGROUND_COLOR_MASK (line 9) | BACKGROUND_COLOR_MASK = BACKGROUND_RED | BACKGROUND_GREEN | BACKGROUND_BLUE
  function collectAnsiIntoWindowsAttributes (line 14) | func collectAnsiIntoWindowsAttributes(windowsMode uint16, inverted bool,...
  function invertAttributes (line 98) | func invertAttributes(windowsMode uint16) uint16 {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/winterm/cursor_helpers.go
  constant horizontal (line 6) | horizontal = iota
  constant vertical (line 7) | vertical
  method getCursorWindow (line 10) | func (h *windowsAnsiEventHandler) getCursorWindow(info *CONSOLE_SCREEN_B...
  method setCursorPosition (line 30) | func (h *windowsAnsiEventHandler) setCursorPosition(position COORD, wind...
  method moveCursorVertical (line 41) | func (h *windowsAnsiEventHandler) moveCursorVertical(param int) error {
  method moveCursorHorizontal (line 45) | func (h *windowsAnsiEventHandler) moveCursorHorizontal(param int) error {
  method moveCursor (line 49) | func (h *windowsAnsiEventHandler) moveCursor(moveMode int, param int) er...
  method moveCursorLine (line 70) | func (h *windowsAnsiEventHandler) moveCursorLine(param int) error {
  method moveCursorColumn (line 87) | func (h *windowsAnsiEventHandler) moveCursorColumn(param int) error {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/winterm/erase_helpers.go
  method clearRange (line 7) | func (h *windowsAnsiEventHandler) clearRange(attributes uint16, fromCoor...
  method clearRect (line 61) | func (h *windowsAnsiEventHandler) clearRect(attributes uint16, fromCoord...

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/winterm/scroll_helper.go
  method effectiveSr (line 6) | func (h *windowsAnsiEventHandler) effectiveSr(window SMALL_RECT) scrollR...
  method scrollUp (line 16) | func (h *windowsAnsiEventHandler) scrollUp(param int) error {
  method scrollDown (line 26) | func (h *windowsAnsiEventHandler) scrollDown(param int) error {
  method deleteLines (line 30) | func (h *windowsAnsiEventHandler) deleteLines(param int) error {
  method insertLines (line 47) | func (h *windowsAnsiEventHandler) insertLines(param int) error {
  method scroll (line 52) | func (h *windowsAnsiEventHandler) scroll(param int, sr scrollRegion, inf...
  method deleteCharacters (line 81) | func (h *windowsAnsiEventHandler) deleteCharacters(param int) error {
  method insertCharacters (line 89) | func (h *windowsAnsiEventHandler) insertCharacters(param int) error {
  method scrollLine (line 94) | func (h *windowsAnsiEventHandler) scrollLine(columns int, position COORD...

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/winterm/utilities.go
  function addInRange (line 7) | func addInRange(n int16, increment int16, min int16, max int16) int16 {

FILE: evmcc/vendor/github.com/Azure/go-ansiterm/winterm/win_event_handler.go
  type windowsAnsiEventHandler (line 14) | type windowsAnsiEventHandler struct
    method simulateLF (line 88) | func (h *windowsAnsiEventHandler) simulateLF(includeCR bool) (bool, er...
    method executeLF (line 154) | func (h *windowsAnsiEventHandler) executeLF() error {
    method Print (line 180) | func (h *windowsAnsiEventHandler) Print(b byte) error {
    method Execute (line 203) | func (h *windowsAnsiEventHandler) Execute(b byte) error {
    method CUU (line 285) | func (h *windowsAnsiEventHandler) CUU(param int) error {
    method CUD (line 294) | func (h *windowsAnsiEventHandler) CUD(param int) error {
    method CUF (line 303) | func (h *windowsAnsiEventHandler) CUF(param int) error {
    method CUB (line 312) | func (h *windowsAnsiEventHandler) CUB(param int) error {
    method CNL (line 321) | func (h *windowsAnsiEventHandler) CNL(param int) error {
    method CPL (line 330) | func (h *windowsAnsiEventHandler) CPL(param int) error {
    method CHA (line 339) | func (h *windowsAnsiEventHandler) CHA(param int) error {
    method VPA (line 348) | func (h *windowsAnsiEventHandler) VPA(param int) error {
    method CUP (line 364) | func (h *windowsAnsiEventHandler) CUP(row int, col int) error {
    method HVP (line 380) | func (h *windowsAnsiEventHandler) HVP(row int, col int) error {
    method DECTCEM (line 389) | func (h *windowsAnsiEventHandler) DECTCEM(visible bool) error {
    method DECOM (line 398) | func (h *windowsAnsiEventHandler) DECOM(enable bool) error {
    method DECCOLM (line 408) | func (h *windowsAnsiEventHandler) DECCOLM(use132 bool) error {
    method ED (line 447) | func (h *windowsAnsiEventHandler) ED(param int) error {
    method EL (line 506) | func (h *windowsAnsiEventHandler) EL(param int) error {
    method IL (line 547) | func (h *windowsAnsiEventHandler) IL(param int) error {
    method DL (line 556) | func (h *windowsAnsiEventHandler) DL(param int) error {
    method ICH (line 565) | func (h *windowsAnsiEventHandler) ICH(param int) error {
    method DCH (line 574) | func (h *windowsAnsiEventHandler) DCH(param int) error {
    method SGR (line 583) | func (h *windowsAnsiEventHandler) SGR(params []int) error {
    method SU (line 622) | func (h *windowsAnsiEventHandler) SU(param int) error {
    method SD (line 631) | func (h *windowsAnsiEventHandler) SD(param int) error {
    method DA (line 640) | func (h *windowsAnsiEventHandler) DA(params []string) error {
    method DECSTBM (line 647) | func (h *windowsAnsiEventHandler) DECSTBM(top int, bottom int) error {
    method RI (line 662) | func (h *windowsAnsiEventHandler) RI() error {
    method IND (line 682) | func (h *windowsAnsiEventHandler) IND() error {
    method Flush (line 687) | func (h *windowsAnsiEventHandler) Flush() error {
    method getCurrentInfo (line 718) | func (h *windowsAnsiEventHandler) getCurrentInfo() (COORD, *CONSOLE_SC...
    method updatePos (line 730) | func (h *windowsAnsiEventHandler) updatePos(pos COORD) {
    method clearWrap (line 740) | func (h *windowsAnsiEventHandler) clearWrap() {
  type Option (line 31) | type Option
  function WithLogf (line 33) | func WithLogf(f func(string, ...interface{})) Option {
  function CreateWinEventHandler (line 39) | func CreateWinEventHandler(fd uintptr, file *os.File, opts ...Option) an...
  type scrollRegion (line 76) | type scrollRegion struct

FILE: evmcc/vendor/github.com/Microsoft/go-winio/backup.go
  constant BackupData (line 21) | BackupData = uint32(iota + 1)
  constant BackupEaData (line 22) | BackupEaData
  constant BackupSecurity (line 23) | BackupSecurity
  constant BackupAlternateData (line 24) | BackupAlternateData
  constant BackupLink (line 25) | BackupLink
  constant BackupPropertyData (line 26) | BackupPropertyData
  constant BackupObjectId (line 27) | BackupObjectId
  constant BackupReparseData (line 28) | BackupReparseData
  constant BackupSparseBlock (line 29) | BackupSparseBlock
  constant BackupTxfsData (line 30) | BackupTxfsData
  constant StreamSparseAttributes (line 34) | StreamSparseAttributes = uint32(8)
  constant WRITE_DAC (line 38) | WRITE_DAC              = 0x40000
  constant WRITE_OWNER (line 39) | WRITE_OWNER            = 0x80000
  constant ACCESS_SYSTEM_SECURITY (line 40) | ACCESS_SYSTEM_SECURITY = 0x1000000
  type BackupHeader (line 44) | type BackupHeader struct
  type win32StreamId (line 52) | type win32StreamId struct
  type BackupStreamReader (line 61) | type BackupStreamReader struct
    method Next (line 73) | func (r *BackupStreamReader) Next() (*BackupHeader, error) {
    method Read (line 116) | func (r *BackupStreamReader) Read(b []byte) (int, error) {
  function NewBackupStreamReader (line 67) | func NewBackupStreamReader(r io.Reader) *BackupStreamReader {
  type BackupStreamWriter (line 134) | type BackupStreamWriter struct
    method WriteHeader (line 145) | func (w *BackupStreamWriter) WriteHeader(hdr *BackupHeader) error {
    method Write (line 178) | func (w *BackupStreamWriter) Write(b []byte) (int, error) {
  function NewBackupStreamWriter (line 140) | func NewBackupStreamWriter(w io.Writer) *BackupStreamWriter {
  type BackupFileReader (line 188) | type BackupFileReader struct
    method Read (line 202) | func (r *BackupFileReader) Read(b []byte) (int, error) {
    method Close (line 217) | func (r *BackupFileReader) Close() error {
  function NewBackupFileReader (line 196) | func NewBackupFileReader(f *os.File, includeSecurity bool) *BackupFileRe...
  type BackupFileWriter (line 227) | type BackupFileWriter struct
    method Write (line 241) | func (w *BackupFileWriter) Write(b []byte) (int, error) {
    method Close (line 256) | func (w *BackupFileWriter) Close() error {
  function NewBackupFileWriter (line 235) | func NewBackupFileWriter(f *os.File, includeSecurity bool) *BackupFileWr...
  function OpenForBackup (line 269) | func OpenForBackup(path string, access uint32, share uint32, createmode ...

FILE: evmcc/vendor/github.com/Microsoft/go-winio/ea.go
  type fileFullEaInformation (line 9) | type fileFullEaInformation struct
  type ExtendedAttribute (line 25) | type ExtendedAttribute struct
  function parseEa (line 31) | func parseEa(b []byte) (ea ExtendedAttribute, nb []byte, err error) {
  function DecodeExtendedAttributes (line 60) | func DecodeExtendedAttributes(b []byte) (eas []ExtendedAttribute, err er...
  function writeEa (line 73) | func writeEa(buf *bytes.Buffer, ea *ExtendedAttribute, last bool) error {
  function EncodeExtendedAttributes (line 123) | func EncodeExtendedAttributes(eas []ExtendedAttribute) ([]byte, error) {

FILE: evmcc/vendor/github.com/Microsoft/go-winio/file.go
  type atomicBool (line 20) | type atomicBool
    method isSet (line 22) | func (b *atomicBool) isSet() bool { return atomic.LoadInt32((*int32)(b...
    method setFalse (line 23) | func (b *atomicBool) setFalse()   { atomic.StoreInt32((*int32)(b), 0) }
    method setTrue (line 24) | func (b *atomicBool) setTrue()    { atomic.StoreInt32((*int32)(b), 1) }
    method swap (line 25) | func (b *atomicBool) swap(new bool) bool {
  constant cFILE_SKIP_COMPLETION_PORT_ON_SUCCESS (line 34) | cFILE_SKIP_COMPLETION_PORT_ON_SUCCESS = 1
  constant cFILE_SKIP_SET_EVENT_ON_HANDLE (line 35) | cFILE_SKIP_SET_EVENT_ON_HANDLE        = 2
  type timeoutError (line 43) | type timeoutError struct
    method Error (line 45) | func (e *timeoutError) Error() string   { return "i/o timeout" }
    method Timeout (line 46) | func (e *timeoutError) Timeout() bool   { return true }
    method Temporary (line 47) | func (e *timeoutError) Temporary() bool { return true }
  type timeoutChan (line 49) | type timeoutChan
  type ioResult (line 55) | type ioResult struct
  type ioOperation (line 61) | type ioOperation struct
  function initIo (line 66) | func initIo() {
  type win32File (line 77) | type win32File struct
    method closeHandle (line 116) | func (f *win32File) closeHandle() {
    method Close (line 133) | func (f *win32File) Close() error {
    method prepareIo (line 140) | func (f *win32File) prepareIo() (*ioOperation, error) {
    method asyncIo (line 169) | func (f *win32File) asyncIo(c *ioOperation, d *deadlineHandler, bytes ...
    method Read (line 211) | func (f *win32File) Read(b []byte) (int, error) {
    method Write (line 238) | func (f *win32File) Write(b []byte) (int, error) {
    method SetReadDeadline (line 256) | func (f *win32File) SetReadDeadline(deadline time.Time) error {
    method SetWriteDeadline (line 260) | func (f *win32File) SetWriteDeadline(deadline time.Time) error {
    method Flush (line 264) | func (f *win32File) Flush() error {
  type deadlineHandler (line 86) | type deadlineHandler struct
    method set (line 268) | func (d *deadlineHandler) set(deadline time.Time) error {
  function makeWin32File (line 95) | func makeWin32File(h syscall.Handle) (*win32File, error) {
  function MakeOpenFile (line 111) | func MakeOpenFile(h syscall.Handle) (io.ReadWriteCloser, error) {
  function ioCompletionProcessor (line 154) | func ioCompletionProcessor(h syscall.Handle) {

FILE: evmcc/vendor/github.com/Microsoft/go-winio/fileinfo.go
  constant fileBasicInfo (line 16) | fileBasicInfo = 0
  constant fileIDInfo (line 17) | fileIDInfo    = 0x12
  type FileBasicInfo (line 21) | type FileBasicInfo struct
  function GetFileBasicInfo (line 28) | func GetFileBasicInfo(f *os.File) (*FileBasicInfo, error) {
  function SetFileBasicInfo (line 38) | func SetFileBasicInfo(f *os.File, bi *FileBasicInfo) error {
  type FileIDInfo (line 48) | type FileIDInfo struct
  function GetFileID (line 54) | func GetFileID(f *os.File) (*FileIDInfo, error) {

FILE: evmcc/vendor/github.com/Microsoft/go-winio/pipe.go
  constant cERROR_PIPE_BUSY (line 23) | cERROR_PIPE_BUSY      = syscall.Errno(231)
  constant cERROR_NO_DATA (line 24) | cERROR_NO_DATA        = syscall.Errno(232)
  constant cERROR_PIPE_CONNECTED (line 25) | cERROR_PIPE_CONNECTED = syscall.Errno(535)
  constant cERROR_SEM_TIMEOUT (line 26) | cERROR_SEM_TIMEOUT    = syscall.Errno(121)
  constant cPIPE_ACCESS_DUPLEX (line 28) | cPIPE_ACCESS_DUPLEX            = 0x3
  constant cFILE_FLAG_FIRST_PIPE_INSTANCE (line 29) | cFILE_FLAG_FIRST_PIPE_INSTANCE = 0x80000
  constant cSECURITY_SQOS_PRESENT (line 30) | cSECURITY_SQOS_PRESENT         = 0x100000
  constant cSECURITY_ANONYMOUS (line 31) | cSECURITY_ANONYMOUS            = 0
  constant cPIPE_REJECT_REMOTE_CLIENTS (line 33) | cPIPE_REJECT_REMOTE_CLIENTS = 0x8
  constant cPIPE_UNLIMITED_INSTANCES (line 35) | cPIPE_UNLIMITED_INSTANCES = 255
  constant cNMPWAIT_USE_DEFAULT_WAIT (line 37) | cNMPWAIT_USE_DEFAULT_WAIT = 0
  constant cNMPWAIT_NOWAIT (line 38) | cNMPWAIT_NOWAIT           = 1
  constant cPIPE_TYPE_MESSAGE (line 40) | cPIPE_TYPE_MESSAGE = 4
  constant cPIPE_READMODE_MESSAGE (line 42) | cPIPE_READMODE_MESSAGE = 2
  type win32Pipe (line 53) | type win32Pipe struct
    method LocalAddr (line 66) | func (f *win32Pipe) LocalAddr() net.Addr {
    method RemoteAddr (line 70) | func (f *win32Pipe) RemoteAddr() net.Addr {
    method SetDeadline (line 74) | func (f *win32Pipe) SetDeadline(t time.Time) error {
  type win32MessageBytePipe (line 58) | type win32MessageBytePipe struct
    method CloseWrite (line 81) | func (f *win32MessageBytePipe) CloseWrite() error {
    method Write (line 99) | func (f *win32MessageBytePipe) Write(b []byte) (int, error) {
    method Read (line 111) | func (f *win32MessageBytePipe) Read(b []byte) (int, error) {
  type pipeAddress (line 64) | type pipeAddress
    method Network (line 132) | func (s pipeAddress) Network() string {
    method String (line 136) | func (s pipeAddress) String() string {
  function DialPipe (line 143) | func DialPipe(path string, timeout *time.Duration) (net.Conn, error) {
  type acceptResponse (line 191) | type acceptResponse struct
  type win32PipeListener (line 196) | type win32PipeListener struct
    method makeServerPipe (line 232) | func (l *win32PipeListener) makeServerPipe() (*win32File, error) {
    method makeConnectedServerPipe (line 245) | func (l *win32PipeListener) makeConnectedServerPipe() (*win32File, err...
    method listenerRoutine (line 275) | func (l *win32PipeListener) listenerRoutine() {
    method Accept (line 390) | func (l *win32PipeListener) Accept() (net.Conn, error) {
    method Close (line 410) | func (l *win32PipeListener) Close() error {
    method Addr (line 419) | func (l *win32PipeListener) Addr() net.Addr {
  function makeServerPipeHandle (line 206) | func makeServerPipeHandle(path string, securityDescriptor []byte, c *Pip...
  type PipeConfig (line 305) | type PipeConfig struct
  function ListenPipe (line 326) | func ListenPipe(path string, c *PipeConfig) (net.Listener, error) {
  function connectPipe (line 375) | func connectPipe(p *win32File) error {

FILE: evmcc/vendor/github.com/Microsoft/go-winio/privilege.go
  constant SE_PRIVILEGE_ENABLED (line 27) | SE_PRIVILEGE_ENABLED = 2
  constant ERROR_NOT_ALL_ASSIGNED (line 29) | ERROR_NOT_ALL_ASSIGNED syscall.Errno = 1300
  constant SeBackupPrivilege (line 31) | SeBackupPrivilege  = "SeBackupPrivilege"
  constant SeRestorePrivilege (line 32) | SeRestorePrivilege = "SeRestorePrivilege"
  constant securityAnonymous (line 36) | securityAnonymous = iota
  constant securityIdentification (line 37) | securityIdentification
  constant securityImpersonation (line 38) | securityImpersonation
  constant securityDelegation (line 39) | securityDelegation
  type PrivilegeError (line 48) | type PrivilegeError struct
    method Error (line 52) | func (e *PrivilegeError) Error() string {
  function RunWithPrivilege (line 71) | func RunWithPrivilege(name string, fn func() error) error {
  function RunWithPrivileges (line 76) | func RunWithPrivileges(names []string, fn func() error) error {
  function mapPrivileges (line 95) | func mapPrivileges(names []string) ([]uint64, error) {
  function EnableProcessPrivileges (line 114) | func EnableProcessPrivileges(names []string) error {
  function DisableProcessPrivileges (line 119) | func DisableProcessPrivileges(names []string) error {
  function enableDisableProcessPrivilege (line 123) | func enableDisableProcessPrivilege(names []string, action uint32) error {
  function adjustPrivileges (line 140) | func adjustPrivileges(token windows.Token, privileges []uint64, action u...
  function getPrivilegeName (line 159) | func getPrivilegeName(luid uint64) string {
  function newThreadToken (line 178) | func newThreadToken() (windows.Token, error) {
  function releaseThreadToken (line 196) | func releaseThreadToken(h windows.Token) {

FILE: evmcc/vendor/github.com/Microsoft/go-winio/reparse.go
  constant reparseTagMountPoint (line 13) | reparseTagMountPoint = 0xA0000003
  constant reparseTagSymlink (line 14) | reparseTagSymlink    = 0xA000000C
  type reparseDataBuffer (line 17) | type reparseDataBuffer struct
  type ReparsePoint (line 28) | type ReparsePoint struct
  type UnsupportedReparsePointError (line 35) | type UnsupportedReparsePointError struct
    method Error (line 39) | func (e *UnsupportedReparsePointError) Error() string {
  function DecodeReparsePoint (line 45) | func DecodeReparsePoint(b []byte) (*ReparsePoint, error) {
  function DecodeReparsePointData (line 50) | func DecodeReparsePointData(tag uint32, b []byte) (*ReparsePoint, error) {
  function isDriveLetter (line 72) | func isDriveLetter(c byte) bool {
  function EncodeReparsePoint (line 78) | func EncodeReparsePoint(rp *ReparsePoint) []byte {

FILE: evmcc/vendor/github.com/Microsoft/go-winio/sd.go
  constant cERROR_NONE_MAPPED (line 18) | cERROR_NONE_MAPPED = syscall.Errno(1332)
  type AccountLookupError (line 21) | type AccountLookupError struct
    method Error (line 26) | func (e *AccountLookupError) Error() string {
  type SddlConversionError (line 40) | type SddlConversionError struct
    method Error (line 45) | func (e *SddlConversionError) Error() string {
  function LookupSidByName (line 50) | func LookupSidByName(name string) (sid string, err error) {
  function SddlToSecurityDescriptor (line 76) | func SddlToSecurityDescriptor(sddl string) ([]byte, error) {
  function SecurityDescriptorToSddl (line 88) | func SecurityDescriptorToSddl(sd []byte) (string, error) {

FILE: evmcc/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go
  constant errnoERROR_IO_PENDING (line 17) | errnoERROR_IO_PENDING = 997
  function errnoErr (line 26) | func errnoErr(e syscall.Errno) error {
  function cancelIoEx (line 74) | func cancelIoEx(file syscall.Handle, o *syscall.Overlapped) (err error) {
  function createIoCompletionPort (line 86) | func createIoCompletionPort(file syscall.Handle, port syscall.Handle, ke...
  function getQueuedCompletionStatus (line 99) | func getQueuedCompletionStatus(port syscall.Handle, bytes *uint32, key *...
  function setFileCompletionNotificationModes (line 111) | func setFileCompletionNotificationModes(h syscall.Handle, flags uint8) (...
  function connectNamedPipe (line 123) | func connectNamedPipe(pipe syscall.Handle, o *syscall.Overlapped) (err e...
  function createNamedPipe (line 135) | func createNamedPipe(name string, flags uint32, pipeMode uint32, maxInst...
  function _createNamedPipe (line 144) | func _createNamedPipe(name *uint16, flags uint32, pipeMode uint32, maxIn...
  function createFile (line 157) | func createFile(name string, access uint32, mode uint32, sa *syscall.Sec...
  function _createFile (line 166) | func _createFile(name *uint16, access uint32, mode uint32, sa *syscall.S...
  function waitNamedPipe (line 179) | func waitNamedPipe(name string, timeout uint32) (err error) {
  function _waitNamedPipe (line 188) | func _waitNamedPipe(name *uint16, timeout uint32) (err error) {
  function getNamedPipeInfo (line 200) | func getNamedPipeInfo(pipe syscall.Handle, flags *uint32, outSize *uint3...
  function getNamedPipeHandleState (line 212) | func getNamedPipeHandleState(pipe syscall.Handle, state *uint32, curInst...
  function localAlloc (line 224) | func localAlloc(uFlags uint32, length uint32) (ptr uintptr) {
  function lookupAccountName (line 230) | func lookupAccountName(systemName *uint16, accountName string, sid *byte...
  function _lookupAccountName (line 239) | func _lookupAccountName(systemName *uint16, accountName *uint16, sid *by...
  function convertSidToStringSid (line 251) | func convertSidToStringSid(sid *byte, str **uint16) (err error) {
  function convertStringSecurityDescriptorToSecurityDescriptor (line 263) | func convertStringSecurityDescriptorToSecurityDescriptor(str string, rev...
  function _convertStringSecurityDescriptorToSecurityDescriptor (line 272) | func _convertStringSecurityDescriptorToSecurityDescriptor(str *uint16, r...
  function convertSecurityDescriptorToStringSecurityDescriptor (line 284) | func convertSecurityDescriptorToStringSecurityDescriptor(sd *byte, revis...
  function localFree (line 296) | func localFree(mem uintptr) {
  function getSecurityDescriptorLength (line 301) | func getSecurityDescriptorLength(sd uintptr) (len uint32) {
  function getFileInformationByHandleEx (line 307) | func getFileInformationByHandleEx(h syscall.Handle, class uint32, buffer...
  function setFileInformationByHandle (line 319) | func setFileInformationByHandle(h syscall.Handle, class uint32, buffer *...
  function adjustTokenPrivileges (line 331) | func adjustTokenPrivileges(token windows.Token, releaseAll bool, input *...
  function impersonateSelf (line 350) | func impersonateSelf(level uint32) (err error) {
  function revertToSelf (line 362) | func revertToSelf() (err error) {
  function openThreadToken (line 374) | func openThreadToken(thread syscall.Handle, accessMask uint32, openAsSel...
  function getCurrentThread (line 392) | func getCurrentThread() (h syscall.Handle) {
  function lookupPrivilegeValue (line 398) | func lookupPrivilegeValue(systemName string, name string, luid *uint64) ...
  function _lookupPrivilegeValue (line 412) | func _lookupPrivilegeValue(systemName *uint16, name *uint16, luid *uint6...
  function lookupPrivilegeName (line 424) | func lookupPrivilegeName(systemName string, luid *uint64, buffer *uint16...
  function _lookupPrivilegeName (line 433) | func _lookupPrivilegeName(systemName *uint16, luid *uint64, buffer *uint...
  function lookupPrivilegeDisplayName (line 445) | func lookupPrivilegeDisplayName(systemName string, name *uint16, buffer ...
  function _lookupPrivilegeDisplayName (line 454) | func _lookupPrivilegeDisplayName(systemName *uint16, name *uint16, buffe...
  function backupRead (line 466) | func backupRead(h syscall.Handle, b []byte, bytesRead *uint32, abort boo...
  function backupWrite (line 494) | func backupWrite(h syscall.Handle, b []byte, bytesWritten *uint32, abort...

FILE: evmcc/vendor/github.com/Nvveen/Gotty/gotty.go
  function OpenTermInfo (line 23) | func OpenTermInfo(termName string) (*TermInfo, error) {
  function OpenTermInfoEnv (line 56) | func OpenTermInfoEnv() (*TermInfo, error) {
  method GetAttribute (line 63) | func (term *TermInfo) GetAttribute(attr string) (stacker, error) {
  method GetAttributeName (line 108) | func (term *TermInfo) GetAttributeName(name string) (stacker, error) {
  function GetTermcapName (line 115) | func GetTermcapName(name string) string {
  function readTermInfo (line 144) | func readTermInfo(path string) (*TermInfo, error) {

FILE: evmcc/vendor/github.com/Nvveen/Gotty/parser.go
  method Parse (line 40) | func (term *TermInfo) Parse(attr string, params ...interface{}) (string,...
  method ParseName (line 68) | func (term *TermInfo) ParseName(attr string, params ...interface{}) (str...
  method walk (line 74) | func (ps *parser) walk(attr string) (string, error) {
  method push (line 338) | func (st *stack) push(s stacker) {
  method pop (line 343) | func (st *stack) pop() (stacker, error) {
  function init (line 356) | func init() {

FILE: evmcc/vendor/github.com/Nvveen/Gotty/types.go
  type TermInfo (line 7) | type TermInfo struct
  type stacker (line 15) | type stacker interface
  type stack (line 17) | type stack
  type parser (line 19) | type parser struct

FILE: evmcc/vendor/github.com/btcsuite/btcd/btcec/btcec.go
  type KoblitzCurve (line 37) | type KoblitzCurve struct
    method Params (line 76) | func (curve *KoblitzCurve) Params() *elliptic.CurveParams {
    method bigAffineToField (line 82) | func (curve *KoblitzCurve) bigAffineToField(x, y *big.Int) (*fieldVal,...
    method fieldJacobianToBigAffine (line 92) | func (curve *KoblitzCurve) fieldJacobianToBigAffine(x, y, z *fieldVal)...
    method IsOnCurve (line 118) | func (curve *KoblitzCurve) IsOnCurve(x, y *big.Int) bool {
    method addZ1AndZ2EqualsOne (line 133) | func (curve *KoblitzCurve) addZ1AndZ2EqualsOne(x1, y1, z1, x2, y2, x3,...
    method addZ1EqualsZ2 (line 199) | func (curve *KoblitzCurve) addZ1EqualsZ2(x1, y1, z1, x2, y2, x3, y3, z...
    method addZ2EqualsOne (line 268) | func (curve *KoblitzCurve) addZ2EqualsOne(x1, y1, z1, x2, y2, x3, y3, ...
    method addGeneric (line 344) | func (curve *KoblitzCurve) addGeneric(x1, y1, z1, x2, y2, z2, x3, y3, ...
    method addJacobian (line 417) | func (curve *KoblitzCurve) addJacobian(x1, y1, z1, x2, y2, z2, x3, y3,...
    method Add (line 461) | func (curve *KoblitzCurve) Add(x1, y1, x2, y2 *big.Int) (*big.Int, *bi...
    method doubleZ1EqualsOne (line 489) | func (curve *KoblitzCurve) doubleZ1EqualsOne(x1, y1, x3, y3, z3 *field...
    method doubleGeneric (line 539) | func (curve *KoblitzCurve) doubleGeneric(x1, y1, z1, x3, y3, z3 *field...
    method doubleJacobian (line 586) | func (curve *KoblitzCurve) doubleJacobian(x1, y1, z1, x3, y3, z3 *fiel...
    method Double (line 610) | func (curve *KoblitzCurve) Double(x1, y1 *big.Int) (*big.Int, *big.Int) {
    method splitK (line 635) | func (curve *KoblitzCurve) splitK(k []byte) ([]byte, []byte, int, int) {
    method moduloReduce (line 673) | func (curve *KoblitzCurve) moduloReduce(k []byte) []byte {
    method ScalarMult (line 765) | func (curve *KoblitzCurve) ScalarMult(Bx, By *big.Int, k []byte) (*big...
    method ScalarBaseMult (line 870) | func (curve *KoblitzCurve) ScalarBaseMult(k []byte) (*big.Int, *big.In...
    method QPlus1Div4 (line 895) | func (curve *KoblitzCurve) QPlus1Div4() *big.Int {
    method Q (line 901) | func (curve *KoblitzCurve) Q() *big.Int {
  function NAF (line 693) | func NAF(k []byte) ([]byte, []byte) {
  function initAll (line 908) | func initAll() {
  function fromHex (line 916) | func fromHex(s string) *big.Int {
  function initS256 (line 924) | func initS256() {
  function S256 (line 973) | func S256() *KoblitzCurve {

FILE: evmcc/vendor/github.com/btcsuite/btcd/btcec/ciphering.go
  function GenerateSharedSecret (line 46) | func GenerateSharedSecret(privkey *PrivateKey, pubkey *PublicKey) []byte {
  function Encrypt (line 70) | func Encrypt(pubkey *PublicKey, in []byte) ([]byte, error) {
  function Decrypt (line 121) | func Decrypt(priv *PrivateKey, in []byte) ([]byte, error) {
  function addPKCSPadding (line 201) | func addPKCSPadding(src []byte) []byte {
  function removePKCSPadding (line 208) | func removePKCSPadding(src []byte) ([]byte, error) {

FILE: evmcc/vendor/github.com/btcsuite/btcd/btcec/field.go
  constant twoBitsMask (line 63) | twoBitsMask   = 0x3
  constant fourBitsMask (line 64) | fourBitsMask  = 0xf
  constant sixBitsMask (line 65) | sixBitsMask   = 0x3f
  constant eightBitsMask (line 66) | eightBitsMask = 0xff
  constant fieldWords (line 73) | fieldWords = 10
  constant fieldBase (line 77) | fieldBase = 26
  constant fieldOverflowBits (line 81) | fieldOverflowBits = 32 - fieldBase
  constant fieldBaseMask (line 86) | fieldBaseMask = (1 << fieldBase) - 1
  constant fieldMSBBits (line 90) | fieldMSBBits = 256 - (fieldBase * (fieldWords - 1))
  constant fieldMSBMask (line 94) | fieldMSBMask = (1 << fieldMSBBits) - 1
  constant fieldPrimeWordZero (line 98) | fieldPrimeWordZero = 0x3fffc2f
  constant fieldPrimeWordOne (line 102) | fieldPrimeWordOne = 0x3ffffbf
  type fieldVal (line 149) | type fieldVal struct
    method String (line 154) | func (f fieldVal) String() string {
    method Zero (line 162) | func (f *fieldVal) Zero() {
    method Set (line 180) | func (f *fieldVal) Set(val *fieldVal) *fieldVal {
    method SetInt (line 191) | func (f *fieldVal) SetInt(ui uint) *fieldVal {
    method SetBytes (line 202) | func (f *fieldVal) SetBytes(b *[32]byte) *fieldVal {
    method SetByteSlice (line 236) | func (f *fieldVal) SetByteSlice(b []byte) *fieldVal {
    method SetHex (line 251) | func (f *fieldVal) SetHex(hexString string) *fieldVal {
    method Normalize (line 262) | func (f *fieldVal) Normalize() *fieldVal {
    method PutBytes (line 391) | func (f *fieldVal) PutBytes(b *[32]byte) {
    method Bytes (line 437) | func (f *fieldVal) Bytes() *[32]byte {
    method IsZero (line 444) | func (f *fieldVal) IsZero() bool {
    method IsOdd (line 457) | func (f *fieldVal) IsOdd() bool {
    method Equals (line 465) | func (f *fieldVal) Equals(val *fieldVal) bool {
    method NegateVal (line 482) | func (f *fieldVal) NegateVal(val *fieldVal, magnitude uint32) *fieldVal {
    method Negate (line 520) | func (f *fieldVal) Negate(magnitude uint32) *fieldVal {
    method AddInt (line 530) | func (f *fieldVal) AddInt(ui uint) *fieldVal {
    method Add (line 544) | func (f *fieldVal) Add(val *fieldVal) *fieldVal {
    method Add2 (line 567) | func (f *fieldVal) Add2(val *fieldVal, val2 *fieldVal) *fieldVal {
    method MulInt (line 593) | func (f *fieldVal) MulInt(val uint) *fieldVal {
    method Mul (line 623) | func (f *fieldVal) Mul(val *fieldVal) *fieldVal {
    method Mul2 (line 635) | func (f *fieldVal) Mul2(val *fieldVal, val2 *fieldVal) *fieldVal {
    method Square (line 904) | func (f *fieldVal) Square() *fieldVal {
    method SquareVal (line 915) | func (f *fieldVal) SquareVal(val *fieldVal) *fieldVal {
    method Inverse (line 1135) | func (f *fieldVal) Inverse() *fieldVal {
    method SqrtVal (line 1250) | func (f *fieldVal) SqrtVal(x *fieldVal) *fieldVal {
    method Sqrt (line 1350) | func (f *fieldVal) Sqrt() *fieldVal {

FILE: evmcc/vendor/github.com/btcsuite/btcd/btcec/genprecomps.go
  function main (line 23) | func main() {

FILE: evmcc/vendor/github.com/btcsuite/btcd/btcec/gensecp256k1.go
  method getDoublingPoints (line 26) | func (curve *KoblitzCurve) getDoublingPoints() [][3]fieldVal {
  method SerializedBytePoints (line 43) | func (curve *KoblitzCurve) SerializedBytePoints() []byte {
  function sqrt (line 84) | func sqrt(n *big.Int) *big.Int {
  method EndomorphismVectors (line 109) | func (curve *KoblitzCurve) EndomorphismVectors() (a1, b1, a2, b2 *big.In...

FILE: evmcc/vendor/github.com/btcsuite/btcd/btcec/precompute.go
  function loadS256BytePoints (line 23) | func loadS256BytePoints() error {

FILE: evmcc/vendor/github.com/btcsuite/btcd/btcec/privkey.go
  type PrivateKey (line 17) | type PrivateKey
    method PubKey (line 48) | func (p *PrivateKey) PubKey() *PublicKey {
    method ToECDSA (line 53) | func (p *PrivateKey) ToECDSA() *ecdsa.PrivateKey {
    method Sign (line 61) | func (p *PrivateKey) Sign(hash []byte) (*Signature, error) {
    method Serialize (line 70) | func (p *PrivateKey) Serialize() []byte {
  function PrivKeyFromBytes (line 21) | func PrivKeyFromBytes(curve elliptic.Curve, pk []byte) (*PrivateKey,
  function NewPrivateKey (line 39) | func NewPrivateKey(curve elliptic.Curve) (*PrivateKey, error) {
  constant PrivKeyBytesLen (line 66) | PrivKeyBytesLen = 32

FILE: evmcc/vendor/github.com/btcsuite/btcd/btcec/pubkey.go
  constant PubKeyBytesLenCompressed (line 16) | PubKeyBytesLenCompressed   = 33
  constant PubKeyBytesLenUncompressed (line 17) | PubKeyBytesLenUncompressed = 65
  constant PubKeyBytesLenHybrid (line 18) | PubKeyBytesLenHybrid       = 65
  function isOdd (line 21) | func isOdd(a *big.Int) bool {
  function decompressPoint (line 27) | func decompressPoint(curve *KoblitzCurve, bigX *big.Int, ybit bool) (*bi...
  constant pubkeyCompressed (line 62) | pubkeyCompressed   byte = 0x2
  constant pubkeyUncompressed (line 63) | pubkeyUncompressed byte = 0x4
  constant pubkeyHybrid (line 64) | pubkeyHybrid       byte = 0x6
  function IsCompressedPubKey (line 69) | func IsCompressedPubKey(pubKey []byte) bool {
  function ParsePubKey (line 79) | func ParsePubKey(pubKeyStr []byte, curve *KoblitzCurve) (key *PublicKey,...
  type PublicKey (line 139) | type PublicKey
    method ToECDSA (line 142) | func (p *PublicKey) ToECDSA() *ecdsa.PublicKey {
    method SerializeUncompressed (line 148) | func (p *PublicKey) SerializeUncompressed() []byte {
    method SerializeCompressed (line 156) | func (p *PublicKey) SerializeCompressed() []byte {
    method SerializeHybrid (line 167) | func (p *PublicKey) SerializeHybrid() []byte {
    method IsEqual (line 181) | func (p *PublicKey) IsEqual(otherPubKey *PublicKey) bool {
  function paddedAppend (line 189) | func paddedAppend(size uint, dst, src []byte) []byte {

FILE: evmcc/vendor/github.com/btcsuite/btcd/btcec/signature.go
  type Signature (line 26) | type Signature struct
    method Serialize (line 47) | func (sig *Signature) Serialize() []byte {
    method Verify (line 76) | func (sig *Signature) Verify(hash []byte, pubKey *PublicKey) bool {
    method IsEqual (line 83) | func (sig *Signature) IsEqual(otherSig *Signature) bool {
  constant MinSigLen (line 91) | MinSigLen = 8
  function parseSig (line 93) | func parseSig(sigStr []byte, curve elliptic.Curve, der bool) (*Signature...
  function ParseSignature (line 211) | func ParseSignature(sigStr []byte, curve elliptic.Curve) (*Signature, er...
  function ParseDERSignature (line 218) | func ParseDERSignature(sigStr []byte, curve elliptic.Curve) (*Signature,...
  function canonicalizeInt (line 228) | func canonicalizeInt(val *big.Int) []byte {
  function canonicalPadding (line 245) | func canonicalPadding(b []byte) error {
  function hashToInt (line 263) | func hashToInt(hash []byte, c elliptic.Curve) *big.Int {
  function recoverKeyFromSignature (line 285) | func recoverKeyFromSignature(curve *KoblitzCurve, sig *Signature, msg []...
  function SignCompact (line 351) | func SignCompact(curve *KoblitzCurve, key *PrivateKey,
  function RecoverCompact (line 398) | func RecoverCompact(curve *KoblitzCurve, signature,
  function signRFC6979 (line 422) | func signRFC6979(privateKey *PrivateKey, hash []byte) (*Signature, error) {
  function nonceRFC6979 (line 453) | func nonceRFC6979(privkey *big.Int, hash []byte) *big.Int {
  function mac (line 505) | func mac(alg func() hash.Hash, k, m []byte) []byte {
  function int2octets (line 512) | func int2octets(v *big.Int, rolen int) []byte {
  function bits2octets (line 533) | func bits2octets(in []byte, curve elliptic.Curve, rolen int) []byte {

FILE: evmcc/vendor/github.com/containerd/continuity/pathdriver/path_driver.go
  type PathDriver (line 10) | type PathDriver interface
  type pathDriver (line 27) | type pathDriver struct
    method Join (line 32) | func (*pathDriver) Join(paths ...string) string {
    method IsAbs (line 36) | func (*pathDriver) IsAbs(path string) bool {
    method Rel (line 40) | func (*pathDriver) Rel(base, target string) (string, error) {
    method Base (line 44) | func (*pathDriver) Base(path string) string {
    method Dir (line 48) | func (*pathDriver) Dir(path string) string {
    method Clean (line 52) | func (*pathDriver) Clean(path string) string {
    method Split (line 56) | func (*pathDriver) Split(path string) (dir, file string) {
    method Separator (line 60) | func (*pathDriver) Separator() byte {
    method Abs (line 64) | func (*pathDriver) Abs(path string) (string, error) {
    method Walk (line 71) | func (*pathDriver) Walk(root string, walkFn filepath.WalkFunc) error {
    method FromSlash (line 75) | func (*pathDriver) FromSlash(path string) string {
    method ToSlash (line 79) | func (*pathDriver) ToSlash(path string) string {
    method Match (line 83) | func (*pathDriver) Match(pattern, name string) (bool, error) {

FILE: evmcc/vendor/github.com/davecgh/go-spew/spew/bypass.go
  constant UnsafeDisabled (line 33) | UnsafeDisabled = false
  constant ptrSize (line 36) | ptrSize = unsafe.Sizeof((*byte)(nil))
  type flag (line 39) | type flag
  constant flagKindMask (line 54) | flagKindMask = flag(0x1f)
  function flagField (line 80) | func flagField(v *reflect.Value) *flag {
  function unsafeReflectValue (line 93) | func unsafeReflectValue(v reflect.Value) reflect.Value {
  function init (line 105) | func init() {

FILE: evmcc/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go
  constant UnsafeDisabled (line 28) | UnsafeDisabled = true
  function unsafeReflectValue (line 36) | func unsafeReflectValue(v reflect.Value) reflect.Value {

FILE: evmcc/vendor/github.com/davecgh/go-spew/spew/common.go
  function catchPanic (line 72) | func catchPanic(w io.Writer, v reflect.Value) {
  function handleMethods (line 85) | func handleMethods(cs *ConfigState, w io.Writer, v reflect.Value) (handl...
  function printBool (line 144) | func printBool(w io.Writer, val bool) {
  function printInt (line 153) | func printInt(w io.Writer, val int64, base int) {
  function printUint (line 158) | func printUint(w io.Writer, val uint64, base int) {
  function printFloat (line 164) | func printFloat(w io.Writer, val float64, precision int) {
  function printComplex (line 170) | func printComplex(w io.Writer, c complex128, floatPrecision int) {
  function printHexPtr (line 185) | func printHexPtr(w io.Writer, p uintptr) {
  type valuesSorter (line 219) | type valuesSorter struct
    method Len (line 279) | func (s *valuesSorter) Len() int {
    method Swap (line 285) | func (s *valuesSorter) Swap(i, j int) {
    method Less (line 326) | func (s *valuesSorter) Less(i, j int) bool {
  function newValuesSorter (line 228) | func newValuesSorter(values []reflect.Value, cs *ConfigState) sort.Inter...
  function canSortSimply (line 256) | func canSortSimply(kind reflect.Kind) bool {
  function valueSortLess (line 295) | func valueSortLess(a, b reflect.Value) bool {
  function sortValues (line 336) | func sortValues(values []reflect.Value, cs *ConfigState) {

FILE: evmcc/vendor/github.com/davecgh/go-spew/spew/config.go
  type ConfigState (line 37) | type ConfigState struct
    method Errorf (line 115) | func (c *ConfigState) Errorf(format string, a ...interface{}) (err err...
    method Fprint (line 127) | func (c *ConfigState) Fprint(w io.Writer, a ...interface{}) (n int, er...
    method Fprintf (line 139) | func (c *ConfigState) Fprintf(w io.Writer, format string, a ...interfa...
    method Fprintln (line 150) | func (c *ConfigState) Fprintln(w io.Writer, a ...interface{}) (n int, ...
    method Print (line 162) | func (c *ConfigState) Print(a ...interface{}) (n int, err error) {
    method Printf (line 174) | func (c *ConfigState) Printf(format string, a ...interface{}) (n int, ...
    method Println (line 186) | func (c *ConfigState) Println(a ...interface{}) (n int, err error) {
    method Sprint (line 197) | func (c *ConfigState) Sprint(a ...interface{}) string {
    method Sprintf (line 208) | func (c *ConfigState) Sprintf(format string, a ...interface{}) string {
    method Sprintln (line 219) | func (c *ConfigState) Sprintln(a ...interface{}) string {
    method NewFormatter (line 240) | func (c *ConfigState) NewFormatter(v interface{}) fmt.Formatter {
    method Fdump (line 246) | func (c *ConfigState) Fdump(w io.Writer, a ...interface{}) {
    method Dump (line 273) | func (c *ConfigState) Dump(a ...interface{}) {
    method Sdump (line 279) | func (c *ConfigState) Sdump(a ...interface{}) string {
    method convertArgs (line 288) | func (c *ConfigState) convertArgs(args []interface{}) (formatters []in...
  function NewDefaultConfig (line 304) | func NewDefaultConfig() *ConfigState {

FILE: evmcc/vendor/github.com/davecgh/go-spew/spew/dump.go
  type dumpState (line 51) | type dumpState struct
    method indent (line 62) | func (d *dumpState) indent() {
    method unpackValue (line 73) | func (d *dumpState) unpackValue(v reflect.Value) reflect.Value {
    method dumpPtr (line 81) | func (d *dumpState) dumpPtr(v reflect.Value) {
    method dumpSlice (line 161) | func (d *dumpState) dumpSlice(v reflect.Value) {
    method dump (line 251) | func (d *dumpState) dump(v reflect.Value) {
  function fdump (line 453) | func fdump(cs *ConfigState, w io.Writer, a ...interface{}) {
  function Fdump (line 472) | func Fdump(w io.Writer, a ...interface{}) {
  function Sdump (line 478) | func Sdump(a ...interface{}) string {
  function Dump (line 507) | func Dump(a ...interface{}) {

FILE: evmcc/vendor/github.com/davecgh/go-spew/spew/format.go
  constant supportedFlags (line 28) | supportedFlags = "0-+# "
  type formatState (line 34) | type formatState struct
    method buildDefaultFormat (line 47) | func (f *formatState) buildDefaultFormat() (format string) {
    method constructOrigFormat (line 65) | func (f *formatState) constructOrigFormat(verb rune) (format string) {
    method unpackValue (line 94) | func (f *formatState) unpackValue(v reflect.Value) reflect.Value {
    method formatPtr (line 105) | func (f *formatState) formatPtr(v reflect.Value) {
    method format (line 201) | func (f *formatState) format(v reflect.Value) {
    method Format (line 371) | func (f *formatState) Format(fs fmt.State, verb rune) {
  function newFormatter (line 394) | func newFormatter(cs *ConfigState, v interface{}) fmt.Formatter {
  function NewFormatter (line 417) | func NewFormatter(v interface{}) fmt.Formatter {

FILE: evmcc/vendor/github.com/davecgh/go-spew/spew/spew.go
  function Errorf (line 32) | func Errorf(format string, a ...interface{}) (err error) {
  function Fprint (line 44) | func Fprint(w io.Writer, a ...interface{}) (n int, err error) {
  function Fprintf (line 56) | func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err e...
  function Fprintln (line 67) | func Fprintln(w io.Writer, a ...interface{}) (n int, err error) {
  function Print (line 79) | func Print(a ...interface{}) (n int, err error) {
  function Printf (line 91) | func Printf(format string, a ...interface{}) (n int, err error) {
  function Println (line 103) | func Println(a ...interface{}) (n int, err error) {
  function Sprint (line 114) | func Sprint(a ...interface{}) string {
  function Sprintf (line 125) | func Sprintf(format string, a ...interface{}) string {
  function Sprintln (line 136) | func Sprintln(a ...interface{}) string {
  function convertArgs (line 142) | func convertArgs(args []interface{}) (formatters []interface{}) {

FILE: evmcc/vendor/github.com/docker/docker/api/types/auth.go
  type AuthConfig (line 4) | type AuthConfig struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/blkiodev/blkio.go
  type WeightDevice (line 6) | type WeightDevice struct
    method String (line 11) | func (w *WeightDevice) String() string {
  type ThrottleDevice (line 16) | type ThrottleDevice struct
    method String (line 21) | func (t *ThrottleDevice) String() string {

FILE: evmcc/vendor/github.com/docker/docker/api/types/client.go
  type CheckpointCreateOptions (line 14) | type CheckpointCreateOptions struct
  type CheckpointListOptions (line 21) | type CheckpointListOptions struct
  type CheckpointDeleteOptions (line 26) | type CheckpointDeleteOptions struct
  type ContainerAttachOptions (line 32) | type ContainerAttachOptions struct
  type ContainerCommitOptions (line 42) | type ContainerCommitOptions struct
  type ContainerExecInspect (line 52) | type ContainerExecInspect struct
  type ContainerListOptions (line 61) | type ContainerListOptions struct
  type ContainerLogsOptions (line 73) | type ContainerLogsOptions struct
  type ContainerRemoveOptions (line 85) | type ContainerRemoveOptions struct
  type ContainerStartOptions (line 92) | type ContainerStartOptions struct
  type CopyToContainerOptions (line 99) | type CopyToContainerOptions struct
  type EventsOptions (line 105) | type EventsOptions struct
  type NetworkListOptions (line 112) | type NetworkListOptions struct
  type HijackedResponse (line 117) | type HijackedResponse struct
    method Close (line 123) | func (h *HijackedResponse) Close() {
    method CloseWrite (line 134) | func (h *HijackedResponse) CloseWrite() error {
  type CloseWriter (line 129) | type CloseWriter interface
  type ImageBuildOptions (line 143) | type ImageBuildOptions struct
  type BuilderVersion (line 193) | type BuilderVersion
  constant BuilderV1 (line 197) | BuilderV1 BuilderVersion = "1"
  constant BuilderBuildKit (line 199) | BuilderBuildKit = "2"
  type ImageBuildResponse (line 205) | type ImageBuildResponse struct
  type ImageCreateOptions (line 211) | type ImageCreateOptions struct
  type ImageImportSource (line 217) | type ImageImportSource struct
  type ImageImportOptions (line 223) | type ImageImportOptions struct
  type ImageListOptions (line 231) | type ImageListOptions struct
  type ImageLoadResponse (line 237) | type ImageLoadResponse struct
  type ImagePullOptions (line 244) | type ImagePullOptions struct
  type RequestPrivilegeFunc (line 257) | type RequestPrivilegeFunc
  type ImagePushOptions (line 260) | type ImagePushOptions
  type ImageRemoveOptions (line 263) | type ImageRemoveOptions struct
  type ImageSearchOptions (line 269) | type ImageSearchOptions struct
  type ResizeOptions (line 279) | type ResizeOptions struct
  type NodeListOptions (line 285) | type NodeListOptions struct
  type NodeRemoveOptions (line 290) | type NodeRemoveOptions struct
  type ServiceCreateOptions (line 295) | type ServiceCreateOptions struct
  type ServiceCreateResponse (line 311) | type ServiceCreateResponse struct
  constant RegistryAuthFromSpec (line 320) | RegistryAuthFromSpec         = "spec"
  constant RegistryAuthFromPreviousSpec (line 321) | RegistryAuthFromPreviousSpec = "previous-spec"
  type ServiceUpdateOptions (line 325) | type ServiceUpdateOptions struct
  type ServiceListOptions (line 355) | type ServiceListOptions struct
  type ServiceInspectOptions (line 361) | type ServiceInspectOptions struct
  type TaskListOptions (line 366) | type TaskListOptions struct
  type PluginRemoveOptions (line 371) | type PluginRemoveOptions struct
  type PluginEnableOptions (line 376) | type PluginEnableOptions struct
  type PluginDisableOptions (line 381) | type PluginDisableOptions struct
  type PluginInstallOptions (line 386) | type PluginInstallOptions struct
  type SwarmUnlockKeyResponse (line 398) | type SwarmUnlockKeyResponse struct
  type PluginCreateOptions (line 404) | type PluginCreateOptions struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/configs.go
  type ContainerCreateConfig (line 13) | type ContainerCreateConfig struct
  type ContainerRmConfig (line 24) | type ContainerRmConfig struct
  type ExecConfig (line 30) | type ExecConfig struct
  type PluginRmConfig (line 45) | type PluginRmConfig struct
  type PluginEnableConfig (line 50) | type PluginEnableConfig struct
  type PluginDisableConfig (line 55) | type PluginDisableConfig struct
  type NetworkListConfig (line 60) | type NetworkListConfig struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/config.go
  constant MinimumDuration (line 14) | MinimumDuration = 1 * time.Millisecond
  type HealthConfig (line 17) | type HealthConfig struct
  type Config (line 43) | type Config struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/container_changes.go
  type ContainerChangeResponseItem (line 12) | type ContainerChangeResponseItem struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/container_create.go
  type ContainerCreateCreatedBody (line 12) | type ContainerCreateCreatedBody struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/container_top.go
  type ContainerTopOKBody (line 12) | type ContainerTopOKBody struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/container_update.go
  type ContainerUpdateOKBody (line 12) | type ContainerUpdateOKBody struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/container_wait.go
  type ContainerWaitOKBodyError (line 12) | type ContainerWaitOKBodyError struct
  type ContainerWaitOKBody (line 20) | type ContainerWaitOKBody struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/host_config.go
  type Isolation (line 15) | type Isolation
    method IsDefault (line 19) | func (i Isolation) IsDefault() bool {
    method IsHyperV (line 24) | func (i Isolation) IsHyperV() bool {
    method IsProcess (line 29) | func (i Isolation) IsProcess() bool {
  constant IsolationEmpty (line 35) | IsolationEmpty = Isolation("")
  constant IsolationDefault (line 37) | IsolationDefault = Isolation("default")
  constant IsolationProcess (line 39) | IsolationProcess = Isolation("process")
  constant IsolationHyperV (line 41) | IsolationHyperV = Isolation("hyperv")
  type IpcMode (line 45) | type IpcMode
    method IsPrivate (line 48) | func (n IpcMode) IsPrivate() bool {
    method IsHost (line 53) | func (n IpcMode) IsHost() bool {
    method IsShareable (line 58) | func (n IpcMode) IsShareable() bool {
    method IsContainer (line 63) | func (n IpcMode) IsContainer() bool {
    method IsNone (line 69) | func (n IpcMode) IsNone() bool {
    method IsEmpty (line 74) | func (n IpcMode) IsEmpty() bool {
    method Valid (line 79) | func (n IpcMode) Valid() bool {
    method Container (line 84) | func (n IpcMode) Container() string {
  type NetworkMode (line 93) | type NetworkMode
    method IsNone (line 96) | func (n NetworkMode) IsNone() bool {
    method IsDefault (line 101) | func (n NetworkMode) IsDefault() bool {
    method IsPrivate (line 106) | func (n NetworkMode) IsPrivate() bool {
    method IsContainer (line 111) | func (n NetworkMode) IsContainer() bool {
    method ConnectedContainer (line 117) | func (n NetworkMode) ConnectedContainer() string {
    method UserDefined (line 126) | func (n NetworkMode) UserDefined() string {
  type UsernsMode (line 134) | type UsernsMode
    method IsHost (line 137) | func (n UsernsMode) IsHost() bool {
    method IsPrivate (line 142) | func (n UsernsMode) IsPrivate() bool {
    method Valid (line 147) | func (n UsernsMode) Valid() bool {
  type CgroupSpec (line 158) | type CgroupSpec
    method IsContainer (line 161) | func (c CgroupSpec) IsContainer() bool {
    method Valid (line 167) | func (c CgroupSpec) Valid() bool {
    method Container (line 172) | func (c CgroupSpec) Container() string {
  type UTSMode (line 181) | type UTSMode
    method IsPrivate (line 184) | func (n UTSMode) IsPrivate() bool {
    method IsHost (line 189) | func (n UTSMode) IsHost() bool {
    method Valid (line 194) | func (n UTSMode) Valid() bool {
  type PidMode (line 205) | type PidMode
    method IsPrivate (line 208) | func (n PidMode) IsPrivate() bool {
    method IsHost (line 213) | func (n PidMode) IsHost() bool {
    method IsContainer (line 218) | func (n PidMode) IsContainer() bool {
    method Valid (line 224) | func (n PidMode) Valid() bool {
    method Container (line 239) | func (n PidMode) Container() string {
  type DeviceMapping (line 248) | type DeviceMapping struct
  type RestartPolicy (line 255) | type RestartPolicy struct
    method IsNone (line 262) | func (rp *RestartPolicy) IsNone() bool {
    method IsAlways (line 268) | func (rp *RestartPolicy) IsAlways() bool {
    method IsOnFailure (line 274) | func (rp *RestartPolicy) IsOnFailure() bool {
    method IsUnlessStopped (line 281) | func (rp *RestartPolicy) IsUnlessStopped() bool {
    method IsSame (line 286) | func (rp *RestartPolicy) IsSame(tp *RestartPolicy) bool {
  type LogMode (line 292) | type LogMode
  constant LogModeUnset (line 296) | LogModeUnset            = ""
  constant LogModeBlocking (line 297) | LogModeBlocking LogMode = "blocking"
  constant LogModeNonBlock (line 298) | LogModeNonBlock LogMode = "non-blocking"
  type LogConfig (line 302) | type LogConfig struct
  type Resources (line 308) | type Resources struct
  type UpdateConfig (line 348) | type UpdateConfig struct
  type HostConfig (line 357) | type HostConfig struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/hostconfig_unix.go
  method IsValid (line 6) | func (i Isolation) IsValid() bool {
  method NetworkName (line 11) | func (n NetworkMode) NetworkName() string {
  method IsBridge (line 29) | func (n NetworkMode) IsBridge() bool {
  method IsHost (line 34) | func (n NetworkMode) IsHost() bool {
  method IsUserDefined (line 39) | func (n NetworkMode) IsUserDefined() bool {

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/hostconfig_windows.go
  method IsBridge (line 5) | func (n NetworkMode) IsBridge() bool {
  method IsHost (line 11) | func (n NetworkMode) IsHost() bool {
  method IsUserDefined (line 16) | func (n NetworkMode) IsUserDefined() bool {
  method IsValid (line 21) | func (i Isolation) IsValid() bool {
  method NetworkName (line 26) | func (n NetworkMode) NetworkName() string {

FILE: evmcc/vendor/github.com/docker/docker/api/types/container/waitcondition.go
  type WaitCondition (line 5) | type WaitCondition
  constant WaitConditionNotRunning (line 19) | WaitConditionNotRunning WaitCondition = "not-running"
  constant WaitConditionNextExit (line 20) | WaitConditionNextExit   WaitCondition = "next-exit"
  constant WaitConditionRemoved (line 21) | WaitConditionRemoved    WaitCondition = "removed"

FILE: evmcc/vendor/github.com/docker/docker/api/types/error_response.go
  type ErrorResponse (line 8) | type ErrorResponse struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/filters/parse.go
  type Args (line 16) | type Args struct
    method MarshalJSON (line 76) | func (args Args) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 142) | func (args Args) UnmarshalJSON(raw []byte) error {
    method Get (line 150) | func (args Args) Get(key string) []string {
    method Add (line 163) | func (args Args) Add(key, value string) {
    method Del (line 172) | func (args Args) Del(key, value string) {
    method Len (line 182) | func (args Args) Len() int {
    method MatchKVList (line 188) | func (args Args) MatchKVList(key string, sources map[string]string) bo...
    method Match (line 216) | func (args Args) Match(field, source string) bool {
    method ExactMatch (line 235) | func (args Args) ExactMatch(key, source string) bool {
    method UniqueExactMatch (line 248) | func (args Args) UniqueExactMatch(key, source string) bool {
    method FuzzyMatch (line 264) | func (args Args) FuzzyMatch(key, source string) bool {
    method Include (line 281) | func (args Args) Include(field string) bool {
    method Contains (line 287) | func (args Args) Contains(field string) bool {
    method Validate (line 302) | func (args Args) Validate(accepted map[string]bool) error {
    method WalkValues (line 314) | func (args Args) WalkValues(field string, op func(value string) error)...
  type KeyValuePair (line 21) | type KeyValuePair struct
  function Arg (line 27) | func Arg(key, value string) KeyValuePair {
  function NewArgs (line 32) | func NewArgs(initialArgs ...KeyValuePair) Args {
  function ParseFlag (line 43) | func ParseFlag(arg string, prev Args) (Args, error) {
  function ToParam (line 71) | func ToParam(a Args) (string, error) {
  function ToJSON (line 84) | func ToJSON(a Args) (string, error) {
  function ToParamWithVersion (line 97) | func ToParamWithVersion(version string, a Args) (string, error) {
  function FromParam (line 113) | func FromParam(p string) (Args, error) {
  function FromJSON (line 118) | func FromJSON(p string) (Args, error) {
  type invalidFilter (line 292) | type invalidFilter
    method Error (line 294) | func (e invalidFilter) Error() string {
    method InvalidParameter (line 298) | func (invalidFilter) InvalidParameter() {}
  function deprecatedArgs (line 326) | func deprecatedArgs(d map[string][]string) map[string]map[string]bool {
  function convertArgsToSlice (line 338) | func convertArgsToSlice(f map[string]map[string]bool) map[string][]string {

FILE: evmcc/vendor/github.com/docker/docker/api/types/graph_driver_data.go
  type GraphDriverData (line 8) | type GraphDriverData struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/id_response.go
  type IDResponse (line 8) | type IDResponse struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/image_delete_response_item.go
  type ImageDeleteResponseItem (line 8) | type ImageDeleteResponseItem struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/image_summary.go
  type ImageSummary (line 8) | type ImageSummary struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/mount/mount.go
  type Type (line 8) | type Type
  constant TypeBind (line 13) | TypeBind Type = "bind"
  constant TypeVolume (line 15) | TypeVolume Type = "volume"
  constant TypeTmpfs (line 17) | TypeTmpfs Type = "tmpfs"
  constant TypeNamedPipe (line 19) | TypeNamedPipe Type = "npipe"
  type Mount (line 23) | type Mount struct
  type Propagation (line 39) | type Propagation
  constant PropagationRPrivate (line 43) | PropagationRPrivate Propagation = "rprivate"
  constant PropagationPrivate (line 45) | PropagationPrivate Propagation = "private"
  constant PropagationRShared (line 47) | PropagationRShared Propagation = "rshared"
  constant PropagationShared (line 49) | PropagationShared Propagation = "shared"
  constant PropagationRSlave (line 51) | PropagationRSlave Propagation = "rslave"
  constant PropagationSlave (line 53) | PropagationSlave Propagation = "slave"
  type Consistency (line 67) | type Consistency
  constant ConsistencyFull (line 71) | ConsistencyFull Consistency = "consistent"
  constant ConsistencyCached (line 73) | ConsistencyCached Consistency = "cached"
  constant ConsistencyDelegated (line 75) | ConsistencyDelegated Consistency = "delegated"
  constant ConsistencyDefault (line 77) | ConsistencyDefault Consistency = "default"
  type BindOptions (line 81) | type BindOptions struct
  type VolumeOptions (line 86) | type VolumeOptions struct
  type Driver (line 93) | type Driver struct
  type TmpfsOptions (line 99) | type TmpfsOptions struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/network/network.go
  type Address (line 8) | type Address struct
  type IPAM (line 14) | type IPAM struct
  type IPAMConfig (line 21) | type IPAMConfig struct
  type EndpointIPAMConfig (line 29) | type EndpointIPAMConfig struct
    method Copy (line 36) | func (cfg *EndpointIPAMConfig) Copy() *EndpointIPAMConfig {
  type PeerInfo (line 44) | type PeerInfo struct
  type EndpointSettings (line 50) | type EndpointSettings struct
    method Copy (line 85) | func (es *EndpointSettings) Copy() *EndpointSettings {
  type Task (line 69) | type Task struct
  type ServiceInfo (line 77) | type ServiceInfo struct
  type NetworkingConfig (line 105) | type NetworkingConfig struct
  type ConfigReference (line 110) | type ConfigReference struct
  function ValidateFilters (line 124) | func ValidateFilters(filter filters.Args) error {

FILE: evmcc/vendor/github.com/docker/docker/api/types/plugin.go
  type Plugin (line 8) | type Plugin struct
  type PluginConfig (line 35) | type PluginConfig struct
  type PluginConfigArgs (line 101) | type PluginConfigArgs struct
  type PluginConfigInterface (line 122) | type PluginConfigInterface struct
  type PluginConfigLinux (line 138) | type PluginConfigLinux struct
  type PluginConfigNetwork (line 155) | type PluginConfigNetwork struct
  type PluginConfigRootfs (line 164) | type PluginConfigRootfs struct
  type PluginConfigUser (line 175) | type PluginConfigUser struct
  type PluginSettings (line 186) | type PluginSettings struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/plugin_device.go
  type PluginDevice (line 8) | type PluginDevice struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/plugin_env.go
  type PluginEnv (line 8) | type PluginEnv struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/plugin_interface_type.go
  type PluginInterfaceType (line 8) | type PluginInterfaceType struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/plugin_mount.go
  type PluginMount (line 8) | type PluginMount struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/plugin_responses.go
  type PluginsListResponse (line 10) | type PluginsListResponse
  method UnmarshalJSON (line 13) | func (t *PluginInterfaceType) UnmarshalJSON(p []byte) error {
  method MarshalJSON (line 39) | func (t *PluginInterfaceType) MarshalJSON() ([]byte, error) {
  method String (line 44) | func (t PluginInterfaceType) String() string {
  type PluginPrivilege (line 50) | type PluginPrivilege struct
  type PluginPrivileges (line 57) | type PluginPrivileges
    method Len (line 59) | func (s PluginPrivileges) Len() int {
    method Less (line 63) | func (s PluginPrivileges) Less(i, j int) bool {
    method Swap (line 67) | func (s PluginPrivileges) Swap(i, j int) {

FILE: evmcc/vendor/github.com/docker/docker/api/types/port.go
  type Port (line 8) | type Port struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/registry/authenticate.go
  type AuthenticateOKBody (line 12) | type AuthenticateOKBody struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/registry/registry.go
  type ServiceConfig (line 11) | type ServiceConfig struct
  type NetIPNet (line 21) | type NetIPNet
    method String (line 24) | func (ipnet *NetIPNet) String() string {
    method MarshalJSON (line 29) | func (ipnet *NetIPNet) MarshalJSON() ([]byte, error) {
    method UnmarshalJSON (line 34) | func (ipnet *NetIPNet) UnmarshalJSON(b []byte) (err error) {
  type IndexInfo (line 73) | type IndexInfo struct
  type SearchResult (line 87) | type SearchResult struct
  type SearchResults (line 101) | type SearchResults struct
  type DistributionInspect (line 112) | type DistributionInspect struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/seccomp.go
  type Seccomp (line 4) | type Seccomp struct
  type Architecture (line 15) | type Architecture struct
  type Arch (line 21) | type Arch
  constant ArchX86 (line 26) | ArchX86         Arch = "SCMP_ARCH_X86"
  constant ArchX86_64 (line 27) | ArchX86_64      Arch = "SCMP_ARCH_X86_64"
  constant ArchX32 (line 28) | ArchX32         Arch = "SCMP_ARCH_X32"
  constant ArchARM (line 29) | ArchARM         Arch = "SCMP_ARCH_ARM"
  constant ArchAARCH64 (line 30) | ArchAARCH64     Arch = "SCMP_ARCH_AARCH64"
  constant ArchMIPS (line 31) | ArchMIPS        Arch = "SCMP_ARCH_MIPS"
  constant ArchMIPS64 (line 32) | ArchMIPS64      Arch = "SCMP_ARCH_MIPS64"
  constant ArchMIPS64N32 (line 33) | ArchMIPS64N32   Arch = "SCMP_ARCH_MIPS64N32"
  constant ArchMIPSEL (line 34) | ArchMIPSEL      Arch = "SCMP_ARCH_MIPSEL"
  constant ArchMIPSEL64 (line 35) | ArchMIPSEL64    Arch = "SCMP_ARCH_MIPSEL64"
  constant ArchMIPSEL64N32 (line 36) | ArchMIPSEL64N32 Arch = "SCMP_ARCH_MIPSEL64N32"
  constant ArchPPC (line 37) | ArchPPC         Arch = "SCMP_ARCH_PPC"
  constant ArchPPC64 (line 38) | ArchPPC64       Arch = "SCMP_ARCH_PPC64"
  constant ArchPPC64LE (line 39) | ArchPPC64LE     Arch = "SCMP_ARCH_PPC64LE"
  constant ArchS390 (line 40) | ArchS390        Arch = "SCMP_ARCH_S390"
  constant ArchS390X (line 41) | ArchS390X       Arch = "SCMP_ARCH_S390X"
  type Action (line 45) | type Action
  constant ActKill (line 49) | ActKill  Action = "SCMP_ACT_KILL"
  constant ActTrap (line 50) | ActTrap  Action = "SCMP_ACT_TRAP"
  constant ActErrno (line 51) | ActErrno Action = "SCMP_ACT_ERRNO"
  constant ActTrace (line 52) | ActTrace Action = "SCMP_ACT_TRACE"
  constant ActAllow (line 53) | ActAllow Action = "SCMP_ACT_ALLOW"
  type Operator (line 57) | type Operator
  constant OpNotEqual (line 61) | OpNotEqual     Operator = "SCMP_CMP_NE"
  constant OpLessThan (line 62) | OpLessThan     Operator = "SCMP_CMP_LT"
  constant OpLessEqual (line 63) | OpLessEqual    Operator = "SCMP_CMP_LE"
  constant OpEqualTo (line 64) | OpEqualTo      Operator = "SCMP_CMP_EQ"
  constant OpGreaterEqual (line 65) | OpGreaterEqual Operator = "SCMP_CMP_GE"
  constant OpGreaterThan (line 66) | OpGreaterThan  Operator = "SCMP_CMP_GT"
  constant OpMaskedEqual (line 67) | OpMaskedEqual  Operator = "SCMP_CMP_MASKED_EQ"
  type Arg (line 71) | type Arg struct
  type Filter (line 79) | type Filter struct
  type Syscall (line 85) | type Syscall struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/service_update_response.go
  type ServiceUpdateResponse (line 8) | type ServiceUpdateResponse struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/stats.go
  type ThrottlingData (line 9) | type ThrottlingData struct
  type CPUUsage (line 19) | type CPUUsage struct
  type CPUStats (line 43) | type CPUStats struct
  type MemoryStats (line 59) | type MemoryStats struct
  type BlkioStatEntry (line 86) | type BlkioStatEntry struct
  type BlkioStats (line 97) | type BlkioStats struct
  type StorageStats (line 110) | type StorageStats struct
  type NetworkStats (line 118) | type NetworkStats struct
  type PidsStats (line 144) | type PidsStats struct
  type Stats (line 153) | type Stats struct
  type StatsJSON (line 173) | type StatsJSON struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/strslice/strslice.go
  type StrSlice (line 7) | type StrSlice
    method UnmarshalJSON (line 11) | func (e *StrSlice) UnmarshalJSON(b []byte) error {

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/common.go
  type Version (line 6) | type Version struct
  type Meta (line 11) | type Meta struct
  type Annotations (line 18) | type Annotations struct
  type Driver (line 24) | type Driver struct
  type TLSInfo (line 31) | type TLSInfo struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/config.go
  type Config (line 6) | type Config struct
  type ConfigSpec (line 13) | type ConfigSpec struct
  type ConfigReferenceFileTarget (line 23) | type ConfigReferenceFileTarget struct
  type ConfigReference (line 31) | type ConfigReference struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/container.go
  type DNSConfig (line 15) | type DNSConfig struct
  type SELinuxContext (line 25) | type SELinuxContext struct
  type CredentialSpec (line 35) | type CredentialSpec struct
  type Privileges (line 41) | type Privileges struct
  type ContainerSpec (line 47) | type ContainerSpec struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/network.go
  type Endpoint (line 8) | type Endpoint struct
  type EndpointSpec (line 15) | type EndpointSpec struct
  type ResolutionMode (line 21) | type ResolutionMode
  constant ResolutionModeVIP (line 25) | ResolutionModeVIP ResolutionMode = "vip"
  constant ResolutionModeDNSRR (line 27) | ResolutionModeDNSRR ResolutionMode = "dnsrr"
  type PortConfig (line 31) | type PortConfig struct
  type PortConfigPublishMode (line 44) | type PortConfigPublishMode
  constant PortConfigPublishModeIngress (line 49) | PortConfigPublishModeIngress PortConfigPublishMode = "ingress"
  constant PortConfigPublishModeHost (line 52) | PortConfigPublishModeHost PortConfigPublishMode = "host"
  type PortConfigProtocol (line 56) | type PortConfigProtocol
  constant PortConfigProtocolTCP (line 62) | PortConfigProtocolTCP PortConfigProtocol = "tcp"
  constant PortConfigProtocolUDP (line 64) | PortConfigProtocolUDP PortConfigProtocol = "udp"
  constant PortConfigProtocolSCTP (line 66) | PortConfigProtocolSCTP PortConfigProtocol = "sctp"
  type EndpointVirtualIP (line 70) | type EndpointVirtualIP struct
  type Network (line 76) | type Network struct
  type NetworkSpec (line 85) | type NetworkSpec struct
  type NetworkAttachmentConfig (line 98) | type NetworkAttachmentConfig struct
  type NetworkAttachment (line 105) | type NetworkAttachment struct
  type IPAMOptions (line 111) | type IPAMOptions struct
  type IPAMConfig (line 117) | type IPAMConfig struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/node.go
  type Node (line 4) | type Node struct
  type NodeSpec (line 21) | type NodeSpec struct
  type NodeRole (line 28) | type NodeRole
  constant NodeRoleWorker (line 32) | NodeRoleWorker NodeRole = "worker"
  constant NodeRoleManager (line 34) | NodeRoleManager NodeRole = "manager"
  type NodeAvailability (line 38) | type NodeAvailability
  constant NodeAvailabilityActive (line 42) | NodeAvailabilityActive NodeAvailability = "active"
  constant NodeAvailabilityPause (line 44) | NodeAvailabilityPause NodeAvailability = "pause"
  constant NodeAvailabilityDrain (line 46) | NodeAvailabilityDrain NodeAvailability = "drain"
  type NodeDescription (line 50) | type NodeDescription struct
  type Platform (line 59) | type Platform struct
  type EngineDescription (line 65) | type EngineDescription struct
  type PluginDescription (line 72) | type PluginDescription struct
  type NodeStatus (line 78) | type NodeStatus struct
  type Reachability (line 85) | type Reachability
  constant ReachabilityUnknown (line 89) | ReachabilityUnknown Reachability = "unknown"
  constant ReachabilityUnreachable (line 91) | ReachabilityUnreachable Reachability = "unreachable"
  constant ReachabilityReachable (line 93) | ReachabilityReachable Reachability = "reachable"
  type ManagerStatus (line 97) | type ManagerStatus struct
  type NodeState (line 104) | type NodeState
  constant NodeStateUnknown (line 108) | NodeStateUnknown NodeState = "unknown"
  constant NodeStateDown (line 110) | NodeStateDown NodeState = "down"
  constant NodeStateReady (line 112) | NodeStateReady NodeState = "ready"
  constant NodeStateDisconnected (line 114) | NodeStateDisconnected NodeState = "disconnected"

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/runtime.go
  type RuntimeType (line 4) | type RuntimeType
  type RuntimeURL (line 7) | type RuntimeURL
  constant RuntimeContainer (line 11) | RuntimeContainer RuntimeType = "container"
  constant RuntimePlugin (line 13) | RuntimePlugin RuntimeType = "plugin"
  constant RuntimeNetworkAttachment (line 15) | RuntimeNetworkAttachment RuntimeType = "attachment"
  constant RuntimeURLContainer (line 18) | RuntimeURLContainer RuntimeURL = "types.docker.com/RuntimeContainer"
  constant RuntimeURLPlugin (line 20) | RuntimeURLPlugin RuntimeURL = "types.docker.com/RuntimePlugin"
  type NetworkAttachmentSpec (line 25) | type NetworkAttachmentSpec struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/runtime/plugin.pb.go
  constant _ (line 32) | _ = proto.GoGoProtoPackageIsVersion2
  type PluginSpec (line 36) | type PluginSpec struct
    method Reset (line 43) | func (m *PluginSpec) Reset()                    { *m = PluginSpec{} }
    method String (line 44) | func (m *PluginSpec) String() string            { return proto.Compact...
    method ProtoMessage (line 45) | func (*PluginSpec) ProtoMessage()               {}
    method Descriptor (line 46) | func (*PluginSpec) Descriptor() ([]byte, []int) { return fileDescripto...
    method GetName (line 48) | func (m *PluginSpec) GetName() string {
    method GetRemote (line 55) | func (m *PluginSpec) GetRemote() string {
    method GetPrivileges (line 62) | func (m *PluginSpec) GetPrivileges() []*PluginPrivilege {
    method GetDisabled (line 69) | func (m *PluginSpec) GetDisabled() bool {
    method Marshal (line 114) | func (m *PluginSpec) Marshal() (dAtA []byte, err error) {
    method MarshalTo (line 124) | func (m *PluginSpec) MarshalTo(dAtA []byte) (int, error) {
    method Size (line 238) | func (m *PluginSpec) Size() (n int) {
    method Unmarshal (line 294) | func (m *PluginSpec) Unmarshal(dAtA []byte) error {
  type PluginPrivilege (line 78) | type PluginPrivilege struct
    method Reset (line 84) | func (m *PluginPrivilege) Reset()                    { *m = PluginPriv...
    method String (line 85) | func (m *PluginPrivilege) String() string            { return proto.Co...
    method ProtoMessage (line 86) | func (*PluginPrivilege) ProtoMessage()               {}
    method Descriptor (line 87) | func (*PluginPrivilege) Descriptor() ([]byte, []int) { return fileDesc...
    method GetName (line 89) | func (m *PluginPrivilege) GetName() string {
    method GetDescription (line 96) | func (m *PluginPrivilege) GetDescription() string {
    method GetValue (line 103) | func (m *PluginPrivilege) GetValue() []string {
    method Marshal (line 166) | func (m *PluginPrivilege) Marshal() (dAtA []byte, err error) {
    method MarshalTo (line 176) | func (m *PluginPrivilege) MarshalTo(dAtA []byte) (int, error) {
    method Size (line 261) | func (m *PluginPrivilege) Size() (n int) {
    method Unmarshal (line 453) | func (m *PluginPrivilege) Unmarshal(dAtA []byte) error {
  function init (line 110) | func init() {
  function encodeFixed64Plugin (line 211) | func encodeFixed64Plugin(dAtA []byte, offset int, v uint64) int {
  function encodeFixed32Plugin (line 222) | func encodeFixed32Plugin(dAtA []byte, offset int, v uint32) int {
  function encodeVarintPlugin (line 229) | func encodeVarintPlugin(dAtA []byte, offset int, v uint64) int {
  function sovPlugin (line 281) | func sovPlugin(x uint64) (n int) {
  function sozPlugin (line 291) | func sozPlugin(x uint64) (n int) {
  function skipPlugin (line 590) | func skipPlugin(dAtA []byte) (n int, err error) {
  function init (line 695) | func init() { proto.RegisterFile("plugin.proto", fileDescriptorPlugin) }

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/secret.go
  type Secret (line 6) | type Secret struct
  type SecretSpec (line 13) | type SecretSpec struct
  type SecretReferenceFileTarget (line 24) | type SecretReferenceFileTarget struct
  type SecretReference (line 32) | type SecretReference struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/service.go
  type Service (line 6) | type Service struct
  type ServiceSpec (line 16) | type ServiceSpec struct
  type ServiceMode (line 34) | type ServiceMode struct
  type UpdateState (line 40) | type UpdateState
  constant UpdateStateUpdating (line 44) | UpdateStateUpdating UpdateState = "updating"
  constant UpdateStatePaused (line 46) | UpdateStatePaused UpdateState = "paused"
  constant UpdateStateCompleted (line 48) | UpdateStateCompleted UpdateState = "completed"
  constant UpdateStateRollbackStarted (line 50) | UpdateStateRollbackStarted UpdateState = "rollback_started"
  constant UpdateStateRollbackPaused (line 52) | UpdateStateRollbackPaused UpdateState = "rollback_paused"
  constant UpdateStateRollbackCompleted (line 54) | UpdateStateRollbackCompleted UpdateState = "rollback_completed"
  type UpdateStatus (line 58) | type UpdateStatus struct
  type ReplicatedService (line 66) | type ReplicatedService struct
  type GlobalService (line 71) | type GlobalService struct
  constant UpdateFailureActionPause (line 75) | UpdateFailureActionPause = "pause"
  constant UpdateFailureActionContinue (line 77) | UpdateFailureActionContinue = "continue"
  constant UpdateFailureActionRollback (line 79) | UpdateFailureActionRollback = "rollback"
  constant UpdateOrderStopFirst (line 82) | UpdateOrderStopFirst = "stop-first"
  constant UpdateOrderStartFirst (line 84) | UpdateOrderStartFirst = "start-first"
  type UpdateConfig (line 88) | type UpdateConfig struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/swarm.go
  type ClusterInfo (line 9) | type ClusterInfo struct
  type Swarm (line 20) | type Swarm struct
  type JoinTokens (line 26) | type JoinTokens struct
  type Spec (line 34) | type Spec struct
  type OrchestrationConfig (line 46) | type OrchestrationConfig struct
  type TaskDefaults (line 53) | type TaskDefaults struct
  type EncryptionConfig (line 64) | type EncryptionConfig struct
  type RaftConfig (line 72) | type RaftConfig struct
  type DispatcherConfig (line 102) | type DispatcherConfig struct
  type CAConfig (line 109) | type CAConfig struct
  type ExternalCAProtocol (line 129) | type ExternalCAProtocol
  constant ExternalCAProtocolCFSSL (line 132) | ExternalCAProtocolCFSSL ExternalCAProtocol = "cfssl"
  type ExternalCA (line 135) | type ExternalCA struct
  type InitRequest (line 152) | type InitRequest struct
  type JoinRequest (line 165) | type JoinRequest struct
  type UnlockRequest (line 175) | type UnlockRequest struct
  type LocalNodeState (line 181) | type LocalNodeState
  constant LocalNodeStateInactive (line 185) | LocalNodeStateInactive LocalNodeState = "inactive"
  constant LocalNodeStatePending (line 187) | LocalNodeStatePending LocalNodeState = "pending"
  constant LocalNodeStateActive (line 189) | LocalNodeStateActive LocalNodeState = "active"
  constant LocalNodeStateError (line 191) | LocalNodeStateError LocalNodeState = "error"
  constant LocalNodeStateLocked (line 193) | LocalNodeStateLocked LocalNodeState = "locked"
  type Info (line 197) | type Info struct
  type Peer (line 213) | type Peer struct
  type UpdateFlags (line 219) | type UpdateFlags struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/swarm/task.go
  type TaskState (line 10) | type TaskState
  constant TaskStateNew (line 14) | TaskStateNew TaskState = "new"
  constant TaskStateAllocated (line 16) | TaskStateAllocated TaskState = "allocated"
  constant TaskStatePending (line 18) | TaskStatePending TaskState = "pending"
  constant TaskStateAssigned (line 20) | TaskStateAssigned TaskState = "assigned"
  constant TaskStateAccepted (line 22) | TaskStateAccepted TaskState = "accepted"
  constant TaskStatePreparing (line 24) | TaskStatePreparing TaskState = "preparing"
  constant TaskStateReady (line 26) | TaskStateReady TaskState = "ready"
  constant TaskStateStarting (line 28) | TaskStateStarting TaskState = "starting"
  constant TaskStateRunning (line 30) | TaskStateRunning TaskState = "running"
  constant TaskStateComplete (line 32) | TaskStateComplete TaskState = "complete"
  constant TaskStateShutdown (line 34) | TaskStateShutdown TaskState = "shutdown"
  constant TaskStateFailed (line 36) | TaskStateFailed TaskState = "failed"
  constant TaskStateRejected (line 38) | TaskStateRejected TaskState = "rejected"
  constant TaskStateRemove (line 40) | TaskStateRemove TaskState = "remove"
  constant TaskStateOrphaned (line 42) | TaskStateOrphaned TaskState = "orphaned"
  type Task (line 46) | type Task struct
  type TaskSpec (line 62) | type TaskSpec struct
  type Resources (line 89) | type Resources struct
  type GenericResource (line 97) | type GenericResource struct
  type NamedGenericResource (line 106) | type NamedGenericResource struct
  type DiscreteGenericResource (line 115) | type DiscreteGenericResource struct
  type ResourceRequirements (line 121) | type ResourceRequirements struct
  type Placement (line 127) | type Placement struct
  type PlacementPreference (line 139) | type PlacementPreference struct
  type SpreadOver (line 145) | type SpreadOver struct
  type RestartPolicy (line 151) | type RestartPolicy struct
  type RestartPolicyCondition (line 159) | type RestartPolicyCondition
  constant RestartPolicyConditionNone (line 163) | RestartPolicyConditionNone RestartPolicyCondition = "none"
  constant RestartPolicyConditionOnFailure (line 165) | RestartPolicyConditionOnFailure RestartPolicyCondition = "on-failure"
  constant RestartPolicyConditionAny (line 167) | RestartPolicyConditionAny RestartPolicyCondition = "any"
  type TaskStatus (line 171) | type TaskStatus struct
  type ContainerStatus (line 181) | type ContainerStatus struct
  type PortStatus (line 189) | type PortStatus struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/types.go
  type RootFS (line 21) | type RootFS struct
  type ImageInspect (line 29) | type ImageInspect struct
  type ImageMetadata (line 52) | type ImageMetadata struct
  type Container (line 58) | type Container struct
  type CopyConfig (line 80) | type CopyConfig struct
  type ContainerPathStat (line 87) | type ContainerPathStat struct
  type ContainerStats (line 97) | type ContainerStats struct
  type Ping (line 104) | type Ping struct
  type ComponentVersion (line 112) | type ComponentVersion struct
  type Version (line 120) | type Version struct
  type Commit (line 140) | type Commit struct
  type Info (line 147) | type Info struct
  type KeyValue (line 213) | type KeyValue struct
  type SecurityOpt (line 218) | type SecurityOpt struct
  function DecodeSecurityOptions (line 225) | func DecodeSecurityOptions(opts []string) ([]SecurityOpt, error) {
  type PluginsInfo (line 256) | type PluginsInfo struct
  type ExecStartCheck (line 269) | type ExecStartCheck struct
  type HealthcheckResult (line 277) | type HealthcheckResult struct
  constant NoHealthcheck (line 286) | NoHealthcheck = "none"
  constant Starting (line 287) | Starting      = "starting"
  constant Healthy (line 288) | Healthy       = "healthy"
  constant Unhealthy (line 289) | Unhealthy     = "unhealthy"
  type Health (line 293) | type Health struct
  type ContainerState (line 301) | type ContainerState struct
  type ContainerNode (line 318) | type ContainerNode struct
  type ContainerJSONBase (line 330) | type ContainerJSONBase struct
  type ContainerJSON (line 357) | type ContainerJSON struct
  type NetworkSettings (line 365) | type NetworkSettings struct
  type SummaryNetworkSettings (line 373) | type SummaryNetworkSettings struct
  type NetworkSettingsBase (line 378) | type NetworkSettingsBase struct
  type DefaultNetworkSettings (line 393) | type DefaultNetworkSettings struct
  type MountPoint (line 406) | type MountPoint struct
  type NetworkResource (line 418) | type NetworkResource struct
  type EndpointResource (line 439) | type EndpointResource struct
  type NetworkCreate (line 448) | type NetworkCreate struct
  type NetworkCreateRequest (line 471) | type NetworkCreateRequest struct
  type NetworkCreateResponse (line 477) | type NetworkCreateResponse struct
  type NetworkConnect (line 483) | type NetworkConnect struct
  type NetworkDisconnect (line 489) | type NetworkDisconnect struct
  type NetworkInspectOptions (line 495) | type NetworkInspectOptions struct
  type Checkpoint (line 501) | type Checkpoint struct
  type Runtime (line 506) | type Runtime struct
  type DiskUsage (line 513) | type DiskUsage struct
  type ContainersPruneReport (line 524) | type ContainersPruneReport struct
  type VolumesPruneReport (line 531) | type VolumesPruneReport struct
  type ImagesPruneReport (line 538) | type ImagesPruneReport struct
  type BuildCachePruneReport (line 545) | type BuildCachePruneReport struct
  type NetworksPruneReport (line 551) | type NetworksPruneReport struct
  type SecretCreateResponse (line 557) | type SecretCreateResponse struct
  type SecretListOptions (line 563) | type SecretListOptions struct
  type ConfigCreateResponse (line 569) | type ConfigCreateResponse struct
  type ConfigListOptions (line 575) | type ConfigListOptions struct
  type PushResult (line 582) | type PushResult struct
  type BuildResult (line 589) | type BuildResult struct
  type BuildCache (line 594) | type BuildCache struct

FILE: evmcc/vendor/github.com/docker/docker/api/types/versions/compare.go
  function compare (line 10) | func compare(v1, v2 string) int {
  function LessThan (line 40) | func LessThan(v, other string) bool {
  function LessThanOrEqualTo (line 45) | func LessThanOrEqualTo(v, other string) bool {
  function GreaterThan (line 50) | func GreaterThan(v, other string) bool {
  function GreaterThanOrEqualTo (line 55) | func GreaterThanOrEqualTo(v, other string) bool {
  function Equal (line 60) | func Equal(v, other string) bool {

FILE: evmcc/vendor/github.com/docker/docker/api/types/volume.go
  type Volume (line 8) | type Volume struct
  type VolumeUsageData (line 54) | type VolumeUsageData struct

FILE: evmcc/vendor/github.com/docker/docker/errdefs/defs.go
  type ErrNotFound (line 4) | type ErrNotFound interface
  type ErrInvalidParameter (line 9) | type ErrInvalidParameter interface
  type ErrConflict (line 15) | type ErrConflict interface
  type ErrUnauthorized (line 20) | type ErrUnauthorized interface
  type ErrUnavailable (line 25) | type ErrUnavailable interface
  type ErrForbidden (line 31) | type ErrForbidden interface
  type ErrSystem (line 37) | type ErrSystem interface
  type ErrNotModified (line 42) | type ErrNotModified interface
  type ErrAlreadyExists (line 47) | type ErrAlreadyExists interface
  type ErrNotImplemented (line 52) | type ErrNotImplemented interface
  type ErrUnknown (line 57) | type ErrUnknown interface
  type ErrCancelled (line 62) | type ErrCancelled interface
  type ErrDeadline (line 67) | type ErrDeadline interface
  type ErrDataLoss (line 72) | type ErrDataLoss interface

FILE: evmcc/vendor/github.com/docker/docker/errdefs/helpers.go
  type errNotFound (line 5) | type errNotFound struct
    method NotFound (line 7) | func (errNotFound) NotFound() {}
    method Cause (line 9) | func (e errNotFound) Cause() error {
  function NotFound (line 14) | func NotFound(err error) error {
  type errInvalidParameter (line 21) | type errInvalidParameter struct
    method InvalidParameter (line 23) | func (errInvalidParameter) InvalidParameter() {}
    method Cause (line 25) | func (e errInvalidParameter) Cause() error {
  function InvalidParameter (line 30) | func InvalidParameter(err error) error {
  type errConflict (line 37) | type errConflict struct
    method Conflict (line 39) | func (errConflict) Conflict() {}
    method Cause (line 41) | func (e errConflict) Cause() error {
  function Conflict (line 46) | func Conflict(err error) error {
  type errUnauthorized (line 53) | type errUnauthorized struct
    method Unauthorized (line 55) | func (errUnauthorized) Unauthorized() {}
    method Cause (line 57) | func (e errUnauthorized) Cause() error {
  function Unauthorized (line 62) | func Unauthorized(err error) error {
  type errUnavailable (line 69) | type errUnavailable struct
    method Unavailable (line 71) | func (errUnavailable) Unavailable() {}
    method Cause (line 73) | func (e errUnavailable) Cause() error {
  function Unavailable (line 78) | func Unavailable(err error) error {
  type errForbidden (line 82) | type errForbidden struct
    method Forbidden (line 84) | func (errForbidden) Forbidden() {}
    method Cause (line 86) | func (e errForbidden) Cause() error {
  function Forbidden (line 91) | func Forbidden(err error) error {
  type errSystem (line 98) | type errSystem struct
    method System (line 100) | func (errSystem) System() {}
    method Cause (line 102) | func (e errSystem) Cause() error {
  function System (line 107) | func System(err error) error {
  type errNotModified (line 114) | type errNotModified struct
    method NotModified (line 116) | func (errNotModified) NotModified() {}
    method Cause (line 118) | func (e errNotModified) Cause() error {
  function NotModified (line 123) | func NotModified(err error) error {
  type errAlreadyExists (line 130) | type errAlreadyExists struct
    method AlreadyExists (line 132) | func (errAlreadyExists) AlreadyExists() {}
    method Cause (line 134) | func (e errAlreadyExists) Cause() error {
  function AlreadyExists (line 139) | func AlreadyExists(err error) error {
  type errNotImplemented (line 146) | type errNotImplemented struct
    method NotImplemented (line 148) | func (errNotImplemented) NotImplemented() {}
    method Cause (line 150) | func (e errNotImplemented) Cause() error {
  function NotImplemented (line 155) | func NotImplemented(err error) error {
  type errUnknown (line 162) | type errUnknown struct
    method Unknown (line 164) | func (errUnknown) Unknown() {}
    method Cause (line 166) | func (e errUnknown) Cause() error {
  function Unknown (line 171) | func Unknown(err error) error {
  type errCancelled (line 178) | type errCancelled struct
    method Cancelled (line 180) | func (errCancelled) Cancelled() {}
    method Cause (line 182) | func (e errCancelled) Cause() error {
  function Cancelled (line 187) | func Cancelled(err error) error {
  type errDeadline (line 194) | type errDeadline struct
    method DeadlineExceeded (line 196) | func (errDeadline) DeadlineExceeded() {}
    method Cause (line 198) | func (e errDeadline) Cause() error {
  function Deadline (line 203) | func Deadline(err error) error {
  type errDataLoss (line 210) | type errDataLoss struct
    method DataLoss (line 212) | func (errDataLoss) DataLoss() {}
    method Cause (line 214) | func (e errDataLoss) Cause() error {
  function DataLoss (line 219) | func DataLoss(err error) error {
  function FromContext (line 227) | func FromContext(ctx context.Context) error {

FILE: evmcc/vendor/github.com/docker/docker/errdefs/is.go
  type causer (line 3) | type causer interface
  function getImplementer (line 7) | func getImplementer(err error) error {
  function IsNotFound (line 33) | func IsNotFound(err error) bool {
  function IsInvalidParameter (line 39) | func IsInvalidParameter(err error) bool {
  function IsConflict (line 45) | func IsConflict(err error) bool {
  function IsUnauthorized (line 51) | func IsUnauthorized(err error) bool {
  function IsUnavailable (line 57) | func IsUnavailable(err error) bool {
  function IsForbidden (line 63) | func IsForbidden(err error) bool {
  function IsSystem (line 69) | func IsSystem(err error) bool {
  function IsNotModified (line 75) | func IsNotModified(err error) bool {
  function IsAlreadyExists (line 81) | func IsAlreadyExists(err error) bool {
  function IsNotImplemented (line 87) | func IsNotImplemented(err error) bool {
  function IsUnknown (line 93) | func IsUnknown(err error) bool {
  function IsCancelled (line 99) | func IsCancelled(err error) bool {
  function IsDeadline (line 105) | func IsDeadline(err error) bool {
  function IsDataLoss (line 111) | func IsDataLoss(err error) bool {

FILE: evmcc/vendor/github.com/docker/docker/opts/address_pools.go
  type PoolsOpt (line 14) | type PoolsOpt struct
    method UnmarshalJSON (line 19) | func (p *PoolsOpt) UnmarshalJSON(raw []byte) error {
    method Set (line 24) | func (p *PoolsOpt) Set(value string) error {
    method Type (line 62) | func (p *PoolsOpt) Type() string {
    method String (line 67) | func (p *PoolsOpt) String() string {
    method Value (line 77) | func (p *PoolsOpt) Value() []*types.NetworkToSplit {
    method Name (line 82) | func (p *PoolsOpt) Name() string {

FILE: evmcc/vendor/github.com/docker/docker/opts/env.go
  function ValidateEnv (line 20) | func ValidateEnv(val string) (string, error) {
  function doesEnvExist (line 34) | func doesEnvExist(name string) bool {

FILE: evmcc/vendor/github.com/docker/docker/opts/hosts.go
  function ValidateHost (line 30) | func ValidateHost(val string) (string, error) {
  function ParseHost (line 45) | func ParseHost(defaultToTLS bool, val string) (string, error) {
  function parseDaemonHost (line 65) | func parseDaemonHost(addr string) (string, error) {
  function parseSimpleProtoAddr (line 89) | func parseSimpleProtoAddr(proto, addr, defaultAddr string) (string, erro...
  function ParseTCPAddr (line 105) | func ParseTCPAddr(tryAddr string, defaultAddr string) (string, error) {
  function ValidateExtraHost (line 155) | func ValidateExtraHost(val string) (string, error) {

FILE: evmcc/vendor/github.com/docker/docker/opts/ip.go
  type IPOpt (line 9) | type IPOpt struct
    method Set (line 26) | func (o *IPOpt) Set(val string) error {
    method String (line 37) | func (o *IPOpt) String() string {
    method Type (line 45) | func (o *IPOpt) Type() string {
  function NewIPOpt (line 16) | func NewIPOpt(ref *net.IP, defaultVal string) *IPOpt {

FILE: evmcc/vendor/github.com/docker/docker/opts/opts.go
  type ListOpts (line 19) | type ListOpts struct
    method String (line 38) | func (opts *ListOpts) String() string {
    method Set (line 47) | func (opts *ListOpts) Set(value string) error {
    method Delete (line 60) | func (opts *ListOpts) Delete(key string) {
    method GetMap (line 71) | func (opts *ListOpts) GetMap() map[string]struct{} {
    method GetAll (line 80) | func (opts *ListOpts) GetAll() []string {
    method GetAllOrEmpty (line 86) | func (opts *ListOpts) GetAllOrEmpty() []string {
    method Get (line 95) | func (opts *ListOpts) Get(key string) bool {
    method Len (line 105) | func (opts *ListOpts) Len() int {
    method Type (line 110) | func (opts *ListOpts) Type() string {
    method WithValidator (line 115) | func (opts *ListOpts) WithValidator(validator ValidatorFctType) *ListO...
  function NewListOpts (line 25) | func NewListOpts(validator ValidatorFctType) ListOpts {
  function NewListOptsRef (line 31) | func NewListOptsRef(values *[]string, validator ValidatorFctType) *ListO...
  type NamedOption (line 122) | type NamedOption interface
  type NamedListOpts (line 129) | type NamedListOpts struct
    method Name (line 145) | func (o *NamedListOpts) Name() string {
  function NewNamedListOptsRef (line 137) | func NewNamedListOptsRef(name string, values *[]string, validator Valida...
  type MapOpts (line 150) | type MapOpts struct
    method Set (line 157) | func (opts *MapOpts) Set(value string) error {
    method GetAll (line 175) | func (opts *MapOpts) GetAll() map[string]string {
    method String (line 179) | func (opts *MapOpts) String() string {
    method Type (line 184) | func (opts *MapOpts) Type() string {
  function NewMapOpts (line 189) | func NewMapOpts(values map[string]string, validator ValidatorFctType) *M...
  type NamedMapOpts (line 202) | type NamedMapOpts struct
    method Name (line 218) | func (o *NamedMapOpts) Name() string {
  function NewNamedMapOpts (line 210) | func NewNamedMapOpts(name string, values map[string]string, validator Va...
  type ValidatorFctType (line 223) | type ValidatorFctType
  type ValidatorFctListType (line 226) | type ValidatorFctListType
  function ValidateIPAddress (line 229) | func ValidateIPAddress(val string) (string, error) {
  function ValidateDNSSearch (line 239) | func ValidateDNSSearch(val string) (string, error) {
  function validateDomain (line 246) | func validateDomain(val string) (string, error) {
  function ValidateLabel (line 259) | func ValidateLabel(val string) (string, error) {
  function ValidateSingleGenericResource (line 269) | func ValidateSingleGenericResource(val string) (string, error) {
  function ParseLink (line 277) | func ParseLink(val string) (string, string, error) {
  type MemBytes (line 299) | type MemBytes
    method String (line 302) | func (m *MemBytes) String() string {
    method Set (line 313) | func (m *MemBytes) Set(value string) error {
    method Type (line 320) | func (m *MemBytes) Type() string {
    method Value (line 325) | func (m *MemBytes) Value() int64 {
    method UnmarshalJSON (line 330) | func (m *MemBytes) UnmarshalJSON(s []byte) error {

FILE: evmcc/vendor/github.com/docker/docker/opts/opts_unix.go
  constant DefaultHTTPHost (line 6) | DefaultHTTPHost = "localhost"

FILE: evmcc/vendor/github.com/docker/docker/opts/opts_windows.go
  constant DefaultHTTPHost (line 56) | DefaultHTTPHost = "127.0.0.1"

FILE: evmcc/vendor/github.com/docker/docker/opts/quotedstring.go
  type QuotedString (line 5) | type QuotedString struct
    method Set (line 10) | func (s *QuotedString) Set(val string) error {
    method Type (line 16) | func (s *QuotedString) Type() string {
    method String (line 20) | func (s *QuotedString) String() string {
  function trimQuotes (line 24) | func trimQuotes(value string) string {
  function NewQuotedString (line 35) | func NewQuotedString(value *string) *QuotedString {

FILE: evmcc/vendor/github.com/docker/docker/opts/runtime.go
  type RuntimeOpt (line 11) | type RuntimeOpt struct
    method Name (line 26) | func (o *RuntimeOpt) Name() string {
    method Set (line 31) | func (o *RuntimeOpt) Set(val string) error {
    method String (line 58) | func (o *RuntimeOpt) String() string {
    method GetMap (line 68) | func (o *RuntimeOpt) GetMap() map[string]types.Runtime {
    method Type (line 77) | func (o *RuntimeOpt) Type() string {
  function NewNamedRuntimeOpt (line 18) | func NewNamedRuntimeOpt(name string, ref *map[string]types.Runtime, stoc...

FILE: evmcc/vendor/github.com/docker/docker/opts/ulimit.go
  type UlimitOpt (line 10) | type UlimitOpt struct
    method Set (line 23) | func (o *UlimitOpt) Set(val string) error {
    method String (line 35) | func (o *UlimitOpt) String() string {
    method GetList (line 45) | func (o *UlimitOpt) GetList() []*units.Ulimit {
    method Type (line 55) | func (o *UlimitOpt) Type() string {
  function NewUlimitOpt (line 15) | func NewUlimitOpt(ref *map[string]*units.Ulimit) *UlimitOpt {
  type NamedUlimitOpt (line 60) | type NamedUlimitOpt struct
    method Name (line 79) | func (o *NamedUlimitOpt) Name() string {
  function NewNamedUlimitOpt (line 68) | func NewNamedUlimitOpt(name string, ref *map[string]*units.Ulimit) *Name...

FILE: evmcc/vendor/github.com/docker/docker/pkg/fileutils/fileutils.go
  type PatternMatcher (line 17) | type PatternMatcher struct
    method Matches (line 62) | func (pm *PatternMatcher) Matches(file string) (bool, error) {
    method Exclusions (line 100) | func (pm *PatternMatcher) Exclusions() bool {
    method Patterns (line 105) | func (pm *PatternMatcher) Patterns() []*Pattern {
  function NewPatternMatcher (line 24) | func NewPatternMatcher(patterns []string) (*PatternMatcher, error) {
  type Pattern (line 110) | type Pattern struct
    method String (line 117) | func (p *Pattern) String() string {
    method Exclusion (line 122) | func (p *Pattern) Exclusion() bool {
    method match (line 126) | func (p *Pattern) match(path string) (bool, error) {
    method compile (line 139) | func (p *Pattern) compile() error {
  function Matches (line 219) | func Matches(file string, patterns []string) (bool, error) {
  function CopyFile (line 237) | func CopyFile(src, dst string) (int64, error) {
  function ReadSymlinkedDirectory (line 261) | func ReadSymlinkedDirectory(path string) (string, error) {
  function CreateIfNotExists (line 281) | func CreateIfNotExists(path string, isDir bool) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/fileutils/fileutils_darwin.go
  function GetTotalUsedFds (line 12) | func GetTotalUsedFds() int {

FILE: evmcc/vendor/github.com/docker/docker/pkg/fileutils/fileutils_unix.go
  function GetTotalUsedFds (line 15) | func GetTotalUsedFds() int {

FILE: evmcc/vendor/github.com/docker/docker/pkg/fileutils/fileutils_windows.go
  function GetTotalUsedFds (line 5) | func GetTotalUsedFds() int {

FILE: evmcc/vendor/github.com/docker/docker/pkg/homedir/homedir_linux.go
  function GetStatic (line 14) | func GetStatic() (string, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/homedir/homedir_others.go
  function GetStatic (line 11) | func GetStatic() (string, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go
  function Key (line 13) | func Key() string {
  function Get (line 20) | func Get() string {
  function GetShortcutString (line 32) | func GetShortcutString() string {

FILE: evmcc/vendor/github.com/docker/docker/pkg/homedir/homedir_windows.go
  function Key (line 9) | func Key() string {
  function Get (line 16) | func Get() string {
  function GetShortcutString (line 22) | func GetShortcutString() string {

FILE: evmcc/vendor/github.com/docker/docker/pkg/idtools/idtools.go
  type IDMap (line 15) | type IDMap struct
  type subIDRange (line 21) | type subIDRange struct
  type ranges (line 26) | type ranges
    method Len (line 28) | func (e ranges) Len() int           { return len(e) }
    method Swap (line 29) | func (e ranges) Swap(i, j int)      { e[i], e[j] = e[j], e[i] }
    method Less (line 30) | func (e ranges) Less(i, j int) bool { return e[i].Start < e[j].Start }
  constant subuidFileName (line 33) | subuidFileName = "/etc/subuid"
  constant subgidFileName (line 34) | subgidFileName = "/etc/subgid"
  function MkdirAllAndChown (line 40) | func MkdirAllAndChown(path string, mode os.FileMode, owner Identity) err...
  function MkdirAndChown (line 48) | func MkdirAndChown(path string, mode os.FileMode, owner Identity) error {
  function MkdirAllAndChownNew (line 55) | func MkdirAllAndChownNew(path string, mode os.FileMode, owner Identity) ...
  function GetRootUIDGID (line 61) | func GetRootUIDGID(uidMap, gidMap []IDMap) (int, int, error) {
  function toContainer (line 76) | func toContainer(hostID int, idMap []IDMap) (int, error) {
  function toHost (line 92) | func toHost(contID int, idMap []IDMap) (int, error) {
  type Identity (line 106) | type Identity struct
  type IdentityMapping (line 113) | type IdentityMapping struct
    method RootPair (line 152) | func (i *IdentityMapping) RootPair() Identity {
    method ToHost (line 159) | func (i *IdentityMapping) ToHost(pair Identity) (Identity, error) {
    method ToContainer (line 177) | func (i *IdentityMapping) ToContainer(pair Identity) (int, int, error) {
    method Empty (line 187) | func (i *IdentityMapping) Empty() bool {
    method UIDs (line 193) | func (i *IdentityMapping) UIDs() []IDMap {
    method GIDs (line 199) | func (i *IdentityMapping) GIDs() []IDMap {
  function NewIdentityMapping (line 121) | func NewIdentityMapping(username, groupname string) (*IdentityMapping, e...
  function NewIDMappingsFromMaps (line 145) | func NewIDMappingsFromMaps(uids []IDMap, gids []IDMap) *IdentityMapping {
  function createIDMap (line 203) | func createIDMap(subidRanges ranges) []IDMap {
  function parseSubuid (line 220) | func parseSubuid(username string) (ranges, error) {
  function parseSubgid (line 224) | func parseSubgid(username string) (ranges, error) {
  function parseSubidFile (line 231) | func parseSubidFile(path, username string) (ranges, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/idtools/idtools_unix.go
  function mkdirAs (line 24) | func mkdirAs(path string, mode os.FileMode, owner Identity, mkAll, chown...
  function CanAccess (line 82) | func CanAccess(path string, pair Identity) bool {
  function accessible (line 93) | func accessible(isOwner, isGroup bool, perms os.FileMode) bool {
  function LookupUser (line 108) | func LookupUser(username string) (user.User, error) {
  function LookupUID (line 124) | func LookupUID(uid int) (user.User, error) {
  function getentUser (line 134) | func getentUser(args string) (user.User, error) {
  function LookupGroup (line 151) | func LookupGroup(groupname string) (user.Group, error) {
  function LookupGID (line 163) | func LookupGID(gid int) (user.Group, error) {
  function getentGroup (line 173) | func getentGroup(args string) (user.Group, error) {
  function callGetent (line 188) | func callGetent(args string) (io.Reader, error) {
  function lazyChown (line 219) | func lazyChown(p string, uid, gid int, stat *system.StatT) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/idtools/idtools_windows.go
  function mkdirAs (line 13) | func mkdirAs(path string, mode os.FileMode, owner Identity, mkAll, chown...
  function CanAccess (line 23) | func CanAccess(path string, identity Identity) bool {

FILE: evmcc/vendor/github.com/docker/docker/pkg/idtools/usergroupadd_linux.go
  function AddNamespaceRangesUser (line 38) | func AddNamespaceRangesUser(name string) (int, int, error) {
  function addUser (line 70) | func addUser(userName string) error {
  function createSubordinateRanges (line 90) | func createSubordinateRanges(name string) error {
  function findNextUIDRange (line 128) | func findNextUIDRange() (int, error) {
  function findNextGIDRange (line 137) | func findNextGIDRange() (int, error) {
  function findNextRangeStart (line 146) | func findNextRangeStart(rangeList ranges) (int, error) {
  function wouldOverlap (line 156) | func wouldOverlap(arange subIDRange, ID int) bool {

FILE: evmcc/vendor/github.com/docker/docker/pkg/idtools/usergroupadd_unsupported.go
  function AddNamespaceRangesUser (line 10) | func AddNamespaceRangesUser(name string) (int, int, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/idtools/utils_unix.go
  function resolveBinary (line 12) | func resolveBinary(binname string) (string, error) {
  function execCmd (line 29) | func execCmd(cmd, args string) ([]byte, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/ioutils/buffer.go
  type fixedBuffer (line 10) | type fixedBuffer struct
    method Write (line 16) | func (b *fixedBuffer) Write(p []byte) (int, error) {
    method Read (line 29) | func (b *fixedBuffer) Read(p []byte) (int, error) {
    method Len (line 35) | func (b *fixedBuffer) Len() int {
    method Cap (line 39) | func (b *fixedBuffer) Cap() int {
    method Reset (line 43) | func (b *fixedBuffer) Reset() {
    method String (line 49) | func (b *fixedBuffer) String() string {

FILE: evmcc/vendor/github.com/docker/docker/pkg/ioutils/bytespipe.go
  constant maxCap (line 10) | maxCap = 1e6
  constant minCap (line 13) | minCap = 64
  constant blockThreshold (line 17) | blockThreshold = 1e6
  type BytesPipe (line 31) | type BytesPipe struct
    method Write (line 51) | func (bp *BytesPipe) Write(p []byte) (int, error) {
    method CloseWithError (line 108) | func (bp *BytesPipe) CloseWithError(err error) error {
    method Close (line 121) | func (bp *BytesPipe) Close() error {
    method Read (line 127) | func (bp *BytesPipe) Read(p []byte) (n int, err error) {
  function NewBytesPipe (line 42) | func NewBytesPipe() *BytesPipe {
  function returnBuffer (line 167) | func returnBuffer(b *fixedBuffer) {
  function getBuffer (line 177) | func getBuffer(size int) *fixedBuffer {

FILE: evmcc/vendor/github.com/docker/docker/pkg/ioutils/fswriters.go
  function NewAtomicFileWriter (line 13) | func NewAtomicFileWriter(filename string, perm os.FileMode) (io.WriteClo...
  function AtomicWriteFile (line 31) | func AtomicWriteFile(filename string, data []byte, perm os.FileMode) err...
  type atomicFileWriter (line 47) | type atomicFileWriter struct
    method Write (line 54) | func (w *atomicFileWriter) Write(dt []byte) (int, error) {
    method Close (line 62) | func (w *atomicFileWriter) Close() (retErr error) {
  type AtomicWriteSet (line 87) | type AtomicWriteSet struct
    method WriteFile (line 109) | func (ws *AtomicWriteSet) WriteFile(filename string, data []byte, perm...
    method FileWriter (line 138) | func (ws *AtomicWriteSet) FileWriter(name string, flag int, perm os.Fi...
    method Cancel (line 148) | func (ws *AtomicWriteSet) Cancel() error {
    method Commit (line 155) | func (ws *AtomicWriteSet) Commit(target string) error {
    method String (line 160) | func (ws *AtomicWriteSet) String() string {
  function NewAtomicWriteSet (line 96) | func NewAtomicWriteSet(tmpDir string) (*AtomicWriteSet, error) {
  type syncFileCloser (line 124) | type syncFileCloser struct
    method Close (line 128) | func (w syncFileCloser) Close() error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/ioutils/readers.go
  type ReadCloserWrapper (line 13) | type ReadCloserWrapper struct
    method Close (line 19) | func (r *ReadCloserWrapper) Close() error {
  function NewReadCloserWrapper (line 24) | func NewReadCloserWrapper(r io.Reader, closer func() error) io.ReadCloser {
  type readerErrWrapper (line 31) | type readerErrWrapper struct
    method Read (line 36) | func (r *readerErrWrapper) Read(p []byte) (int, error) {
  function NewReaderErrWrapper (line 45) | func NewReaderErrWrapper(r io.Reader, closer func()) io.Reader {
  function HashData (line 53) | func HashData(src io.Reader) (string, error) {
  type OnEOFReader (line 63) | type OnEOFReader struct
    method Read (line 68) | func (r *OnEOFReader) Read(p []byte) (n int, err error) {
    method Close (line 77) | func (r *OnEOFReader) Close() error {
    method runFunc (line 83) | func (r *OnEOFReader) runFunc() {
  type cancelReadCloser (line 92) | type cancelReadCloser struct
    method Read (line 141) | func (p *cancelReadCloser) Read(buf []byte) (n int, err error) {
    method closeWithError (line 147) | func (p *cancelReadCloser) closeWithError(err error) {
    method Close (line 154) | func (p *cancelReadCloser) Close() error {
  function NewCancelReadCloser (line 101) | func NewCancelReadCloser(ctx context.Context, in io.ReadCloser) io.ReadC...

FILE: evmcc/vendor/github.com/docker/docker/pkg/ioutils/temp_unix.go
  function TempDir (line 8) | func TempDir(dir, prefix string) (string, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/ioutils/temp_windows.go
  function TempDir (line 10) | func TempDir(dir, prefix string) (string, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/ioutils/writeflusher.go
  type WriteFlusher (line 11) | type WriteFlusher struct
    method Write (line 26) | func (wf *WriteFlusher) Write(b []byte) (n int, err error) {
    method Flush (line 39) | func (wf *WriteFlusher) Flush() {
    method Flushed (line 54) | func (wf *WriteFlusher) Flushed() bool {
    method Close (line 70) | func (wf *WriteFlusher) Close() error {
  type flusher (line 20) | type flusher interface
  function NewWriteFlusher (line 84) | func NewWriteFlusher(w io.Writer) *WriteFlusher {

FILE: evmcc/vendor/github.com/docker/docker/pkg/ioutils/writers.go
  type NopWriter (line 6) | type NopWriter struct
    method Write (line 8) | func (*NopWriter) Write(buf []byte) (int, error) {
  type nopWriteCloser (line 12) | type nopWriteCloser struct
    method Close (line 16) | func (w *nopWriteCloser) Close() error { return nil }
  function NopWriteCloser (line 19) | func NopWriteCloser(w io.Writer) io.WriteCloser {
  type NopFlusher (line 24) | type NopFlusher struct
    method Flush (line 27) | func (f *NopFlusher) Flush() {}
  type writeCloserWrapper (line 29) | type writeCloserWrapper struct
    method Close (line 34) | func (r *writeCloserWrapper) Close() error {
  function NewWriteCloserWrapper (line 39) | func NewWriteCloserWrapper(r io.Writer, closer func() error) io.WriteClo...
  type WriteCounter (line 50) | type WriteCounter struct
    method Write (line 62) | func (wc *WriteCounter) Write(p []byte) (count int, err error) {
  function NewWriteCounter (line 56) | func NewWriteCounter(w io.Writer) *WriteCounter {

FILE: evmcc/vendor/github.com/docker/docker/pkg/longpath/longpath.go
  constant Prefix (line 12) | Prefix = `\\?\`
  function AddPrefix (line 16) | func AddPrefix(path string) string {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/flags.go
  function MergeTmpfsOptions (line 72) | func MergeTmpfsOptions(options []string) ([]string, error) {
  function parseOptions (line 116) | func parseOptions(options string) (int, string) {
  function ParseTmpfsOptions (line 140) | func ParseTmpfsOptions(options string) (int, string, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/flags_freebsd.go
  constant RDONLY (line 12) | RDONLY = C.MNT_RDONLY
  constant NOSUID (line 16) | NOSUID = C.MNT_NOSUID
  constant NOEXEC (line 19) | NOEXEC = C.MNT_NOEXEC
  constant SYNCHRONOUS (line 22) | SYNCHRONOUS = C.MNT_SYNCHRONOUS
  constant NOATIME (line 25) | NOATIME = C.MNT_NOATIME
  constant BIND (line 30) | BIND        = 0
  constant DIRSYNC (line 31) | DIRSYNC     = 0
  constant MANDLOCK (line 32) | MANDLOCK    = 0
  constant NODEV (line 33) | NODEV       = 0
  constant NODIRATIME (line 34) | NODIRATIME  = 0
  constant UNBINDABLE (line 35) | UNBINDABLE  = 0
  constant RUNBINDABLE (line 36) | RUNBINDABLE = 0
  constant PRIVATE (line 37) | PRIVATE     = 0
  constant RPRIVATE (line 38) | RPRIVATE    = 0
  constant SHARED (line 39) | SHARED      = 0
  constant RSHARED (line 40) | RSHARED     = 0
  constant SLAVE (line 41) | SLAVE       = 0
  constant RSLAVE (line 42) | RSLAVE      = 0
  constant RBIND (line 43) | RBIND       = 0
  constant RELATIVE (line 44) | RELATIVE    = 0
  constant RELATIME (line 45) | RELATIME    = 0
  constant REMOUNT (line 46) | REMOUNT     = 0
  constant STRICTATIME (line 47) | STRICTATIME = 0
  constant mntDetach (line 48) | mntDetach   = 0

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/flags_linux.go
  constant RDONLY (line 9) | RDONLY = unix.MS_RDONLY
  constant NOSUID (line 13) | NOSUID = unix.MS_NOSUID
  constant NODEV (line 17) | NODEV = unix.MS_NODEV
  constant NOEXEC (line 20) | NOEXEC = unix.MS_NOEXEC
  constant SYNCHRONOUS (line 23) | SYNCHRONOUS = unix.MS_SYNCHRONOUS
  constant DIRSYNC (line 28) | DIRSYNC = unix.MS_DIRSYNC
  constant REMOUNT (line 34) | REMOUNT = unix.MS_REMOUNT
  constant MANDLOCK (line 37) | MANDLOCK = unix.MS_MANDLOCK
  constant NOATIME (line 40) | NOATIME = unix.MS_NOATIME
  constant NODIRATIME (line 43) | NODIRATIME = unix.MS_NODIRATIME
  constant BIND (line 46) | BIND = unix.MS_BIND
  constant RBIND (line 49) | RBIND = unix.MS_BIND | unix.MS_REC
  constant UNBINDABLE (line 52) | UNBINDABLE = unix.MS_UNBINDABLE
  constant RUNBINDABLE (line 55) | RUNBINDABLE = unix.MS_UNBINDABLE | unix.MS_REC
  constant PRIVATE (line 58) | PRIVATE = unix.MS_PRIVATE
  constant RPRIVATE (line 61) | RPRIVATE = unix.MS_PRIVATE | unix.MS_REC
  constant SLAVE (line 65) | SLAVE = unix.MS_SLAVE
  constant RSLAVE (line 68) | RSLAVE = unix.MS_SLAVE | unix.MS_REC
  constant SHARED (line 73) | SHARED = unix.MS_SHARED
  constant RSHARED (line 76) | RSHARED = unix.MS_SHARED | unix.MS_REC
  constant RELATIME (line 79) | RELATIME = unix.MS_RELATIME
  constant STRICTATIME (line 84) | STRICTATIME = unix.MS_STRICTATIME
  constant mntDetach (line 86) | mntDetach = unix.MNT_DETACH

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/flags_unsupported.go
  constant BIND (line 7) | BIND        = 0
  constant DIRSYNC (line 8) | DIRSYNC     = 0
  constant MANDLOCK (line 9) | MANDLOCK    = 0
  constant NOATIME (line 10) | NOATIME     = 0
  constant NODEV (line 11) | NODEV       = 0
  constant NODIRATIME (line 12) | NODIRATIME  = 0
  constant NOEXEC (line 13) | NOEXEC      = 0
  constant NOSUID (line 14) | NOSUID      = 0
  constant UNBINDABLE (line 15) | UNBINDABLE  = 0
  constant RUNBINDABLE (line 16) | RUNBINDABLE = 0
  constant PRIVATE (line 17) | PRIVATE     = 0
  constant RPRIVATE (line 18) | RPRIVATE    = 0
  constant SHARED (line 19) | SHARED      = 0
  constant RSHARED (line 20) | RSHARED     = 0
  constant SLAVE (line 21) | SLAVE       = 0
  constant RSLAVE (line 22) | RSLAVE      = 0
  constant RBIND (line 23) | RBIND       = 0
  constant RELATIME (line 24) | RELATIME    = 0
  constant RELATIVE (line 25) | RELATIVE    = 0
  constant REMOUNT (line 26) | REMOUNT     = 0
  constant STRICTATIME (line 27) | STRICTATIME = 0
  constant SYNCHRONOUS (line 28) | SYNCHRONOUS = 0
  constant RDONLY (line 29) | RDONLY      = 0
  constant mntDetach (line 30) | mntDetach   = 0

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/mount.go
  type FilterFunc (line 17) | type FilterFunc
  function PrefixFilter (line 21) | func PrefixFilter(prefix string) FilterFunc {
  function SingleEntryFilter (line 29) | func SingleEntryFilter(mp string) FilterFunc {
  function ParentsFilter (line 42) | func ParentsFilter(path string) FilterFunc {
  function GetMounts (line 51) | func GetMounts(f FilterFunc) ([]*Info, error) {
  function Mounted (line 57) | func Mounted(mountpoint string) (bool, error) {
  function Mount (line 70) | func Mount(device, target, mType, options string) error {
  function ForceMount (line 84) | func ForceMount(device, target, mType, options string) error {
  function Unmount (line 91) | func Unmount(target string) error {
  function RecursiveUnmount (line 102) | func RecursiveUnmount(target string) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/mounter_freebsd.go
  function allocateIOVecs (line 21) | func allocateIOVecs(options []string) []C.struct_iovec {
  function mount (line 30) | func mount(device, target, mType string, flag uintptr, data string) error {
  function unmount (line 58) | func unmount(target string, flag int) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/mounter_linux.go
  constant ptypes (line 9) | ptypes = unix.MS_SHARED | unix.MS_PRIVATE | unix.MS_SLAVE | unix.MS_UNBI...
  constant pflags (line 12) | pflags = ptypes | unix.MS_REC | unix.MS_SILENT
  constant broflags (line 15) | broflags = unix.MS_BIND | unix.MS_RDONLY
  function isremount (line 19) | func isremount(device string, flags uintptr) bool {
  function mount (line 30) | func mount(device, target, mType string, flags uintptr, data string) err...
  function unmount (line 55) | func unmount(target string, flag int) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/mounter_unsupported.go
  function mount (line 5) | func mount(device, target, mType string, flag uintptr, data string) error {
  function unmount (line 9) | func unmount(target string, flag int) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/mountinfo.go
  type Info (line 5) | type Info struct

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/mountinfo_freebsd.go
  function parseMountTable (line 18) | func parseMountTable(filter FilterFunc) ([]*Info, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/mountinfo_linux.go
  function parseInfoFile (line 12) | func parseInfoFile(r io.Reader, filter FilterFunc) ([]*Info, error) {
  function parseMountTable (line 111) | func parseMountTable(filter FilterFunc) ([]*Info, error) {
  function PidMountInfo (line 124) | func PidMountInfo(pid int) ([]*Info, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/mountinfo_unsupported.go
  function parseMountTable (line 10) | func parseMountTable(f FilterFunc) ([]*Info, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/mountinfo_windows.go
  function parseMountTable (line 3) | func parseMountTable(f FilterFunc) ([]*Info, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/mount/sharedsubtree_linux.go
  function MakeShared (line 5) | func MakeShared(mountPoint string) error {
  function MakeRShared (line 11) | func MakeRShared(mountPoint string) error {
  function MakePrivate (line 17) | func MakePrivate(mountPoint string) error {
  function MakeRPrivate (line 23) | func MakeRPrivate(mountPoint string) error {
  function MakeSlave (line 29) | func MakeSlave(mountPoint string) error {
  function MakeRSlave (line 35) | func MakeRSlave(mountPoint string) error {
  function MakeUnbindable (line 41) | func MakeUnbindable(mountPoint string) error {
  function MakeRUnbindable (line 47) | func MakeRUnbindable(mountPoint string) error {
  function ensureMountedAs (line 51) | func ensureMountedAs(mountPoint, options string) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/pools/pools.go
  constant buffer32K (line 20) | buffer32K = 32 * 1024
  type BufioReaderPool (line 31) | type BufioReaderPool struct
    method Get (line 46) | func (bufPool *BufioReaderPool) Get(r io.Reader) *bufio.Reader {
    method Put (line 53) | func (bufPool *BufioReaderPool) Put(b *bufio.Reader) {
    method NewReadCloserWrapper (line 88) | func (bufPool *BufioReaderPool) NewReadCloserWrapper(buf *bufio.Reader...
  function newBufioReaderPoolWithSize (line 37) | func newBufioReaderPoolWithSize(size int) *BufioReaderPool {
  type bufferPool (line 58) | type bufferPool struct
    method Get (line 70) | func (bp *bufferPool) Get() []byte {
    method Put (line 74) | func (bp *bufferPool) Put(b []byte) {
  function newBufferPoolWithSize (line 62) | func newBufferPoolWithSize(size int) *bufferPool {
  function Copy (line 79) | func Copy(dst io.Writer, src io.Reader) (written int64, err error) {
  type BufioWriterPool (line 99) | type BufioWriterPool struct
    method Get (line 114) | func (bufPool *BufioWriterPool) Get(w io.Writer) *bufio.Writer {
    method Put (line 121) | func (bufPool *BufioWriterPool) Put(b *bufio.Writer) {
    method NewWriteCloserWrapper (line 128) | func (bufPool *BufioWriterPool) NewWriteCloserWrapper(buf *bufio.Write...
  function newBufioWriterPoolWithSize (line 105) | func newBufioWriterPoolWithSize(size int) *BufioWriterPool {

FILE: evmcc/vendor/github.com/docker/docker/pkg/stdcopy/stdcopy.go
  type StdType (line 14) | type StdType
  constant Stdin (line 18) | Stdin StdType = iota
  constant Stdout (line 20) | Stdout
  constant Stderr (line 22) | Stderr
  constant Systemerr (line 25) | Systemerr
  constant stdWriterPrefixLen (line 27) | stdWriterPrefixLen = 8
  constant stdWriterFdIndex (line 28) | stdWriterFdIndex   = 0
  constant stdWriterSizeIndex (line 29) | stdWriterSizeIndex = 4
  constant startingBufLen (line 31) | startingBufLen = 32*1024 + stdWriterPrefixLen + 1
  type stdWriter (line 37) | type stdWriter struct
    method Write (line 46) | func (w *stdWriter) Write(p []byte) (n int, err error) {
  function NewStdWriter (line 77) | func NewStdWriter(w io.Writer, t StdType) io.Writer {
  function StdCopy (line 94) | func StdCopy(dstout, dsterr io.Writer, src io.Reader) (written int64, er...

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/chtimes.go
  function Chtimes (line 9) | func Chtimes(name string, atime time.Time, mtime time.Time) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/chtimes_unix.go
  function setCTime (line 12) | func setCTime(path string, ctime time.Time) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/chtimes_windows.go
  function setCTime (line 11) | func setCTime(path string, ctime time.Time) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/exitcode.go
  function GetExitCode (line 11) | func GetExitCode(err error) (int, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/filesys.go
  function MkdirAllWithACL (line 12) | func MkdirAllWithACL(path string, perm os.FileMode, sddl string) error {
  function MkdirAll (line 18) | func MkdirAll(path string, perm os.FileMode, sddl string) error {
  function IsAbs (line 23) | func IsAbs(path string) bool {
  function CreateSequential (line 35) | func CreateSequential(name string) (*os.File, error) {
  function OpenSequential (line 43) | func OpenSequential(name string) (*os.File, error) {
  function OpenFileSequential (line 52) | func OpenFileSequential(name string, flag int, perm os.FileMode) (*os.Fi...
  function TempFileSequential (line 65) | func TempFileSequential(dir, prefix string) (f *os.File, err error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/filesys_windows.go
  constant SddlAdministratorsLocalSystem (line 20) | SddlAdministratorsLocalSystem = "D:P(A;OICI;GA;;;BA)(A;OICI;GA;;;SY)"
  constant SddlNtvmAdministratorsLocalSystem (line 22) | SddlNtvmAdministratorsLocalSystem = "D:P(A;OICI;GA;;;S-1-5-83-0)(A;OICI;...
  function MkdirAllWithACL (line 27) | func MkdirAllWithACL(path string, perm os.FileMode, sddl string) error {
  function MkdirAll (line 32) | func MkdirAll(path string, _ os.FileMode, sddl string) error {
  function mkdirall (line 39) | func mkdirall(path string, applyACL bool, sddl string) error {
  function mkdirWithACL (line 105) | func mkdirWithACL(name string, sddl string) error {
  function IsAbs (line 134) | func IsAbs(path string) bool {
  function CreateSequential (line 156) | func CreateSequential(name string) (*os.File, error) {
  function OpenSequential (line 164) | func OpenSequential(name string) (*os.File, error) {
  function OpenFileSequential (line 171) | func OpenFileSequential(name string, flag int, _ os.FileMode) (*os.File,...
  function windowsOpenFileSequential (line 182) | func windowsOpenFileSequential(name string, flag int, _ os.FileMode) (fi...
  function makeInheritSa (line 190) | func makeInheritSa() *windows.SecurityAttributes {
  function windowsOpenSequential (line 197) | func windowsOpenSequential(path string, mode int, _ uint32) (fd windows....
  function reseed (line 250) | func reseed() uint32 {
  function nextSuffix (line 253) | func nextSuffix() string {
  function TempFileSequential (line 276) | func TempFileSequential(dir, prefix string) (f *os.File, err error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/init.go
  function init (line 12) | func init() {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/init_unix.go
  function InitLCOW (line 6) | func InitLCOW(experimental bool) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/init_windows.go
  function InitLCOW (line 7) | func InitLCOW(experimental bool) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/lcow.go
  function IsOSSupported (line 12) | func IsOSSupported(os string) bool {
  function ValidatePlatform (line 25) | func ValidatePlatform(platform specs.Platform) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/lcow_unix.go
  function LCOWSupported (line 6) | func LCOWSupported() bool {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/lcow_windows.go
  function LCOWSupported (line 4) | func LCOWSupported() bool {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/lstat_unix.go
  function Lstat (line 13) | func Lstat(path string) (*StatT, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/lstat_windows.go
  function Lstat (line 7) | func Lstat(path string) (*StatT, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/meminfo.go
  type MemInfo (line 4) | type MemInfo struct

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/meminfo_linux.go
  function ReadMemInfo (line 15) | func ReadMemInfo() (*MemInfo, error) {
  function parseMemInfo (line 27) | func parseMemInfo(reader io.Reader) (*MemInfo, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/meminfo_unsupported.go
  function ReadMemInfo (line 6) | func ReadMemInfo() (*MemInfo, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/meminfo_windows.go
  type memorystatusex (line 17) | type memorystatusex struct
  function ReadMemInfo (line 31) | func ReadMemInfo() (*MemInfo, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/mknod.go
  function Mknod (line 11) | func Mknod(path string, mode uint32, dev int) error {
  function Mkdev (line 20) | func Mkdev(major int64, minor int64) uint32 {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/mknod_windows.go
  function Mknod (line 4) | func Mknod(path string, mode uint32, dev int) error {
  function Mkdev (line 9) | func Mkdev(major int64, minor int64) uint32 {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/path.go
  constant defaultUnixPathEnv (line 12) | defaultUnixPathEnv = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:...
  function DefaultPathEnv (line 17) | func DefaultPathEnv(os string) string {
  function CheckSystemDriveAndRemoveDriveLetter (line 45) | func CheckSystemDriveAndRemoveDriveLetter(path string, driver pathdriver...

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/process_unix.go
  function IsProcessAlive (line 12) | func IsProcessAlive(pid int) bool {
  function KillProcess (line 22) | func KillProcess(pid int) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/process_windows.go
  function IsProcessAlive (line 6) | func IsProcessAlive(pid int) bool {
  function KillProcess (line 13) | func KillProcess(pid int) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/rm.go
  function EnsureRemoveAll (line 24) | func EnsureRemoveAll(dir string) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/stat_darwin.go
  function fromStatT (line 6) | func fromStatT(s *syscall.Stat_t) (*StatT, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/stat_freebsd.go
  function fromStatT (line 6) | func fromStatT(s *syscall.Stat_t) (*StatT, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/stat_linux.go
  function fromStatT (line 6) | func fromStatT(s *syscall.Stat_t) (*StatT, error) {
  function FromStatT (line 17) | func FromStatT(s *syscall.Stat_t) (*StatT, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/stat_openbsd.go
  function fromStatT (line 6) | func fromStatT(s *syscall.Stat_t) (*StatT, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/stat_solaris.go
  function fromStatT (line 6) | func fromStatT(s *syscall.Stat_t) (*StatT, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/stat_unix.go
  type StatT (line 11) | type StatT struct
    method Mode (line 21) | func (s StatT) Mode() uint32 {
    method UID (line 26) | func (s StatT) UID() uint32 {
    method GID (line 31) | func (s StatT) GID() uint32 {
    method Rdev (line 36) | func (s StatT) Rdev() uint64 {
    method Size (line 41) | func (s StatT) Size() int64 {
    method Mtim (line 46) | func (s StatT) Mtim() syscall.Timespec {
    method IsDir (line 51) | func (s StatT) IsDir() bool {
  function Stat (line 59) | func Stat(path string) (*StatT, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/stat_windows.go
  type StatT (line 10) | type StatT struct
    method Size (line 17) | func (s StatT) Size() int64 {
    method Mode (line 22) | func (s StatT) Mode() os.FileMode {
    method Mtim (line 27) | func (s StatT) Mtim() time.Time {
  function Stat (line 35) | func Stat(path string) (*StatT, error) {
  function fromStatT (line 44) | func fromStatT(fi *os.FileInfo) (*StatT, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/syscall_unix.go
  function Unmount (line 9) | func Unmount(dest string) error {
  function CommandLineToArgv (line 15) | func CommandLineToArgv(commandLine string) ([]string, error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/syscall_windows.go
  constant OWNER_SECURITY_INFORMATION (line 13) | OWNER_SECURITY_INFORMATION               = 0x00000001
  constant GROUP_SECURITY_INFORMATION (line 14) | GROUP_SECURITY_INFORMATION               = 0x00000002
  constant DACL_SECURITY_INFORMATION (line 15) | DACL_SECURITY_INFORMATION                = 0x00000004
  constant SACL_SECURITY_INFORMATION (line 16) | SACL_SECURITY_INFORMATION                = 0x00000008
  constant LABEL_SECURITY_INFORMATION (line 17) | LABEL_SECURITY_INFORMATION               = 0x00000010
  constant ATTRIBUTE_SECURITY_INFORMATION (line 18) | ATTRIBUTE_SECURITY_INFORMATION           = 0x00000020
  constant SCOPE_SECURITY_INFORMATION (line 19) | SCOPE_SECURITY_INFORMATION               = 0x00000040
  constant PROCESS_TRUST_LABEL_SECURITY_INFORMATION (line 20) | PROCESS_TRUST_LABEL_SECURITY_INFORMATION = 0x00000080
  constant ACCESS_FILTER_SECURITY_INFORMATION (line 21) | ACCESS_FILTER_SECURITY_INFORMATION       = 0x00000100
  constant BACKUP_SECURITY_INFORMATION (line 22) | BACKUP_SECURITY_INFORMATION              = 0x00010000
  constant PROTECTED_DACL_SECURITY_INFORMATION (line 23) | PROTECTED_DACL_SECURITY_INFORMATION      = 0x80000000
  constant PROTECTED_SACL_SECURITY_INFORMATION (line 24) | PROTECTED_SACL_SECURITY_INFORMATION      = 0x40000000
  constant UNPROTECTED_DACL_SECURITY_INFORMATION (line 25) | UNPROTECTED_DACL_SECURITY_INFORMATION    = 0x20000000
  constant UNPROTECTED_SACL_SECURITY_INFORMATION (line 26) | UNPROTECTED_SACL_SECURITY_INFORMATION    = 0x10000000
  constant SE_UNKNOWN_OBJECT_TYPE (line 30) | SE_UNKNOWN_OBJECT_TYPE = iota
  constant SE_FILE_OBJECT (line 31) | SE_FILE_OBJECT
  constant SE_SERVICE (line 32) | SE_SERVICE
  constant SE_PRINTER (line 33) | SE_PRINTER
  constant SE_REGISTRY_KEY (line 34) | SE_REGISTRY_KEY
  constant SE_LMSHARE (line 35) | SE_LMSHARE
  constant SE_KERNEL_OBJECT (line 36) | SE_KERNEL_OBJECT
  constant SE_WINDOW_OBJECT (line 37) | SE_WINDOW_OBJECT
  constant SE_DS_OBJECT (line 38) | SE_DS_OBJECT
  constant SE_DS_OBJECT_ALL (line 39) | SE_DS_OBJECT_ALL
  constant SE_PROVIDER_DEFINED_OBJECT (line 40) | SE_PROVIDER_DEFINED_OBJECT
  constant SE_WMIGUID_OBJECT (line 41) | SE_WMIGUID_OBJECT
  constant SE_REGISTRY_WOW64_32KEY (line 42) | SE_REGISTRY_WOW64_32KEY
  constant SeTakeOwnershipPrivilege (line 46) | SeTakeOwnershipPrivilege = "SeTakeOwnershipPrivilege"
  constant ContainerAdministratorSidString (line 50) | ContainerAdministratorSidString = "S-1-5-93-2-1"
  constant ContainerUserSidString (line 51) | ContainerUserSidString          = "S-1-5-93-2-2"
  type OSVersion (line 65) | type OSVersion struct
    method ToString (line 103) | func (osv OSVersion) ToString() string {
  type osVersionInfoEx (line 73) | type osVersionInfoEx struct
  function GetOSVersion (line 89) | func GetOSVersion() OSVersion {
  function IsWindowsClient (line 110) | func IsWindowsClient() bool {
  function IsIoTCore (line 125) | func IsIoTCore() bool {
  function Unmount (line 139) | func Unmount(dest string) error {
  function CommandLineToArgv (line 144) | func CommandLineToArgv(commandLine string) ([]string, error) {
  function HasWin32KSupport (line 168) | func HasWin32KSupport() bool {
  function SetNamedSecurityInfo (line 175) | func SetNamedSecurityInfo(objectName *uint16, objectType uint32, securit...
  function GetSecurityDescriptorDacl (line 183) | func GetSecurityDescriptorDacl(securityDescriptor *byte, daclPresent *ui...

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/umask.go
  function Umask (line 11) | func Umask(newmask int) (oldmask int, err error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/umask_windows.go
  function Umask (line 4) | func Umask(newmask int) (oldmask int, err error) {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/utimes_freebsd.go
  function LUtimesNano (line 12) | func LUtimesNano(path string, ts []syscall.Timespec) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/utimes_linux.go
  function LUtimesNano (line 12) | func LUtimesNano(path string, ts []syscall.Timespec) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/utimes_unsupported.go
  function LUtimesNano (line 8) | func LUtimesNano(path string, ts []syscall.Timespec) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/xattrs_linux.go
  function Lgetxattr (line 8) | func Lgetxattr(path string, attr string) ([]byte, error) {
  function Lsetxattr (line 27) | func Lsetxattr(path string, attr string, data []byte, flags int) error {

FILE: evmcc/vendor/github.com/docker/docker/pkg/system/xattrs_unsupported.go
  function Lgetxattr (line 6) | func Lgetxattr(path string, attr string) ([]byte, error) {
  function Lsetxattr (line 11) | func Lsetxattr(path string, attr string, data []byte, flags int) error {

FILE: evmcc/vendor/github.com/docker/go-connections/nat/nat.go
  constant portSpecTemplate (line 13) | portSpecTemplate = "ip:hostPort:containerPort"
  type PortBinding (line 17) | type PortBinding struct
  type PortMap (line 25) | type PortMap
  type PortSet (line 28) | type PortSet
  type Port (line 31) | type Port
    method Proto (line 74) | func (p Port) Proto() string {
    method Port (line 80) | func (p Port) Port() string {
    method Int (line 86) | func (p Port) Int() int {
    method Range (line 95) | func (p Port) Range() (int, int, error) {
  function NewPort (line 34) | func NewPort(proto, port string) (Port, error) {
  function ParsePort (line 50) | func ParsePort(rawPort string) (int, error) {
  function ParsePortRangeToInt (line 62) | func ParsePortRangeToInt(rawPort string) (int, int, error) {
  function SplitProtoPort (line 100) | func SplitProtoPort(rawPort string) (string, string) {
  function validateProto (line 115) | func validateProto(proto string) bool {
  function ParsePortSpecs (line 126) | func ParsePortSpecs(ports []string) (map[Port]struct{}, map[Port][]PortB...
  type PortMapping (line 153) | type PortMapping struct
  function splitParts (line 158) | func splitParts(rawport string) (string, string, string) {
  function ParsePortSpec (line 176) | func ParsePortSpec(rawPort string) ([]PortMapping, error) {

FILE: evmcc/vendor/github.com/docker/go-connections/nat/parse.go
  function PartParser (line 12) | func PartParser(template, data string) (map[string]string, error) {
  function ParsePortRange (line 34) | func ParsePortRange(ports string) (uint64, uint64, error) {

FILE: evmcc/vendor/github.com/docker/go-connections/nat/sort.go
  type portSorter (line 8) | type portSorter struct
    method Len (line 13) | func (s *portSorter) Len() int {
    method Swap (line 17) | func (s *portSorter) Swap(i, j int) {
    method Less (line 21) | func (s *portSorter) Less(i, j int) bool {
  function Sort (line 31) | func Sort(ports []Port, predicate func(i, j Port) bool) {
  type portMapEntry (line 36) | type portMapEntry struct
  type portMapSorter (line 41) | type portMapSorter
    method Len (line 43) | func (s portMapSorter) Len() int      { return len(s) }
    method Swap (line 44) | func (s portMapSorter) Swap(i, j int) { s[i], s[j] = s[j], s[i] }
    method Less (line 50) | func (s portMapSorter) Less(i, j int) bool {
  function SortPortMap (line 58) | func SortPortMap(ports []Port, bindings PortMap) {
  function toInt (line 90) | func toInt(s string) uint64 {

FILE: evmcc/vendor/github.com/docker/go-units/duration.go
  function HumanDuration (line 12) | func HumanDuration(d time.Duration) string {

FILE: evmcc/vendor/github.com/docker/go-units/size.go
  constant KB (line 14) | KB = 1000
  constant MB (line 15) | MB = 1000 * KB
  constant GB (line 16) | GB = 1000 * MB
  constant TB (line 17) | TB = 1000 * GB
  constant PB (line 18) | PB = 1000 * TB
  constant KiB (line 22) | KiB = 1024
  constant MiB (line 23) | MiB = 1024 * KiB
  constant GiB (line 24) | GiB = 1024 * MiB
  constant TiB (line 25) | TiB = 1024 * GiB
  constant PiB (line 26) | PiB = 1024 * TiB
  type unitMap (line 29) | type unitMap
  function getSizeAndUnit (line 40) | func getSizeAndUnit(size float64, base float64, _map []string) (float64,...
  function CustomSize (line 52) | func CustomSize(format string, size float64, base float64, _map []string...
  function HumanSizeWithPrecision (line 59) | func HumanSizeWithPrecision(size float64, precision int) string {
  function HumanSize (line 66) | func HumanSize(size float64) string {
  function BytesSize (line 72) | func BytesSize(size float64) string {
  function FromHumanSize (line 78) | func FromHumanSize(size string) (int64, error) {
  function RAMInBytes (line 86) | func RAMInBytes(size string) (int64, error) {
  function parseSize (line 91) | func parseSize(sizeStr string, uMap unitMap) (int64, error) {

FILE: evmcc/vendor/github.com/docker/go-units/ulimit.go
  type Ulimit (line 10) | type Ulimit struct
    method GetRlimit (line 107) | func (u *Ulimit) GetRlimit() (*Rlimit, error) {
    method String (line 116) | func (u *Ulimit) String() string {
  type Rlimit (line 17) | type Rlimit struct
  constant rlimitAs (line 28) | rlimitAs         = 9
  constant rlimitCore (line 29) | rlimitCore       = 4
  constant rlimitCPU (line 30) | rlimitCPU        = 0
  constant rlimitData (line 31) | rlimitData       = 2
  constant rlimitFsize (line 32) | rlimitFsize      = 1
  constant rlimitLocks (line 33) | rlimitLocks      = 10
  constant rlimitMemlock (line 34) | rlimitMemlock    = 8
  constant rlimitMsgqueue (line 35) | rlimitMsgqueue   = 12
  constant rlimitNice (line 36) | rlimitNice       = 13
  constant rlimitNofile (line 37) | rlimitNofile     = 7
  constant rlimitNproc (line 38) | rlimitNproc      = 6
  constant rlimitRss (line 39) | rlimitRss        = 5
  constant rlimitRtprio (line 40) | rlimitRtprio     = 14
  constant rlimitRttime (line 41) | rlimitRttime     = 15
  constant rlimitSigpending (line 42) | rlimitSigpending = 11
  constant rlimitStack (line 43) | rlimitStack      = 3
  function ParseUlimit (line 66) | func ParseUlimit(val string) (*Ulimit, error) {

FILE: evmcc/vendor/github.com/docker/libnetwork/ipamutils/utils.go
  type NetworkToSplit (line 32) | type NetworkToSplit struct
  function InitNetworks (line 38) | func InitNetworks(defaultAddressPool []*NetworkToSplit) {
  function splitNetworks (line 53) | func splitNetworks(list []*NetworkToSplit) ([]*net.IPNet, error) {
  function splitNetwork (line 70) | func splitNetwork(size int, base *net.IPNet) []*net.IPNet {
  function copyIP (line 85) | func copyIP(from net.IP) net.IP {
  function addIntToIP (line 91) | func addIntToIP(array net.IP, ordinal uint) {

FILE: evmcc/vendor/github.com/fsnotify/fsnotify/fen.go
  type Watcher (line 14) | type Watcher struct
    method Close (line 25) | func (w *Watcher) Close() error {
    method Add (line 30) | func (w *Watcher) Add(name string) error {
    method Remove (line 35) | func (w *Watcher) Remove(name string) error {
  function NewWatcher (line 20) | func NewWatcher() (*Watcher, error) {

FILE: evmcc/vendor/github.com/fsnotify/fsnotify/fsnotify.go
  type Event (line 17) | type Event struct
    method String (line 61) | func (e Event) String() string {
  type Op (line 23) | type Op
    method String (line 34) | func (op Op) String() string {
  constant Create (line 27) | Create Op = 1 << iota
  constant Write (line 28) | Write
  constant Remove (line 29) | Remove
  constant Rename (line 30) | Rename
  constant Chmod (line 31) | Chmod

FILE: evmcc/vendor/github.com/fsnotify/fsnotify/inotify.go
  type Watcher (line 23) | type Watcher struct
    method isClosed (line 63) | func (w *Watcher) isClosed() bool {
    method Close (line 73) | func (w *Watcher) Close() error {
    method Add (line 91) | func (w *Watcher) Add(name string) error {
    method Remove (line 126) | func (w *Watcher) Remove(name string) error {
    method readEvents (line 172) | func (w *Watcher) readEvents() {
  function NewWatcher (line 36) | func NewWatcher() (*Watcher, error) {
  type watch (line 165) | type watch struct
  method ignoreLinux (line 300) | func (e *Event) ignoreLinux(mask uint32) bool {
  function newEvent (line 319) | func newEvent(name string, mask uint32) Event {

FILE: evmcc/vendor/github.com/fsnotify/fsnotify/inotify_poller.go
  type fdPoller (line 15) | type fdPoller struct
    method wait (line 79) | func (poller *fdPoller) wait() (bool, error) {
    method wake (line 149) | func (poller *fdPoller) wake() error {
    method clearWake (line 162) | func (poller *fdPoller) clearWake() error {
    method close (line 177) | func (poller *fdPoller) close() {
  function emptyPoller (line 21) | func emptyPoller(fd int) *fdPoller {
  function newFdPoller (line 32) | func newFdPoller(fd int) (*fdPoller, error) {

FILE: evmcc/vendor/github.com/fsnotify/fsnotify/kqueue.go
  type Watcher (line 22) | type Watcher struct
    method Close (line 67) | func (w *Watcher) Close() error {
    method Add (line 94) | func (w *Watcher) Add(name string) error {
    method Remove (line 103) | func (w *Watcher) Remove(name string) error {
    method addWatch (line 159) | func (w *Watcher) addWatch(name string, flags uint32) (string, error) {
    method readEvents (line 261) | func (w *Watcher) readEvents() {
    method watchDirectoryFiles (line 390) | func (w *Watcher) watchDirectoryFiles(dirPath string) error {
    method sendDirectoryChangeEvents (line 416) | func (w *Watcher) sendDirectoryChangeEvents(dirPath string) {
    method sendFileCreatedEventIfNew (line 439) | func (w *Watcher) sendFileCreatedEventIfNew(filePath string, fileInfo ...
    method internalWatch (line 465) | func (w *Watcher) internalWatch(name string, fileInfo os.FileInfo) (st...
  type pathInfo (line 38) | type pathInfo struct
  function NewWatcher (line 44) | func NewWatcher() (*Watcher, error) {
  constant noteAllEvents (line 151) | noteAllEvents = unix.NOTE_DELETE | unix.NOTE_WRITE | unix.NOTE_ATTRIB | ...
  function newEvent (line 368) | func newEvent(name string, mask uint32) Event {
  function newCreateEvent (line 385) | func newCreateEvent(name string) Event {
  function kqueue (line 482) | func kqueue() (kq int, err error) {
  function register (line 491) | func register(kq int, fds []int, flags int, fflags uint32) error {
  function read (line 510) | func read(kq int, events []unix.Kevent_t, timeout *unix.Timespec) ([]uni...
  function durationToTimespec (line 519) | func durationToTimespec(d time.Duration) unix.Timespec {

FILE: evmcc/vendor/github.com/fsnotify/fsnotify/open_mode_bsd.go
  constant openMode (line 11) | openMode = unix.O_NONBLOCK | unix.O_RDONLY

FILE: evmcc/vendor/github.com/fsnotify/fsnotify/open_mode_darwin.go
  constant openMode (line 12) | openMode = unix.O_EVTONLY

FILE: evmcc/vendor/github.com/fsnotify/fsnotify/windows.go
  type Watcher (line 21) | type Watcher struct
    method Close (line 51) | func (w *Watcher) Close() error {
    method Add (line 67) | func (w *Watcher) Add(name string) error {
    method Remove (line 85) | func (w *Watcher) Remove(name string) error {
    method wakeupReader (line 177) | func (w *Watcher) wakeupReader() error {
    method addWatch (line 240) | func (w *Watcher) addWatch(pathname string, flags uint64) error {
    method remWatch (line 289) | func (w *Watcher) remWatch(pathname string) error {
    method deleteWatch (line 316) | func (w *Watcher) deleteWatch(watch *watch) {
    method startRead (line 332) | func (w *Watcher) startRead(watch *watch) error {
    method readEvents (line 373) | func (w *Watcher) readEvents() {
    method sendEvent (line 517) | func (w *Watcher) sendEvent(name string, mask uint64) bool {
  function NewWatcher (line 33) | func NewWatcher() (*Watcher, error) {
  constant sysFSONESHOT (line 100) | sysFSONESHOT = 0x80000000
  constant sysFSONLYDIR (line 101) | sysFSONLYDIR = 0x1000000
  constant sysFSACCESS (line 104) | sysFSACCESS     = 0x1
  constant sysFSALLEVENTS (line 105) | sysFSALLEVENTS  = 0xfff
  constant sysFSATTRIB (line 106) | sysFSATTRIB     = 0x4
  constant sysFSCLOSE (line 107) | sysFSCLOSE      = 0x18
  constant sysFSCREATE (line 108) | sysFSCREATE     = 0x100
  constant sysFSDELETE (line 109) | sysFSDELETE     = 0x200
  constant sysFSDELETESELF (line 110) | sysFSDELETESELF = 0x400
  constant sysFSMODIFY (line 111) | sysFSMODIFY     = 0x2
  constant sysFSMOVE (line 112) | sysFSMOVE       = 0xc0
  constant sysFSMOVEDFROM (line 113) | sysFSMOVEDFROM  = 0x40
  constant sysFSMOVEDTO (line 114) | sysFSMOVEDTO    = 0x80
  constant sysFSMOVESELF (line 115) | sysFSMOVESELF   = 0x800
  constant sysFSIGNORED (line 118) | sysFSIGNORED   = 0x8000
  constant sysFSQOVERFLOW (line 119) | sysFSQOVERFLOW = 0x4000
  function newEvent (line 122) | func newEvent(name string, mask uint32) Event {
  constant opAddWatch (line 143) | opAddWatch = iota
  constant opRemoveWatch (line 144) | opRemoveWatch
  constant provisional (line 148) | provisional uint64 = 1 << (32 + iota)
  type input (line 151) | type input struct
  type inode (line 158) | type inode struct
  type watch (line 164) | type watch struct
  type indexMap (line 174) | type indexMap
  type watchMap (line 175) | type watchMap
    method get (line 222) | func (m watchMap) get(ino *inode) *watch {
    method set (line 230) | func (m watchMap) set(ino *inode, watch *watch) {
  function getDir (line 185) | func getDir(pathname string) (dir string, err error) {
  function getIno (line 199) | func getIno(path string) (ino *inode, err error) {
  function toWindowsFlags (line 530) | func toWindowsFlags(mask uint64) uint32 {
  function toFSnotifyFlags (line 547) | func toFSnotifyFlags(action uint32) uint64 {

FILE: evmcc/vendor/github.com/go-kit/kit/log/json_logger.go
  type jsonLogger (line 11) | type jsonLogger struct
    method Log (line 23) | func (l *jsonLogger) Log(keyvals ...interface{}) error {
  function NewJSONLogger (line 19) | func NewJSONLogger(w io.Writer) Logger {
  function merge (line 37) | func merge(dst map[string]interface{}, k, v interface{}) {
  function safeString (line 63) | func safeString(str fmt.Stringer) (s string) {
  function safeError (line 77) | func safeError(err error) (s interface{}) {

FILE: evmcc/vendor/github.com/go-kit/kit/log/level/level.go
  function Error (line 6) | func Error(logger log.Logger) log.Logger {
  function Warn (line 11) | func Warn(logger log.Logger) log.Logger {
  function Info (line 16) | func Info(logger log.Logger) log.Logger {
  function Debug (line 21) | func Debug(logger log.Logger) log.Logger {
  function NewFilter (line 30) | func NewFilter(next log.Logger, options ...Option) log.Logger {
  type logger (line 40) | type logger struct
    method Log (line 48) | func (l *logger) Log(keyvals ...interface{}) error {
  type Option (line 67) | type Option
  function AllowAll (line 70) | func AllowAll() Option {
  function AllowDebug (line 75) | func AllowDebug() Option {
  function AllowInfo (line 80) | func AllowInfo() Option {
  function AllowWarn (line 85) | func AllowWarn() Option {
  function AllowError (line 90) | func AllowError() Option {
  function AllowNone (line 95) | func AllowNone() Option {
  function allowed (line 99) | func allowed(allowed level) Option {
  function ErrNotAllowed (line 107) | func ErrNotAllowed(err error) Option {
  function SquelchNoLevel (line 115) | func SquelchNoLevel(squelch bool) Option {
  function ErrNoLevel (line 122) | func ErrNoLevel(err error) Option {
  function NewInjector (line 129) | func NewInjector(next log.Logger, level Value) log.Logger {
  type injector (line 136) | type injector struct
    method Log (line 141) | func (l *injector) Log(keyvals ...interface{}) error {
  type Value (line 157) | type Value interface
  function Key (line 164) | func Key() interface{} { return key }
  function ErrorValue (line 167) | func ErrorValue() Value { return errorValue }
  function WarnValue (line 170) | func WarnValue() Value { return warnValue }
  function InfoValue (line 173) | func InfoValue() Value { return infoValue }
  function DebugValue (line 176) | func DebugValue() Value { return debugValue }
  type level (line 190) | type level
  constant levelDebug (line 193) | levelDebug level = 1 << iota
  constant levelInfo (line 194) | levelInfo
  constant levelWarn (line 195) | levelWarn
  constant levelError (line 196) | levelError
  type levelValue (line 199) | type levelValue struct
    method String (line 204) | func (v *levelValue) String() string { return v.name }
    method levelVal (line 205) | func (v *levelValue) levelVal()      {}

FILE: evmcc/vendor/github.com/go-kit/kit/log/log.go
  type Logger (line 10) | type Logger interface
  function With (line 24) | func With(logger Logger, keyvals ...interface{}) Logger {
  function WithPrefix (line 50) | func WithPrefix(logger Logger, keyvals ...interface{}) Logger {
  type context (line 95) | type context struct
    method Log (line 111) | func (l *context) Log(keyvals ...interface{}) error {
  function newContext (line 101) | func newContext(logger Logger) *context {
  type LoggerFunc (line 130) | type LoggerFunc
    method Log (line 133) | func (f LoggerFunc) Log(keyvals ...interface{}) error {

FILE: evmcc/vendor/github.com/go-kit/kit/log/logfmt_logger.go
  type logfmtEncoder (line 11) | type logfmtEncoder struct
    method Reset (line 16) | func (l *logfmtEncoder) Reset() {
  type logfmtLogger (line 29) | type logfmtLogger struct
    method Log (line 41) | func (l logfmtLogger) Log(keyvals ...interface{}) error {
  function NewLogfmtLogger (line 37) | func NewLogfmtLogger(w io.Writer) Logger {

FILE: evmcc/vendor/github.com/go-kit/kit/log/nop_logger.go
  type nopLogger (line 3) | type nopLogger struct
    method Log (line 8) | func (nopLogger) Log(...interface{}) error { return nil }
  function NewNopLogger (line 6) | func NewNopLogger() Logger { return nopLogger{} }

FILE: evmcc/vendor/github.com/go-kit/kit/log/stdlib.go
  type StdlibWriter (line 16) | type StdlibWriter struct
    method Write (line 19) | func (w StdlibWriter) Write(p []byte) (int, error) {
  type StdlibAdapter (line 27) | type StdlibAdapter struct
    method Write (line 67) | func (a StdlibAdapter) Write(p []byte) (int, error) {
  type StdlibAdapterOption (line 35) | type StdlibAdapterOption
  function TimestampKey (line 38) | func TimestampKey(key string) StdlibAdapterOption {
  function FileKey (line 43) | func FileKey(key string) StdlibAdapterOption {
  function MessageKey (line 48) | func MessageKey(key string) StdlibAdapterOption {
  function NewStdlibAdapter (line 54) | func NewStdlibAdapter(logger Logger, options ...StdlibAdapterOption) io....
  constant logRegexpDate (line 96) | logRegexpDate = `(?P<date>[0-9]{4}/[0-9]{2}/[0-9]{2})?[ ]?`
  constant logRegexpTime (line 97) | logRegexpTime = `(?P<time>[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]+)?)?[ ]?`
  constant logRegexpFile (line 98) | logRegexpFile = `(?P<file>.+?:[0-9]+)?`
  constant logRegexpMsg (line 99) | logRegexpMsg  = `(: )?(?P<msg>.*)`
  function subexps (line 106) | func subexps(line []byte) map[string]string {

FILE: evmcc/vendor/github.com/go-kit/kit/log/sync.go
  type SwapLogger (line 15) | type SwapLogger struct
    method Log (line 25) | func (l *SwapLogger) Log(keyvals ...interface{}) error {
    method Swap (line 35) | func (l *SwapLogger) Swap(logger Logger) {
  type loggerStruct (line 19) | type loggerStruct struct
  function NewSyncWriter (line 49) | func NewSyncWriter(w io.Writer) io.Writer {
  type syncWriter (line 59) | type syncWriter struct
    method Write (line 66) | func (w *syncWriter) Write(p []byte) (n int, err error) {
  type fdWriter (line 75) | type fdWriter interface
  type fdSyncWriter (line 81) | type fdSyncWriter struct
    method Write (line 88) | func (w *fdSyncWriter) Write(p []byte) (n int, err error) {
  type syncLogger (line 96) | type syncLogger struct
    method Log (line 111) | func (l *syncLogger) Log(keyvals ...interface{}) error {
  function NewSyncLogger (line 105) | func NewSyncLogger(logger Logger) Logger {

FILE: evmcc/vendor/github.com/go-kit/kit/log/term/colorlogger.go
  type Color (line 13) | type Color
  constant Default (line 17) | Default = Color(iota)
  constant Black (line 19) | Black
  constant DarkRed (line 20) | DarkRed
  constant DarkGreen (line 21) | DarkGreen
  constant Brown (line 22) | Brown
  constant DarkBlue (line 23) | DarkBlue
  constant DarkMagenta (line 24) | DarkMagenta
  constant DarkCyan (line 25) | DarkCyan
  constant Gray (line 26) | Gray
  constant DarkGray (line 28) | DarkGray
  constant Red (line 29) | Red
  constant Green (line 30) | Green
  constant Yellow (line 31) | Yellow
  constant Blue (line 32) | Blue
  constant Magenta (line 33) | Magenta
  constant Cyan (line 34) | Cyan
  constant White (line 35) | White
  constant numColors (line 37) | numColors
  function init (line 50) | func init() {
  type FgBgColor (line 69) | type FgBgColor struct
    method isZero (line 73) | func (c FgBgColor) isZero() bool {
  function NewColorLogger (line 80) | func NewColorLogger(w io.Writer, newLogger func(io.Writer) log.Logger, c...
  type colorLogger (line 93) | type colorLogger struct
    method Log (line 101) | func (l *colorLogger) Log(keyvals ...interface{}) error {
    method getLoggerBuf (line 131) | func (l *colorLogger) getLoggerBuf() *loggerBuf {
    method putLoggerBuf (line 142) | func (l *colorLogger) putLoggerBuf(cb *loggerBuf) {
  type loggerBuf (line 126) | type loggerBuf struct

FILE: evmcc/vendor/github.com/go-kit/kit/log/term/colorwriter_others.go
  function NewColorWriter (line 10) | func NewColorWriter(w io.Writer) io.Writer {

FILE: evmcc/vendor/github.com/go-kit/kit/log/term/colorwriter_windows.go
  type colorWriter (line 15) | type colorWriter struct
    method Write (line 41) | func (w *colorWriter) Write(data []byte) (n int, err error) {
  function NewColorWriter (line 25) | func New
Copy disabled (too large) Download .json
Condensed preview — 3589 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (51,166K chars).
[
  {
    "path": ".github/pull_request_template.md",
    "chars": 1001,
    "preview": "Thank you for contributing to the `fabric-chaincode-evm` project!\nPlease look at our [Contributions Docs](../README.md#C"
  },
  {
    "path": ".github/settings.yml",
    "chars": 381,
    "preview": "#\n# SPDX-License-Identifier: Apache-2.0\n#\n\nrepository:\n  name: fabric-chaincode-evm\n  description: null\n  homepage: http"
  },
  {
    "path": ".github/stale.yml",
    "chars": 1022,
    "preview": "# SPDX-License-Identifier: Apache-2.0\n# Number of days of inactivity before an issue becomes stale\ndaysUntilStale: 7\n# N"
  },
  {
    "path": ".gitignore",
    "chars": 852,
    "preview": "#SPDX-License-Identifier: Apache-2.0\n\n# Local build binaries\nnode-cli/node-cli\n*.pyc\n/bin\ndocs/build/*\nexamples/e2e_cli/"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 25827,
    "preview": "## v0.4.0\nFri Dec 20 16:24:29 PST 2019\n\n* [361ed2d](https://github.com/hyperledger/fabric-chaincode-evm/commit/361ed2d) "
  },
  {
    "path": "CODEOWNERS",
    "chars": 129,
    "preview": "# SPDX-License-Identifier: Apache-2.0\n\n# Fabric Chaincode EVM maintainers\n*       @hyperledger/fabric-chaincode-evm-main"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 597,
    "preview": "Code of Conduct Guidelines\n==========================\n\nPlease review the Hyperledger [Code of\nConduct](https://wiki.hype"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 732,
    "preview": "# Contributions Welcome!\n\nThis repository is part of the Fabric project.\nPlease consult [Fabric's CONTRIBUTING documenta"
  },
  {
    "path": "Fab3_Instructions.md",
    "chars": 14703,
    "preview": "# Fab3 Instruction Set\n\nFab3 is a partial implementation of the [Ethereum JSON RPC API](https://github.com/ethereum/wiki"
  },
  {
    "path": "LICENSE",
    "chars": 11358,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "MAINTAINERS.md",
    "chars": 846,
    "preview": "## Maintainers\n\n| Name | GitHub | Chat | email |\n|------|--------|------|-------|\n| Christopher Ferris | christo4ferris "
  },
  {
    "path": "Makefile",
    "chars": 3525,
    "preview": "# Copyright IBM Corp All Rights Reserved.\n# Copyright London Stock Exchange Group All Rights Reserved.\n#\n# SPDX-License-"
  },
  {
    "path": "README.md",
    "chars": 9858,
    "preview": "# Hyperledger Fabric EVM chaincode\n\n**This project has been archived for lack of interest within the community.**\n\nThis "
  },
  {
    "path": "SECURITY.md",
    "chars": 1027,
    "preview": "# Hyperledger Security Policy\n\n## Reporting a Security Bug\n\nIf you think you have discovered a security issue in any of "
  },
  {
    "path": "ci/azure-pipelines.yml",
    "chars": 1783,
    "preview": "# Copyright the Hyperledger Fabric contributors. All rights reserved.\n#\n# SPDX-License-Identifier: Apache-2.0\n\nname: $(S"
  },
  {
    "path": "evmcc/address/converter.go",
    "chars": 1074,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage address\n\nimport (\n\t\"crypto/"
  },
  {
    "path": "evmcc/address/converter_suite_test.go",
    "chars": 297,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage address_test\n\nimport (\n\t\"te"
  },
  {
    "path": "evmcc/address/converter_test.go",
    "chars": 1635,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage address_test\n\nimport (\n\t\"en"
  },
  {
    "path": "evmcc/event/event.go",
    "chars": 172,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage event\n\ntype Event struct {\n"
  },
  {
    "path": "evmcc/eventmanager/eventmanager.go",
    "chars": 1912,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage eventmanager\n\nimport (\n\t\"en"
  },
  {
    "path": "evmcc/eventmanager/eventmanager_suite_test.go",
    "chars": 293,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage eventmanager_test\n\nimport (\n"
  },
  {
    "path": "evmcc/eventmanager/eventmanager_test.go",
    "chars": 4578,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage eventmanager_test\n\nimport ("
  },
  {
    "path": "evmcc/evmcc.go",
    "chars": 7723,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage main\n\nimport (\n\t\"encoding/h"
  },
  {
    "path": "evmcc/evmcc_suite_test.go",
    "chars": 273,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage main_test\n\nimport (\n\t. \"git"
  },
  {
    "path": "evmcc/evmcc_test.go",
    "chars": 49438,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage main_test\n\nimport (\n\t\"encod"
  },
  {
    "path": "evmcc/go.mod",
    "chars": 1297,
    "preview": "module github.com/hyperledger/fabric-chaincode-evm/evmcc\n\nrequire (\n\tgithub.com/Knetic/govaluate v3.0.0+incompatible // "
  },
  {
    "path": "evmcc/go.sum",
    "chars": 30710,
    "preview": "cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=\ngithub.com/Azure/go-ansiterm v0.0.0-2"
  },
  {
    "path": "evmcc/mocks/mockstub.go",
    "chars": 79756,
    "preview": "// Code generated by counterfeiter. DO NOT EDIT.\npackage mocks\n\nimport (\n\tsync \"sync\"\n\n\ttimestamp \"github.com/golang/pro"
  },
  {
    "path": "evmcc/statemanager/statemanager.go",
    "chars": 2466,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage statemanager\n\nimport (\n\t\"en"
  },
  {
    "path": "evmcc/statemanager/statemanager_suite_test.go",
    "chars": 294,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage statemanager_test\n\nimport ("
  },
  {
    "path": "evmcc/statemanager/statemanager_test.go",
    "chars": 8740,
    "preview": "/*\nCopyright IBM Corp. All Rights Reserved.\n\nSPDX-License-Identifier: Apache-2.0\n*/\n\npackage statemanager_test\n\nimport ("
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/LICENSE",
    "chars": 1088,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2015 Microsoft Corporation\n\nPermission is hereby granted, free of charge, to any pe"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/README.md",
    "chars": 1350,
    "preview": "# go-ansiterm\n\nThis is a cross platform Ansi Terminal Emulation library.  It reads a stream of Ansi characters and produ"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/constants.go",
    "chars": 6118,
    "preview": "package ansiterm\n\nconst LogEnv = \"DEBUG_TERMINAL\"\n\n// ANSI constants\n// References:\n// -- http://www.ecma-international."
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/context.go",
    "chars": 104,
    "preview": "package ansiterm\n\ntype ansiContext struct {\n\tcurrentChar byte\n\tparamBuffer []byte\n\tinterBuffer []byte\n}\n"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/csi_entry_state.go",
    "chars": 1178,
    "preview": "package ansiterm\n\ntype csiEntryState struct {\n\tbaseState\n}\n\nfunc (csiState csiEntryState) Handle(b byte) (s state, e err"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/csi_param_state.go",
    "chars": 854,
    "preview": "package ansiterm\n\ntype csiParamState struct {\n\tbaseState\n}\n\nfunc (csiState csiParamState) Handle(b byte) (s state, e err"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/escape_intermediate_state.go",
    "chars": 921,
    "preview": "package ansiterm\n\ntype escapeIntermediateState struct {\n\tbaseState\n}\n\nfunc (escState escapeIntermediateState) Handle(b b"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/escape_state.go",
    "chars": 1156,
    "preview": "package ansiterm\n\ntype escapeState struct {\n\tbaseState\n}\n\nfunc (escState escapeState) Handle(b byte) (s state, e error) "
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/event_handler.go",
    "chars": 1237,
    "preview": "package ansiterm\n\ntype AnsiEventHandler interface {\n\t// Print\n\tPrint(b byte) error\n\n\t// Execute C0 commands\n\tExecute(b b"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/ground_state.go",
    "chars": 427,
    "preview": "package ansiterm\n\ntype groundState struct {\n\tbaseState\n}\n\nfunc (gs groundState) Handle(b byte) (s state, e error) {\n\tgs."
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/osc_string_state.go",
    "chars": 620,
    "preview": "package ansiterm\n\ntype oscStringState struct {\n\tbaseState\n}\n\nfunc (oscState oscStringState) Handle(b byte) (s state, e e"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/parser.go",
    "chars": 3436,
    "preview": "package ansiterm\n\nimport (\n\t\"errors\"\n\t\"log\"\n\t\"os\"\n)\n\ntype AnsiParser struct {\n\tcurrState          state\n\teventHandler   "
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/parser_action_helpers.go",
    "chars": 1825,
    "preview": "package ansiterm\n\nimport (\n\t\"strconv\"\n)\n\nfunc parseParams(bytes []byte) ([]string, error) {\n\tparamBuff := make([]byte, 0"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/parser_actions.go",
    "chars": 3112,
    "preview": "package ansiterm\n\nfunc (ap *AnsiParser) collectParam() error {\n\tcurrChar := ap.context.currentChar\n\tap.logf(\"collectPara"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/states.go",
    "chars": 1334,
    "preview": "package ansiterm\n\ntype stateID int\n\ntype state interface {\n\tEnter() error\n\tExit() error\n\tHandle(byte) (state, error)\n\tNa"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/utilities.go",
    "chars": 274,
    "preview": "package ansiterm\n\nimport (\n\t\"strconv\"\n)\n\nfunc sliceContains(bytes []byte, b byte) bool {\n\tfor _, v := range bytes {\n\t\tif"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/winterm/ansi.go",
    "chars": 4817,
    "preview": "// +build windows\n\npackage winterm\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"strconv\"\n\t\"strings\"\n\t\"syscall\"\n\n\t\"github.com/Azure/go-ansite"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/winterm/api.go",
    "chars": 12469,
    "preview": "// +build windows\n\npackage winterm\n\nimport (\n\t\"fmt\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n//=========================================="
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/winterm/attr_translation.go",
    "chars": 3631,
    "preview": "// +build windows\n\npackage winterm\n\nimport \"github.com/Azure/go-ansiterm\"\n\nconst (\n\tFOREGROUND_COLOR_MASK = FOREGROUND_R"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/winterm/cursor_helpers.go",
    "chars": 2271,
    "preview": "// +build windows\n\npackage winterm\n\nconst (\n\thorizontal = iota\n\tvertical\n)\n\nfunc (h *windowsAnsiEventHandler) getCursorW"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/winterm/erase_helpers.go",
    "chars": 1853,
    "preview": "// +build windows\n\npackage winterm\n\nimport \"github.com/Azure/go-ansiterm\"\n\nfunc (h *windowsAnsiEventHandler) clearRange("
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/winterm/scroll_helper.go",
    "chars": 3163,
    "preview": "// +build windows\n\npackage winterm\n\n// effectiveSr gets the current effective scroll region in buffer coordinates\nfunc ("
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/winterm/utilities.go",
    "chars": 291,
    "preview": "// +build windows\n\npackage winterm\n\n// AddInRange increments a value by the passed quantity while ensuring the values\n//"
  },
  {
    "path": "evmcc/vendor/github.com/Azure/go-ansiterm/winterm/win_event_handler.go",
    "chars": 17298,
    "preview": "// +build windows\n\npackage winterm\n\nimport (\n\t\"bytes\"\n\t\"log\"\n\t\"os\"\n\t\"strconv\"\n\n\t\"github.com/Azure/go-ansiterm\"\n)\n\ntype w"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/.gitignore",
    "chars": 6,
    "preview": "*.exe\n"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/LICENSE",
    "chars": 1077,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2015 Microsoft\n\nPermission is hereby granted, free of charge, to any person obtaini"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/README.md",
    "chars": 1038,
    "preview": "# go-winio\n\nThis repository contains utilities for efficiently performing Win32 IO operations in\nGo. Currently, this is "
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/backup.go",
    "chars": 8043,
    "preview": "// +build windows\n\npackage winio\n\nimport (\n\t\"encoding/binary\"\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"runtime\"\n\t\"sys"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/ea.go",
    "chars": 3133,
    "preview": "package winio\n\nimport (\n\t\"bytes\"\n\t\"encoding/binary\"\n\t\"errors\"\n)\n\ntype fileFullEaInformation struct {\n\tNextEntryOffset ui"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/file.go",
    "chars": 7341,
    "preview": "// +build windows\n\npackage winio\n\nimport (\n\t\"errors\"\n\t\"io\"\n\t\"runtime\"\n\t\"sync\"\n\t\"sync/atomic\"\n\t\"syscall\"\n\t\"time\"\n)\n\n//sys"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/fileinfo.go",
    "chars": 2183,
    "preview": "// +build windows\n\npackage winio\n\nimport (\n\t\"os\"\n\t\"runtime\"\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n//sys getFileInformationByHandleEx(h"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/pipe.go",
    "chars": 11770,
    "preview": "// +build windows\n\npackage winio\n\nimport (\n\t\"errors\"\n\t\"io\"\n\t\"net\"\n\t\"os\"\n\t\"syscall\"\n\t\"time\"\n\t\"unsafe\"\n)\n\n//sys connectNam"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/privilege.go",
    "chars": 5415,
    "preview": "// +build windows\n\npackage winio\n\nimport (\n\t\"bytes\"\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"runtime\"\n\t\"sync\"\n\t\"syscall\"\n\t\"unicode/ut"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/reparse.go",
    "chars": 3471,
    "preview": "package winio\n\nimport (\n\t\"bytes\"\n\t\"encoding/binary\"\n\t\"fmt\"\n\t\"strings\"\n\t\"unicode/utf16\"\n\t\"unsafe\"\n)\n\nconst (\n\treparseTagM"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/sd.go",
    "chars": 3289,
    "preview": "// +build windows\n\npackage winio\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n)\n\n//sys lookupAccountName(systemName *uint16, accountNa"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/syscall.go",
    "chars": 162,
    "preview": "package winio\n\n//go:generate go run $GOROOT/src/syscall/mksyscall_windows.go -output zsyscall_windows.go file.go pipe.go"
  },
  {
    "path": "evmcc/vendor/github.com/Microsoft/go-winio/zsyscall_windows.go",
    "chars": 17767,
    "preview": "// MACHINE GENERATED BY 'go generate' COMMAND; DO NOT EDIT\n\npackage winio\n\nimport (\n\t\"syscall\"\n\t\"unsafe\"\n\n\t\"golang.org/x"
  },
  {
    "path": "evmcc/vendor/github.com/Nvveen/Gotty/LICENSE",
    "chars": 1541,
    "preview": "Copyright (c) 2012, Neal van Veen (nealvanveen@gmail.com)\nAll rights reserved.\n\nRedistribution and use in source and bin"
  },
  {
    "path": "evmcc/vendor/github.com/Nvveen/Gotty/README",
    "chars": 249,
    "preview": "Gotty is a library written in Go that determines and reads termcap database\nfiles to produce an interface for interactin"
  },
  {
    "path": "evmcc/vendor/github.com/Nvveen/Gotty/TODO",
    "chars": 213,
    "preview": "gotty.go:// TODO add more concurrency to name lookup, look for more opportunities.\nall:// TODO add more documentation, w"
  },
  {
    "path": "evmcc/vendor/github.com/Nvveen/Gotty/attributes.go",
    "chars": 12514,
    "preview": "// Copyright 2012 Neal van Veen. All rights reserved.\n// Usage of this source code is governed by a BSD-style license th"
  },
  {
    "path": "evmcc/vendor/github.com/Nvveen/Gotty/gotty.go",
    "chars": 6542,
    "preview": "// Copyright 2012 Neal van Veen. All rights reserved.\n// Usage of this source code is governed by a BSD-style license th"
  },
  {
    "path": "evmcc/vendor/github.com/Nvveen/Gotty/parser.go",
    "chars": 10240,
    "preview": "// Copyright 2012 Neal van Veen. All rights reserved.\n// Usage of this source code is governed by a BSD-style license th"
  },
  {
    "path": "evmcc/vendor/github.com/Nvveen/Gotty/types.go",
    "chars": 502,
    "preview": "// Copyright 2012 Neal van Veen. All rights reserved.\n// Usage of this source code is governed by a BSD-style license th"
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/LICENSE",
    "chars": 802,
    "preview": "ISC License\n\nCopyright (c) 2013-2017 The btcsuite developers\nCopyright (c) 2015-2016 The Decred developers\n\nPermission t"
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/README.md",
    "chars": 2847,
    "preview": "btcec\n=====\n\n[![Build Status](https://travis-ci.org/btcsuite/btcd.png?branch=master)](https://travis-ci.org/btcsuite/btc"
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/btcec.go",
    "chars": 38405,
    "preview": "// Copyright 2010 The Go Authors. All rights reserved.\n// Copyright 2011 ThePiachu. All rights reserved.\n// Copyright 20"
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/ciphering.go",
    "chars": 6215,
    "preview": "// Copyright (c) 2015-2016 The btcsuite developers\n// Use of this source code is governed by an ISC\n// license that can "
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/doc.go",
    "chars": 947,
    "preview": "// Copyright (c) 2013-2014 The btcsuite developers\n// Use of this source code is governed by an ISC\n// license that can "
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/field.go",
    "chars": 52678,
    "preview": "// Copyright (c) 2013-2016 The btcsuite developers\n// Copyright (c) 2013-2016 Dave Collins\n// Use of this source code is"
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/genprecomps.go",
    "chars": 1809,
    "preview": "// Copyright 2015 The btcsuite developers\n// Use of this source code is governed by an ISC\n// license that can be found "
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/gensecp256k1.go",
    "chars": 5988,
    "preview": "// Copyright (c) 2014-2015 The btcsuite developers\n// Use of this source code is governed by an ISC\n// license that can "
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/precompute.go",
    "chars": 1972,
    "preview": "// Copyright 2015 The btcsuite developers\n// Use of this source code is governed by an ISC\n// license that can be found "
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/privkey.go",
    "chars": 2252,
    "preview": "// Copyright (c) 2013-2016 The btcsuite developers\n// Use of this source code is governed by an ISC\n// license that can "
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/pubkey.go",
    "chars": 5904,
    "preview": "// Copyright (c) 2013-2014 The btcsuite developers\n// Use of this source code is governed by an ISC\n// license that can "
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/secp256k1.go",
    "chars": 1189266,
    "preview": "// Copyright (c) 2015 The btcsuite developers\n// Use of this source code is governed by an ISC\n// license that can be fo"
  },
  {
    "path": "evmcc/vendor/github.com/btcsuite/btcd/btcec/signature.go",
    "chars": 16568,
    "preview": "// Copyright (c) 2013-2017 The btcsuite developers\n// Use of this source code is governed by an ISC\n// license that can "
  },
  {
    "path": "evmcc/vendor/github.com/containerd/continuity/AUTHORS",
    "chars": 630,
    "preview": "Aaron Lehmann <aaron.lehmann@docker.com>\nAkash Gupta <akagup@microsoft.com>\nAkihiro Suda <suda.akihiro@lab.ntt.co.jp>\nAn"
  },
  {
    "path": "evmcc/vendor/github.com/containerd/continuity/LICENSE",
    "chars": 11358,
    "preview": "                                 Apache License\n                           Version 2.0, January 2004\n                   "
  },
  {
    "path": "evmcc/vendor/github.com/containerd/continuity/pathdriver/path_driver.go",
    "chars": 2208,
    "preview": "package pathdriver\n\nimport (\n\t\"path/filepath\"\n)\n\n// PathDriver provides all of the path manipulation functions in a comm"
  },
  {
    "path": "evmcc/vendor/github.com/davecgh/go-spew/LICENSE",
    "chars": 766,
    "preview": "ISC License\n\nCopyright (c) 2012-2016 Dave Collins <dave@davec.name>\n\nPermission to use, copy, modify, and/or distribute "
  },
  {
    "path": "evmcc/vendor/github.com/davecgh/go-spew/spew/bypass.go",
    "chars": 4715,
    "preview": "// Copyright (c) 2015-2016 Dave Collins <dave@davec.name>\n//\n// Permission to use, copy, modify, and distribute this sof"
  },
  {
    "path": "evmcc/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go",
    "chars": 1741,
    "preview": "// Copyright (c) 2015-2016 Dave Collins <dave@davec.name>\n//\n// Permission to use, copy, modify, and distribute this sof"
  },
  {
    "path": "evmcc/vendor/github.com/davecgh/go-spew/spew/common.go",
    "chars": 10364,
    "preview": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this "
  },
  {
    "path": "evmcc/vendor/github.com/davecgh/go-spew/spew/config.go",
    "chars": 12842,
    "preview": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this "
  },
  {
    "path": "evmcc/vendor/github.com/davecgh/go-spew/spew/doc.go",
    "chars": 8527,
    "preview": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this "
  },
  {
    "path": "evmcc/vendor/github.com/davecgh/go-spew/spew/dump.go",
    "chars": 13794,
    "preview": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this "
  },
  {
    "path": "evmcc/vendor/github.com/davecgh/go-spew/spew/format.go",
    "chars": 11314,
    "preview": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this "
  },
  {
    "path": "evmcc/vendor/github.com/davecgh/go-spew/spew/spew.go",
    "chars": 5969,
    "preview": "/*\n * Copyright (c) 2013-2016 Dave Collins <dave@davec.name>\n *\n * Permission to use, copy, modify, and distribute this "
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/AUTHORS",
    "chars": 74244,
    "preview": "# This file lists all individuals having contributed content to the repository.\n# For how it is generated, see `hack/gen"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/LICENSE",
    "chars": 10765,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/NOTICE",
    "chars": 638,
    "preview": "Docker\nCopyright 2012-2017 Docker, Inc.\n\nThis product includes software developed at Docker, Inc. (https://www.docker.co"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/auth.go",
    "chars": 808,
    "preview": "package types // import \"github.com/docker/docker/api/types\"\n\n// AuthConfig contains authorization information for conne"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/blkiodev/blkio.go",
    "chars": 520,
    "preview": "package blkiodev // import \"github.com/docker/docker/api/types/blkiodev\"\n\nimport \"fmt\"\n\n// WeightDevice is a structure t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/client.go",
    "chars": 12011,
    "preview": "package types // import \"github.com/docker/docker/api/types\"\n\nimport (\n\t\"bufio\"\n\t\"io\"\n\t\"net\"\n\n\t\"github.com/docker/docker"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/configs.go",
    "chars": 2149,
    "preview": "package types // import \"github.com/docker/docker/api/types\"\n\nimport (\n\t\"github.com/docker/docker/api/types/container\"\n\t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/config.go",
    "chars": 4173,
    "preview": "package container // import \"github.com/docker/docker/api/types/container\"\n\nimport (\n\t\"time\"\n\n\t\"github.com/docker/docker"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/container_changes.go",
    "chars": 623,
    "preview": "package container\n\n// ----------------------------------------------------------------------------\n// DO NOT EDIT THIS F"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/container_create.go",
    "chars": 650,
    "preview": "package container\n\n// ----------------------------------------------------------------------------\n// DO NOT EDIT THIS F"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/container_top.go",
    "chars": 688,
    "preview": "package container\n\n// ----------------------------------------------------------------------------\n// DO NOT EDIT THIS F"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/container_update.go",
    "chars": 516,
    "preview": "package container\n\n// ----------------------------------------------------------------------------\n// DO NOT EDIT THIS F"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/container_wait.go",
    "chars": 817,
    "preview": "package container\n\n// ----------------------------------------------------------------------------\n// DO NOT EDIT THIS F"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/host_config.go",
    "chars": 15142,
    "preview": "package container // import \"github.com/docker/docker/api/types/container\"\n\nimport (\n\t\"strings\"\n\n\t\"github.com/docker/doc"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/hostconfig_unix.go",
    "chars": 1043,
    "preview": "// +build !windows\n\npackage container // import \"github.com/docker/docker/api/types/container\"\n\n// IsValid indicates if "
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/hostconfig_windows.go",
    "chars": 1082,
    "preview": "package container // import \"github.com/docker/docker/api/types/container\"\n\n// IsBridge indicates whether container uses"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/container/waitcondition.go",
    "chars": 866,
    "preview": "package container // import \"github.com/docker/docker/api/types/container\"\n\n// WaitCondition is a type used to specify a"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/error_response.go",
    "chars": 324,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/filters/parse.go",
    "chars": 8277,
    "preview": "/*Package filters provides tools for encoding a mapping of keys to a set of\nmultiple values.\n*/\npackage filters // impor"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/graph_driver_data.go",
    "chars": 402,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/id_response.go",
    "chars": 349,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/image_delete_response_item.go",
    "chars": 467,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/image_summary.go",
    "chars": 924,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/mount/mount.go",
    "chars": 4073,
    "preview": "package mount // import \"github.com/docker/docker/api/types/mount\"\n\nimport (\n\t\"os\"\n)\n\n// Type represents the type of a m"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/network/network.go",
    "chars": 3434,
    "preview": "package network // import \"github.com/docker/docker/api/types/network\"\nimport (\n\t\"github.com/docker/docker/api/types/fil"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/plugin.go",
    "chars": 4086,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/plugin_device.go",
    "chars": 498,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/plugin_env.go",
    "chars": 489,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/plugin_interface_type.go",
    "chars": 468,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/plugin_mount.go",
    "chars": 700,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/plugin_responses.go",
    "chars": 1698,
    "preview": "package types // import \"github.com/docker/docker/api/types\"\n\nimport (\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"sort\"\n)\n\n// PluginsList"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/port.go",
    "chars": 543,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/registry/authenticate.go",
    "chars": 699,
    "preview": "package registry // import \"github.com/docker/docker/api/types/registry\"\n\n// -------------------------------------------"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/registry/registry.go",
    "chars": 3871,
    "preview": "package registry // import \"github.com/docker/docker/api/types/registry\"\n\nimport (\n\t\"encoding/json\"\n\t\"net\"\n\n\t\"github.com"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/seccomp.go",
    "chars": 3008,
    "preview": "package types // import \"github.com/docker/docker/api/types\"\n\n// Seccomp represents the config for a seccomp profile for"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/service_update_response.go",
    "chars": 343,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/stats.go",
    "chars": 6905,
    "preview": "// Package types is used for API stability in the types and response to the\n// consumers of the API stats endpoint.\npack"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/strslice/strslice.go",
    "chars": 828,
    "preview": "package strslice // import \"github.com/docker/docker/api/types/strslice\"\n\nimport \"encoding/json\"\n\n// StrSlice represents"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/common.go",
    "chars": 1223,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\nimport \"time\"\n\n// Version represents the internal ob"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/config.go",
    "chars": 819,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\nimport \"os\"\n\n// Config represents a config.\ntype Con"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/container.go",
    "chars": 2858,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\nimport (\n\t\"time\"\n\n\t\"github.com/docker/docker/api/typ"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/network.go",
    "chars": 3895,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\nimport (\n\t\"github.com/docker/docker/api/types/networ"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/node.go",
    "chars": 3491,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\n// Node represents a node.\ntype Node struct {\n\tID st"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/runtime/gen.go",
    "chars": 195,
    "preview": "//go:generate protoc -I . --gogofast_out=import_path=github.com/docker/docker/api/types/swarm/runtime:. plugin.proto\n\npa"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/runtime/plugin.pb.go",
    "chars": 16636,
    "preview": "// Code generated by protoc-gen-gogo.\n// source: plugin.proto\n// DO NOT EDIT!\n\n/*\n\tPackage runtime is a generated protoc"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/runtime/plugin.proto",
    "chars": 534,
    "preview": "syntax = \"proto3\";\n\noption go_package = \"github.com/docker/docker/api/types/swarm/runtime;runtime\";\n\n// PluginSpec defin"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/runtime.go",
    "chars": 925,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\n// RuntimeType is the type of runtime used for the T"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/secret.go",
    "chars": 951,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\nimport \"os\"\n\n// Secret represents a secret.\ntype Sec"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/service.go",
    "chars": 4487,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\nimport \"time\"\n\n// Service represents a service.\ntype"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/swarm.go",
    "chars": 6961,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\nimport (\n\t\"time\"\n)\n\n// ClusterInfo represents info a"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/swarm/task.go",
    "chars": 6731,
    "preview": "package swarm // import \"github.com/docker/docker/api/types/swarm\"\n\nimport (\n\t\"time\"\n\n\t\"github.com/docker/docker/api/typ"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/types.go",
    "chars": 19779,
    "preview": "package types // import \"github.com/docker/docker/api/types\"\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"strings\"\n\t\"time\"\n\n"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/versions/README.md",
    "chars": 1211,
    "preview": "# Legacy API type versions\n\nThis package includes types for legacy API versions. The stable version of the API types liv"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/versions/compare.go",
    "chars": 1385,
    "preview": "package versions // import \"github.com/docker/docker/api/types/versions\"\n\nimport (\n\t\"strconv\"\n\t\"strings\"\n)\n\n// compare c"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/api/types/volume.go",
    "chars": 2060,
    "preview": "package types\n\n// This file was generated by the swagger tool.\n// Editing this file might prove futile when you re-run t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/errdefs/defs.go",
    "chars": 2096,
    "preview": "package errdefs // import \"github.com/docker/docker/errdefs\"\n\n// ErrNotFound signals that the requested object doesn't e"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/errdefs/doc.go",
    "chars": 650,
    "preview": "// Package errdefs defines a set of error interfaces that packages should use for communicating classes of errors.\n// Er"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/errdefs/helpers.go",
    "chars": 4927,
    "preview": "package errdefs // import \"github.com/docker/docker/errdefs\"\n\nimport \"context\"\n\ntype errNotFound struct{ error }\n\nfunc ("
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/errdefs/is.go",
    "chars": 2789,
    "preview": "package errdefs // import \"github.com/docker/docker/errdefs\"\n\ntype causer interface {\n\tCause() error\n}\n\nfunc getImplemen"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/address_pools.go",
    "chars": 1859,
    "preview": "package opts\n\nimport (\n\t\"encoding/csv\"\n\t\"encoding/json\"\n\t\"fmt\"\n\t\"strconv\"\n\t\"strings\"\n\n\ttypes \"github.com/docker/libnetwo"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/env.go",
    "chars": 1203,
    "preview": "package opts // import \"github.com/docker/docker/opts\"\n\nimport (\n\t\"fmt\"\n\t\"os\"\n\t\"runtime\"\n\t\"strings\"\n\n\t\"github.com/pkg/er"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/hosts.go",
    "chars": 5782,
    "preview": "package opts // import \"github.com/docker/docker/opts\"\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"net/url\"\n\t\"strconv\"\n\t\"strings\"\n)\n\nvar ("
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/hosts_unix.go",
    "chars": 251,
    "preview": "// +build !windows\n\npackage opts // import \"github.com/docker/docker/opts\"\n\nimport \"fmt\"\n\n// DefaultHost constant define"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/hosts_windows.go",
    "chars": 186,
    "preview": "package opts // import \"github.com/docker/docker/opts\"\n\n// DefaultHost constant defines the default host string used by "
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/ip.go",
    "chars": 1062,
    "preview": "package opts // import \"github.com/docker/docker/opts\"\n\nimport (\n\t\"fmt\"\n\t\"net\"\n)\n\n// IPOpt holds an IP. It is used to st"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/opts.go",
    "chars": 9027,
    "preview": "package opts // import \"github.com/docker/docker/opts\"\n\nimport (\n\t\"fmt\"\n\t\"net\"\n\t\"path\"\n\t\"regexp\"\n\t\"strings\"\n\n\t\"github.co"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/opts_unix.go",
    "chars": 218,
    "preview": "// +build !windows\n\npackage opts // import \"github.com/docker/docker/opts\"\n\n// DefaultHTTPHost Default HTTP Host used if"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/opts_windows.go",
    "chars": 3422,
    "preview": "package opts // import \"github.com/docker/docker/opts\"\n\n// TODO Windows. Identify bug in GOLang 1.5.1+ and/or Windows Se"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/quotedstring.go",
    "chars": 848,
    "preview": "package opts // import \"github.com/docker/docker/opts\"\n\n// QuotedString is a string that may have extra quotes around th"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/runtime.go",
    "chars": 1903,
    "preview": "package opts // import \"github.com/docker/docker/opts\"\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n\n\t\"github.com/docker/docker/api/types"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/opts/ulimit.go",
    "chars": 1620,
    "preview": "package opts // import \"github.com/docker/docker/opts\"\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/docker/go-units\"\n)\n\n// UlimitOpt d"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/fileutils/fileutils.go",
    "chars": 7458,
    "preview": "package fileutils // import \"github.com/docker/docker/pkg/fileutils\"\n\nimport (\n\t\"errors\"\n\t\"fmt\"\n\t\"io\"\n\t\"os\"\n\t\"path/filep"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/fileutils/fileutils_darwin.go",
    "chars": 501,
    "preview": "package fileutils // import \"github.com/docker/docker/pkg/fileutils\"\n\nimport (\n\t\"os\"\n\t\"os/exec\"\n\t\"strconv\"\n\t\"strings\"\n)\n"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/fileutils/fileutils_unix.go",
    "chars": 492,
    "preview": "// +build linux freebsd\n\npackage fileutils // import \"github.com/docker/docker/pkg/fileutils\"\n\nimport (\n\t\"fmt\"\n\t\"io/iout"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/fileutils/fileutils_windows.go",
    "chars": 205,
    "preview": "package fileutils // import \"github.com/docker/docker/pkg/fileutils\"\n\n// GetTotalUsedFds Returns the number of used File"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/homedir/homedir_linux.go",
    "chars": 660,
    "preview": "package homedir // import \"github.com/docker/docker/pkg/homedir\"\n\nimport (\n\t\"os\"\n\n\t\"github.com/docker/docker/pkg/idtools"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/homedir/homedir_others.go",
    "chars": 336,
    "preview": "// +build !linux\n\npackage homedir // import \"github.com/docker/docker/pkg/homedir\"\n\nimport (\n\t\"errors\"\n)\n\n// GetStatic i"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/homedir/homedir_unix.go",
    "chars": 831,
    "preview": "// +build !windows\n\npackage homedir // import \"github.com/docker/docker/pkg/homedir\"\n\nimport (\n\t\"os\"\n\n\t\"github.com/openc"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/homedir/homedir_windows.go",
    "chars": 720,
    "preview": "package homedir // import \"github.com/docker/docker/pkg/homedir\"\n\nimport (\n\t\"os\"\n)\n\n// Key returns the env var name for "
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/idtools/idtools.go",
    "chars": 8159,
    "preview": "package idtools // import \"github.com/docker/docker/pkg/idtools\"\n\nimport (\n\t\"bufio\"\n\t\"fmt\"\n\t\"os\"\n\t\"sort\"\n\t\"strconv\"\n\t\"st"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/idtools/idtools_unix.go",
    "chars": 6894,
    "preview": "// +build !windows\n\npackage idtools // import \"github.com/docker/docker/pkg/idtools\"\n\nimport (\n\t\"bytes\"\n\t\"fmt\"\n\t\"io\"\n\t\"o"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/idtools/idtools_windows.go",
    "chars": 829,
    "preview": "package idtools // import \"github.com/docker/docker/pkg/idtools\"\n\nimport (\n\t\"os\"\n\n\t\"github.com/docker/docker/pkg/system\""
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/idtools/usergroupadd_linux.go",
    "chars": 5129,
    "preview": "package idtools // import \"github.com/docker/docker/pkg/idtools\"\n\nimport (\n\t\"fmt\"\n\t\"regexp\"\n\t\"sort\"\n\t\"strconv\"\n\t\"strings"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/idtools/usergroupadd_unsupported.go",
    "chars": 453,
    "preview": "// +build !linux\n\npackage idtools // import \"github.com/docker/docker/pkg/idtools\"\n\nimport \"fmt\"\n\n// AddNamespaceRangesU"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/idtools/utils_unix.go",
    "chars": 801,
    "preview": "// +build !windows\n\npackage idtools // import \"github.com/docker/docker/pkg/idtools\"\n\nimport (\n\t\"fmt\"\n\t\"os/exec\"\n\t\"path/"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/ioutils/buffer.go",
    "chars": 857,
    "preview": "package ioutils // import \"github.com/docker/docker/pkg/ioutils\"\n\nimport (\n\t\"errors\"\n\t\"io\"\n)\n\nvar errBufferFull = errors"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/ioutils/bytespipe.go",
    "chars": 4281,
    "preview": "package ioutils // import \"github.com/docker/docker/pkg/ioutils\"\n\nimport (\n\t\"errors\"\n\t\"io\"\n\t\"sync\"\n)\n\n// maxCap is the h"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/ioutils/fswriters.go",
    "chars": 3919,
    "preview": "package ioutils // import \"github.com/docker/docker/pkg/ioutils\"\n\nimport (\n\t\"io\"\n\t\"io/ioutil\"\n\t\"os\"\n\t\"path/filepath\"\n)\n\n"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/ioutils/readers.go",
    "chars": 3516,
    "preview": "package ioutils // import \"github.com/docker/docker/pkg/ioutils\"\n\nimport (\n\t\"context\"\n\t\"crypto/sha256\"\n\t\"encoding/hex\"\n\t"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/ioutils/temp_unix.go",
    "chars": 255,
    "preview": "// +build !windows\n\npackage ioutils // import \"github.com/docker/docker/pkg/ioutils\"\n\nimport \"io/ioutil\"\n\n// TempDir on "
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/ioutils/temp_windows.go",
    "chars": 411,
    "preview": "package ioutils // import \"github.com/docker/docker/pkg/ioutils\"\n\nimport (\n\t\"io/ioutil\"\n\n\t\"github.com/docker/docker/pkg/"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/ioutils/writeflusher.go",
    "chars": 2050,
    "preview": "package ioutils // import \"github.com/docker/docker/pkg/ioutils\"\n\nimport (\n\t\"io\"\n\t\"sync\"\n)\n\n// WriteFlusher wraps the Wr"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/ioutils/writers.go",
    "chars": 1497,
    "preview": "package ioutils // import \"github.com/docker/docker/pkg/ioutils\"\n\nimport \"io\"\n\n// NopWriter represents a type which writ"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/longpath/longpath.go",
    "chars": 787,
    "preview": "// longpath introduces some constants and helper functions for handling long paths\n// in Windows, which are expected to "
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/mount/flags.go",
    "chars": 4053,
    "preview": "package mount // import \"github.com/docker/docker/pkg/mount\"\n\nimport (\n\t\"fmt\"\n\t\"strings\"\n)\n\nvar flags = map[string]struc"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/mount/flags_freebsd.go",
    "chars": 1014,
    "preview": "// +build freebsd,cgo\n\npackage mount // import \"github.com/docker/docker/pkg/mount\"\n\n/*\n#include <sys/mount.h>\n*/\nimport"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/mount/flags_linux.go",
    "chars": 2874,
    "preview": "package mount // import \"github.com/docker/docker/pkg/mount\"\n\nimport (\n\t\"golang.org/x/sys/unix\"\n)\n\nconst (\n\t// RDONLY wi"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/mount/flags_unsupported.go",
    "chars": 552,
    "preview": "// +build !linux,!freebsd freebsd,!cgo\n\npackage mount // import \"github.com/docker/docker/pkg/mount\"\n\n// These flags are"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/mount/mount.go",
    "chars": 4661,
    "preview": "package mount // import \"github.com/docker/docker/pkg/mount\"\n\nimport (\n\t\"sort\"\n\t\"strings\"\n\t\"syscall\"\n\n\t\"github.com/sirup"
  },
  {
    "path": "evmcc/vendor/github.com/docker/docker/pkg/mount/mounter_freebsd.go",
    "chars": 1332,
    "preview": "package mount // import \"github.com/docker/docker/pkg/mount\"\n\n/*\n#include <errno.h>\n#include <stdlib.h>\n#include <string"
  }
]

// ... and 3389 more files (download for full content)

About this extraction

This page contains the full source code of the hyperledger/fabric-chaincode-evm GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 3589 files (45.4 MB), approximately 12.1M tokens, and a symbol index with 278187 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!